缓冲区溢出漏洞精准检测技术研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:baihe0415
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在信息技术高速发展的今天,软件已经成为计算机系统的主要使能部件。但同时,软件由于自身存在的漏洞被利用于攻击,造成严重后果的事件也层出不穷。这对软件安全提出了新的挑战,软件安全问题成为一个越来越重要的问题。缓冲区溢出漏洞正是一类常被用于攻击的漏洞,已经成为一类极度危险的软件漏洞。在程序运行时,如果向程序的缓冲区当中写入超过其长度的数据,就会发生缓冲区溢出。这些溢出的数据有可能破坏程序的堆栈,从而导致程序崩溃,甚至是执行攻击者的指令。缓冲区溢出发生的根本原因在于程序员没有对程序中的缓冲区操作进行必要的边界检查。目前检测缓冲区溢出漏洞的方法主要分为两大类:静态分析和动态测试。动态测试的弊端在于非常依赖测试用例,且常常需要额外的执行开销。而静态分析技术则可以在软件部署前自动化发现漏洞,因此被工业界广泛的采用。但是由于它无法获取程序运行时的缓冲区状态,又采取了保守的策略,静态分析技术通常会有大量的误报。这些误报中有一部分是因为未能识别程序员主动采取的保护缓冲区的安全措施而产生。本文针对这类误报,研究精准静态分析与误报识别方法,论文具体工作包括:1.本文提出了缓冲区溢出漏洞模式。通过对C/C++程序缓冲区访问操作以及真实项目的实例研究,本文建立了包含导致溢出的缓冲区操作分布、缓冲区溢出漏洞产生机理、缓冲区溢出人工修复模式等的缓冲区溢出漏洞模式。2.本文提出了一种识别主动安全措施的缓冲区溢出静态分析方法。该方法基于缓冲区溢出漏洞模式,在静态分析过程中,加入了对代码中的预防缓冲区溢出发生的主动安全手段的检测,从而减少了因为未能识别程序员主动安全手段导致的误报,使得检测结果误报更少、更加精准。基于该方法本文开发了工具BoChecker,并在100个真实案例上进行了实验。实验结果显示,其漏报率45.00%和误报率29.1%都要低于对比的其他工具。3.本文提出了一种基于机器学习的静态分析警报处理方法。该方法利用缓冲区溢出漏洞模式和静态分析警报抽取特征,利用随机森林来构建模型。生成的模型可对静态分析警报是否为误报作出预测。基于该方法本文开发了工具BoWFilter,并在545个Checkmarx的警报上进行了实验。实验结果显示,对于误报和非误报该工具都有非常高的预测准确率,分别达到了92.9%和 88.5%。
其他文献
随着计算机技术和网络通信技术的高速发展,分布式并发系统已成为当前计算机技术的主流方向。相对于传统的串行计算机系统,分布式并发系统非常复杂,其开发过程不仅难度大,效率低,周
曲线曲面造型是计算机辅助几何设计(CAGD)与计算机图形学(CG)的重要内容。由Coons、Bezier等大师于六十年代奠定理论基础。经过几十多年发展,现在它已经形成了以Bezier方法、B
随着计算机和网络技术的飞速发展和普及,信息系统安全成为当前研究的热点课题。而数据库作为信息的载体,其安全自然成为信息安全研究领域一个非常重要的方面。数据库的安全保护
由于目前主流厂商提供的服务集成的J2EE平台昂贵的成本,以及EJB机制的侵入性,强制的编程规范,很多企业级应用软件的开发需要更轻量级的容器,更少的代码侵入性,更高的组件重用性,更
为了解决利用增值税专用发票偷税骗税的问题,我国开始研制推广增值税防伪税控系统。防伪税控系统集计算机、微电子、光电技术以及数据加密等技术为一体。取消了手工开票的方法
在当今社会“互联网+”的新常态下,网络和传统产业的融合日益紧密,计算技术的发展也在快速改变人们曾习以为常的生活和生产形态。健康和医疗领域就是体现这一改变的典型应用。
新一代语义Web的目标是通过领域本体提供一个共享的和共同的领域理论实现智能的人机交互,计算机之间的互操作和计算机系统中的知识重用。语义Web的发展和标准本体描述语言(OWL
随着Web的迅速发展,Web上的信息越来越丰富.Web使用方便、信息丰富,人们越来越多的使用Web来寻找需要的信息.为了更好的使用Web上的信息,人们也不断的追求能够有效组织和利用
本文对如何开发一套适用于广大普通用户、具有搞性价比的以太话机的问题展开研究,深入分析了SIP协议的基本框架和协议过程,根据嵌入式系统资源有限和无操作系统支持的特点,设计
统计学习理论是一种专门研究有限样本情况下机器学习规律的理论。在此理论框架下产生的支持向量机(SVM)方法,使抽象的统计学习理论转化为实际的学习方法。然而,由于SVM尚处于发