[发明专利]一种基于LLVM的抵御控制流劫持的系统和方法有效

专利信息
申请号: 201710725793.7 申请日: 2017-08-22
公开(公告)号: CN107545174B 公开(公告)日: 2020-03-10
发明(设计)人: 傅建明;金睿;史鹿曼 申请(专利权)人: 武汉大学
主分类号: G06F21/54 分类号: G06F21/54
代理公司: 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人: 鲁力
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 llvm 抵御 控制 劫持 系统 方法
【权利要求书】:

1.一种基于LLVM的抵御控制流劫持的系统,其特征在于,包括:

函数随机化装置:用于缓解控制流攻击,具体是在LLVM将源文件编译成IR层代码后,识别出函数的信息,将识别出函数的信息保存到函数数组,然后基于随机生成的随机因子,重复function级数组长度次后得到新的function级数组,并将新的function级数组的内容插入IR层代码中;

函数内部控制流限制装置:用于防御控制流攻击,具体是遍历源码寻找会编译成间接跳转指令、间接函数调用指令和返回指令的IR指令,或者识别函数的头部位置后;插入不同的指令;

函数内部控制流限制装置包括:

IR层代码识别模块:在LLVM将源代码便以为IR层代码后,IR层代码识别模块遍历源码,寻找会编译成间接跳转指令、间接函数调用指令和返回指令的IR指令,并通过指针做标记,调用IR层代码插入模块;

IR层函数识别模块:识别函数的头部位置,调用IR层代码插入模块;

IR层代码插入模块:本模块在IR层代码识别模块和IR层函数识别模块调用会产生不同的工作方式;IR层函数识别模块调用后,本模块会插入3条指令,分别是生成变量1存储函数返回地址,生成变量2存储栈帧值,生成变量3存储变量1和变量2的异或值;在IR层代码识别模块调用后,本模块会插入如下指令,分别是生成变量4存储函数返回地址,生成变量5存储栈帧值,生成变量6存储变量5和变量4的异或值,生成变量7存储变量3和变量6的比较结果,生成条件判断根据变量7结果跳转到不相等判断位置和相等判断位置,生成结果不相等判断所需执行指令,将相等判断指向原有标记位置。

2.根据权利要求1所述的一种基于LLVM的抵御控制流劫持的系统,其特征在于,函数随机化装置包括:

函数识别保存模块:在LLVM将源文件编译成IR层代码后,由函数识别保存模块识别出函数的信息,将其保存到函数数组中;其中函数识别可从module入手,在其中使用function级变量遍历函数;函数保存则将遍历到的函数指针存入function级的数组中;在函数识别中需将在外部定义的函数去除,识别方式为识别是否有函数体,若没有则为外部函数;

函数置乱模块:在函数识别保存模块后,使用rand函数生成随机数做随机因子;重复function级数组长度次,根据其模以function级数组长度,将其值所对应位置与当前次数所对应的位置的数组内容交换,最终得到新的function级数组;

函数删除模块:将IR层代码中的所有非外部函数删除,删除时可以使用系统提供的eraseFromParent方法;

函数插入模块:将新的function级数组的内容插入IR层代码中,插入时可以使用系统提供的replaceAllUsesWith方法。

3.一种基于LLVM的抵御控制流劫持方法,其特征在于,包括:

函数随机化步骤:用于缓解控制流攻击,具体是在LLVM将源文件编译成IR层代码后,识别出函数的信息,将识别出函数的信息保存到函数数组,然后基于随机生成的随机因子,重复function级数组长度次后得到新的function级数组,并将新的function级数组的内容插入IR层代码中;

函数内部控制流限制步骤:用于防御控制流攻击,具体是遍历源码寻找会编译成间接跳转指令、间接函数调用指令和返回指令的IR指令,或者识别函数的头部位置后;插入不同的指令。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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