Rootkit和Bootkit:现代恶意软件逆向分析和下一代威胁
上QQ阅读APP看书,第一时间看更新

第1章
Rootkit原理:TDL3案例研究

在本章中,我们将通过TDL3这个样本来介绍Rootkit。这个Windows系统的Rootkit提供了一个利用底层操作系统架构进行高级控制和数据流劫持的绝佳技术示例。我们将看到TDL3如何感染一个系统,以及它如何突破特定的操作系统接口和机制,以保持存活并驻留而不被发现。

TDL3使用了一种感染机制,可以直接将其代码加载到Windows内核中,因此微软在64位Windows系统上引入了核完整性度量来使其无效。然而,TDL3在内核中注入代码的技术依然很有价值,它可以作为一个示例,说明一旦绕过了系统的完整性度量机制,如何可靠而有效地挂接住内核的执行。与许多Rootkit一样,TDL3对内核代码路径的挂载依赖于内核自身架构的关键模式。从某种意义上,对于理解内核的实际结构来说,Rootkit的挂钩可能比官方文档具有更好的指导作用。当然,TDL3也是理解未文档化的系统结构和算法的最佳指南。

实际上,TDL3已经被TDL4所取代,TDL4使用了TDL3中大量的逃逸和反取证功能,还使用了Bootkit技术来突破64位Windows操作系统中的内核模式代码签名机制(我们将在第7章中介绍这些技术)。

在本章中,我们将指出TDL3突破的特定操作系统接口和机制。我们将解释TDL3和类似的Rootkit是如何设计的,以及它们是如何工作的,随后在第二部分中,我们将讨论用于发现、观察和分析它们的方法和工具。