零填充与随机填充

Wal*_*mra 24 linux wipe

许多教程建议如果我希望它不可恢复,我应该用 /dev/urandom 而不是 /dev/zero 填充磁盘。但是我不太明白,在零填充后如何仍然可以恢复磁盘?这只是可以恢复零填充磁盘的非常专业的人(阅读政府机构),还是普通的极客可以做的事情?

PS:我并不担心我的数据,我不时出售二手电脑,我宁愿普通的乔买家不会从他们那里恢复任何有趣的东西。

Den*_*nis 22

许多教程建议如果我希望它不可恢复,我应该用 /dev/urandom 而不是 /dev/zero 填充磁盘。

无论您做什么,都不要使用/dev/urandom.

在我的 i7-3770 上,/dev/urandom每分钟产生惊人的 1 GB 伪随机生成数据。对于 4 TB 硬盘,一次擦除/dev/urandom需要 66 多个小时!

如果您绝对必须使用伪随机生成的数据(更多内容见下文),至少使用一种相当快速的生成方式。例如

openssl enc -aes-128-ctr -pass file:/dev/random 2>/dev/null | tail -c+17
Run Code Online (Sandbox Code Playgroud)

打印无限字节流。它在 CTR 模式下使用 AES 和从 读取的密码/dev/random,因此对于任何小于 1,000,000 TB 的硬盘驱动器,它都是加密安全的。

它也很快。非常快。在同一台机器上,它设法每秒生成 1.5 GB,因此它比/dev/urandom. 这超出了任何消费级硬盘的处理能力。

[我]这只是可以恢复零填充磁盘的非常专业的人(阅读政府机构),或者您的普通极客可以做的事情?

Overwriting Hard Drive Data: The Great Wiping Controversy 中,作者得出结论,用非随机数据覆盖原始驱动器(仅用于测试)一次将正确恢复单个位的概率降低到 92%。这意味着单个字节(一个 ASCII 字符)只能以 51% 的概率被恢复;并且无法判断该字节是否已正确恢复。

在实际场景中(轻度使用驱动器),单个位的概率下降到 56%,单个字节的概率仅为 9%。

他们拿了一个新驱动器,将它擦除了 3 次以模拟短期使用,在其中写了一段简短的文本,然后用非随机数据擦除了一次驱动器。结果如下:

原文:

安全删除数据 - Peter Gutmann - 1996
摘要
随着越来越复杂的加密系统的使用,希望访问敏感数据的攻击者被迫在别处寻找信息。一种攻击途径是从磁介质或随机存取存储器中恢复据称已擦除的数据。

恢复的文字:

¡ÄuÜtÞdM@ª""îFnFã:à•ÅÒ̾‘¨L‘¿ôPÙ!#¯ -×LˆÙÆ!mC 
2´³„‡·}NŽýñêZØ^›l©þì®·äÖŒv¿^œº0TÏ[ªHÝBš¸ð 
7zô|»òëÖ/""º[ýÀ†,kR¿xt¸÷\Í2$Iå""•ÑU%TóÁ’ØoxÈ$i 
Wï^™oËS²Œ,Ê%ñ ÖeS» eüB®Èk‹|YrÍȶ=ÏÌSáöp¥D 
ôÈŽ"|ûÚA6¸œ÷U•$µM¢;Òæe•ÏÏMÀùœç]#•Q
                                                          Á¹Ù""—OX“h 
ÍýïÉûË Ã""W$5Ä=rB+5•ö–GßÜä9ïõNë-ߨYa“–ì%×Ó¿Ô[Mãü 
·†Î‚ƒ‚…[Ä‚KDnFJˆ·×ÅŒ¿êäd¬sPÖí8'v0æ#!)YÐúÆ© 
k-‹HÈø$°•ذÏm/Wîc@Û»Ì"„zbíþ00000000000000000
Run Code Online (Sandbox Code Playgroud)

  • 请注意,每比特 56% 仅略好于机会。 (13认同)

nee*_*ted 14

虽然填充磁盘/dev/zero会将其归零,但大多数(当前可用的)恢复软件无法一次性恢复文件。更多遍使擦除更安全,但需要更多时间。

/dev/urandom被认为更安全,因为它用随机数据(来自 Linux 内核的熵池)填充磁盘,使恢复软件更难找到任何有意义的数据(它也需要更长的时间)。

简而言之,/dev/urandom如果您尝试安全地擦除数据,适度的传递次数会更安全,但对于大多数休闲应用程序,几次传递/dev/zero就足够了。

我通常在擦除磁盘时结合使用两者(在转售或回收计算机之前始终擦除!)。

  • 关于 SSD:本文主要涉及删除单个文件,而不是整个驱动器。关于硬盘驱动器:使用现代硬盘驱动器,没有办法以相当大的概率恢复更多甚至一点。说*大多数恢复软件仍然可以从一次通过中恢复文件*是完全错误的。 (6认同)
  • @WaleedHamra 评论部分太短了,请阅读这篇 [Ars Technica 的优秀文章](http://arstechnica.com/security/2011/03/ask-ars-how-can-i-safely-erase-the -data-from-my-ssd-drive/)。从那时起(2011 年)该技术有所改进,但您不应假设 SSD(或任何固态设备)在尝试擦除敏感文档时会可靠地删除数据。 (3认同)
  • @DavidSchwartz 我总是喜欢安全,而不是抱歉。在处理潜在的敏感数据时,面向未来和偏执通常是一件好事。美国国防部的标准是所有 HDD 的三通,即使是现代的。也无法知道 Asker 的 HDD 的新近度,或者如果它是 SSD,在这种情况下,擦除数据几乎是不可能的,而不用随机数据填充整个事物(`urandom` 方法),这将导致大量SSD 上的磨损,可能使其无法使用。 (2认同)

小智 11

在微观层面上,硬盘位既没有“1”也没有“0”,而是带有磁荷。有一个阈值,高于该阈值,费用被视为“1”。同样,位的几何位置也不精确,而是落在给定的空间内。

理论是,在新写入的位中仍然存在一小部分先前的电荷,因此如果您只是将磁盘归零,那么有人可能会为被认为是 1 的值设置一个新的低得多的阈值,并且仍然可以恢复数据。写入随机数据使这变得更加困难。

多次通过背后的理论与钻头在磁盘上的几何位置有关。如果当前通道稍微领先或落后,那么旧钻头的残余物可能会从新钻头的旁边窥视。两遍或三遍(尤其是随机数据)使得可以识别前一个位的可能性要小得多。

正如其他人已经说过的那样,这些担忧大多被夸大了。最大的风险是仅由操作系统删除或根本不删除的数据。