运行在硬盘中的固件对大多数用户而言几乎是不可见的,是用于旋转盘片和管理数据的黑匣子,未受到审查。这种模糊性刚刚被打破。一位操作代号为 I Code 4 Coffee 的研究人员记录了一个逆向工程硬盘固件的数月之久的旅程,最初是为了修改 Xbox 360 游戏机,但却意外进入了一个更广泛的安全领域,这应该引起任何存储敏感数据的人的关注。该工作表明,尽管制造商将驱动器固件视为封闭的保险箱,但对于有决心和合适工具的人来说,这些低级系统依然易于访问。 调查始于多余的硬盘和一块固态硬盘 (Solid State Drive),所有这些都被拆解以获取其内部代码。结果显示出一个零散的研究生态系统。与路由器固件或智能手机操作系统不同,硬盘固件很少引起黑客的注意,现有的文档通常早于现代安全标准。研究人员依赖于通过 PC 3000 提取的固件转储,这是一种通常用于专业取证实验室的数据恢复工具,然后反向理解 Western Digital、Seagate 等公司的代码结构。此过程揭示了特定供应商的后门命令、未记录的诊断接口以及在消费者驱动器上理论上本不该存在的 RS 232 串口。 这些发现之所以重要,是因为硬盘固件位于你的操作系统下方,杀毒软件下方,以及你认为保护你数据的每一层安全之下。恶意固件可以记录按键日志,窃取文件,或在不留下任何 Windows 或 macOS 痕迹的情况下按命令使驱动器失效。情报机构多年来一直在利用这一点。国家安全局 (NSA) 据报导在 2015 年的泄密事件中揭示,他们曾在间谍行动中使用硬盘固件植入程序,以目标为主要制造商的驱动器。以往的国家级技艺如今已在 GitHub 上被记录,附有技术证据和概念验证代码。 Xbox 360 的角度增添了一种讽刺意味。微软设计该游戏机的安全性是基于信任硬盘,假设固件不能被轻易修改。通过重写驱动器固件,攻击者可以绕过加密并运行未签名的代码,从而在微软从未加强的层面上对系统进行越狱。这种相同的漏洞存在于企业存储阵列、网络附加存储设备以及你桌上的笔记本电脑中。区别在于规模和动机。几乎没有人对此足够关心而广泛武器化这些技术,但这种方法现在是公开的。 制造商偶尔发布固件更新,通常是为了修复性能问题或兼容性问题。针对固件漏洞进行的安全补丁很少见,应用这些补丁需要大多数 IT 部门以及家庭用户缺乏的技术知识。研究人员的文档包括 JTAG(联合测试行动小组)接口,一种提供另一种固件修改入口的硬件调试标准。JTAG 黑客攻击需要物理访问和专用设备,限制了其威胁范围,但内部威胁和供应链攻击仍然是现实的情况。代码在那里。工具已文档化。问题是谁将是下一个使用它们的人。