arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1801.07397cs.CRcs.AR
收藏

HCIC:硬件辅助的控制流完整性检查

HCIC: Hardware-assisted Control-flow Integrity Checking

Jiliang Zhang, Binhang Qi, Gang Qu

摘要:

近年来,代码重用攻击(CRA),如面向返回编程(ROP)和面向跳转编程(JOP),已成为一类新的巧妙的安全威胁。攻击者可以利用CRA劫持程序的控制流来执行恶意操作,而无需注入任何代码。已经提出了许多防御方法,分为基于软件的和基于硬件的。然而,基于软件的方法很难部署在实际系统中,由于高性能开销。基于硬件的方法可以降低性能开销,但可能需要扩展指令集架构(ISA)和修改编译器或遭受密钥泄漏的脆弱性。针对这些问题,提出了一种新的基于硬件的控制流检测方法,在不扩展ISA、不修改编译器、不泄露加解密密钥的情况下,以可忽略的性能开销抵抗CRA。关键技术涉及两种控制流检查机制。第一个是物理不可克隆函数(PUF)响应和返回地址之间的加密汉明距离(EHD)匹配,只要PUF响应是秘密的,就可以防止攻击者在小工具之间返回,从而抵抗ROP攻击。第二种方法是在PUF响应与call和jmp指令的目标地址处的指令之间进行线性加/解密操作(XOR),以抵抗JOP攻击。使用动态密钥更新方法可以防止高级的基于返回的全功能重用攻击。基准测试的实验结果表明,所提出的方法引入了可以忽略不计的0.95%的运行时开销和0.78%的二进制大小的开销平均。

英文摘要:

Recently, code reuse attacks (CRAs), such as return-oriented programming (ROP) and jump-oriented programming (JOP), have emerged as a new class of ingenious security threatens. Attackers can utilize CRAs to hijack the control flow of programs to perform malicious actions without injecting any codes. Many defenses, classed into software-based and hardware-based, have been proposed. However, software-based methods are difficult to be deployed in practical systems due to high performance overhead. Hardware-based methods can reduce performance overhead but may require extending instruction set architectures (ISAs) and modifying compiler or suffer the vulnerability of key leakage. To tackle these issues, this paper proposes a new hardware-based control flow checking method to resist CRAs with negligible performance overhead without extending ISAs, modifying compiler and leaking the encryption/decryption key. The key technique involves two control flow checking mechanisms. The first one is the encrypted Hamming distances (EHDs) matching between the physical unclonable function (PUF) response and the return addresses, which prevents attackers from returning between gadgets so long as the PUF response is secret, thus resisting ROP attacks. The second one is the liner encryption/decryption operation (XOR) between PUF response and the instructions at target addresses of call and jmp instructions to defeat JOP attacks. Advanced return-based full-function reuse attacks will be prevented with the dynamic key-updating method. Experimental evaluations on benchmarks demonstrate that the proposed method introduces negligible 0.95% run-time overhead and 0.78% binary size overhead on average.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑