[发明专利]一种基于LLVM的抵御控制流劫持的系统和方法有效
申请号: | 201710725793.7 | 申请日: | 2017-08-22 |
公开(公告)号: | CN107545174B | 公开(公告)日: | 2020-03-10 |
发明(设计)人: | 傅建明;金睿;史鹿曼 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F21/54 | 分类号: | G06F21/54 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 鲁力 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于LLVM的抵御控制流劫持的系统和方法,主要是用来对控制流劫持中的返回导向攻击和跳转导向攻击进行缓解和防御。本方法抵御控制流劫持主要包括以下几种:基于LLVM的编译时函数随机化方法,基于LLVM的强制函数内控制流按正常程序流执行方法。通过以上方法的综合利用,本发明能够有效的在编译阶段打乱函数顺序增加攻击者猜解程序的难度,在运行时限制函数的执行流程,从而抵御控制流劫持。通过测试发现,本发明对软件的开销极低,能够抵御常见的控制流劫持攻击。 | ||
搜索关键词: | 一种 基于 llvm 抵御 控制 劫持 系统 方法 | ||
【主权项】:
一种基于LLVM的抵御控制流劫持的系统,其特征在于,包括:函数随机化装置:用于缓解控制流攻击,具体是在LLVM将源文件编译成IR层代码后,识别出函数的信息,将识别出函数的信息保存到函数数组,然后基于随机生成的随机因子,重复function级数组长度次后得到新的function级数组,并将新的function级数组的内容插入IR层代码中;函数内部控制流限制装置:用于防御控制流攻击,具体是遍历源码寻找会编译成间接跳转指令、间接函数调用指令和返回指令的IR指令,或者识别函数的头部位置后;插入不同的指令。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710725793.7/,转载请声明来源钻瓜专利网。