将 SSD 驱动器归零

将 SSD 驱动器归零

我们为客户托管 VPS。每个客户 VPS 都配有一个位于标准主轴硬盘上的 LVM LV。如果客户离开,我们会将此 LV 清零,以确保他们的数据不会泄露给其他客户。

我们正在考虑在托管业务中使用 SSD。鉴于 SSD 具有“磨损均衡”技术,这是否意味着归零毫无意义?考虑到我们不能让客户数据泄露给另一个客户,这是否使得 SSD 这个想法不可行?

答案1

假设您要阻止的是下一个客户读取磁盘以查看旧客户的数据,那么写入全零实际上仍然有效。将零写入扇区“n”意味着当读取扇区“n”时,它将返回全零。现在的事实是,底层实际数据可能仍在闪存芯片上,但由于您无法进行正常读取来获取它,因此这对您的情况来说不是问题。

如果有人能够物理地拿到磁盘并将其拆开(因为他们可以直接读取闪存芯片),这确实是个问题,但如果他们唯一的访问权限是 SATA 总线,那么将整个磁盘全写入零就可以了。

答案2

永远不要对 SSD 进行零填充。至少,这会磨损 SSD 的部分写入寿命,而几乎没有任何好处。在极端最坏的情况下,您可能会将 SSD 的控制器置于(暂时)表现不佳

此来源

多次重复覆盖整个磁盘可以成功破坏数据,但由于固件转换层 (FTL),这比传统硬盘驱动器复杂得多且耗时。根据他们的结果,这是一个没有吸引力的选择

您的最佳选择,通过全盘加密进行安全擦除:

一些现代 SSD 可以使用全盘加密 - 例如英特尔的新 320 驱动器和一些 Sandforce 2200 系列驱动器。这些驱动器可以以简单、快速的方式安全地擦除,且不会造成任何驱动器磨损。该驱动器对所有写入的数据使用 AES 加密,因此安全擦除只是意味着删除旧的 AES 密钥,并用新密钥替换。这实际上使驱动器上的所有“旧”数据都无法恢复。

然而,英特尔的安全擦除并不容易实现自动化。据我所知,它必须通过英特尔的 Windows GUI 应用程序完成,它只能在空的非启动驱动器上运行,等等。请参阅Intel 文档第 21 页及以后的内容。

您的另一个选择,ATA 安全擦除:

另一个选择是发出 ATA 安全擦除命令通过 Linux 上的 fx HDPARM。通过脚本实现自动化会容易得多。

如果驱动器以“良好”的方式实施 ATA 安全擦除,则应该期望它至少删除“闪存转换层”(FTL)。FTL 表保存逻辑扇区(操作系统“看到”)与驱动器本身的 NVRAM 物理页面之间的映射。如果此映射表被破坏,从驱动器恢复数据应该非常困难 - 但可能并非不可能。

然而,我并不知道有任何研究表明 ATA 安全擦除在所有制造商的驱动器上都得到一致且良好的实施,所以我不敢说它会一直有效——您应该阅读制造商的技术文档。

对于单个分区:

当我阅读其他答案的评论时,似乎 OP 只想安全擦除单个分区。一个好方法是只创建加密体积,外汇使用卢克斯或者TrueCrypt。这样,您可以通过丢弃加密密钥来安全地擦除卷,类似于驱动器上的全盘加密方案。

结论:

如果你真的非常想知道,那么阅读论文链接到 Sophos 的博客,并阅读驱动器制造商关于安全擦除的技术说明。但是,如果您想要“良好”的安全擦除,那么具有全盘加密和安全擦除和加密密钥替换的 SSD 可能是您的最佳选择。作为替代方案,使用操作系统级加密,并在您想要安全擦除数据时丢弃密钥。

答案3

磨损均衡与将数据清零毫无关系。

您将数据清零以阻止其他人/应用程序读取该数据。由于写入会对 SSD 造成“损坏”,SSD 会“磨损”其数据以确保它们可以使用更长时间。此外,磁盘通常在不忙时执行此操作,在服务器情况下,安静的时间并不总是可用的,因此这项工作通常无法完成。

您是否向客户收取 IO 操作费用?如果不收费,那么如何防止客户通过不断写入操作在数小时/数天内基本损坏其 SSD 部件?SSD 比大多数人想象的要容易损坏得多,特别是在写入繁重的环境中。

答案4

您肯定不想使用传统的方法来擦除 SSD,例如使用dd清零数据或其他将随机数据写入磁盘的方法。这些方法更适合基于盘片的磁盘。它可以有效地擦除 SSD,但也会不必要地占用大量 SSD 有限的写入操作,从而缩短 SSD 的预期寿命。这会很快变得昂贵。它还会随着时间的推移降低 SSD 的性能。

SSD 有不同的安全擦除方法。我要说的是,这似乎非常麻烦,因为您通常需要某种类型的 SATA 控制器来执行 IDE 仿真,而且过程可能很复杂。一些制造商提供工具来安全擦除他们自己的 SSD,但您也可以在 Linux 上使用 hdparm 来执行此操作: https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase。但您会注意到,在这些说明中,您必须确保驱动器未“冻结”,然后才能继续。这是比较困难的步骤之一,因为它需要找到主板和 SATA 控制器,以便您在系统启动时“解冻”驱动器,这通常需要将其从 SATA 电缆上拔下,然后再插入。

无论如何,我的建议是进行研究并选择带有安全擦除实用程序的 SSD,以便在您方便的系统上使用。

相关内容