摘要

控制流攻击是利用软件漏洞去劫持程序的执行流向,并将其导向预定的恶意代码或可以组成恶意代码的指令片段的一种恶性攻击方式.本文通过对控制流攻击原理的研究,提出一种基于XOR门加密抗控制流攻击方法.该方法首先在执行程序调用指令call时,利用XOR加密电路对返回地址进行加密.其次将加密后的返回地址压入堆栈和内置安全寄存器组,然后当执行程序返回指令ret时,堆栈和内置安全寄存器组中的加密返回地址经过XOR解密电路后送入地址比较器,通过返回地址比较结果检测系统是否受到控制流攻击.最后,利用TSMC 65 nm CMOS工艺,设计基于XOR门加密的抗控制流攻击处理器并验证.实验结果表明配件gadget平均消除率高达99.52%,电路面积和功耗最大开销仅分别增加5.25%和6.3%,可有效达到抗控制流攻击的目的.

全文