[发明专利]基于LBR的栈缓冲区溢出攻击防御方法有效

专利信息
申请号: 201910015121.6 申请日: 2019-01-08
公开(公告)号: CN109858253B 公开(公告)日: 2021-04-20
发明(设计)人: 周洪伟;原锦辉;朱旭华;张玉臣;孙怡峰;吴彊 申请(专利权)人: 中国人民解放军战略支援部队信息工程大学
主分类号: G06F21/57 分类号: G06F21/57;G06F21/56
代理公司: 郑州大通专利商标代理有限公司 41111 代理人: 陈勇
地址: 450000 河*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 lbr 缓冲区 溢出 攻击 防御 方法
【权利要求书】:

1.一种基于LBR的栈缓冲区溢出攻击防御方法,其特征在于,包括:入栈操作和出栈操作;

所述入栈操作包括:

步骤11、在进程初始化时随机生成随机参数,将所述随机参数作为所述进程当前整个生命周期的随机因子;

步骤12、当父函数调用子函数时,获取返回地址;

步骤13、当确定待调用子函数时,获取返回父函数指令的地址,将所述返回父函数指令的地址作为硬因子;所述返回父函数指令的地址是指子函数内部,执行完相应指令集后,执行返回父函数的那条指令的地址,返回父函数指令在子函数地址范围内;

步骤14、根据所述随机因子、返回地址和硬因子计算软因子,并将所述软因子替代返回地址存储在栈中;所述软因子具体为:软因子=硬因子⊕返回地址⊕随机因子;

步骤15、使用jmp指令替代call指令,从父函数跳转至子函数;

所述出栈操作包括:

步骤21、使用jmp指令从子函数跳转至设定的跳板函数;

步骤22、在跳板函数内从处理器LBR硬件特性中获取硬因子,所述硬因子指返回父函数指令的地址;其中,从处理器LBR硬件特性中获取硬因子包括:读取两次LBR寄存器:首先确定最新的控制转移记录,然后根据最新的控制转移记录获取返回父函数指令的地址;

步骤23、在跳板函数内获取随机因子,所述随机因子指在进程初始化时随机生成的随机参数;

步骤24、使用pop指令使软因子出栈,所述软因子指替代返回地址存储在栈中的参数;

步骤25、根据所述硬因子、随机因子和软因子计算返回地址;所述返回地址具体为:返回地址=软因子⊕硬因子⊕随机因子;

步骤26、根据所述返回地址,使用jmp指令从跳板函数跳转至父函数。

2.根据权利要求1所述的方法,其特征在于,在步骤11之前还包括:

在由源代码初步编译得到的RTL指令集中插入随机因子发生函数,得到新的RTL指令集;

通过修改指令模板,使用设定的指令集替代call指令,并采用修改后的指令模板将新的RTL指令集转换为汇编指令;

其中,所述设定的指令集用于执行所述步骤11至步骤15。

3.根据权利要求1所述的方法,其特征在于,在步骤21之前还包括:

在由源代码初步编译得到的RTL指令集中插入跳板函数,得到新的RTL指令集;

通过修改指令模板,使用设定的指令集替代ret指令,并采用修改后的指令模板将新的RTL指令集转换为汇编指令;

其中,所述设定的指令集用于执行步骤21至步骤26。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910015121.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top