基于动态染色的内存漏洞定位技术

来源 :南京大学 | 被引量 : 0次 | 上传用户:liongliong441
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着电子信息技术和计算机网络的飞速发展,系统安全问题受到越来越多的重视。网络攻击、蠕虫病毒和黑客等名词已经频繁地出现在各种杂志和视频中。由于程序设计语言本身的缺陷以及软件的复杂性,系统的正确性和安全性难以保证,存在各种各样的程序漏洞。其中,最为常见的是与内存篡改相关的程序漏洞,如缓冲区溢出、格式化字符串、堆篡改和整形溢出等。内存漏洞危害巨大,给社会经济带来了难以估量的损失。许多政府和研究机构都对系统安全问题给予了足够的重视。   要彻底地修复有漏洞的程序,最根本的就是在发现程序存在漏洞时,给程序打补丁,消除程序中的漏洞。显然,给程序打补丁就必需要知道程序漏洞的位置,然而目前的很多攻击防范方法都主要关注攻击的检测,而无法自动获得程序漏洞的位置。通常软件开发人员通过手工的代码审计、跟踪、调试等手段进行漏洞定位并修补漏洞。但是,目前的系统的复杂性使得人工定位漏洞效率非常低下,这就迫切需要一种能够自动定位程序漏洞的方法。这也是我们工作的出发点和最终的目标。   本文提出一种针对内存相关漏洞攻击的自动检测和定位的方法。通过动态染色技术检测非法内存访问并且在程序运行过程中记录下与外部输入相关的写指令的地址和目的内存地址。当检测到异常时,根据已经记录的信息回溯定位到非法写内存指令,并对应到源代码中相应的语句。这里,我们会对库函数做特殊的处理,如果非法写内存指令是库函数中的指令,而此条指令的地址对于所有调用该库函数的程序是固定的,所以仅仅定位到这条指令,并不精确。所以,我们的系统通过对库函数调用的识别,可以最终定位到库函数的调用点。对漏洞的精确定位对于修复程序漏洞有着至关重要的作用。   为检测该方法针对内存篡改漏洞攻击错误定位的效果,我们在Linux上,基于Valgrind和Flayer工具实现了原型系统。我们使用常见的含有内存漏洞的程序来测试系统的的有效性。所有测试程序都具有外部输入接口。实验结果证明我们的方法既能够有效地检测到经典的控制流攻击,也能够检测到数据流攻击,而且最终都能够精确地定位到程序漏洞的位置。  
其他文献
恶意代码分析是提取恶意代码特征进而对恶意代码进行检测的基础和前提,因此它是当前信息安全领域所关注的一个重要课题。对于恶意代码分析,当前大多数的反病毒厂商还主要依赖于
草图交互是新一代计算模式环境中自然(非受限)人机交互的研究热点之一。由于手绘草图固有的模糊性特点,如何将非精确手绘草图转化为计算机可处理的精确信息成为草图交互的主
本研究以土壤重金属为研究对象,采用探索性统计和贝叶斯空间统计方法研究中山市土壤重金属污染情况,达到对中山市各镇的重金属污染进行综合分析和评价的目的,并有综合预警的现实
随着普适计算、传感器网络、互联网等领域的蓬勃发展,产生了一种新的数据模型——数据流。数据流中的数据有着持续不断到达、速度快、随时间变化、数据量巨大、无法预测等特点
近年来,日益严峻的公共安全形势有力地推动了智能视频监控技术的发展和应用。人的重现检测作为智能视频监控带有反馈机制的、组合式的分层框架中中间层的重要组成部分,有着深远
中医文化源远流长,荟萃几千年来众多中医学者的辛勤与智慧,积累了大量的中医文献资料和数据。如何应用现代科学技术手段,为中医理论的发展提供支持成为目前亟需解决的重大问
密码技术是信息安全技术的核心,包括密码设计和密码分析两个方面。在密码的设计与分析中,存在着许多复杂的搜索和优化问题。这些问题的提出和解决往往直接关系到密码体制和密码
在集成电路生产过程中,工艺偏差将使得一些芯片不可避免地产生工艺缺陷从而引起功能错误。为了保证产品质量,芯片测试始终占据着无可动摇的重要地位。随着特征尺寸的减小和设计
近年来,Web Services及其相关的SOA(Service—Oriented Architecture,缩写为SOA)技术获得广泛应用,通过集成以Web Services为代表的软什服务来构造面向服务的软件系统(Service—
随着互联网的快速发展,Web数据规模以几何级数增长。大规模Web主题分析,是面向海量Web数据,通过主题发现、综合摘要等算法,提取关键主题词和摘要段落,对Web大数据进行整体把握的过