Rootkit 工具与修复技术
Rootkit 是一种恶意程序,它采用不同的技术来隐藏恶意代码和活动,从而不被检测到并且对抗试图通过反病毒程序进行的修复。反 Rootkit 技术是 Kaspersky 多层级下一代保护解决方案的组成部分,能够检测这些 rootkit 程序的处于活动状态的感染,并修复系统从而避免此类感染。
在大多数情况下,rootkit 包括一个驱动程序(或驱动程序链),在内核模式下运行,并执行以下某些或所有功能:
- 在存储设备 (HDD)、Windows 注册表项和值、系统中的进程、加载的模块、内存区域(对于无文件恶意软件)、网络活动、磁盘扇区、其他对象和工件中隐藏文件
- 在被检测到的情况下,抵御反病毒软件对 rootkit 执行的修改和/或消除,包括恢复已更改的元素
- 为恶意代码\应用程序提供操作系统内核的访问权限(为了终止反病毒进程),将恶意代码注入合法进程,拦截网络流量(嗅探),拦截按键(键盘记录),等等
恶意软件编写者希望在目标主机上长时间运行他们的恶意代码(即使运行了反病毒软件)。为此,他们需要运用不同的技术来阻碍针对处于活动状态的感染执行的检测和补救。他们可能同时使用操作系统中已记录和未记录的方法。众所周知,RootKit 在用户模式和内核模式下使用了不同的拦截方法、对象操纵 (DKOM)、可绕过过滤器驱动程序和回调函数的技术,等等。为了支持在受害者系统上持久存在,RootKit 需要在操作系统引导的早期阶段开始执行,因此它们会感染引导扇区,比如主引导记录 (MBR) 和卷引导记录 (VBR)。具有此类功能的 RootKit 称为 BootKit。
Kaspersky 的反 Rootkit 技术
- 在操作系统的系统内存中搜索处于活动状态的感染
- 扫描用于自动运行的所有可能位置
- 在检测到处于活动状态的感染时进行补救,在操作系统引导的早期阶段执行恢复
- 在将产品安装到受感染的系统期间清除处于活动状态的感染
这种复杂的多模块保护技术实施了两种方法来检测和清除处于活动状态的感染:“精确”和“通用”。Kaspersky 产品利用了这两种方法。
精确方法:检测和清除过程针对特定的 rootkit 技术,例如隐藏自身存在或针对反病毒补救措施进行抵御。这种方法可以在短时间内抵御 Rootkit,以规避当前感染的影响,从而节省出更多时间来开发更加通用的方法。
通用方法:反 RootKit 程序会扫描活动进程、系统模块、内存、自动运行对象,并向其他反病毒组件提供恶意软件代码的访问权,例如模拟器、AV 引擎、静态启发法、由 ML 模型支持的基于行为的启发法,等等。如果列出的任何组件出现触发,则反 rootkit 程序会对系统执行杀毒。
反 rootkit 组件
- 安装程序保护器:在安全产品安装到受害者系统的过程中抵御处于活动状态的感染
- 低级磁盘访问、低级注册表访问、控制:提供对硬盘驱动器和 Windows 注册表的低级访问,从而绕过不同的访问拦截方法。包含实施可在补救期内控制处于活动状态的感染的技术
- 引导阶段清理程序:修复操作系统引导的早期阶段
- 系统内存扫描程序:用于搜索和修复系统内存中的 rootkit 的模块
- 文件系统解析器、注册表解析器:解析多种格式的文件系统和 Windows 注册表
- 关键区域扫描程序:用于扫描和修复自动运行对象的模块,该模块可通过上述模块受益。
近年来不断增长的一种威胁形式是隐藏在固件中的 Rootkit 带来的威胁。这种类型的恶意软件非常危险,因为它会在操作系统引导的早期阶段开始执行,因此,即使在格式化磁盘并重新启动操作系统之后,恶意代码仍会保留在系统中。2015 年发现了第一个 UEFI Rootkit。在随后的几年中,已经检测到使用这种 rootkit 发起的众多成功的 APT 攻击。
为了应对这种威胁,我们的反 Rootkit 技术组合中包括一个固件扫描程序,该程序可在关键区域扫描程序运行时分析 ROM BIOS 的内容。该技术可用于通过 UEFI 模式或传统模式 (BIOS) 引导的系统。
固件扫描程序的操作如下:
- ROM BIOS 的内容由特殊驱动程序转储。
- 该扫描程序使用特定于 rootkit 检测的启发法检查转储。
- 如果检测到恶意代码,则会通过警报通知用户,该警报会显示恶意软件的位置(系统内存)和系统引导模式(UEFI 模式为“MEM:Rootkit.Multi.EFI.a”裁定,传统模式为“MEM:Rootkit.Multi.BIOS.a”)。
- 由于重写 ROM BIOS 是潜在的危险操作,并且取决于平台,因此不会针对此类感染执行自动修复。如果检测到 rootkit,则应联系我们的支持服务,以获取有关如何手动重写 ROM BIOS 的说明。在最坏的情况下,您可能需要更换主板。
Kaspersky Internet Security 的 UEFI rootkit 检测警报
Kaspersky 的固件扫描程序可检测所有已知的 UEFI rootkit,包括 Hacking Team (VectorEDK)、Lojax (DoubleAgent) 和 Finfish。Kaspersky 和其他供应商的专家对新的 rootkit 进行研究后,会定期更新专用启发法。固件扫描程序用于我们的所有主要产品(Kaspersky Anti-Virus、Kaspersky Internet Security、Kaspersky Total Security、Kaspersky Endpoint Security for Business,等等)。