基于返回地址加密的后向边控制流完整性硬件实现及其在抗ROP攻击中的高性能研究

时间:2025年11月18日
来源:Integrated Circuits and Systems

编辑推荐:

本文针对代码复用攻击(CRA)中的返回导向编程(ROP)威胁,研究人员开展了一项基于高级加密标准(AES)的后向边控制流完整性(CFI)机制研究。通过设计独立AES硬件加速器并采用gem5+RTL协同仿真技术,实现了对返回地址的加密保护。该方案在TSMC 28nm工艺下达到1GHz工作频率,面积仅10045μm2,功耗1.31mW,性能开销低于0.1%,为嵌入式系统安全防护提供了高效解决方案。

广告
   X   

在当今软件安全领域,代码复用攻击(CRA)已成为系统安全的主要威胁之一。其中,返回导向编程(ROP)作为一种高级攻击技术,能够绕过数据执行保护(DEP)机制,通过组合现有代码片段(gadgets)实现恶意操作。这些gadgets通常以ret指令结尾,攻击者通过篡改栈上的返回地址,将多个gadgets串联成攻击链,最终实现对系统的控制。
传统的防御方案如影子栈(Shadow Stack)和指针认证码(PAC)虽能提供一定保护,但存在明显局限性。硬件影子栈需要额外的地址比较操作,而PAC的认证码长度有限(通常16位),容易受到暴力破解攻击。因此,开发一种既能保证安全性又具有低性能开销的解决方案显得尤为重要。
为应对这一挑战,复旦大学田丰硕、王凯旋和韩军研究员团队在《Integrated Circuits and Systems》上发表了一项创新研究,提出了一种基于返回地址加密的后向边控制流完整性(CFI)方案。该方案的核心思想是利用加密技术保护返回地址,当call指令执行时对返回地址进行加密,ret指令执行时进行解密,从而有效防止ROP攻击。
研究团队采用了几项关键技术方法:首先设计了独立的AES硬件加速器,通过gem5+RTL协同仿真框架实现与O3 CPU的集成;采用AES-128 CTR加密模式,通过预计算机制将性能开销降至最低;针对指令乱序执行特性,设计了EDU_Inst_Queue指令队列管理机制,确保call-ret指令对的正确匹配。
研究结果显示,该方案的硬件实现表现出色。AES加速器在TSMC 28nm工艺下可实现1GHz工作频率,面积仅为10045μm2,功耗1.31mW。在性能评估方面,研究团队使用Dhrystone、Coremark和SPEC CPU2006等基准程序进行测试,结果表明该方案的平均性能开销低于0.1%,其中最高开销的mcf测试也仅为0.084%。
在安全性方面,该方案通过完整的加密解密流程确保了返回地址的完整性。当攻击者试图篡改栈上的返回地址时,由于缺乏正确的加密密钥,解密过程将产生无效地址,从而导致系统异常。这种机制有效阻断了ROP攻击链的形成。
与现有技术相比,该方案具有显著优势。相较于依赖ISA扩展的LEA-AES方案(性能开销约4%),本研究的性能开销降低了两个数量级。同时,由于采用64位全地址加密,相比PAC的16位认证码,安全性得到大幅提升。
系统架构设计体现了创新性。整体框架包含AES计算模块、调度模块、指令队列和结果缓冲区等关键组件。AES加速器通过CTR模式运作,计数器与密钥作为算法输入,输出与明文进行异或操作产生密文。密钥由操作系统生成并存储在CSR(控制状态寄存器)中,确保安全性。
集成方法方面,研究团队采用Verilator将RTL代码编译为C++模型,通过Wrapper类实现与gem5的交互。这种设计使得RTL模型修改无需重新编译整个SoC,大大提高了开发效率。AES加速器支持多实例并行计算,通过预计算机制将加密延迟隐藏在指令执行流水线中。
工作流程设计精心考虑了现代处理器的乱序执行特性。在指令分发阶段,EDU_Inst_Queue为每个call-ret指令对分配唯一计数器(CTR),确保加密解密的一致性。特别值得关注的是,研究团队设计了专门的错误恢复机制,当指令被取消时能够正确恢复计数器状态,这一设计有效解决了推测执行带来的安全性挑战。
执行阶段的安全保障机制尤为关键。EDU通过检查指令是否被取消来维护系统稳定性,利用seqNum(序列号)精确识别需要清除的指令,确保计数器状态的一致性。这种精细化的管理机制使得系统能够在保持高性能的同时,不牺牲安全性。
提交阶段的指令处理机制与重排序缓冲区(ROB)协同工作,确保指令生命周期的完整性。只有当指令完成所有操作且依赖关系解决后,才从队列中移除,这种设计保证了系统状态的正确性。
安全性评估证实了该方案的有效性。研究团队通过对比传统不安全系统与加密保护系统的差异,清晰展示了加密机制如何阻断ROP攻击。当攻击者篡改返回地址时,解密过程将产生无效跳转地址,从而触发系统异常。
实验数据充分证明了方案的实用性。合成结果显示AES加速器在面积和功耗方面都具有显著优势,而性能测试表明系统开销可以忽略不计。这种低开销特性使得该方案特别适合对性能要求严格的嵌入式系统和实时系统。
研究团队也坦诚指出了方案的局限性。当前实现尚未完全解决上下文切换和不规则控制流(如软件异常或setjmp/longjmp)的处理问题。此外,面对推测执行攻击的防御能力仍有提升空间,攻击者可能通过推测gadgets基于栈深度提取密钥流,实施重放攻击。
该研究的创新价值主要体现在三个方面:首先,通过硬件加速器设计实现了性能开销的显著降低;其次,采用gem5+RTL协同仿真方法保证了系统建模的准确性;最后,针对现代处理器乱序执行特性的专门优化,使得方案更具实用性。
这项研究为后向边控制流完整性保护提供了新的技术路径,特别是在资源受限的嵌入式安全领域具有重要应用价值。未来研究方向包括优化上下文切换机制、增强抗推测执行攻击能力,以及扩展对更复杂控制流模式的支持。随着物联网和边缘计算设备的普及,这种高效的安全防护方案将发挥越来越重要的作用。

生物通微信公众号
微信
新浪微博


生物通 版权所有