首页 | 本学科首页   官方微博 | 高级检索  
     

结合静态分析与动态符号执行的软件漏洞检测方法
引用本文:蔡军,邹鹏,熊达鹏,何骏.结合静态分析与动态符号执行的软件漏洞检测方法[J].计算机工程与科学,2016,38(12):2536-2541.
作者姓名:蔡军  邹鹏  熊达鹏  何骏
作者单位:;1.装备学院复杂电子系统仿真实验室
基金项目:国家863计划(2012AA012902);“核高基”国家科技重大专项基金(2013ZX01045 004)
摘    要:动态符号执行是近年来新兴的一种软件漏洞检测方法,它可以为目标程序的不同执行路径自动生成测试用例,从而获得较高的测试代码覆盖率。然而,程序的执行路径很多,且大部分路径都是漏洞无关的,通常那些包含危险函数调用的路径更有可能通向漏洞。提出一种基于静态分析的有导动态符号执行方法,并实现了一个工具原型SAGDSE。该方法通过静态分析识别目标程序中调用危险函数的指令地址,在动态符号执行过程中遇到这些指令地址时收集危险路径约束,再通过约束求解生成走危险路径的测试用例,这些测试用例将更可能触发程序漏洞。实验结果表明了该方法的有效性。

关 键 词:软件漏洞检测  静态分析  动态符号执行  危险路径
收稿时间:2015-07-09
修稿时间:2016-12-25

A software vulnerability detection method based on static analysis and dynamic symbolic execution
CAI Jun,ZOU Peng,XIONG Da peng,HE Jun.A software vulnerability detection method based on static analysis and dynamic symbolic execution[J].Computer Engineering & Science,2016,38(12):2536-2541.
Authors:CAI Jun  ZOU Peng  XIONG Da peng  HE Jun
Affiliation:(Science and Technology on Complex Electronic System Simulation Laboratory,Academy of Equipment,Beijing 101416,China)  
Abstract:Dynamic symbolic execution is a software vulnerability detection method emerging in recent years, which can automatically generate test cases for different execution paths of the target program, so it can obtain high test code coverage. However, there are so many execution paths of a program, and most of them are unrelated to vulnerabilities, and those paths containing dangerous function calls are more likely to lead to vulnerabilities. We propose a guided dynamic symbolic execution method based on static analysis, and implement a tool prototype named SAGDSE. This method firstly identifies the program instructions that call dangerous functions via static analysis, and then collects the constraints of dangerous paths during the dynamic symbolic execution process when encountering these instructions. Finally it generates test cases that go through these dangerous paths by solving the constraints. These test cases are more likely to trigger program vulnerabilities. Experimental results verify the effectiveness of the proposed method.
Keywords:
点击此处可从《计算机工程与科学》浏览原始摘要信息
点击此处可从《计算机工程与科学》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号