硬盘固件间谍软件如何工作

硬盘固件间谍软件如何工作

美国国家安全局最近在现代间谍活动中发现了某种类型的硬盘固件,卡巴斯基并随后报道路透社Ars Technica和其他。但我不明白它是如何运作的:

  • 它能做多件事吗?
  • 或者它仅在激活时才会感染引导扇区?
  • 或者它是否感染了.exe 文件?
  • 或者它是否收集信息然后通过前面提到的方法之一进行传输?
  • 或者完全是别的东西?
  • 如何激活它?

编辑:《连线》刚刚发表一篇文章还有一些事实和猜测。看来 EquationDrug 或 GrayFish 启动工具包会从某个服务器下载恶意硬盘固件,然后将其刷入硬盘,留下一些额外空间用于存储加密密钥等。

固件可能在磁盘上留出一些未使用的空间,用于存储 EquationDrug 和 GrayFish 收集的数据。

如果计算机通过海关,则可能会手动/物理地提取 HDD ROM 上存储的加密密钥(或密码或其他)。

听起来有点牵强?我猜如果资源是无限的,而黑客又很优秀且愿意的话。我仍然想知道是否有人更了解固件的具体功能。

答案1

从您提供的文章(我写这篇文章时正在阅读):

包含固件的 ROM 芯片包含少量未使用的存储空间。如果 ROM 芯片为 2 MB,则固件可能仅占用 1.5 MB,剩下半 MB 的未使用空间可用于隐藏攻击者想要窃取的数据。

实现此目的的一种方法是刷新固件,该固件可以识别非标准 ATA 命令的其他命令,这可能不是特别复杂(但仍然很复杂)。这些命令可以将数据存储在与磁盘本身不同的区域中,但操作系统(因为它从不发出非标准命令,并且您至少可以通过自定义驱动程序发送非标准命令,如果不通过标准驱动程序)不会接触或了解它,程序也很难检测到它。

我确信破解的固件会返回与正常固件完全相同的版本字符串,因此无法通过该方法进行验证。我认为您无法下载当前正在执行的固件来验证它 - 但您可以刷新新固件。

因此恶意软件可以将一些数据存储在磁盘中,与“正式”应该存储在驱动器盘片/NAND 中的数据分开。这可以仅用于“标记”磁盘以供稍后检测,或者可能将一些数据从内存(如 RAM 中的 Truecrypt 密钥)复制到磁盘中。

更困难的方法是让固件检测特定文件何时被读取并返回修改后的数据。这非常复杂(您必须了解磁盘上的文件系统,在磁盘固件存储的有限空间内完全支持它,并注意操作系统强加的大量更改可能会破坏这种幻觉)。

编辑:进一步阅读后,它看起来就像隐藏使用自定义命令“解锁”的分区表?由于 MBR 分区表位于已知位置(扇区 0),所以这并不太难。

相关内容