论文部分内容阅读
Rootkit是攻击者在入侵系统后为了保持对系统的超级用户访问权限,创建后门和隐藏攻击痕迹而常采用的一种技术。Rootkit主要有两个功能:隐藏自身和信息窃取。Rootkit可以存在多种操作系统上,由于Windows在世界范围内使用的广泛性,使其成为了Rootkit攻击的重要目标。这种新型攻击方式的出现,给脆弱的因特网带来了新的安全威胁。在Windows Rootkit悄悄地潜入到了目标主机中后,它在隐藏自身和自身攻击行为的前提下,很容易地控制目标主机,窃取其中的秘密信息或是对其进行破坏,而且还可以把它当作“跳板”来进行各种网络攻击。本文通过对Windows Rootkit的工作原理进行分析:其为了实现其隐藏自身和信息窃取而必须对一些系统文件、系统内存和内核数据作出修改,再进一步分析,其一般是在中断描述符表(IDT)、系统服务描述符表(SSDT)等地方设置钩子或者修改某些内核数据结构,修改了很少的一个地方就能让系统执行其代码。本文还分析目前流行的几个Windows Rootkit的检测工具,但这些工具在针对性强的情况下只能检测某些特定的Windows Rootkit,无法检测到一些新型的Windows Rootkit或利用其它技术的Windows Rootkit。必须要用一种更为有效的Windows Rootkit检测机制来应对Windows Rootkit所带来的威胁。本文在分析Windows Rootkit所利用的技术后针对性的设计了一个有效的检测Windows Rootkit的系统。为了防止检测系统被一些有反检测软件功能的恶意代码的损害,此系统通过完整性检测和隐藏自身来保护自己。在检测Windows Rootkit时,此系统从用户空间和内核空间两个层面对Windows Rootkit所有可能修改的地方设置了检测点。在用户空间,Windows Rootkit通过对重要系统文件、代码区和输入地址表进行修改实现其目的,检测时也就相应地检测这些位置;在内核空间,Windows Rootkit可以通过修改中断描述符表、系统服务调度表、驱动函数等地方来实现欺骗系统,让系统执行其非法代码,实现其非法目的。Windows Rootkit为不让系统或者反Rootkit成程序发现其踪迹。还会通过修改系统数据或挂钩内核函数来达到其隐藏进程的目的。在检测系统中就需要针对这些会被Windows Rootkit利用的地方进行检测。最后完成系统的设计方案以及实现方案,对该系统的可行性以及有效性进行验证,分析检测系统的不足,为今后的工作指明方向。