卡巴斯基GReAT团队于近期发布了针对Equation网络间谍小组活动的研究报告,其中揭示了大量所谓的”技术奇迹”。该历史悠久且技术强大的黑客小组开了一系列复杂的”可植入”恶意软件,但其中最有趣的发现是该恶意软件能够对受害人的硬盘进行重新编程,进而隐藏这些”植入病毒”因此几乎”坚不可摧”。
Suite of Sophisticated Nation-State Attack Tools Found With Connection to Stuxnet – http://t.co/FsaH0Jzq5O
— Kim Zetter (@KimZetter) February 16, 2015
作为计算机安全领域期待已久的”恐怖故事”之一 –永远存在于计算机硬盘且无法被清除的病毒数十年来被认为是一段”都市传奇”,但似乎人们花费了数百万美元只是为了将其变为现实。有些新闻报道煞有其事地宣称Equation黑客小组所开的这一恶意软件能让网络黑客”窃听全球大多数计算机”。然而,我们只是想尽可能地还原事实的真相。所谓能够”窃听全球大多数计算机“就像熊猫能在马路上走路一样不现实。
首先,让我们解释一下什么是”对硬盘固件重新编程”。通常一块硬盘由两个重要部件组成–存储介质(传统硬盘使用磁盘,而固态硬盘则采用闪存芯片)和微芯片,而后者则真正控制对硬盘的读写以及许多服务程序,例如:错误检测和修正。由于这些服务程序数量众多且相当复杂,因此从技术上说,一块芯片就好比是一台小型计算机,用于处理各种复杂的程序。芯片的程序被称为固件,而硬盘供应商可能不时需要对其进行升级更新:修正已发现的错误或改善性能。
而这一机制恰恰被Equation黑客小组所滥用,从而能够将其自己的固件下载到12种不同类型(按不同供应商/差异区分)的硬盘。修改后固件的功能依然不得而知,但因此计算机上的恶意软件却获得了在硬盘特定区域读写数据的能力。我们只能假设这一区域完全对操作系统甚至特定合法软件隐藏。而这一区域的数据即使硬盘格式化后也依然可能幸存,并且从理论上说固件能通过从一开始感染新安装的操作系统进而对硬盘引导区进行再感染。为了简化之后的工作,固件都是依靠自身检查和重新编程,因此就无法检验固件完整性或可靠地将固件重新上传至计算机。换句话说,受感染的硬盘固件根本无法被检测出,因此也就”坚不可摧”了。最简单和省钱的办法是将可能被感染的硬盘丢弃,重新买块新的。
Normal malware: check. HDD firmware malware: check. Now we just need to worry about GPU, USB, FireWire, webcam, NIC, baseband, Bluetooth…
— Matthew Green (@matthew_d_green) February 17, 2015
但是,不用急着去找螺丝刀–我们并不认为这一终极感染能力会成为主流。就算Equation黑客小组可能也只用过几次而已,因此受害人系统存在硬盘感染模块的情况依然屈指可数。首先,对硬盘重新编程相比写入而言要复杂得多,可以将Windows软件作为例子。每一块硬盘的模块都是独一无二且造价相当昂贵,此外要编写出一个替代的固件也需要耗费相当长的时间和精力。黑客首先必须得到硬盘供应商的内部文档(几乎不可能),购买一些同一型号的硬盘,编写和测试所需的功能并将恶意程序植入现有固件,与此同时还需要保持其原先的功能。这是一个浩大的工程,需要花费数月进行研发并投入数百万美元的资金。因此在一些用于犯罪的恶意软件或大部分的有针对性攻击中,几乎不太可能使用此类隐藏技术。此外,固件开发显然只能小范围进行,无法简单地大规模进行。许多硬盘厂商每月都会针对多款硬盘发布固件,新型号产品也层出不穷,因此要黑客入侵每一款型号的固件对于Equation以及其他所有黑客小组而言几乎不可能实现(也没有这个必要)。
"..it would take a very skilled programmer many months or years to master" reprogramming hard drives, says @vkamluk #TheSAS2015
— Kelly Jackson Higgins (@kjhiggins) February 17, 2015
因此,真实的情况是–感染硬盘恶意软件不再是传奇了,但对于大多数用户而言不存在任何风险。千万不要轻易丢弃自己的硬盘,除非你是在伊朗的核工业工作。但却需要对一些我们已老生常谈的风险多加注意,比如因密码薄弱或反病毒软件长久未更新而导致黑客入侵。