使用 DD、/dev/zero 或 /dev/urandom 安全擦除驱动器?

Inf*_*ien 4 linux hard-drive dd wipe

我必须安全地擦除硬盘上的所有数据,因为我要把它放弃。我计划使用ddLinux 下的实用程序来执行此操作,经过一些研究,我发现了两种方法:

  • dd if=/dev/zero of=/dev/sde将用 0 个字符覆盖整个硬盘驱动器,这种技术显然使数据更容易恢复,尽管仍然很难提取。
  • dd if=/dev/urandom of=/dev/sde将用随机数据覆盖整个硬盘。

这两种技术中哪一种最好?用随机数据覆盖整个硬盘会给它带来很大的压力吗?

dav*_*dgo 5

在实践中,使用任何一个都只能在现代驱动器上工作(下面有警告),但是使用 /dev/urandom 速度更慢且更安全。速度较慢,因为它需要建立熵,更安全,因为它可以防止放大读取信号以恢复和区分 1 和 0 的攻击(在非常旧的驱动器上很实用)。现实情况是,在现代驱动器上,数据的间隔非常接近,零放大攻击无法起作用,因为驱动器容差太小并且接近理论极限。

这两种解决方案的一个更现实的问题是,DD 可能不会写入标记为损坏的驱动器部分,因此数据片段可能是可恢复的。

  • 类比 - 想象一下用笔在纸上写下“a”。 (安全数据)。然后取出最上面的一张纸。 (用 0 覆盖)。然后我得到空白垫。如果你按下得足够用力,我可以通过用铅笔轻轻擦拭该区域来恢复空白垫上的字迹,从而暴露出缩进的位置(放大来自头部的信号)。旧磁盘使用了足够的磁场来实现这一点(通过放大读取,因此本来是 1 的 0 与原本是 0 的 0 不同),但较新的磁盘将更多内容塞进相同的空间(因此写入压力更小) (2认同)