荷兰Radboud大学研究人员发现,具有物理访问权限的攻击者可以绕过三星和英睿达现有的保护机制,对其自加密固态存储驱动器进行篡改,在不知道用户密码的情况下就能够访问数据。这一问题会影响到Mac、Linux和Windows系统的内外部存储设备。
该问题涉及到两类漏洞,都源于使用TCG Opal加密标准。第一类漏洞(CVE-2018-12037)是由于终端用户提供的密码和用于用户数据加密的密码密钥之间没有进行加密绑定。
研究人员解释说,
数据信息可由攻击者在驱动控制器上执行相应代码来恢复(例如可通过JTAG、内存损坏、存储芯片内容操作和故障注入实现),如此,用户数据的机密性将不再受保密机制的保障。
而第二类漏洞(CVE-2018-12038)涉及磨损后的存储芯片内的信息,也就是说,它能通过硬件优化延长芯片的使用寿命。
研究人员解释道,
对同一逻辑扇区发出多次写入操作可能会写入不同的物理扇区,在最终用户设置密码的情况下,未加保护的密钥信息将在逻辑级别上被加密的变体覆盖。但是,未受保护的密钥信息可能仍然存在于存储芯片中。
Tripwire漏洞与暴露研究小组的计算机安全研究员Craig Young在一封电子邮件中表示,
多层安全方法才是最好的实践方法。对这些设备进行加密是一种严重的误导。指望硬盘制造商为其存储的数据提供有意义的安全保障,就像让疯子管理精神病院一样。 最好的安全保护是分层的,在这种情况下,才意味着能不依赖于驱动器处理身份验证、加密和数据存储。
分析团队利用这两类漏洞能够成功地进行数据恢复攻击。当前,他们没有发布关于概念验证的任何细节,但表示攻击需要进行大量的逆向工程。由于开发困难,这两类漏洞被评为为中等严重程度。然而,这些漏洞也存在着被它人利用、使其自动化,从而被滥用的风险。
为了解决这个问题,研究人员建议除了固态存储驱动器(SSD)需要内置加密之外,还要实施软件加密。不过他们也警告说,用户不应该依赖Windows的BitLocker机制。如果存在硬件加密,BitLocker机制会自动关闭。因此,对于这些驱动器,受BitLocker保护的数据也会受到损害。研究人员建议,对于受影响的模块,必须更改默认设置,以便仅使用软件加密。
这个默认更改可以在Windows的组策略设置中处理——但是,这不会重新加密已经部署好的ssd上的数据。因此,对于ssd的基础安装,管理员将需要完全重新安装存储设备,包括重新格式化内部驱动器,以执行BitLocker软件加密。
研究人员Carlo Meijer在一份媒体声明中表示,
针对这个问题相关机构需要采取行动,尤其是那些在这类设备上存储敏感数据的组织机构。也有一些消费者启用了数据保护机制。但大多数消费者没有这样做。
研究人员证实,这些缺陷会影响Crucial(美光)MX100,MX200和MX300内置硬盘; 三星T3和T5 USB外置磁盘; 三星840 EVO和850 EVO内置硬盘。 其他使用TCG Opal的SSD也可能容易受到攻击,但未经过测试。
上述的两家制造商都于今年4月份被荷兰国家网络安全中心(NCSC)告知过这些缺陷的存在。据研究团队称,三星已经发布了便携式驱动器的固件更新,但一般情况下,固件不会解决这些问题。
他们指出,
很难评估今后的更新能否正确解决问题,因此,我们认为更新驱动器固件不是其他保护机制(如软件加密)的正确替代方案。