如果系统被感染并且除了一个硬盘驱动器之外没有任何其他存储单元。
除了在“来自高轨道的核弹”之后感染 BIOS 或所述驱动器的 MBR 之外,还有其他方法可以让 rootkit 留在系统上吗?
如果系统被感染并且除了一个硬盘驱动器之外没有任何其他存储单元。
除了在“来自高轨道的核弹”之后感染 BIOS 或所述驱动器的 MBR 之外,还有其他方法可以让 rootkit 留在系统上吗?
通常,不会。不在自启动区域。在“带外”区域中,您可能有未被磁盘擦除覆盖的数据,但这些区域通常无法访问,如果这样做,它们也可以被擦除访问。
理论上,对于理论上非常大的值, 是的。在某些硬盘驱动器中,可能存在第三个内存区域,可访问、自引导并能够托管复杂的恶意软件(例如,最小的 Linux 内核一样复杂)。
(更新:卡巴斯基已经在野外报告了上述技巧)
该区域通常不通过将硬盘驱动器连接到主机的数据电缆访问(用于编程),而是通过仅在制造过程中使用的专用 JTAG 连接器访问。
此外,编程指令必须专门针对硬盘控制器CPU芯片进行适配;就像同样的 HTTP 协议可能会被 Motorola 驱动的旧 Mac 或 Intel 80386 “说”出来,但是两个 CPU 永远不会“说”同样的语言,所以来自同一制造商的两个磁盘可能有 Avago 芯片,或 Marvell 的 - 它们将需要不同且完全不兼容的指令。
那么问题是必须专门针对恶意软件,并且在大多数情况下,如果不是所有情况,都需要通过定制电缆对 JTAG 连接器进行硬件物理访问。所以纯粹的软件恶意软件是没有机会的。除非制造商在固件中刻录了一些编程后门,否则为了节省一些钱,不用整个 JTAG 东西。可以预见的是,情况似乎就是这样。
这样被黑的磁盘是完全不可信的。无论您从 SATA 电缆对硬盘做什么,实际上都只是礼貌地请求磁盘 SoC 代表您执行某些操作。未篡改的 SoC 会服从(或对您撒谎以对您有利:例如报告一个扇区已被立即写入,而实际上它被保存在回写缓存中以提高性能)。被篡改的 SoC 可能会不服从并对其撒谎(并且会这样做,否则篡改毫无意义)。
您可以(要求它)覆盖引导加载程序,将其读回并收到热情的确认,表明它已被归零;(要求)在其位置编写一个干净的引导加载程序,重新读取它并收到一个傲慢的确认,表明它已被写入并提交。然后电源循环......仍然有一个恶意的引导加载程序从磁盘中出来,而不是你认为应该存在的那个,从而对系统进行蓝皮。
当然,恶意软件应该知道正在使用的操作系统,以便感染它,并通过它获得对文件、网络、键盘等的更复杂的访问权限。它将通过拦截操作系统尝试从磁盘加载自己的代码来实现这一点,而是提供包含感染例程的修改代码。修改后的代码需要与操作系统兼容,如果操作系统自检自己的代码,它将无能为力,除非使用更先进的技术。
对于任何合理常见的情况,实际概率都处于低位。
另一方面......如果你刚刚收到一个全新的桌面作为 NSA 对你工作的赞赏,那么不 - 擦除磁盘,将其 HPA 和 DCO 归零以及Gutmann 爆破它拥有的每个扇区,将不会够了。
如果它替换了 BIOS,它可以通过Windows 平台二进制表 (WPBT)提供存储在那里的恶意软件,即使在用新硬盘替换硬盘后也会重新感染 Windows 机器。
这就是2015 年 8 月lenovo rootkit使用的东西,即使在干净重新安装后也能持续存在。
是的,至少一个 bootkit 可以做到这一点,现在看来这很容易;
John Loucaides 和 Andrew Furtaki 用他们的 Lighteater bootkit 展示了这一点。他们在 CanSecWest 发表了题为“你想感染多少百万个 BIOS?”的演讲。摆脱它的唯一方法是刷主板。
即使更换磁盘也无济于事,因为 Lighteater 利用 BIOS 闪存保护,然后能够自行重新编程,接管您的计算机。
目前,唯一的保护措施是刷新您的 BIOS/UEFI 并尽可能频繁地更新。
另见: