论文摘要
微软公司新推出的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操作系统下实现。
论文目录
相关论文文献
标签:缓冲区溢出论文; 缓冲区安全检查论文; 安全结构化异常处理论文; 系统函数动态定位论文;