[发明专利]一种基于简易符号执行的二进制代码漏洞挖掘方法有效
申请号: | 201210243800.7 | 申请日: | 2012-07-13 |
公开(公告)号: | CN102841844A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 马金鑫;李舟军;忽朝俭 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 简易 符号 执行 二进制 代码 漏洞 挖掘 方法 | ||
1.一种基于简易符号执行的二进制代码漏洞挖掘方法,其特征在于:该方法包括以下步骤:
步骤A.实现反汇编引擎,提取二进制代码中的函数信息,并分析函数内的控制流信息;
步骤B.实现二进制代码翻译组件,将二进制代码转化成中间语言;
步骤C.确认输入点即函数的参数及子函数调用,对函数中调用的子函数进行建模;
步骤D.根据步骤A,B,C中产生的结果进行符号执行,把输入作为符号,静态解释中间语言并更新每条指令执行的上下文,对于分支,需要保存当前上下文,遍历一条路径后,再恢复保存的上下文,继续执行下一条路径;
步骤E.当执行到函数结束时,符号执行过程产生一些与输入相关的表达式集合,根据安全属性规则,简化、分析这些表达式最后判断是否有漏洞。
2.根据权利要求1所述的一种基于简易符号执行的二进制代码漏洞挖掘方法,其特征在于:步骤A中所述的二进制代码为Windows、Linux操作系统下的x86可执行代码;所述控制流信息是由基本块信息组成的链表,基本块信息包括:
A1.基本块标号Label,表示该基本块的标识符,值唯一;
A2.基本块的开始地址Start Address;
A3.基本块的结束地址End Address;
A4.基本块的入度数In Count,表示到达该基本块的前驱的数量,入度数为0的基本块为本函数的第一个基本块;
A5.基本块的出度数Out Count,表示由该基本块到达的后继的数量,该值不大于2,出度数为0的基本块为本函数的最后一个基本块;
A6.基本块的前驱数组,表示到达该基本块的前驱的集合;
A7.基本块的后继数组,表示由该基本块到达的后继的集合;
A8.循环标志,表示该基本块是否处于循环中。
3.根据权利要求1所述的一种基于简易符号执行的二进制代码漏洞挖掘方法,其特征在于:步骤B所述的中间语言中,包括三种存储介质:
B11.临时变量,在每个基本块中临时申请,用于实现静态单赋值,为寄存器与内存间的媒介;
B12.寄存器,与机器指令中的寄存器相同,读写寄存器使用中间语言中的Get和Put操作完成;
B13.内存,内存地址由常量或临时变量表示,读写内存使用中间语言中的LDle和STle操作完成;
步骤B中所述的中间语言由语句IRStmt组成,语句IRStmt包括:
B21.IMark语句,表示每个基本块的入口标志,其中包括该基本块对应机器指令的开始地址及该指令的字节数;
B22.Put语句,表示把临时变量的值写入寄存器;
B23.Store语句,表示把临时变量的值写入内存;
B24.IRDirty语句,表示调用有副作用的函数;
B25.Exit语句,表示基本块的出口。
4.根据权利要求3所述的一种基于简易符号执行的二进制代码漏洞挖掘方法,其特征在于:所述的语句IRStmt由表达式IRExpr组成,表达式IRExpr包括:
B31.Get表达式,表示从寄存器中读取值;
B32.Tmp表达式,表示临时变量;
B33.Binop表达式,表示二元操作;
B34.Unop表达式,表示一元操作;
B35.Load表达式,表示从内存中读取值;
B36.Const表达式,表示常量;
B37.MuxOX表达式,表示if-then-else语句。
5.根据权利要求1所述的一种基于简易符号执行的二进制代码漏洞挖掘方法,其特征在于:步骤C所述的输入点一般指函数的参数或者从外部引入的值,在x86指令集中,参数表示为栈桢指针与正数偏移相加,但栈桢指针可能是ESP或者EBP,需要启发式判断;另外这种输入是从外部引入的值,如在函数内部调用ReadFile、Recv、Accept函数时引入的外部值,在函数建模后就针对这些输入向量适当地引入符号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210243800.7/1.html,转载请声明来源钻瓜专利网。