在本文中,我们将讨论 Rootkit 的功能、分类、检测方法,当然还有 Rootkit 预防。
什么是Rootkit?
Rootkit 是一种恶意计算机程序,旨在渗透机器以获得管理员或系统级权限。尽管有明显的秘密行为,rootkit 只是为了在恶意负载到达之前绕过用户身份验证机制(即,它们通常与木马或其他类型的病毒一起工作)。
由于 Rootkit 早于各种感染者,因此它们确实拥有一定程度的自主权。大多数旨在自动识别和利用后门,或者,如果不存在,则在遗留或弃用软件的安装过程中盖上橡皮图章。当然,在某些情况下,恶意行为者会在将 rootkit 投放到受害者机器上之前手动利用漏洞。
Rootkit 的类型
在本节中,我们将介绍内核 rootkit、硬件和软件 rootkit、Hyper-V 等。
1.内核rootkit
这种类型的 rootkit 旨在在操作系统本身的级别上运行。这意味着rootkit可以有效地向操作系统添加新代码,甚至删除和替换操作系统代码。
内核 rootkit 是高级且复杂的恶意软件,需要高级技术知识才能正确创建。如果rootkit 有许多错误和故障,那么这会严重影响计算机的性能。
更积极的一点是,有缺陷的内核 rootkit 更容易被检测到,因为它会为防病毒或反 rootkit 留下线索和面包屑。
2.硬件或固件rootkit
固件/硬件 rootkit 不是针对操作系统,而是针对运行某些硬件组件的软件。2008 年,一个欧洲犯罪团伙设法用固件 rootkit 感染读卡器。这使他们能够拦截信用卡数据并将其发送到海外。
例如,这个概念验证 rootkit 设法 将自己埋在硬盘中,然后拦截写入磁盘的任何数据。
3. Hyper-V Rootkit
虚拟化 Rootkit 是一种利用新技术的新发展。安全研究人员 在 2006 年开发了第一个这样的 rootkit 作为概念证明, 它甚至比内核 rootkit 更强大。
内核 rootkit 将与操作系统同时启动,但虚拟化 rootkit 将首先启动,创建虚拟机,然后才启动操作系统。
为了让您对此有一个直观的了解,将 rootkit 和启动过程想象成两个盒子。
- 在内核 rootkit 中,第一个框是启动过程。rootkit 是第二个盒子,它进入第一个盒子。
- 在虚拟化的rootkit 中,第一个盒子是rootkit 本身。启动过程是第一个框内的第二个框。
可以想象,与内核相比,虚拟化的 rootkit 对您的系统具有更多的控制权。而且由于它们将自己埋在设备中如此之深,因此几乎不可能将其移除。
4.引导加载程序rootkit或bootkit
这种类型的 rootkit 通过感染主引导记录 (MBR) 或 卷引导记录 (VBR)与您的操作系统同时 启动。
由于它将自身附加到这些引导记录,rootkit 不会出现在标准文件系统视图中。因此,防病毒和反rootkit 软件将很难检测到恶意软件。
更糟糕的是,rootkit 可能会修改引导记录,并且通过删除它,您可能会损坏您的 PC。
5. 内存rootkit
内存 rootkit 隐藏在您计算机的 RAM 内存中。与内核 rootkit 一样,它们会占用所有涉及的恶意进程的资源,从而降低 RAM 内存的性能。
6. 用户模式或应用程序rootkit
用户模式 rootkit 比内核或引导记录 rootkit 更简单、更容易检测。这是因为它们隐藏在应用程序本身中,而不是系统关键文件中。
换句话说,它们在标准程序(例如 Paint、Word、PC 游戏等)的级别上运行。这意味着一个好的防病毒或反 rootkit 程序可能会找到恶意软件,然后将其删除。
Rootkit 检测
入侵后的 rootkit 检测和删除具有挑战性,主要是因为 rootkit 具有破坏防病毒软件的能力。更重要的是,一旦 rootkit 建立了桥头堡,它就可以用于将与恶意软件相关的进程列入白名单。
检测和删除过程受 rootkit 类型的影响很大。例如,可以使用行为分析或内存转储分析检测并随后删除大多数基于软件的 rootkit。但是,无法通过物理更换受影响的组件来删除基于硬件的 rootkit。内核级 rootkit 也是如此——尽管在软件级别运行,内核 rootkit 无法使用上述方法删除,并且在大多数情况下,需要重新安装操作系统。
根据 rootkit 类型和渗透方法,可以通过多种方式进行检测:内存转储分析、完整性检查、基于差异、基于行为或采用替代(和可信)介质。
内存转储分析
在某种程度上有效,强制转储虚拟内存可能会帮助您检测大多数基于软件的 rootkit,包括嵌入在 Hyper-V 中的 rootkit。内存转储是离线专用的,但可能需要访问在线代码存储库。
完整性检查
基于 PKI 的代码签名检查可用于检测引导级和内核级 rootkit。该方法需要在基线散列输出和在任何时刻计算的散列输出之间进行比较,以确定是否对初始的、发布者签名的文件进行了任何调整。
基于差异的分析
DA 或基于差异的分析涉及使用 API 将原始数据与受感染数据进行比较。原始数据由受信任的来源(例如,系统映像)生成,而受 Rootkit 感染的数据由专门为此目的设计的 API 生成。
著名的 Rootkit 示例
大多数网络犯罪分子实际上并没有编写自己的恶意软件。相反,他们只是使用已经存在的恶意程序。大多数时候,他们只调整rootkit 的设置,而一些技术娴熟的人会添加自己的代码。这被称为 恶意软件经济 ,值得一读。
就像在实体经济中一样,某些恶意软件的市场份额比其他恶意软件更大。在本节中,我们想介绍一些更广泛的 Rootkit 系列。
如果您不幸感染了 Rootkit,它很可能就是其中之一。
零访问 rootkit
这个 rootkit 负责创建 ZeroAccess 僵尸网络,它在挖掘比特币时占用您的资源,或者通过向您发送垃圾邮件来进行点击欺诈。
在某个时候,安全研究人员估计 ZeroAccess 僵尸网络包含 1-2 百万台 PC。其中很大一部分(但不幸的是并非全部)已被 Microsoft 以及其他安全公司和机构撤下。
虽然威胁不像以前那么强烈,但 ZeroAccess Rootkit 的变体仍然存在并被积极使用。
TDSS/Alureon/TDL
曾几何时,基于TDSS rootkit的僵尸网络被认为是世界第二大僵尸网络。在采取了一些协调一致的执法行动后,逮捕了几人,僵尸网络进入了衰退期。
然而,恶意软件代码仍然存在,并被积极使用。与 ZeroAccess Rootkit 不同的是,TDSS 会追踪您的个人数据,例如信用卡数据、网上银行账户、密码、社会安全号码等。
神经病
Necurs 背后的 rootkit 是 目前最大的活跃僵尸网络之一,负责传播大量 Locky 勒索软件 垃圾邮件以及 Dridex 金融恶意软件。
Necurs Rootkit 可保护其他类型的恶意软件,这些恶意软件将 PC 奴役于僵尸网络,从而确保无法消除感染。
与 TDSS 和 ZeroAccess 不同,Necurs 是一个活跃的僵尸网络,其背后的网络犯罪分子仍在积极尝试发展它。
如何防止rootkit感染
Rootkit 可能麻烦且持久,但归根结底,它们与许多其他类型的恶意软件一样只是程序。这意味着它们只会在您以某种方式启动带有 rootkit 的恶意程序后才感染您的计算机。
以下是您应该遵循的一些基本步骤,以确保您不会感染 rootkit,从而避免删除所有这些痛苦且耗时的步骤。
警惕网络钓鱼或鱼叉式网络钓鱼尝试
网络钓鱼是用恶意软件感染人们最常用的方法之一。恶意黑客只是向一个巨大的电子邮件列表发送垃圾邮件,其中包含旨在诱使您单击链接或打开附件的消息。
虚假消息可以是任何真实的东西,从请求帮助取回他的黄金的尼日利亚王子,到真正精心制作的消息,例如来自 Google 的要求您更新登录信息的虚假消息。
附件可以是任何内容,例如Word 或 Excel 文档、常规 .exe 程序或受感染的 JPEG。
随时更新您的软件
过时的软件是恶意软件感染的最大来源之一。像任何人类创造物一样,软件程序在设计上是不完美的,这意味着它们带有许多错误和漏洞,允许恶意黑客利用它们。
因此,让您的软件始终保持最新状态是您在 Internet 上保持安全并防止恶意黑客感染您的恶意软件的最佳做法之一。
由于更新您的软件可能是一件苦差事,我们建议您使用自动化程序来为您完成这项工作。为此,我们建议您使用我们自己的 Heimdal™ 补丁和资产管理,我们专门设计用于处理此类问题。
流量过滤 FTW
防病毒软件的一个主要缺陷是恶意软件必须在它变得有用之前有效地接触您的 PC。
另一方面,流量过滤软件会扫描您的入站和出站流量,以确保没有恶意程序即将登陆您的 PC,并防止私人和机密信息泄露给任何可疑的接收者。
我们竭诚推荐的此类程序之一是我们自己的,它专门检测恶意流量并阻止其到达您的 PC。
结论
Rootkit 是一些最复杂和最持久的恶意软件威胁类型。我们没有这么说,但如果连 BIOS 闪存都无法删除 rootkit,那么您可能只需要扔掉那台 PC,看看哪些硬件组件(如果有)可以重用。
与生活中的任何事情一样,rootkit 感染的最佳治疗方法是防止其发生。
转载请注明:布尔云安的博客 » 关于 Rootkit。定义、类型、检测、预防