固态硬盘被发现硬盘加密绕过漏洞
研究人员发现,在知名且流行的SSD(固态硬盘)中,没有密码就可以绕过硬件解密的缺陷。
在一份题为“自我加密的欺骗性:固态硬盘加密的弱点”的新报告中,美国内梅亨大学(Radboud University)的研究员卡洛•梅杰(Carlo Meijer)和伯纳德•范•加斯特尔(Bernard van Gastel)解释了他们如何通过修改固件或使用调试接口修改SSD驱动器中的密码验证例程,从而在没有密码的情况下解密硬件加密数据。
研究人员用这些方法对流行的SSD进行了测试,如Crucial MX100、Crucial MX200、Crucial MX300、三星 840 EVO、三星 850 EVO、三星 T3便携版和三星T5便携版,并演示了访问被加密的硬盘数据的方法。
报告称:“我们通过逆向工程它们的固件,对几个ssd进行了硬件全磁盘加密分析。从理论上讲,硬件加密提供的安全保证比软件实现的加密更好。但实际上,我们发现许多硬件实现都存在严重的安全缺陷,因为许多模型允许在不知道任何秘密的情况下完全恢复数据。”
更糟糕的是,由于Windows的BitLocker软件加密将默认以硬盘加密(如果支持的话)进行加密,因此这种情况下被加密的数据存在同样的漏洞来绕过加密。
在不知道密码的情况下访问加密的文件
为了绕过解密密码,研究人员使用了多种技术,取决于调试端口是否可用,是使用了ATA安全自加密驱动器(SED)标准,还是使用了较新的TCG Opal SED规范。
这些漏洞都已被通报给了critical,三星公司,给了他们准备安全更新的时间。Crucial更新的固件可用于搜友SSD驱动器,而三星仅为其T3和T5便携式SSD驱动器发布了新的固件。对于他们的非便携式SSD(EVO),他们建议用户使用软件加密。
Crucial MX 100,Crucial MX 200 和 三星T3便携版
对于Crucial的MX 100、Crucial的MX 200和三星T3便携式SSD驱动器,研究人员能够连接到驱动器的JTAG调试接口并修改密码验证例程,使其无论输入的密码是什么,都能被验证为成功。这允许他们输入任何密码并解锁驱动器。
Crucail的MX300 SSD
Crucail的MX300还有一个JTAG调试端口,但它在驱动器上是禁用的。
因此,研究人员不得不依赖于一个更复杂的程序,即使用一个修改后的固件来刷新设备,允许他们执行各种各样的程序,最终允许他们解密密码或使用空密码验证设备。
三星840 EVO和三星850 EVO SSD
根据SED使用规范,研究人员能够通过连接JTAG调试端口访问加密的数据以及修改密码验证例程,或者通过使用耗损问题恢复解锁硬盘的密码,这需要预先被解锁实例。
三星850 EVO没有损耗问题,因此需要通过调试端口修改密码验证例程。
BitLocker的问题在于默认使用硬件加密
大多数现代操作系统提供软件加密,允许用户执行整个磁盘加密。虽然Linux、macOS、Android和iOS提供的软件解密提供了强大的软件加密功能,但Windows上的BitLocker默认使用硬件加密,从而成为SSD漏洞的牺牲品。
当在Windows中使用BitLocker加密磁盘时,如果操作系统检测到SSD驱动器带有硬件加密,它将默认使用它。这导致使用硬件加密的BitLocker加密的硬盘上有上述提及的相同解密缺陷。当然,BitLocker的软件加密还是如预期的那样安全。
为了防止SSD硬件加密的使用,研究人员建议用户在“计算机配置\管理模板\Windows组件\BitLocker驱动器加密\操作系统驱动器”被称为“为操作系统驱动器配置基于硬件加密的使用”时禁用Windows组策略。
该策略也适用于可移动和固定的硬盘,并且也应该对它们禁用,以强制使用软件加密。
原文链接:https://www.bleepingcomputer.com/news/security/flaws-in-popular-ssd-drives-bypass-hardware-disk-encryption/
最新评论