动态符号执行的性能优化

被引量 : 15次 | 上传用户:wangleisxh1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机网络的普及使人类的生活发生了翻天覆地的变化,但随之带来的安全问题也对人们的生活和工作造成了极大的影响。软件漏洞检测技术是软件安全的重要保障,传统的人工静态检测技术早已不能满足人们迫切的需求,而自动化的Fuzzing测试技术由于其自身固有的缺陷,也不能满足现在软件测试精确、全面的检测需求。符号执行技术早在上世纪70年代已被提出以来,并在近年重新崛起,已逐步发展成为一种重要的自动化软件测试手段。动态符号执行能自动生成被测软件所有可执行路径对应的测试用例,不需要人工开销,同时消除了Fuzzing测试的随机性,是现今最具前景的软件漏洞检测技术之一。目前有众多专家在对动态符号执行进行深入的研究,并且开发出的工具在实践中已取得了显著的成绩。但是,动态符号执行技术还存在一些亟待解决的问题,如约束求解、浮点指针计算、路径爆炸等,其中路径爆炸是动态符号执行应用于大中型软件测试的发展瓶颈。受路径爆炸的影响,动态符号执行工具在有效的时间资源内只能完成小部分可行路径的测试,代码覆盖率极低,严重影响其执行性能。而目前针对路径爆炸的解决方案都不能有效的提高代码覆盖率。本课题通过对动态符号执行技术进行深入的研究,从驱动算法入手,针对路径爆炸问题提出一种新的路径选择算法,能够用尽量少的测试用例获取最高的代码覆盖率,以达到提升动态符号执行的执行性能的目的。该算法利用被测程序对应的静态全局超级块支配图来控制符号执行的路径选择,使其每次选择的路径最少能覆盖的基本块最多。全局超级块支配图由被测程序的控制流图和函数调用关系图根据支配关系理论转化而来。此外,为验证算法的有效性,课题实现了一个功能完善的动态符号执行的原型系统DDse(Domination based Dynamic SymbolicExecution)。DDse采用Valgrind作为插桩和漏洞检测工具,采用Stp作为约束条件求解器,并在其框架上实现了包括超级支配图算法在内的六种路径选择算法。最后,在DDse上对Linux平台下的多个开源大中型软件进行测试,通过测试数据对比证明本课题提出的算法有效性。与现有的驱动算法相比,能用更少的时间覆盖更多的基本块,有效的提升动态符号执行的性能。
其他文献
儿童语言的发展具有重要的研究价值,已有研究主要围绕语言习得的发生机制,语言发展的连续性,以及语言内部各要素发生、发展的具体方面等展开。其中对语言习得的探讨不同学派
随着电力系统的发展,电力信息化水平不断提高,电力调度通信系统承载业务呈现多元化发展趋势,传统语音电路无法满足未来发展的需要。建立基于软交换技术的下一代通信系统不仅是国
本文利用学科交叉的研究手段,就服装设计实践中多向设计思维的运用展开研究,重点探讨服装设计中建筑思维的运用。本文分别从建筑的设计意识、廓型、结构和装饰等方面理论结合
随着区域性大电网的不断发展,为避免电磁环网对安全运行的诸多不利影响,降低短路电流,输电线路通常解环或分裂运行。在解环或分列运行方式下发生线路或设备N-1故障容易导致变电
土木工程的施工在建筑工程行业是非常重要的,但是在施工的过程中会由于混凝土的质量、搅拌质量、应力作用和运输中可能出现的问题而导致混凝土之中出现缝隙,而这些缝隙的存在
志愿服务是重要的有效社会动员形式。顺应时代发展需要,发展志愿服务事业,有利于创新社会动员机制,进而推进和创新社会管理。本文社会动员的对象、社会动员的方式、社会动员
<正>一新准则下交易性金融资产和可供出售金融资产界定的比较分析新准则在投资分类上改变了过去按投资期限分类的作法,使用了金融工具的概念,按金融工具的属性进行分类。企业
台湾电影在经历“电影已死”的黑色梦魇之后,2005年起有了回春的迹象,尤其在2006年,《练习曲》刮起了环岛热,使得这股来自太平洋的风温暖了台湾人的心,也吹暖了台湾电影市场
本文讨论了加氢热介作为从煤生产液态产品的路线的重要性。在100~200巴氢压范围内,以极快的加热速率(~1000°K/秒)将烟煤或褐煤热至1000~1100°K,在最佳的蒸汽停留时间下,所得到
糖尿病是复杂疑难的终身性疾病和基因病。从正确估价中医药在糖尿病临床中的作用和地位、中医药治疗糖尿病临床存在问题、提高研究水平和设想,论述了中医药治疗糖尿病具有明显