论文部分内容阅读
Windows 7是微软基于Vista系统开发的最新版本的操作系统,得到越来越广泛的应用。针对这一操作系统,传统的网络攻击方法已经不再奏效,如何突破其安全机制已经成为目前研究的热点问题。相关资料表明,Windows 7的安全性主要是建立在它的内存保护机制、权限控制机制和内核防护机制的基础之上的,这三种机制给网络攻击技术的发展带来了严峻的挑战。本文依托某部预研基金项目“新一代网络环境下**技术及关键问题研究”,通过对Windows 7的安全机制及其可利用漏洞进行逆向分析,寻找可以对其进行突破的方法。本文的主要工作包括:1.基于现有的逆向分析工具,设计了对Windows 7安全机制进行分析的方法。该方法以动态跟踪调试为基础,结合静态反汇编分析的优点对Windows 7的安全机制进行分析。结果表明,该方法可以实现获取安全机制关键部分流程图及数据结构的目标。2.针对内存保护机制,给出一种基于代码重用的突破方法。该方法将返回导向编程技术引入到传统的代码重用攻击方法中,利用漏洞程序中未对地址空间进行随机化的模块来获取关键函数的地址,并采用trie结构对返回导向编程技术中的内存指令解析方法进行改进。实验表明,在利用第三方软件漏洞的前提下,该方法可以实现对Windows 7系统中数据执行保护和地址空间随机化分布联合防护机制的突破。3.针对权限控制机制,给出一种基于漏洞利用的突破方法。该方法利用Windows 7系统中高权限级别进程创建的子进程也具有高权限级别的特点,通过已知漏洞MS11-012和Windows 7下用户账户控制机制的自动提升特性两种途径来实现权限的提升。实验证明,该方法可以实现在Windows 7系统中提升权限而不弹出提升提示。4.针对内核完整性验证机制,给出一种基于逆向分析的突破方法。该方法在对系统启动过程中的bootmgr和winload.exe两个文件进行详细分析的基础上,通过修改这两个文件来绕过内核完整性验证机制实现函数加载过程中的关键函数。测试表明,在获取提升的权限的前提下,对两个启动文件进行替换后系统仍然能够正常启动而没有发现异常,说明可以对Windows 7的部分完整性验证机制实现突破。5.在Windows 7系统中设计并实现了一种基于缓冲区溢出的攻击程序模型,并在实际的Windows 7环境下进行了测试,测试结果表明,该程序可以实现对Windows 7系统部分安全机制的突破。