[发明专利]一种基于静态路径分析的导向符号执行方法在审
| 申请号: | 201410738073.0 | 申请日: | 2015-08-04 |
| 公开(公告)号: | CN104503901A | 公开(公告)日: | 2015-07-29 |
| 发明(设计)人: | 肖奇学;陈渝;张知皦;史元春;郭世泽;茅俊杰;吴志勇;肖络元;赵静 | 申请(专利权)人: | 中国人民解放军总参谋部第五十四研究所;清华大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京理工大学专利中心 11120 | 代理人: | 仇蕾安 |
| 地址: | 100191 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提供一种基于静态路径分析的导向符号执行方法,能够快速到达指定的代码的位置,并给出到达目的代码的测试输入。步骤一、首先通过静态分析确定检测的目标,找到目标程序中内存分配相关的代码或指令;步骤二、获取从程序起始点到指定代码点的路径相关函数和基本块,并依据路径可达性和距离对这些函数和基本块进行权值计算;步骤三、优先选择权值大的静态分析可达路径进行遍历;步骤四、静态路径分析;步骤五、将静态路径分析所得到的路径相关的函数和基本块信息放到Paths[funcs,bbs]中,所有要分析的目标指令存放到allocCallInst的Vector中,states中存放当前所有的路径状态,当符号执行引擎对目标程序进行执行分析,通过循环对程序中的指令进行逐条解释执行。 | ||
| 搜索关键词: | 一种 基于 静态 路径 分析 导向 符号 执行 方法 | ||
【主权项】:
一种基于静态路径分析的导向符号执行方法,其特征在于,包括以下步骤:步骤一、首先通过静态分析确定检测的目标,找到目标程序中内存分配相关的代码或指令;步骤二、获取从程序起始点到指定代码点的路径相关函数和基本块,并依据路径可达性和距离对这些函数和基本块进行权值计算,形成一个基于代码基本块的加权源‑目标有向图;步骤三、函数和基本块路径的权值确定后,通过符号执行寻找实际可达路径,优先选择权值大的静态分析可达路径进行遍历,减少路径探测引发的组合爆炸;步骤四、静态路径分析:首先分析指定的起点和终点之间路径可达性关系,然后获取可达路径相关的函数和基本块信息,最后利用函数、基本块之间的可达性和路径距离进行权值设定;步骤五、导向符号执行:将静态路径分析所得到的路径相关的函数和基本块信息放到Paths[funcs,bbs]中,所有要分析的目标指令存放到allocCallInst的Vector中,states中存放当前所有的路径状态,当符号执行引擎对目标程序进行执行分析,通过循环对程序中的指令进行逐条解释执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军总参谋部第五十四研究所;清华大学,未经中国人民解放军总参谋部第五十四研究所;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410738073.0/,转载请声明来源钻瓜专利网。





