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

动态程序分析技术在软件安全领域的研究

陈厅  
【摘要】:为了应对日益增加的恶意软件和网络攻击,软件的安全性得到了越来越多的重视。本文主要针对软件安全领域中的两个研究方向:软件测试用例自动化生成和软件漏洞自动化发掘进行研究。涉及到的关键技术包括动态符号执行和动态污点分析,这两者都属于动态程序分析技术范畴。本文的研究内容分为5个部分。 第一,对动态符号执行的背景、研究现状、主要技术难题和解决方案进行了系统的研究,对现有12款动态符号执行软件进行了对比分析。研究表明,动态符号执行是近10年的研究热点,已取得了显著的进展,但仍然存在多个技术难题阻碍了该技术在实际中的广泛应用,例如:路径爆炸、浮点数运算、非线性运算、符号指针等。本研究内容为后续研究提供了理论依据和重要参考。 第二,对软件测试用例自动化生成方法进行研究,核心技术为动态符号执行。实现了针对Windows可执行文件的动态符号执行软件SMAFE。SMAFE不需要被分析软件的源码,且具有4个创新点。首先,SMAFE直接符号执行x86指令,而不依赖于任何中间表达形式,提高了分析效率;然后,提出了约束语言,提高了软件本身的可移植性;随后,提出了启发式方法,解决了重叠符号问题,提高了符号执行的准确性;最后,设计了轻量级的约束生成方法,减少了软件运行开销。实验显示,SMAFE能够在合理的时空开销内达到理想的代码覆盖率。 第三,在上一个研究内容的基础上,对软件漏洞自动化发掘方法进行了研究,实现了针对Windows可执行文件的漏洞自动化发掘软件SEVE。SEVE基于SMAFE进行开发,因此其核心技术也是动态符号执行。针对漏洞发掘,SEVE提出了4个创新点。其一,SEVE提出了主动式漏洞发掘,向路径条件中主动注入漏洞约束,从而能够发掘出更多的软件漏洞;其二,SEVE是一个漏洞发掘平台,可以通过开发插件的方式,增强其漏洞发掘能力;其三,SEVE实现了函数模型,提高了符号执行的准确性,同时不会增加运行时开销;其四,SEVE提出了优化的路径搜索算法,提高了漏洞发掘的效率。 第四,继续对软件漏洞自动化发掘方向进行研究,所用到的核心技术是动态污点分析。从本质上讲,动态污点分析是一种单路径分析技术,所以能分析的软件规模比动态符号执行的更大。设计并实现了一款漏洞自动化发掘软件TVM,具有4个创新点。其一,设计了高效的污点存储数据结构,提高了污点分析的效率;其二,设计了快速的污点传播跟踪方法,这是一种完全且统一的方法,提高了污点分析的效率且降低了TVM的开发难度;其三,TVM能够跟踪由污点指针导致的污点传播,从而提高了污点分析的准确性,降低了漏报率;其四,提出了高级别的漏洞检测规则,因此TVM能够发掘内存函数漏洞。 本文最后一个研究内容关于动态符号执行的发展,提出了动态符号执行的5点研究方向。首先,需要对动态符号执行的路径爆炸问题进行深入研究,因为目前路径爆炸是阻碍动态符号执行广泛应用的最主要难题。然后,求解器的研究也是未来的一个研究热点,由于动态符号执行依赖于求解器,所以求解器的能力提升对动态符号执行至关重要。此外,动态符号执行软件的专用化在未来也应该得到考虑。由于被分析软件千差万别,用户需求也差异很大,因此专用化是一个可行的办法。其四,高效的、易管理的摘要数据库系统需要引入到未来的动态符号执行软件中。摘要是解决路径爆炸的重要方法,且摘要具有良好的可重用性,引入摘要数据库可以极大的提高动态符号执行的效率。最后,动态符号执行的并行化也是一个重要的研究内容,利用已有的并行化基础设施,例如:多核CPU、多核GPU、簇、网格、云计算,对路径探索、约束求解等过程进行并行化,能够极大的提高动态符号执行的效率。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 高仲仪 ,梁霞;符号执行和测试数据辅助生成的实验系统[J];北京航空航天大学学报;1988年04期
2 刘宗田,朱逸芬;符号执行技术在68000C反编译程序中的应用[J];计算机学报;1988年10期
3 洪宇;陈光;于见平;韩柯;;处理符号执行中数组元素混淆的一种新方法[J];计算机应用;2005年S1期
4 史桂红;一种基于对象状态的软件测试方法[J];电脑与信息技术;2005年02期
5 陈亚莎;叶清;廖建华;;基于参数依赖关系检查的测试用例空间约简方法[J];北京工业大学学报;2010年05期
6 杨飏;张焕国;王后珍;;一种C程序内存访问缺陷自动化检测方法研究[J];计算机科学;2010年06期
7 翁子盛;王宝生;林锦滨;;程序符号执行中的数组分析[J];长江大学学报(自然科学版)理工卷;2010年01期
8 卢虹,徐宝文;一种Web应用的状态测试方法[J];计算机工程与应用;2002年02期
9 崔宝江;国鹏飞;王建新;;基于符号执行与实际执行的二进制代码执行路径分析[J];清华大学学报(自然科学版);2009年S2期
10 娄坚波;刘久富;李金奎;王伟;;基于条件值的C/C++预处理测试算法[J];计算机工程;2011年14期
11 林锦滨;蒋凡;;错误模式和程序切片的软件漏洞检测[J];信息安全与通信保密;2009年11期
12 林锦滨;蒋凡;;执行路径建模进程化代码分析[J];计算机工程;2010年09期
13 陈福安,刘宗田,李力;8086 C语言反编译系统的设计及实现技术[J];小型微型计算机系统;1993年04期
14 林梦香;陈胤立;陈睿;周刚;;基于懒替换的C符号执行[J];北京航空航天大学学报;2009年06期
15 代子营;毛晓光;马晓东;王瑞;;基于抽象符号表的内存模型[J];计算机工程与科学;2011年06期
16 时志伟;李小军;;基于信息流分析的源代码漏洞挖掘技术研究[J];信息网络安全;2011年11期
17 饶芳蕾,温晓慧;银行业务应用系统2000年测试[J];中国金融电脑;1998年09期
18 何新华,张威,赵宇,卢庆龄;软件可靠性数学仿真测试平台设计与研制[J];装甲兵工程学院学报;1998年01期
19 刘磊,刘英,张晓东;面向Java操作的可交换性检测技术[J];吉林大学自然科学学报;2000年01期
20 冯柳平,武小年,周德新;软件测试技术在医保管理系统中的应用[J];桂林电子工业学院学报;2001年01期
中国重要会议论文全文数据库 前10条
1 万琳;张威;马雪雁;陈曼青;;基于路径的测试用例自动生成技术[A];第十届全国容错计算学术会议论文集[C];2003年
2 林锦滨;张晓菲;刘晖;;符号执行技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年
3 吉大纯;陈蕾;梁静;邵四海;;基于PG框架的软件结构测试用例自动生成研究[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
4 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
5 张成才;梁永会;李红伟;;河南航道基础地理信息系统测试方案研究与设计[A];《测绘通报》测绘科学前沿技术论坛摘要集[C];2008年
6 戴骏炜;;软件自动化测试工具的引入[A];冶金企业自动化、信息化与创新——全国冶金自动化信息网建网30周年论文集[C];2007年
7 牛建义;杨正球;;基于HtmlParser的Web测试自动化的设计[A];2007北京地区高校研究生学术交流会通信与信息技术会议论文集(上册)[C];2008年
8 王娜;孙敏;;软件测试方法研究[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
9 田丽芳;刘栓;;软件测试的学习方法探究[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
10 张二梅;刘辰;杨正球;;基于HTMLParser自动生成测试用例的研究[A];2007北京地区高校研究生学术交流会通信与信息技术会议论文集(上册)[C];2008年
中国博士学位论文全文数据库 前10条
1 陈厅;动态程序分析技术在软件安全领域的研究[D];电子科技大学;2013年
2 曹琰;面向软件脆弱性分析的并行符号执行技术研究[D];解放军信息工程大学;2013年
3 范文庆;分段符号执行模型及其环境交互问题研究[D];北京邮电大学;2010年
4 程绍银;需求驱动的软件安全缺陷自动测试生成[D];中国科学技术大学;2009年
5 陈勇;面向嵌入式系统绿色需求的编译技术研究[D];武汉大学;2013年
6 高鹰;代码迷惑及其语义研究[D];中国科学技术大学;2007年
7 王嘉捷;多重循环程序内存访问越界增量检测方法[D];中国科学技术大学;2009年
8 潘丽丽;软件测试用例集简化及其构建方法研究[D];湖南大学;2009年
9 李飞宇;基于内存建模的测试数据自动生成方法研究[D];北京邮电大学;2013年
10 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年
中国硕士学位论文全文数据库 前10条
1 肖戌;基于符号执行的软件脆弱性分析技术研究[D];电子科技大学;2011年
2 倪康奇;基于二进制代码的动态符号执行工具[D];上海交通大学;2011年
3 闫晓伟;基于符号执行的软件脆弱性测试技术[D];电子科技大学;2012年
4 吉小丽;动态符号执行的性能优化[D];电子科技大学;2013年
5 国鹏飞;基于动态符号执行的二进制代码漏洞挖掘系统研究与设计[D];北京邮电大学;2011年
6 王卓;基于符号执行的二进制代码动态污点分析[D];上海交通大学;2011年
7 蒋思远;基于动态符号执行的测试工具设计与实现[D];华东师范大学;2012年
8 余啸;基于动态符号执行的并行化测试数据自动生成[D];华东师范大学;2011年
9 娄坚波;面向宿主的嵌入式软件符号执行技术研究与实现[D];南京航空航天大学;2011年
10 范彧;基于符号执行和数据挖掘的路径可达性检测[D];上海交通大学;2013年
中国重要报纸全文数据库 前10条
1 谢敏 沈雪芳 戴金龙;解决软件测试的近忧和远虑[N];计算机世界;2005年
2 通文;罗德与施瓦茨:HSDPA测试“软硬兼施”[N];通信产业报;2006年
3 刘昶;多媒体移动终端的MMS一致性测试[N];通信产业报;2005年
4 计算机世界实验室 韩勖;拨云见日[N];计算机世界;2008年
5 信息产业部软件与集成电路促进中心 于明唐仕武;驶入测试“快车道”[N];计算机世界;2007年
6 刘昶;WiMAX射频测试期待一致性解决方案[N];中国电子报;2007年
7 罗德与施瓦茨中国有限公司 周云;罗德与施瓦茨领跑HSPA测试[N];通信产业报;2006年
8 武刚;测试是质量的关键[N];中国计算机报;2003年
9 匡红庆 周朝晖;软件项目管理的质量保证[N];人民政协报;2005年
10 王世良 孙靖;加快TD-SCDMA终端产业化进程[N];人民邮电;2006年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978