我最近在 SSD 驱动器上安装了 Ubuntu 13.10,使用了“加密新 Ubuntu 安装以确保安全”选项。我想启用 TRIM,因此按照提供的指南操作这里。
其中一个步骤说要将discard
选项添加到/etc/crypttab
。但是,crypttab 手册页有些含糊地指出:
警告:启用此选项前请仔细评估特定的安全风险。例如,如果稍后可以在设备上轻松找到丢弃的块,则允许在加密设备上丢弃可能会导致有关密文设备的信息(文件系统类型、已用空间等)泄露。
在加密的 SSD 分区/驱动器上启用 TRIM 到底有哪些安全风险?
答案1
警告只是想说,如果您启用丢弃选项,SSD 的固件将清零驱动器上未使用的块。并且可以轻松识别和分析这些清零的块以找出规律。
显然,归零的块会向攻击者显示未使用的空间,因此他会知道已使用的空间是多少。因此,如果他想破解加密,他将不得不处理较小的加密数据,因为他不会关心未使用的块。从未使用块的模式中,攻击者可能能够猜测文件系统类型和文件系统参数,这可能有助于他破解加密。
我既不是密码学家也不是密码分析员,但这些信息对攻击者来说可能只是微不足道的帮助。我认为警告的存在只是因为在密码学中,关于加密数据的任何最小泄露信息都可能导致加密被破解。因此,这款加密软件的作者想告诉你,即使不启用该功能,你的安全性也会更高,但究竟好多少还不得而知,因为我们不知道这些泄露的信息在多大程度上帮助攻击者破解加密。显然,如果作者认为启用此功能会导致加密风险大于最小风险,那么该软件中就不会有此功能。
如果你想了解更多关于这个主题的信息,我建议你阅读本文来自 Milan Broz 以及该页面上的评论,其中也包含一些很好的链接。我从那篇好文章中粘贴了他的结论:
- 如果有强烈要求,即未使用扇区的信息不能被攻击者获取,则必须始终禁用 TRIM。
- 如果磁盘上有隐藏设备,则不能使用 TRIM。(在这种情况下,TRIM 会删除隐藏数据或泄露其位置。)
- 如果启用了 TRIM 并在稍后执行(即使只通过设置选项并调用 fstrim 执行了一次),此操作也是不可逆的。即使再次禁用 TRIM,丢弃的扇区仍然可以检测到。
- 在特定情况下(取决于数据模式),一些信息可能会从密文设备泄露。(在上面的例子中,您可以识别文件系统类型。)
- 加密磁盘无法支持依赖于返回丢弃扇区零的功能(即使底层设备宣布具有此功能)。
- 恢复 SSD 上已擦除的数据(尤其是使用 TRIM)需要全新的方法和工具。使用标准恢复工具通常不会成功。
答案2
这里的关键是这句话
是否可以稍后在设备上轻松找到丢弃的块。
因此,请确保 /tmp /var 和加密使用的其他目录确实在内存中,系统关闭时会将其清除。这样可以最大限度地降低风险。
我发现这里有一个很好的解释。