[发明专利]基于LBR的栈缓冲区溢出攻击防御方法有效
申请号: | 201910015121.6 | 申请日: | 2019-01-08 |
公开(公告)号: | CN109858253B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 周洪伟;原锦辉;朱旭华;张玉臣;孙怡峰;吴彊 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈勇 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于LBR的栈缓冲区溢出攻击防御方法。通过使用设定的指令集替代原来的call指令和ret指令,将硬件因素引入到栈中返回地址的保护,存放到栈中的“地址”实际上是生成真正返回地址的软件因子,只有与处理器LBR所提供的硬件因子相结合以后,才能得到真正的返回地址,使得攻击者直接攻击栈中数据的方法失效。由于攻击者不具备直接攻击物理系统的能力,本发明可以合理的假设硬因子是无法被攻击篡改的。基于硬因子的可信性,结合随机因子防重放的设计,使得本发明所提出的栈数据保护方案的有效。不同于影子栈或者加密返回地址的方法,本发明不依赖过多的计算复杂性和冗余空间,只是增加若干条指令,运行效率得到了保证。 | ||
搜索关键词: | 基于 lbr 缓冲区 溢出 攻击 防御 方法 | ||
【主权项】:
1.一种基于LBR的栈缓冲区溢出攻击防御方法,其特征在于,包括:步骤11、在进程初始化时随机生成随机参数,将所述随机参数作为所述进程当前整个生命周期的随机因子;步骤12、当父函数调用子函数时,获取返回地址;步骤13、当确定待调用子函数时,获取返回父函数指令的地址,将所述返回父函数指令的地址作为硬因子;步骤14、根据所述随机因子、返回地址和硬因子计算软因子,并将所述软因子替代返回地址存储在栈中;步骤15、使用jmp指令替代call指令,从父函数跳转至子函数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910015121.6/,转载请声明来源钻瓜专利网。