论文部分内容阅读
随着计算机病毒和网络攻击技术的进步,Windows系统出现了一种新型恶意软件形式——内核态Rootkit。短短几年,从简单替换文件的第一代Rookit发展到当今可修改内核的第三代,更出现固件Rootkit、虚拟Rootkit等新型Rootkit。内核态Rootkit是Windows远程控制系统重要组成部分,是当今Rootkit研究的重点。内核态Rootkit研究的焦点是Rootkit的隐蔽性,Rootkit隐蔽能力决定了其生命力。
本文旨在提高内核态Rootkit隐藏能力。首先提出一种可以突破主流Rootkit检测软件的新型内核钩子技术,这种技术将钩挂更深层次的内部函数,并且将钩子函数拷贝到非换页池或内核模块的空隙内存中,有效地躲避了主流检测软件的检测。本文利用这种技术从三个方面提高内核态Rootkit的隐蔽能力:第一,将自启动隐藏分为自启动方式和自启动过程分别隐藏。在自启动方式中,针对不同模块采用不同的加载方式.在自启动过程隐藏中,利用突破“守护门口”技术,将检测软件所监控的系统服务恢复和清除通知例程,最终成功地将Rootldt的其他模块安装;第二,针对Rootkit不同模块采取了不同的加载方式,又根据加载特点将已加载驱动程序隐藏;第三,内核态Rootkit通信是实现远程控制的唯一方式,其隐蔽性至关重要。针对当前Rootkit通信的不足,本文使用NDISHOOK技术在NDIS层实现通信隐藏,能够有效地穿透过滤型网络防火墙。
通过Rootkit检测工具对改进设计测试效果分析,改进的内核态Rootkit在隐藏性方面有显著增强,能躲避针对执行路径分析、自启动分析、隐藏驱动分析等,能够有效穿透过滤型防火墙。总之,Rootkit的隐藏性是内核态Rootkit系统设计和实现的最重要问题,是整个系统得以生存的关键。
通过对内核态Rootkit隐藏性技术的研究与改进,本文为防治使用内核态Rootkit技术的病毒提供了技术参考,也为检测内核态Rootkit提供了一些工具。