中国科学技术大学学报 ›› 2016, Vol. 46 ›› Issue (1): 21-27.DOI: 10.3969/j.issn.0253-2778.2016.01.004

• 论著 • 上一篇    

控制流污点信息导向的符号执行技术研究

黄晖,陆余良,刘林涛,赵军   

  1. 合肥电子工程学院网络系,安徽 合肥 230037
  • 收稿日期:2015-03-29 修回日期:2015-04-22 接受日期:2015-04-22 出版日期:2015-04-22 发布日期:2015-04-22
  • 通讯作者: 陆余良
  • 作者简介:黄晖,男,1987年生,博士生,研究方向:信息、安全、程序分析.E-mail:hhui_123@163.com

A research on control-flow taint information directed symbolic execution

HUANG Hui, LU Yuliang, LIU Lintao, ZHAO Jun   

  1. Electronic Engineering Institution of PLA,AnHui 230037, China
  • Received:2015-03-29 Revised:2015-04-22 Accepted:2015-04-22 Online:2015-04-22 Published:2015-04-22

摘要: 以快速生成能够覆盖可能存在缺陷程序点的测试用例为目标,结合基于生成的Fuzzing技术、静态程序控制流分析、静态污点分析等手段,提出一种导向式动态符号计算方法.通过Fuzzing生成能够到达包含缺陷程序点的函数的测试用例,作为种子输入驱动符号执行快速到达缺陷函数;在缺陷函数内利用静态控制流分析、静态污点分析计算出控制流污点可达程序切片,基于该切片进行朝向缺陷点的多路径动态符号执行.实验验证了方法能够有效减轻符号执行应用中广泛存在的路径爆炸问题,并且能生成触发目标缺陷的测试用例.

关键词: 控制流分析, 污点分析, 导向式符号执行

Abstract: Aiming at generation of test cases covering the potential vulnerable program points and combining generation base Fuzzing, static control flow analysis and static taint analysis, this paper proposes a directed dynamic symbolic execution method. By Fuzzing the test cases which could reach the function containing the vulnerable program points are generated, leading the symbolic execution fast towards the vulnerable functions along the denoted single path; By making a static control-flow analysis and a static taint analyses in the vulnerable functions, the control flow taint eachable slices are calculated directing the multi-path dynamic symbolic execution towards the desired vulnerable program points. Experiments prove effectiveness of the method in mitigating the path explosion problem common in symbolic execution applications and in generating test cases that trigger target vulnerability.

Key words: control flow analysis, taint analysis, directed symbolic execution

中图分类号: