[发明专利]一种代码复用攻击防御系统及方法有效
申请号: | 201610388347.7 | 申请日: | 2016-06-02 |
公开(公告)号: | CN106022166B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 张吉良;吕勇强;金睿 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 胡晓男 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种代码复用攻击防御系统及方法,系统包括高速缓存Cache、内存Memory、CPU、轻量级线性加密架构LEA。轻量级线性加密架构LEA包括:硅PUF模块、加密解密单元EDU、KEY_CFI寄存器、LEN_CFI寄存器。本发明基于物理不可克隆函数的线性加密结构以极低的性能开销来有效抵抗代码复用攻击,不需要额外的处理和扩展指令集,针对以构造ret指令链为主要攻击方式的ROP攻击以及以构造间接跳转指令链为攻击方式的JOP攻击效果十分明显。使用PUF生成密钥,根据密钥和加密的长度对内存中的指令进行加密、解密操作。该防御系统使用LEA线性加解密,不需要更改处理器指令集且硅PUF模块无需高开销的纠错机制,所以开销显著降低。硅PUF模块产生的密钥不可克隆且可动态更新,安全性显著提高。 | ||
搜索关键词: | 一种 代码 攻击 防御 系统 方法 | ||
【主权项】:
1.一种代码复用攻击防御系统,包括高速缓存Cache、内存Memory,还包括:CPU:进行call指令、间接跳转指令、ret指令的识别,存储指令及其所处地址;程序被加载到内存Memory中时将间接跳转指令对应的跳转目的地址处指令传送给轻量级线性加密解密架构LEA进行加密;轻量级线性加密解密架构LEA:产生加密解密的密钥key,存储密钥key及其长度len;程序被加载到内存Memory时加密间接跳转指令的目的地址处指令,CPU识别出间接跳转指令时对其目的地址处指令进行解密,CPU识别出call指令时对其返回地址加密,CPU识别出ret指令时对其返回地址解密;其特征在于,所述CPU执行call指令时,将call指令的返回地址传送给轻量级线性加密解密架构LEA进行加密,执行ret指令时,将ret指令的返回地址传送给轻量级线性加密解密架构LEA进行解密,执行间接跳转指令时将跳转目的地址处指令传送给轻量级线性加密解密架构LEA进行解密;所述轻量级线性加密解密架构LEA包括:硅PUF模块、加密解密单元EDU、KEY_CFI寄存器、LEN_CFI寄存器;硅PUF模块:产生加密解密的密钥key及其长度len,加密解密的密钥key存储在KEY_CFI寄存器中,密钥key的长度len存储在LEN_CFI寄存器中;加密解密单元EDU用于根据硅PUF模块产生的加密解密的密钥key及其长度len,对call指令的返回地址加密、对ret指令的返回地址解密、对间接跳转指令的跳转目的地址处指令进行加密和解密;所述加密解密的密钥key的长度len设置规则为从1到小于所有返回地址的长度、间接跳转目的地址处指令的长度中的最小长度值的随机数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610388347.7/,转载请声明来源钻瓜专利网。