轻量级缓冲区溢出防护技术研究

轻量级缓冲区溢出防护技术研究

论文摘要

计算机软件的普遍应用带给人们越来越多的便捷,并日益影响人们的日常生活,但计算机软件中存在大量的错误及漏洞,隐藏着巨大的风险。因此,无论是科研机构还是企业,都在努力研究避免软件出现错误和漏洞的方法。对缓冲区溢出的研究,在计算机网络与信息安全领域有着非常重要的理论和实用价值。本文对缓冲区溢出攻击技术进行了深入的研究,并且根据缓冲区溢出攻击的基本原理,提出了一种基于地址空间随机化的溢出防护技术,该方法针对远程缓冲区溢出的基本原理,并根据这个基本原理进行了有效的防护。本文首先阐述了课题的研究背景、意义以及国内外研究现状,研究分析了各种缓冲区溢出攻击技术以及shellcode的编写方法。根据缓冲区溢出利用跳转地址这一原理,提出了基于地址空间随机化的溢出防护技术。地址空间随机化技术是为了防止远程缓冲区溢出攻击对系统核心对象的预计,将系统核心对象和组件在内存中的地址空间进行随机化,使得溢出攻击失效的防御安全技术。根据该方法,利用Windows内核相关技术及设备驱动程序开发技术,进行基于地址空间随机化的缓冲区溢出防护系统的设计及实现,给出了系统总体结构、具体模块的设计流程以及开发环境等。然后,在Metasploit真实的攻击环境及使用复杂的攻击类型对该系统进行测试。实验结果表明,本文提出的方法能够完全的抵御大部分缓冲区溢出攻击,有力地保障了系统。最后,对全文进行了总结并讨论了这种技术存在的技术局限性以及对后续工作的展望。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 本课题研究意义
  • 1.2 缓冲区溢出防御国内外研究现状
  • 1.3 本文的主要工作
  • 1.4 本文的章节安排
  • 第二章 缓冲区溢出攻击技术
  • 2.1 缓冲区溢出攻击技术简介
  • 2.2 普通缓冲区溢出攻击技术
  • 2.2.1 堆栈溢出攻击技术
  • 2.2.2 堆溢出攻击技术
  • 2.2.3 格式化字符串溢出攻击技术
  • 2.2.4 单字节溢出攻击技术
  • 2.3 流程跳转攻击技术
  • 2.3.1 覆盖返回地址
  • 2.3.2 覆盖函数指针
  • 2.4 shellcode的编写技术
  • 2.4.1 shellcode的编写方法
  • 2.4.2 shellcode的一般流程
  • 2.4.3 缓冲区溢出代码的筛选
  • 2.5 本章小结
  • 第三章 地址空间随机化的关键技术
  • 3.1 Windows内核相关技术
  • 3.1.1 Native API
  • 3.1.2 系统服务
  • 3.2 内存管理机制
  • 3.3 设备驱动程序开发技术
  • 3.3.1 使用设备驱动程序的目的
  • 3.3.2 驱动程序的组成
  • 3.3.3 加载卸载驱动程序
  • 3.3.4 重要的数据结构
  • 3.4 本章小结
  • 第四章 基于地址空间随机化的溢出防御系统的设计和实现
  • 4.1 地址空间随机化定义
  • 4.2 总体设计
  • 4.2.1 功能目标
  • 4.2.2 总体结构
  • 4.3 动态链接库地址空间随机化设计实现
  • 4.3.1 一般动态链接库随机化设计实现
  • 4.3.2 特殊动态链接库随机化设计实现
  • 4.4 堆栈地址空间随机化设计实现
  • 4.4.1 主堆栈空间随机化设计实现
  • 4.4.2 辅助堆栈空间随机化设计实现
  • 4.5 堆空间随机化设计实现
  • 4.6 PEB/TEB地址空间随机化设计实现
  • 4.7 环境变量和命令行参数空间随机化设计实现
  • 4.8 虚拟地址描述符空间随机化设计实现
  • 4.9 本章小结
  • 第五章 实验与评估
  • 5.1 溢出实验
  • 5.1.1 功能目标
  • 5.1.2 真实环境攻击测试
  • 5.1.3 复杂攻击测试
  • 5.2 性能评估
  • 5.3 本章小结
  • 第六章 结论
  • 6.1 技术存在的局限性
  • 6.2 后续展望
  • 致谢
  • 参考文献
  • 攻硕期间取得的研究成果
  • 相关论文文献

    • [1].缓冲区溢出攻击研究[J]. 舰船电子工程 2019(04)
    • [2].浅析缓冲区溢出攻击原理及防御[J]. 科技致富向导 2014(27)
    • [3].缓冲区溢出攻击原理分析与防范方法研究[J]. 哈尔滨师范大学自然科学学报 2013(06)
    • [4].基于双栈的缓冲区溢出攻击的防御[J]. 同济大学学报(自然科学版) 2012(03)
    • [5].面向网络对抗的缓冲区溢出攻击描述语言研究[J]. 计算机应用 2009(10)
    • [6].关于缓冲区溢出攻击的防御研究[J]. 软件导刊 2009(11)
    • [7].一种缓冲区溢出攻击描述语言的研究与设计[J]. 电脑知识与技术 2008(36)
    • [8].一种缓冲区溢出攻击通用模型研究[J]. 微计算机信息 2008(03)
    • [9].程序缓冲区溢出攻击的攻击树建模[J]. 科技信息(科学教研) 2008(20)
    • [10].缓冲区溢出攻击与防范[J]. 科技广场 2008(05)
    • [11].浅谈职业学校网络管理中缓冲区溢出攻击防范[J]. 中国体卫艺教育 2008(04)
    • [12].缓冲区溢出攻击及防范策略[J]. 四川文理学院学报 2014(02)
    • [13].针对非控制数据的缓冲区溢出保护程序[J]. 计算机技术与发展 2011(12)
    • [14].阻止缓冲区溢出攻击研究[J]. 计算机安全 2010(07)
    • [15].远程缓冲区溢出攻击及防护[J]. 重庆理工大学学报(自然科学版) 2010(11)
    • [16].缓冲区溢出攻击的工作原理及防范策略[J]. 计算机安全 2008(03)
    • [17].C语言源程序的缓冲区溢出漏洞分析及解决方案[J]. 沈阳化工学院学报 2008(03)
    • [18].一种缓冲区溢出攻击的实时检测方法[J]. 计算机工程 2011(10)
    • [19].缓冲区溢出攻击原理和现有检测技术[J]. 科技信息 2010(23)
    • [20].缓冲区溢出攻击的自动化检测方法[J]. 计算机研究与发展 2012(S2)
    • [21].C库中易受缓冲区溢出攻击的脆弱函数分析[J]. 微电子学与计算机 2011(02)
    • [22].缓冲区溢出攻击分析及其防范[J]. 计算机安全 2009(04)
    • [23].防御缓冲区溢出攻击的数据随机化方法[J]. 计算机科学 2011(01)
    • [24].栈缓冲区溢出攻击的研究与实现[J]. 辽宁工业大学学报(自然科学版) 2013(05)
    • [25].缓冲区溢出类黑客攻击与防御措施研究[J]. 信息网络安全 2010(04)
    • [26].缓冲区溢出利用研究[J]. 电脑知识与技术 2008(19)
    • [27].缓冲区溢出的攻击的分析和设计[J]. 现代计算机(专业版) 2009(09)
    • [28].基于缓冲区溢出攻击的shellcode编码技术研究[J]. 电子世界 2018(16)
    • [29].堆溢出分析及其防御策略[J]. 电脑知识与技术 2010(04)
    • [30].Vista的抵御缓冲区溢出攻击技术研究[J]. 计算机应用研究 2010(05)

    标签:;  ;  ;  

    轻量级缓冲区溢出防护技术研究
    下载Doc文档

    猜你喜欢