[发明专利]一种用于微处理器缓冲区溢出的硬件检测与防御机制在审
申请号: | 202210632988.8 | 申请日: | 2022-06-07 |
公开(公告)号: | CN115033411A | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 李磊;袁世伟;周婉婷 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/22 |
代理公司: | 成都虹盛汇泉专利代理有限公司 51268 | 代理人: | 王伟 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 微处理器 缓冲区 溢出 硬件 检测 防御 机制 | ||
本发明公开一种用于微处理器缓冲区溢出的硬件检测与防御机制,应用于处理器硬件安全与大规模数字集成电路领域;针对现有技术存在的:(1)无法实现缓冲区数组越界这一溢出行为的检测;(2)防御措施会导致处理器停止运行、崩溃、跑飞;(3)对处理器运行性能影响较为严重;(4)部署在软件层面的检测与防御机制易被绕过等问题;本发明基于微处理器指令的自定义扩展与微处理器中程序控制流图的实时构建,实现在微处理器的硬件层面完成缓冲区溢出行为的实时检测与返回地址的实时保护,根据实时检测结果屏蔽处理器当前执行指令访存缓冲区的权限,无效化微处理器遭受到的缓冲区溢出攻击,在一定程度上保证了微处理器硬件层面的安全性与可靠性。
技术领域
本发明属于处理器硬件安全与大规模数字集成电路领域,特别涉及一种硬件检测与防御技术。
背景技术
缓冲区溢出攻击指的是:在处理器中由于程序没有检查缓冲区边界条件或边界检查机制被绕过,而导致写入缓冲区的数据超过了所分配的缓冲区边界,从而覆盖相邻的内存区域,导致存储在处理器缓冲区的局部变量被篡改,甚至有使得处理器控制流被劫持的危险。一般来说,缓冲区溢出分为栈溢出与堆溢出。栈溢出主要有两种情况:(1)局部数据过大,超过了编译器为其申请的栈空间,导致栈向上溢出,覆盖已存在的数据;(2)函数递归次数过多,导致栈空间快速的向下生长,从而覆盖了heap堆、bss段与data段的数据。堆溢出是一种内存向上溢出的行为,与栈溢出(1)的情况类似。缓冲区溢出攻击可造成处理器运行崩溃、访问控制丢失、控制流被劫持等危害。
目前针对处理器缓冲区溢出检测与防御方法主要有四种:
(1)设置堆栈Canaries值,当缓冲区溢出覆盖返回地址时,通过检测Canaries值是否被篡改实现缓冲区溢出攻击的检测,如“A.De,A.Basu,S.Ghosh and T.Jaeger,Hardware Assisted Buffer Protection Mechanisms for Embedded RISC-V,in IEEETransactions on Computer-Aided Design of Integrated Circuits and Systems,vol.39,no.12,pp.4453-4465,Dec.2020,doi:10.1109/TCAD.2020.2984407.”利用物理不可克隆函数(PUF)与真随机数生成器(TRNG)生成随机Canaries值;
(2)对处理器运行中的返回地址进行保护,防止处理器遭受到更为严重的控制流劫持攻击,如“D.Asmit,S Ghosh.HeapSafe:Securing Unprotected Heaps in RISC-V.ArXiv abs/2105.08712 2021.”通过给返回地址增加安全标签位来保证返回地址的安全性,“张雨昕,芮志清,李威威,等.PEC-V:基于RISC-V协处理器的内存溢出防御机制.计算机系统应用,2021,30(11):9.”利用PUF将返回地址进行加密/解密,“Wang.Y,Wu.J,Yue.T,Ning.Z and Zhang.F.RetTag:hardware-assisted return address integrity on RISC-V.Proceedings of the 15th European Workshop on Systems Security.2022”通过在处理器硬件层面给返回地址添加加密的指针验证码来保证处理器返回地址的完整性;
(3)保证处理器程序控制流完整性,在程序运行时确保遵循构建的程序控制流图,以实现对控制流劫持攻击的防御,如“Shrivastava.K R,Concessao.K J,Hota.C.CodeTamper-Proofing using Dynamic Canaries.2019 25th Asia-Pacific Conference onCommunications(APCC).pp.238-243.2019”通过使用动态Canaries值在函数调用点和返回点进行一系列XOR计算来确保控制流的完整性;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210632988.8/2.html,转载请声明来源钻瓜专利网。