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)
nee*_*ted 14
虽然填充磁盘/dev/zero会将其归零,但大多数(当前可用的)恢复软件无法一次性恢复文件。更多遍使擦除更安全,但需要更多时间。
/dev/urandom被认为更安全,因为它用随机数据(来自 Linux 内核的熵池)填充磁盘,使恢复软件更难找到任何有意义的数据(它也需要更长的时间)。
简而言之,/dev/urandom如果您尝试安全地擦除数据,适度的传递次数会更安全,但对于大多数休闲应用程序,几次传递/dev/zero就足够了。
我通常在擦除磁盘时结合使用两者(在转售或回收计算机之前始终擦除!)。
小智 11
在微观层面上,硬盘位既没有“1”也没有“0”,而是带有磁荷。有一个阈值,高于该阈值,费用被视为“1”。同样,位的几何位置也不精确,而是落在给定的空间内。
理论是,在新写入的位中仍然存在一小部分先前的电荷,因此如果您只是将磁盘归零,那么有人可能会为被认为是 1 的值设置一个新的低得多的阈值,并且仍然可以恢复数据。写入随机数据使这变得更加困难。
多次通过背后的理论与钻头在磁盘上的几何位置有关。如果当前通道稍微领先或落后,那么旧钻头的残余物可能会从新钻头的旁边窥视。两遍或三遍(尤其是随机数据)使得可以识别前一个位的可能性要小得多。
正如其他人已经说过的那样,这些担忧大多被夸大了。最大的风险是仅由操作系统删除或根本不删除的数据。
| 归档时间: |
|
| 查看次数: |
16125 次 |
| 最近记录: |