针对控制流劫持攻击的软件安全防护技术研究

来源 :北京大学 | 被引量 : 0次 | 上传用户:jayden1986
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机系统安全已经作为国家基本战略纳入了各国的发展规划中。而作为计算机系统智能载体的计算机软件,是攻击者入侵计算机系统的最重要途径之一,它的安全性在网络空间(Cyberspace)的攻防博弈中扮演着日益重要的角色。  针对软件的攻击中,控制流劫持攻击是最常见的一种。该类型攻击发生时,攻击者通过构造特定攻击载体,触发并利用目标软件中的具有内存读写能力的漏洞,篡改程序中的控制数据,并绕过现有安全控制机制,进而劫持程序控制流并执行恶意代码,最终实现入侵目标计算机系统、窃取机密或者破坏系统的目的。  控制流劫持攻击的流行引起了安全研究人员的极大关注,相关学术界和业界研究人员相继提出了众多的防御方案,如现阶段被主流操作系统采用的地址空间布局随机化(ASLR)和数据执行保护(DEP)等。这些安全防护方案能够极大地提升系统的安全性,阻止了大部分控制流劫持攻击的发生。然而,现阶段攻击者仍然可以通过利用一些漏洞(如内存泄漏),采用一些高级攻击技术(如返回到库函数return-to-libc和面向返回编程ROP等技术)绕过这些防护,并发起控制流劫持攻击。  本文通过对控制流劫持攻击的工作流程进行剖析,指出了控制流劫持攻击的关键要素包括:可供利用的内存破坏漏洞、可被篡改的控制数据、以及可被绕过的安全控制机制。由此,本文对控制流劫持攻击展开了针对性的防御技术研究,即:内存破坏漏洞的消除技术研究,控制数据的完整性保护技术研究,以及安全控制机制增强及实用化技术研究。  本文提出并实现了一个系统化的防护方案,能够有效消减可被利用的整数溢出导致缓冲区溢出(简称IO2BO)内存漏洞,可以有效保护函数指针这类控制数据的完整性,同时提出了一种新的实用化的控制流完整性实现方案并能够极大增强现有的安全控制机制。该系统化防护方案在关注实用性的同时,能够对软件提供高强度的安全防护,可以有效防御控制流劫持攻击,包括现阶段最常用的高级攻击技术return-to-libc和ROP等。具体而言,本文主要贡献如下:  1.提出了基于类型理论的自动化消减IO2BO漏洞的方法。本文指出了整数溢出漏洞自动化消除和手工修补的挑战性,并根据IO2BO漏洞的特征构建了一个新的类型系统,通过在编译阶段的类型推演和数据流分析挖掘源代码中潜在的IO2BO漏洞,进而植入安全检查消减运行时IO2BO漏洞。该方法能够不依赖于开发人员的安全意识和编码能力,对软件自动化地进行安全加固,极大地减轻了开发人员的负担并提高了程序的安全性。本文基于LLVM编译器框架实现了该方案的一个原型IntPatch,与其他防御方法相比,它的性能损失、误报率以及漏报率都很低。  2.提出了基于编码和二进制改写技术的保护函数指针完整性的方法。本文指出了现有函数指针完整性防护方案的实用化局限性:二进制兼容性、模块化支持、后向兼容性、以及性能损失。本文提出了一个新的函数指针完整性保护方法FPGate,可以克服上述局限性。FPGate采用了一种新的基于重定位表机制的反汇编算法,能够高效且准确地对二进制程序进行反汇编分析及改写。FPGate通过对目标函数指针进行编码改写和完整性验证,并引入跳床代码区有效地解决了后向兼容性问题。与其他函数指针完整性保护方案相比,该方案在安全性、兼容性以及性能上达到了良好的平衡,是一个可实用的函数指针完整性保护方案。  3.提出了基于内存布局和二进制改写技术的实用化控制流完整性实现方案。控制流完整性安全控制机制能够有效抵御所有控制流劫持攻击,包括ROP和return-to-libc攻击,而现有的实现方案的实用性和安全性问题限制了其在实际系统中的部署。本文提出并实现了一种新的控制流完整性实现方案CCFIR,通过引入独立的代码区Springboard,并限制所有的间接跳转指令只能跳转到Springboard中,从而有效阻止攻击者劫持控制流到非法目标,保护程序控制流的完整性。此外,CCFIR对Springboard内部代码进行了更细粒度的区分,确保不同类型的间接跳转指令的跳转目标不同。CCFIR还对敏感函数的使用也进行了限制,并引入了随机化防御,更进一步提高攻击者攻击的难度。实验结果表明,该方案能够提供实用的控制流完整性安全控制机制,能够有效抵御绝大部分控制流劫持攻击,包括ROP和return-to-libc攻击。与现有的Abadi等人提出的控制流完整性实现方案相比,CCFIR具有良好的兼容性和性能,是一个可实用的控制流完整性保护方案。
其他文献
近年来,随着科研项目规模的不断扩大,科研领域产生的数据量急剧膨胀。这预示着科研正在步入大数据时代。大数据科研为当前的科学计算提出了一个新的挑战:处理和分析这些数据需
近年米,以IPTV为代表的视频类业务越来越受到电信运营商的重视,移动终端视频类业务也愈加普及,不断改变人们的生活方式。在这个以用户为中心的时代,用户是否满意是视频业务提
学位
嵌入式技术随着后PC时代的到来得到了迅猛的发展,人才缺口较大。《嵌入式系统》是一门实践性很强的课程,其实验设备更新换代快、投入大,一些高校无力提供足够的实验设备。而
一直以来,如何快速地从空间数据中提取更加丰富和有用的信息,为人们有效地管理和利用空间数据提供信息决策参考是空间分析研究人员的目标。随着全球范围测量精度的不断提高,
因特网的迅猛发展使大规模的数据共享成为了可能,随之而来的还有数据爆炸式增长所导致的信息过载问题。推荐系统便是在这样的情况下应运而生,它的出现使用户潜在感兴趣的信息能
从移动Ad Hoc网络演变而来的无线Mesh网络(Wireless Mesh Network,WMN)是一种多跳的无线网格架构网络。具有大容量、高速率、宽覆盖和快速部署等优势,同时又能很好的融合多种异
随着软件规模的不断增大和日益复杂,软件危机已经变得越来越严重。解决这个问题的最有效的方法是软件复用。近年来RUP(Rational Unified Process软件统一开发过程)已经被广泛
如何构建高质量的软件系统一直以来都是软件工程领域的一个核心问题。尤其是软件系统进入到维护演化阶段,随着系统不断地修改,会不可避免地渐渐变得复杂、难以理解。另一方面,近
传统的地质体内部信息使用二维图形的表达方式,难以全面反映地质对象空间形态,需要进行大量制图来从多角度表达地质信息,并且工程技术人员很难对地质信息进行解释,利用结构分