Win32下缓冲区溢出漏洞利用技术的分析和改进

Win32下缓冲区溢出漏洞利用技术的分析和改进

论文摘要

微软公司新推出的Windows Vista操作系统在安全性方面做出了多项重大地改进。曾普遍适用于各种操作系统的缓冲区溢出漏洞攻击技术在Windows Vista以及.NET编译器的安全机制下被很好地遏制。因此,Win32平台新的缓冲区漏洞的利用技术成了近期系统安全研究的重点。微软公司针对传统的缓冲区漏洞利用技术提出了多种防护方法,有效地防止了EIP寄存器中的地址被恶意程序改写。经过对Windows Vista操作系统安全性的分析,发现缓冲区安全检查(GS)、安全的结构化异常处理(SafeSEH)和地址空间随机化分布(ASLR)是应用程序层最关键的三种防护技术。GS和SafeSEH的思想类似,在程序数据段中创建一个可信副本,当函数即将返回或者有异常发生时,对栈中数据进行完整性检查,如果检查失败,则主动终止程序以避免不正常跳转地产生;ASLR技术是对函数的入口地址进行随机化处理,降低了不正常跳转成功的可能性。改进后的缓冲区漏洞利用技术针对以上提到的三种技术,提出了在程序进行GS技术完整性检查之前就完成跳转,使GS保护失效;针对函数地址的随机生成,提出了一种Shellcode的API动态定位方法;在异常处理发生时修改函数指针指向程序栈帧外的处理地址,是绕开SafeSEH保护的一种可能性。通过试验对上述改进方法的验证,改进后的缓冲区漏洞利用技术可以有效的避开了Windows的防护机制,修改了函数的运行流程。通过对由.NET 2005编译器编译处理的程序在不同版本的Windows下测试,改进后的缓冲区溢出利用技术可以在多种版本的Windows操作系统下实现。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题背景
  • 1.2 漏洞利用技术的新挑战
  • 1.3 缓冲区溢出的主要关键技术
  • 1.4 本文的组织结构
  • 2 在 Win32 平台下的传统安全漏洞分析
  • 2.1 Shellcode 技术
  • 2.2 基于堆栈的缓冲区溢出技术
  • 2.3 基于堆的缓冲区溢出技术
  • 2.4 基于SEH 技术的漏洞利用
  • 2.5 本章小节
  • 3 Win32 平台下 Windows Vista 堆栈保护机制
  • 3.1 安全架构综述
  • 3.2 SafeSEH 技术深入研究
  • 3.3 SafeSEH 技术的识别
  • 3.4 SafeSEH 技术的盲点
  • 3.5 Windows Vista 中的 GS 技术研究
  • 3.6 Windows Vista 中 ASLR 技术的分析
  • 3.7 本章小结
  • 4 绕过 Windows Vista 的内存保护机制
  • 4.1 避开GS 的保护
  • 4.2 针对ASLR 的动态寻址技术
  • 4.3 漏洞攻击实例
  • 4.4 本章小结
  • 结束语
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  

    Win32下缓冲区溢出漏洞利用技术的分析和改进
    下载Doc文档

    猜你喜欢