• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学

• 软件工程 • 上一篇    

Angr动态软件测试应用分析与优化

宋丛溪,王辛,张文喆   

  1. (国防科技大学计算机学院,湖南 长沙 410073)
  • 收稿日期:2018-07-17 修回日期:2018-09-20 出版日期:2018-11-26 发布日期:2018-11-25
  • 基金资助:

    国家重点研发计划(2016YFB0200400);国防科技卓越人才项目(2017JCJQZQ013);湖南省科技领军人才项目(2017RS3045);国防科技大学本科教育教学研究课题(U2015013);国防科技大学研究生教育教学改革研究课题(yjsy2016012);湖南省学位与研究生教育教学改革研究项目(JG2017B004)

Analysis and optimization of Angr in
 dynamic software test application

SONG Congxi,WANG Xin,ZHANG Wenzhe   

  1. (College of Computer,National University of Defense Technology,Changsha 410073,China)
  • Received:2018-07-17 Revised:2018-09-20 Online:2018-11-26 Published:2018-11-25

摘要:

如今,基于符号化执行技术的动态软件测试被人们广泛应用,然而符号化执行遍历路径时带来的路径爆炸问题限制了其性能。应用了基于动态符号化执行技术的系统Angr,它加载待测二进制程序,并转化成中间语言符号化遍历程序。提出将待测程序根据特点分类的方法,调整遍历时的参数设置,对遍历过程剪枝,缓解了路径爆炸问题。为了分析Angr在软件测试中的应用方法,我们使用该系统对几种类别的程序分别进行了参数调整,以便扩展应用于更多软件系统的漏洞探测中。
 

关键词: 软件测试, 符号化执行, Angr

Abstract:

Today, dynamic software testing based on symbolic execution techniques is widely used, but the problem of path explosion caused by symbolic execution of traversal paths extremely limits its performance. We apply a system Angr based on dynamic symbolic execution technique, which loads the binary programs to be tested and converts them into an intermediate language symbolization traversal program. We also propose a classification method for the programs to be tested according to their characteristics, adjust  parameter settings during the traversal, and prune the traversal process to alleviate the path explosion problem. In order to analyze the application methods of Angr in software testing, we use this system to adjust the parameters of several categories of programs separately, so it can be applied to the vulnerability detection of more software systems.
 

Key words: software test, symbolic execution, Angr