收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

符号执行制导技术及其应用研究

鲍铁匀  
【摘要】:近年来计算机技术与信息产业快速发展,软件已经在人们的日常生活中占据越来越重要的地位。然而随着软件功能和软件复杂性的不断提高,软件缺陷更加容易出现在软件生命周期中。如何保障软件质量是一个重要而严峻的课题,软件测试、静态分析以及程序验证是保障软件质量的重要手段。符号执行是一种非常有前景的程序分析技术,其基本思想是使用符号代替程序的具体输入,分析并收集路径分支的约束条件,通过约束求解器求解路径约束得到测试用例。符号执行技术能够尽可能的探索程序路径空间,并产生高覆盖度的测试用例,然而对于程序结构复杂,存在大量分支或者循环结构的大型实际程序或者系统而言,符号执行极容易产生路径爆炸问题。目前的研究工作针对路径爆炸问题,存在各种路径制导技术、路径剪枝、循环优化等方面的工作。现有的制导技术以及路径剪枝分别关注于提出新的路径分支选择策略或者修剪探索过的路径,从而能够探索新的路径,提高执行效率。现有的循环优化策略针对循环执行次数没有统一的标准,且循环执行次数无法达到某个数值而影响覆盖度或者测试准确性。本文提出不同于以往工作的,分别基于路径剪枝、路径合并符号执行的制导技术,可以缓解执行过程中的路径爆炸问题。我们将其运用于缓冲区溢出警报确认,提高确认效率。本文的工作主要如下:(1)提出特定目标制导与循环可达上界制导相结合的符号执行制导技术。程序中的目标可以是静态分析结果,也可以是程序员指定的特定语句位置,我们的目标制导技术能够引导符号执行的过程,删减与目标不相关的无用路径,缩减状态空间;循环制导能够在缺陷触发或者需要覆盖的路径与循环迭代次数相关时,指导符号执行沿着循环展开最深路径执行。不同现有的循环优化方案,我们能够对循环的执行次数有统一的标准,并且不会因为循环执行次数不够而导致测试精度的问题。(2)提出基于制导符号执行的面向缓冲区溢出缺陷的静态警报确认方法。制导技术应用的基本框架中包含了缓冲区溢出模型定义、状态跟踪、构建约束缺陷、约束求解以及路径分类等方面的工作。确认结果能够将缓冲区溢出静态警报划分为确认溢出、误报以及无法确定三个类别,程序测试人员可以针对不同的类别采用不同的处理方案。由于溢出警报中存在静态目标信息,且缺陷的验证可能依赖于循环执行的次数,所以我们的制导技术能够应用于此。(3)基于上述工作,我们实现了原型工具并通过实验来评估工具的有效性。实验中我们选取植入错误的基准测试程序以及目前已经公布存在缓冲区溢出缺陷的实际程序,从验证准确性,减少验证率,时间空间开销等角度论述本文中提出的方法,实验结果表明在实际开源程序上我们的原型工具能够有效代替人工减少检查缓冲区溢出误报,且我们的制导技术能够有效减少符号执行应用过程中的时间和空间消耗。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 洪宇;陈光;于见平;韩柯;;处理符号执行中数组元素混淆的一种新方法[J];计算机应用;2005年S1期
2 过辰楷;姬秀娟;许静;;基于分支混淆算法的符号执行技术[J];计算机科学;2012年09期
3 刘杰;曹琰;魏强;彭建山;;符号执行中的循环依赖分析方法[J];计算机工程;2012年22期
4 黄晖;陆余良;夏阳;;基于动态符号执行的二进制程序缺陷发现系统[J];计算机应用研究;2013年09期
5 翁子盛;王宝生;林锦滨;;程序符号执行中的数组分析[J];长江大学学报(自然科学版)理工卷;2010年01期
6 贾春福;王志;刘昕;刘昕海;;路径模糊:一种有效抵抗符号执行的二进制混淆技术[J];计算机研究与发展;2011年11期
7 周孔伟,蔡经球;符号执行—介于程序验证和程序调试之间的方法[J];小型微型计算机系统;1982年04期
8 高仲仪 ,梁霞;符号执行和测试数据辅助生成的实验系统[J];北京航空学院学报;1988年04期
9 程绍银;蒋凡;林锦滨;唐艳武;;基于有限回溯符号执行的软件疑似缺陷的自动验证[J];清华大学学报(自然科学版);2009年S2期
10 梁娟娟;刘久富;朱丹丹;陈柯;;基于符号执行的软件静态测试研究[J];计算机技术与发展;2013年06期
11 钟金鑫;魏更宇;安靖;杨义先;;恶意代码的符号执行树分析方法[J];重庆大学学报;2012年02期
12 曹琰;欧阳永基;魏强;王清贤;;基于混合输入的环境交互问题研究[J];计算机应用研究;2013年11期
13 牛伟纳;丁雪峰;刘智;张小松;;基于符号执行的二进制代码漏洞发现[J];计算机科学;2013年10期
14 范彧;;基于符号执行和数据挖掘的路径可达性检测研究[J];计算机与现代化;2013年03期
15 易晓东;杨学军;;一种C程序断言的全自动静态验证方法[J];计算机科学;2006年09期
16 崔宝江;国鹏飞;王建新;;基于符号执行与实际执行的二进制代码执行路径分析[J];清华大学学报(自然科学版);2009年S2期
17 赵跃华;阚俊杰;;基于符号执行的测试数据生成方法的研究与设计[J];计算机应用与软件;2014年02期
18 代子营;毛晓光;马晓东;王瑞;;基于抽象符号表的内存模型[J];计算机工程与科学;2011年06期
19 邵巳航;苏亭;顾斌;王政;杨孟飞;;基于过程间动态符号执行的C语言测试框架[J];计算机工程与设计;2014年08期
20 陆萍萍;李慧;穆文思;韩青;;基于混合符号执行的Fuzzing测试技术[J];计算机应用研究;2014年07期
中国重要会议论文全文数据库 前3条
1 林锦滨;张晓菲;刘晖;;符号执行技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年
2 范海虹;;俄汉姓名称呼对比[A];外语语言教学研究——黑龙江省外国语学会第十一次学术年会论文集[C];1997年
3 刘峻宇;李强;余祥;何海洋;;基于符号执行的指挥信息系统软件缺陷检测技术[A];2014第二届中国指挥控制大会论文集(上)[C];2014年
中国博士学位论文全文数据库 前6条
1 张羽丰;符号执行可扩展性及可行性关键技术研究[D];国防科学技术大学;2013年
2 范文庆;分段符号执行模型及其环境交互问题研究[D];北京邮电大学;2010年
3 安靖;动态符号执行关键技术研究[D];北京邮电大学;2014年
4 曹琰;面向软件脆弱性分析的并行符号执行技术研究[D];解放军信息工程大学;2013年
5 陈厅;动态程序分析技术在软件安全领域的研究[D];电子科技大学;2013年
6 邢学智;基于TTCN-3语言的测试理论与技术研究[D];中国科学技术大学;2010年
中国硕士学位论文全文数据库 前10条
1 吴情彪;基于符号执行的软件污点分析研究[D];武汉邮电科学研究院;2016年
2 陈冰;符号执行技术研究与改进[D];南京大学;2014年
3 李景曦;基于控制流分析的模糊测试技术研究[D];北京理工大学;2016年
4 鲍铁匀;符号执行制导技术及其应用研究[D];南京大学;2016年
5 蒋思远;基于动态符号执行的测试工具设计与实现[D];华东师范大学;2012年
6 闫晓伟;基于符号执行的软件脆弱性测试技术[D];电子科技大学;2012年
7 吉小丽;动态符号执行的性能优化[D];电子科技大学;2013年
8 邵巳航;基于过程间动态符号执行的自动测试工具设计与实现[D];华东师范大学;2014年
9 陈泓旭;基于选择性符号执行的补丁验证[D];上海交通大学;2014年
10 颜婷;分段式分析方法在动态符号执行中的应用[D];华东师范大学;2015年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978