基于路径簇规约的并行符号执行方法技术

技术编号:8593881 阅读:230 留言:0更新日期:2013-04-18 07:02
本发明专利技术涉及一种基于程序符号执行路径簇划分的计算机软件安全性测试方法。一种基于路径簇规约的并行符号执行方法,将被测可执行程序进行反汇编;得到被测可执行程序的汇编代码,并转换为统一的中间汇编语言形式;然后根据中间汇编语言形式生成被测可执行程序的函数调用图和控制流图;通过对函数调用图的静态分析,找到危险函数和输入函数;分别建立“程序进入点、调用输入函数、调用危险函数、程序结束点”两两之间的路径,并归约成路径簇;将得到的路径簇进行点到点的连接形成“程序进入点→程序结束点”的完整路径簇链集合;以前述步骤形成的“程序进入点→程序结束点”一个完整路径簇链作为一个负载单位,生成相应的测试用例进行实际程序安全测试。

【技术实现步骤摘要】

本专利技术涉及一种计算机软件安全性测试方法,尤其是涉及一种基于程序符号执行路径簇划分的并行测试方法。
技术介绍
目前,符号执行技术在软件安全性测试领·域得到了日益广泛的关注和应用。符号执行和Fuzzing等随机生成测试用例的技术相比,能够更加深入地理解目标软件,显著提高软件测试的代码覆盖率,进而生成更有针对性的测试用例。但是符号执行的最大问题是,由于软件分支数目和循环次数巨大,存在着指数级增长的执行路径,导致符号执行在实际应用中具有路径爆炸的问题,这已成为符号执行应用的最大瓶颈。为了有效缓解或解决符号执行中路径空间爆炸的问题,可以利用计算能力更强的硬件体系架构实现,比如分布式多处理器、多核、众核、云计算等。这就需要将传统的符号执行改造成具有并行执行能力的技术。当前已有的并行符号执行技术,多是根据实际使用的分布式硬件平台特点,有效缓解了并行符号执行的分布式测试节点通信、负载调度等关键问题。但是在测试节点负载分配上多是采用了简单的路径拆分或随机将分支树迁移,由于没有深入理解程序内部结构,缺少对程序执行空间可并行化测试路径关系的分析。如果将可并行测试的路径分配到同一个测试节点测试,或者不本文档来自技高网...

【技术保护点】
一种基于路径簇规约的并行符号执行方法,其特征是:包括下述步骤:1)使用反汇编工具将被测可执行程序进行反汇编,得到被测可执行程序的汇编代码;2)将所述汇编代码转换为统一的中间汇编语言形式,以屏蔽底层具体汇编语言的差异;3)根据中间汇编语言形式,生成被测可执行程序的函数调用图和控制流图;4)定义危险函数特征,通过对函数调用图的静态分析,找到危险函数;5)定义输入函数特征,通过对函数调用图的静态分析,找到输入函数;6)分别建立“程序进入点→调用输入函数”,“调用输入函数→调用危险函数”,“调用危险函数→程序结束点”?两两之间的路径,并归约成路径簇;7)将步骤6)的3组路径簇进行点到点的连接,形成“程...

【技术特征摘要】
1.一种基于路径簇规约的并行符号执行方法,其特征是包括下述步骤1)使用反汇编工具将被测可执行程序进行反汇编,得到被测可执行程序的汇编代码;2)将所述汇编代码转换为统一的中间汇编语言形式,以屏蔽底层具体汇编语言的差异3)根据中间汇编语言形式,生成被测可执行程序的函数调用图和控制流图;4)定义危险函数特征,通过对函数调用图的静态分析,找到危险函数;5)定义输入函数特征,通过对函数调用图的静态分析,找到输入函数;6)分别建立“程序进入点一调用输入函数”,“调用输入函数一调用危险函数”,“调用危险函数一程序结束点”两两之间的路径,并归约成路径簇;7)将步骤6)的3组路径簇进行点到点的连接,形成“程序进入点一程序结束点”的完整路径簇链集合,形成覆盖输入函数和危险函数的完整程序执行路径;8)以步骤7)形成的“程序进入点一程序结束点”一个完整路径簇链作为一个负载单位,分配到不同的分布式测试节点,生成相应的测试用例进行实际程序安全测试。2.根据权利要求1所述的基于路径簇规约的并行符号执行方法,其特征是,在步骤4)中,定义了 4类危险函数,分别是字符串拷贝、内存拷贝、格式化、格式...

【专利技术属性】
技术研发人员:吴世忠郭涛张普含王嘉捷
申请(专利权)人:中国信息安全测评中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1