论文部分内容阅读
随着信息技术,特别是互联网的高速发展,网络安全问题正受到人们越来越多关注。对网络安全的诸多威胁中,恶意代码无疑是危害最大的,这也成为网络安全领域研究的焦点。本文关注于Windows平台的恶意代码检测技术。现有的商业恶意代码检测系统使用的检测技术主要是特征码扫描、完整性检测和虚拟机检测。本文分析了上述三种检测技术的原理以及各自的优缺点:特征码扫描检测速度快、误报率低,但需要和庞大的特征库配合,无法检测变形的恶意代码;完整性检测能有效检测到恶意代码对文件的修改,但完整性检测假设刚装入系统中的文件是没有感染恶意代码的,因此完整性检测无法发现装入系统前已感染到文件上的恶意代码;虚拟机检测可以有效对付加密变形的恶意代码,但恶意代码仍然有多种方法可以有效绕过其检测,如使用特殊指令,使用结构化异常处理等。随着新的Rootkit技术在恶意代码中的广泛应用,现有的恶意代码检测技术遇到了前所未有的挑战。Rootkit技术隐藏现有的恶意代码检测系统的检测目标,包括进程、文件、TCP端口、注册表等。试验表明,现有的商业恶意代码检测系统无法有效检测采用Rootkit技术隐藏了的恶意代码。本文分析了Rootkit技术的实现原理,包括对进程、TCP端口、注册表和文件的隐藏技术。通过对恶意代码隐藏技术的分析,本文提出了对隐藏恶意代码的检测技术,基于差异分析的隐藏行为检测技术,该技术将可信任的系统信息与不可信任的系统信息进行比较,从而获得被隐藏的信息。针对具体的进程、TCP端口、注册表和文件信息,本文提出了获得其可信任信息和不可信任信息的方法。通过对大量后门程序的逆向工程分析,本文总结了后门程序的原理,指出了后门区别于正常程序的特征,并通过这一特征提出了针对后门程序的基于管道扫描的检测技术。根据本文提出的隐藏行为检测技术和后门程序检测技术实现了恶意代码检测系统MalFinder,通过对该系统的测试发现该系统在对隐藏的恶意代码检测和后门程序检测上明显优于现有的商业恶意代码检测系统。