基于动态逆向分析的软件漏洞分析方法研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:hothook
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件漏洞是软件安全性问题的重要表现。随着系统和软件的复杂度提高和应用场景的扩展,软件漏洞呈现出数量多、影响广、危害大的趋势。针对软件漏洞的研究一直是工业界和学术界共同关注的热点,围绕软件漏洞的发现、分析和防御,安全人员不断提出新的方法、技术和理论,以提高软件的安全性。同时,攻击者也在不断发展漏洞的发现与利用技术。在漏洞的“攻防拉锯战”中,更及时、高效的发现和分析漏洞是把握主动权的关键。  现实软件漏洞工作中,大量的目标软件是闭源商用软件,在缺少源代码的背景下,逆向分析方法成为软件漏洞研究的重要基础。动态逆向分析以程序的二进制代码为分析对象,通过目标程序的动态运行,逆向恢复高级语义,并结合程序执行过程中的内存状态、程序行为等动态信息,更准确的分析软件的安全性。  论文围绕动态逆向分析方法应用于软件漏洞分析的场景展开研究,从关键函数逆向、软件模糊测试、动态漏洞挖掘和漏洞威胁性分析四个方面入手进行了深入分析。首先通过软件动态逆向分析,解决二进制代码分析时关键函数语义缺失的问题,然后分别利用模糊测试和动态分析方法对软件漏洞进行挖掘,最后提出了一种面向利用的漏洞威胁性分析方法。论文的主要贡献如下:  (1)提出了一种基于动态特征的关键函数逆向方法。对软件的代码结构、函数等语义信息进行准确分析是进一步开展漏洞挖掘与分析工作的基础,但软件自身的复杂性和各种自定义函数库的应用,使得定位和分析关键函数成为软件逆向分析中的关键挑战之一。本文通过分析程序的二进制执行记录中的关键函数的表现形式,总结了这些函数的动态代码特征,提出了在程序的执行记录中寻找动态特征的关键函数离线识别方法。本文基于QEMU硬件模拟器实现了高效的二进制执行记录提取功能,设计并实现了关键函数的识别系统,并完成了对7款应用软件的逆向分析过程,提升了软件逆向分析能力。  (2)提出了一种基于硬件辅助的模糊测试方法。结合程序动态执行信息优化模糊测试的测试用例生成,是提升模糊测试能力和软件漏洞挖掘能力的重要思路,但如何高效的提取软件运行过程中信息并加以利用是有待解决的关键难题。本方法利用Intel CPU的硬件记录功能Process Tracer,提出了一套基于硬件辅助的模糊测试方法,实现了具有通用性的高效反馈方案,对原有的模糊测试工具进行增强。该方法应用于实际程序的漏洞挖掘,发现了Apple QuickTime软件的未知漏洞。  (3)提出了一种基于主动构造的堆溢出漏洞挖掘方法。堆溢出漏洞是目前威胁最大的软件漏洞类型之一,其内存动态变化的特点给软件漏洞分析造成了困难。本文给出了堆溢出漏洞的关系模型,指出堆溢出发生的根本原因在于堆分配和访问的不一致,而堆溢出漏洞的触发需要外部输入能够影响某一方面的堆操作。根据该模型,在样本的动态执行记录提取堆操作的空间属性和可控属性,分析堆操作之间的关系,从而发现潜在的堆溢出可能,并通过主动构造溢出条件的方法验证溢出漏洞的存在。该方案应用于实际程序的漏洞挖掘,发现了17款常用软件中的47个未知漏洞,并和现有的模糊测试方法进行了对比,体现了该漏洞挖掘方法更具针对性和主动性。  (4)提出了一种面向利用的漏洞威胁性分析方法。软件漏洞的可利用性直接体现了其危害程度,但对崩溃样本的可利用性分析仍然依赖人工完成,提高分析过程的自动化水平或实现漏洞的自动化利用可以有效提高漏洞的危害评估能力。本文面向漏洞利用总结了漏洞触发过程和利用过程的关键要素,提出了利用关键要素刻画攻击者能力和漏洞威胁性的方法,针对内存破坏漏洞提出了基于内存修复的软件路径触发、利用要素提取、利用路径构造等方法。该分析系统在对实际软件漏洞的分析中展示了分析的有效性,和现有工具!exploitable相比,该方法在分析的能力、分析的准确性等方面具有明显优势。
其他文献
近年来,随着Internet的普及与多媒体技术的迅猛发展,人们面临着爆炸式增长的视频信息。在这些海量视频之中存在着的大量相似视频,一方面造成了多媒体数据库的冗余,要求更加巨
学位
本课题重点研究基于径向基函数(RBF)神经网络的动态流量软测量建模方法及实用化技术。针对液压伺服系统中对动态流量软测量模型实时性和精确性的要求,对RBF神经网络建模算法
随着信息技术的发展,三维GIS在地质、矿山、数字城市等各个领域的应用越来越广泛,也带来了一场信息化的变革,尤其是改变了长久以来人们对于各地质对象的表达方式。   空间实
学位
随着计算机网络、数据库、多媒体等技术的飞速发展和日益普及,越来越多的应用系统产生了海量的流式数据。这些流式数据中包含着大量的信息和知识,因此对基于流式数据的联机多维
21世纪随着信息时代的飞速发展,带来的变化也日新月异,随之而来将是愈发激烈的竞争。谋生存,求发展,将是每个企业必须关注的长久大计。一方面在这个激烈的竞争过程中,技术的更新与
学位
支持向量机基于结构风险最小化,是由Vapnik等人在统计学习理论基础上提出来的。由于SVM具有很好的泛化性能和推广能力,能够较好的解决小样本、高维数、非线性以及大规模的实
随着科学技术及国民经济的发展,各行各业对高精度高稳定性时间同步系统的需求日益增长,在目前作为我国基础行业(通信、电力和交通)的高速发展中更显突出。我国现有的授时手段
学位
光谱仪器和光谱分析技术在国防、生物医学、环境科学等方面有着广泛的应用。本文通过分析光谱仪的一般原理和结构,并依据各种光学原理,成功实现了一种依靠NMOS线阵图像传感器
学位
几年前,我们对“游戏引擎”或"Game Engine"这一词还十分陌生,如今,任何一个游戏开发人员都应该非常了解游戏引擎,甚至迮游戏玩家说出这个词的频率也与日俱增。这种转变除了要归
学位
地质体三维可视化(Three-dimension Geologic Body Visualization)研究作为科学计算化的核心已经成为当今研究的前沿课题之一,为深入了解地下矿体结构提供了有效解决方法。地
学位