[发明专利]基于路径簇规约的并行符号执行方法有效
申请号: | 201210542210.4 | 申请日: | 2012-12-14 |
公开(公告)号: | CN103049377A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 吴世忠;郭涛;张普含;王嘉捷 | 申请(专利权)人: | 中国信息安全测评中心 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 白毅明 |
地址: | 100089 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 路径 规约 并行 符号 执行 方法 | ||
1.一种基于路径簇规约的并行符号执行方法,其特征是:包括下述步骤:
1)使用反汇编工具将被测可执行程序进行反汇编,得到被测可执行程序的汇编代码;
2)将所述汇编代码转换为统一的中间汇编语言形式,以屏蔽底层具体汇编语言的差异;
3)根据中间汇编语言形式,生成被测可执行程序的函数调用图和控制流图;
4)定义危险函数特征,通过对函数调用图的静态分析,找到危险函数;
5)定义输入函数特征,通过对函数调用图的静态分析,找到输入函数;
6)分别建立“程序进入点→调用输入函数”,“调用输入函数→调用危险函数”,“调用危险函数→程序结束点” 两两之间的路径,并归约成路径簇;
7)将步骤6)的3组路径簇进行点到点的连接,形成“程序进入点→程序结束点”的完整路径簇链集合,形成覆盖输入函数和危险函数的完整程序执行路径;
8)以步骤7)形成的“程序进入点→程序结束点”一个完整路径簇链作为一个负载单位,分配到不同的分布式测试节点,生成相应的测试用例进行实际程序安全测试。
2.根据权利要求1所述的基于路径簇规约的并行符号执行方法,其特征是,在步骤4)中,定义了4类危险函数,分别是:字符串拷贝、内存拷贝、格式化、格式转换。
3.根据权利要求2所述的基于路径簇规约的并行符号执行方法,其特征是,在步骤5)中,定义了6类输入函数,分别是:文件读取、网络数据读取、管道及消息读取、用户输入、环境变量读取、连接函数。
4.根据权利要求1所述的基于路径簇规约的并行符号执行方法,其特征是,在步骤5)中,定义了6类输入函数,分别是:文件读取、网络数据读取、管道及消息读取、用户输入、环境变量读取、连接函数。
5.根据权利要求1~4任一项所述的基于路径簇规约的并行符号执行方法,其特征是,在步骤3)中,通过编写反汇编工具插件,实现被测可执行程序控制流图和函数调用图的生成。
6.根据权利要求5所述的基于路径簇规约的并行符号执行方法,其特征是,在步骤6)中,以分析被测可执行程序控制依赖和数据依赖关系为基础,分别对进行“程序进入点→调用输入函数”,“调用输入函数→调用危险函数”,“调用危险函数→程序结束点”3组点到点的多条路径进行规约,形成点到点的路径簇;被测可执行程序中两点之间的路径簇规约概述为2个步骤: 确定与符号执行目标点结果符号值有数据依赖关系的程序语句集合;找到与中语句集合有控制依赖关系的语句集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国信息安全测评中心,未经中国信息安全测评中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210542210.4/1.html,转载请声明来源钻瓜专利网。