基于程序行为建模的缓冲区溢出检测和定位研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:spredsheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着以计算机科学技术和通讯技术为代表的信息科学技术的广泛而深入的应用,人类社会已经进入了“网络时代”,网络互连和资源共享在方便了人们的工作和生活的同时也造成了各种安全隐患。各种利用软件漏洞的恶意攻击手段层出不穷。每年,由于软件漏洞造成的世界范围内的安全事件不计其数,使人们的日常工作和生活遭受巨大影响。   通过收集的各种统计信息,包括诸如CERT(Coodinatoin Center)这样的安全问题研究机构发布的安全分析报告可以发现,目前各式各样的攻击仍频频地发生,甚至有不断增加的趋势。而在这些众多威胁软件安全的攻击方式中,缓冲区溢出这种攻击方式一直占了较大的比重。同时,在目前很多的攻击报告中显示,有很大部分的攻击都是直接或间接地通过利用软件中的缓冲区溢出漏洞来实施的,比如很多的整型溢出攻击都是借助缓冲区溢出间接地实现攻击目的的。   鉴于此,为消除缓冲区溢出对软件安全带来的威胁,国内外的研究人员在缓冲区溢出的防范做了大量的工作,也取得了很多的研究成果。然而,由于缓冲区溢出漏洞广泛地存在于目前已有的软件中,而且其攻击方式多种多样,所以它的彻底防范十分困难。就目前已有的方法而言,它们都有着各自的缺陷,没有一种可以完美地解决缓冲区溢出的问题,这致使这种攻击仍然不断地出现。在我们为增强软件安全而进行的研究工作中,我们希望能够找到一种更好的方法能够检测和定位缓冲区溢出攻击,从而阻止攻击对系统的不良影响和帮助程序员修复漏洞。   对缓冲区溢出攻击过程进行了分析和抽象,试图从攻击过程的各个关键步骤入手解决缓冲区溢出攻击问题。发现,缓冲区溢出攻击的一个关键步骤是攻击者利用外部输入数据打破程序内部合法的数据依赖关系非法篡改内存空间从而实现攻击者的目的。基于这个事实,设计思想是,首先通过静态程序分析为程序的数据流建立模型,然后通过插入代码在运行时检查程序运行过程中的实际数据流是否与通过静态分析建立的数据流模型一致。在考虑安全问题的情况下,因为攻击者为了成功地完成攻击,需要通过提供外部输入影响程序行为从而达到攻击者的目的,所以只对和外部输入有关的数据流建立模型并检测,从而希望能较大的改善系统效率。又鉴于缓冲区溢出的根本原因是由于C语言中指针和数组类型引起的类型不安全,本文提出的方法使用了针对指针和数组类型的边界检查机制。最后,因为思路是在攻击者利用外部输入破坏内存空间时检查,所以可以很好的阻止攻击者对程序的影响和方便地定位漏洞位置。   基于GCC编译器实现了一个原型系统。初步实验表明,检测方法具有较好的防范效果和较低的时空开销。
其他文献
学位
随着互联网的蓬勃发展,网上信息资源呈几何级数的速度增长。搜索引擎的出现帮助广大网民迅速定位到自己想要的信息,节省了用户在漫无边际的网络中查找信息的时间,但是单个搜
生物信息学是一门综合运用数学、计算机科学各种工具和方法,来阐明和理解生命科学领域大量数据所包含的生物学意义的学科。中国科学院微生物研究所网络信息中心多年来一直开展
信息是这个时代的主题,数字化的信息以其存储和处理等优势,越来越受到人们的青睐,数字图像在日常生活中更是随处可见。随着数码相机、扫描仪等设备越来越先进和廉价,以及其相关的
目前,多Agent系统中的信任模型研究主要包括基于证据(即主观信任)及基于凭证(即客观信任)两个方面。基于证据的信任模型充分考虑了信任的主观性、不确定性和动态性。它是对交
本文源自国家高技术研究发展计划(863计划)专题课题(NO:2007AA12Z156,高空间分辨率影像目标自动识别)。   随着遥感平台及计算机技术的迅猛发展,高分辨率遥感影像的应用领
随着铁路建设的不断发展,铁路轨道安全问题越来越被人们重视,对铁路轨道数据的采集分析也越来越重要。本课题以铁路轨道数据采集系统的研制为主要内容,基于USB与多线程两种关
Web服务为多个自治域之间的分布式工作提供了通用平台。基于Web服务的分布式环境由于集成多应用环境工作方式对于Web服务的分配以及访问控制的安全,尤其是授权访问有特殊的需
学位
学位