基于动态符号执行的代码分析工具的研究

被引量 : 0次 | 上传用户:jiqt001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机科学技术的发展,互联网时代的到来,软件安全问题尤为突显,使得软件的安全性分析提到了前所未有的高度。通过对软件代码进行相关安全性分析,查找出目标程序的潜在漏洞并修复,可以确保程序能够运行在一个较高的安全级别。代码分析技术一般分为两种:静态代码分析、动态代码分析。静态代码分析是指在不运行程序的前提下进行的分析过程,所以分析的误报率一般相对较高。动态代码分析在程序的执行过程中,根据当前程序的状态判断是否触发了一个潜在漏洞,可以降低分析的误报率。然而程序的一次动态执行,不能完全反应程序当中所有可能的状态行为。符号执行可以通过原始输入迭代产生新输入的方法,生成程序的多个输入,从而能够驱动程序执行不同的路径,在一定程序上提高了代码分析覆盖率。本文以二进制可执行程序为分析对象,提出了基于动态符号执行的二进制代码分析方法。对二进制程序执行过程的运行时信息进行动态监测,发现程序中可能存在的漏洞,由于获得的信息是程序真实的状态行为,可有效地降低分析的误报率。采用动态符号执行,在程序的执行过程中,记录每次执行的路径约束条件,并根据路径选择算法指导生成新的约束条件,通过约束求解生成新的程序输入,新输入可以驱动程序执行不同的路径,从而提高了程序执行的代码覆盖率。基于上述所提出的代码分析方法,本文设计与实现了一个二进制可执行程序的代码分析工具原型:DSE-BAT。该工具主要由二进制代码分析模块和动态符号执行模块构成。二进制代码分析模块在程序实际运行过程中完成对程序的安全性分析,可以有效地降低分析的误报率;动态符号执行模块则可以生成程序的多个输入,驱动程序执行不同的路径,从而有效地降低了分析的漏报率。为了验证该方法和工具的有效性,本文对DSE-BAT进行了一系列测试:通过功能测试,保证DSE-BAT分析过程的正确性;通过一个缓冲区溢出的漏洞实例,测试DSE-BAT能够发现程序潜在漏洞的能力;通过覆盖率测试,测得DSE-BAT分析的块覆盖率可达80%以上。测试结果表明,本文所研究的方法和工具已达到预期目标。
其他文献
目的研究分析予以急性闭角型青光眼患者心理护理干预对其护理满意度及情绪具有的影响。方法选择于本院就诊的急性闭角型青光眼患者58开展回顾性研究,采用随机数字表法将其分
<正>"工业4.0"是一种在信息技术发展到新阶段产生的新的工业发展模式。从终极目标来看,工业4.0不能为技术而技术,核心在于提高企业、行业乃至国家的整体竞争力。2014年10月初
本文提出了一种组合式石英圆柱壳体振动陀螺结构。将陀螺谐振子的谐振部分与驱动部分分开进行加工,再通过高强度胶将两部分联接为一个整体谐振子。通过这种方法,可以在保证陀
英汉语中都存在只能用于否定结构,受到否定环境限制的表达式,被称为否定极项。英汉两种语言的否定极项属于不同语法范畴,但都具有一定规律性。不同语言中的否定极项都有其各
在电子电器产品研发和质量控制中需要做实验室列项性能测试,许多测试项目需要不同电压、不同频率的交流电压源。例如,交流电机测试中需要不同频率的全范围交流电压源;对于UPS
任何养老都是一定文化背景下的养老,任何养老都体现出一种文化的特色。我国农村传统文化氛围浓厚,农村的养老深受传统文化的影响。传统文化的道德价值观念有利于维持传统的养
路基、路面的检测与质量控制都是技术性与专业性都非常强的工作,并且其贯穿于整个交通工程路基路面施工的全过程。但是近些年被报道出来的交通工程路基路面施工质量失控的问
污水治理是现代城市经济和社会可持续发展迫切需要解决的问题之一,也是当前小城镇基础建设不可或缺的重要组成部分。改革开放30年来,中国经济飞速向前发展,但环境问题突显严
"耍歌堂"在粤北连南世代相传,具有悠久的历史。本文阐述了"耍歌堂"活动的文化渊源、相关程序以及耍歌堂歌的类型,探讨了旋律的调式、节奏以及曲式结构等方面的特征,充分地展
<正> 目前,地方税的改革已纳入议事日程。领导层也多次提出:进一步研究确定城建税的改革方案,将附征在流转税上的城建税改为按销售额计征的独立税种,使其成为地方税体系中的