受恶意软件感染的固件

受恶意软件感染的固件

我需要在使用一些旧硬盘之前先将其擦除,以防它们含有恶意软件。删除主机保护区安全吗?

HPA 是否用于存储备用扇区?它只有 1 MB,但可能包含恶意软件。HPA 可以擦除然后恢复吗?如果它消失了,会损害驱动器的运行吗?或者没有 HPA 更安全,因为恶意软件无法隐藏在那里?

答案1

不,我不相信 HPA 中存储了备用扇区。来自替换的硬盘扇区来自哪里?以及它的参考坏扇区重新映射有一个“备用扇区池”,但该池的具体位置似乎完全由制造商决定。由于 HPA 和驱动器自己的 DCO 旨在存储数据,因此它们不能成为备用扇区池的一部分。

问答部分主机保护区 (HPA)、设备配置覆盖 (DCO) 和 HDD/SSD 的服务区之间有什么区别?维基百科看起来驱动器的受保护区域很难读取。

  • HPA 通常用于存储实用程序或操作系统备份,因此可能远大于 1M(也许您指的是分区周围的未分配空间?),并且只有“hpa 感知”工具才能读取或覆盖它们(见下文)。覆盖 HPA 似乎不会损害驱动器的运行,您只会覆盖它所拥有的任何实用程序/备份。

  • DCO(驱动器配置覆盖)似乎是供驱动器本身使用的,覆盖它可能会带来不良后果,甚至可能导致驱动器无法工作。


HPA 可以通过类似以下工具访问hdparm(至少在 Linux 上),请参阅https://security.stackexchange.com/questions/196071/do-all-hard-drives-support-device-configuration-overlay-dco-and-host-protected.hdparm的手册页建议“非常危险,数据丢失的可能性极高”,但幸运的是,您的目标就是删除数据。对于直接连接的驱动器(无 USB),步骤如下:

sudo hdparm -N /dev/sdX检查 HPA 是否已启用或已禁用。
sudo hdparm -g /dev/sdX检查扇区数。
sudo hdparm -Np<MAX SECTORS> /dev/sdX禁用 HPA。
sudo hdparm --yes-i-know-what-i-am-doing --dco-identify /dev/sdX
sudo hdparm --yes-i-know-what-i-am-doing --dco-restore /dev/sdX

之后,您可以使用任何 OS 工具(例如)覆盖整个驱动器dd以及通常可访问的内容。

DCO 可能恢复为出厂默认设置,尽管这可能会对驱动器造成像砖一样的后果,但看看硬盘 - 恶意软件感染后清除 HPA 和 DCO 等“隐藏区域”hdparm有关--dco-identify 和 --dco-restore的信息。

请注意,这些选项都信任驱动器自己的固件,实际上允许您覆盖这些区域......

受恶意软件感染的固件

如果你担心恶意软件里面驱动器自己的固件,那是不同的东西……每个硬盘驱动器、SSD、甚至 USB 拇指驱动器和最小的 microSD 卡基本上都有微型计算机/微控制器,在里面运行软件(“固件”)。摘录自美国国家安全局固件黑客攻击的工作原理及其令人不安的原因

硬盘驱动器有一个控制器,本质上是一台微型计算机,其中包括一个内存芯片或闪存 ROM,其中保存着操作硬盘驱动器的固件代码。

如果受害者认为其计算机已被感染,则删除计算机的操作系统并重新安装以消除任何恶意代码,恶意固件代码将保持原样。然后它可以联系命令服务器以恢复系统中已删除的所有其他恶意组件。

即使固件本身已更新为新的供应商版本,恶意固件代码仍可能存在,因为某些固件更新仅替换固件的部分内容,这意味着恶意部分可能不会被更新覆盖。受害者唯一的解决办法是丢弃硬盘并重新开始。

关于驱动器自己的服务区域:

一个有趣的论文(.pdf)由以色列公司 Recover 的数据恢复专家 Ariel Berkman 于 2013 年 2 月发布,指出“这些区域不仅无法通过标准工具进行清理,也无法通过防病毒软件或计算机取证工具访问。”

(我不完全确定一个被感染的硬盘如何能够“联系到命令服务器”,也许它看到一个可执行文件正在被读取并注入它自己的代码,但这是另一个问题......)

相关内容