返回
Code Encryption with Intel TME-MK for Control-Flow Enforcement
DOI:10.1007/978-3-032-07891-9_19.png)
摘要
En 中文
内存安全错误使攻击者能够破坏代码指针,从而转移程序的执行流程。近期CPU特性,如Intel CET/IBT,通过加固软件系统来抵御恶意重定向控制流操作。尽管IBT限制了有效的间接分支目标,但前向边转移仍可被重定向至任意IBT标记的函数。因此,IBT无法对前向边控制流攻击提供细粒度保护。本文提出了一种基于Intel TME-MK的代码加密方法,这是一种针对通用x86机器上软件漏洞利用的新型控制流强制执行方案。我们利用Intel TME-MK的运行时加密实现函数级代码加密。加密函数仅可通过与正确密钥关联的函数指针访问,从而强制执行细粒度的控制流转移限制。我们展示了两种基于加密的软件加固技术:前向边控制流完整性和库加密。我们实现了一个安全加固的工具链,结合编译器插桩和加载器扩展,通过高效的硬件支持加密确保程序执行流程的有效性。我们的原型在SPEC CPU2017基准测试套件中评估,前向边控制流完整性性能开销为7.8%,库加密性能开销为2.2%。
Keyword:
Code Encryption
Control-Flow Integrity
Intel TME-MK
期刊
C
IF:
0
论文数:
22
被引数:
0

