论文部分内容阅读
利用Rootkit在计算机中隐蔽行动的技术在1986年就出现了,在过去的三年里,Rootkits的数量和复杂性都得到了显著的提高。各种黑客组织之间的技术交流,以及开发隐身式代码的开源软件环境正在推动这种发展趋势。
当前的一些Rootkit检测技术对于检测公开的某一类Rootkit比较有效,如基于特征码的扫描器可以检测出已知公开的Rootkit,RootkitReveal工具可以有效地检测出一些永久存在式Rootkit。PatchFinder可以查找到部分采用了patch处理方式来实现隐藏的Rootkit。各种启发式和跨视图检测工具对于检测某一类使用了特定隐藏技术的Rootkit也有一定的效果。但没有一种检测方法或检测工具可以宣称自己能够检测出所有的Rootkit。对于综合了各种隐藏技术实施深度隐藏的Rootkit更是收效甚微。
本文提出了基于完整性验证的Windows Rootkits检测模型—WRDMBIV模型。在分析Rootkit的攻击性质,攻击样式,对系统几个方面完整性破坏的基础上,从三个不同的角度对完整性进行验证,分别是重要系统文件的完整性,获取重要数据的执行路径的完整性,系统内核的完整性,检测出Windows Rootkit。并通过完整性保护内核代理,对Rootkit的隐性加载方式进行了监控,对一类采用了DKOM using DevicePhysicalMemory技术的新型用户态Rootkit的执行进行了有效拦截。采用检测与预防并举的机制,防止Rootkit进入内核。
WRDMBIV模型分为系统文件完整性保护增强器,获取重要数据结构执行路径完整性分析引擎,内核完整性验证,完整性保护内核代理等几个部分。
系统文件完整性保护增强器防止与系统WFP机制相关的重要文件或注册表项被修改,用文件完整性检查器检测重要的系统文件夹的二进制代码的完整性,预防系统被替换系统文件式Rootkit攻击,对操作系统文件完整性验证机制增加一层保护功能。
获取重要数据结构执行路径完整性分析引擎,是对一些重要数据结构的获取路径作分析。本文重点以进程对象为例,对查询进程信息执行路径完整性进行了深入分析,采用跨视图与基于系统冗余数据相结合的方法,实现隐藏进程检测器。采用隐藏技术分析引擎对Rootkit可能采用的隐藏层次和隐藏技术进行的分析,结合各种隐藏对象检测器,分析隐藏对象采用的隐藏技术。
内核完整性验证器,主要是对一些重要的内核数据结构和系统内存映像的完整性进行验证,对系统的系统服务表SDT的完整性进行了检查和恢复,验证一些重要的系统内核模块内存代码节的完整性是否被破坏,在此基础上,用内存扫描器对系统内存进行扫描,查找内存中是否存在已知特征码的Rootkit。
完整性保护内核代理,主要是对内核代码的隐性加载方式进行监控,记录可疑的隐性加载行为,记录到日志中,对应用层的程序使用特定的内核物理内存节设备直接操作物理内存行为进行阻断,以防止Rootkit利用此技术,采用调用门机制,轻易突破系统的安全机制,从应用层直接破坏系统的完整性。