推荐 3.5
Conf: 50%
C和C++程序中的内存安全违规持续导致控制流劫持和数据定向攻击等复杂利用技术。现有硬件防御要么依赖地址空间布局随机化(ASLR),要么为指针附加显式元数据以验证其完整性。外部元数据方案提供了强保证,但增加了额外的内存访问和内存占用开销。原地认证机制(如ARM指针认证PAC)在低开销下实现,但以有限熵为代价,并且容易受到暴力破解和重用攻击。本文提出LIPPEN,一种硬件-软件协同设计的全指针加密方案,提供强指针完整性和机密性,且零元数据开销。LIPPEN将每个指针视为加密块,密码学地将其绑定到执行上下文,并在解引用时透明解密。通过重新利用整个64位指针字段进行加密而非保留原始地址位,LIPPEN最大化熵,消除了截断认证码的暴力破解弱点,并保持与现有支持PAC的软件的二进制兼容性。我们在FPGA上使用64位RISC-V Rocket和BOOM核心实现了LIPPEN,并通过微基准测试、nbench和SPEC CPU2017进行评估。与内部RISC-V PAC实现以及M1处理器上的Apple PAC相比,这些工作负载下LIPPEN提供了全面的指针保护,运行时开销与基于PAC的方案相当,同时面积和功耗开销可忽略不计。结果表明LIPPEN是在实际处理器中部署强指针保护的实用设计点。
💡 推荐理由: 指针完整性攻击是高级利用技术的核心,现有方案要么开销大(元数据方案)要么安全性弱(PAC)。LIPPEN以极低开销实现强安全性,对处理器安全设计具有重要参考价值。
🎯 建议动作: 研究跟进
排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)