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

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

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

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

这两种技术哪一种最好?用随机数据覆盖整个硬盘会给硬盘带来太大负担吗?

答案1

实际上,使用这两种方法都只适用于现代驱动器(以下有注意事项),但使用 /dev/urandom 更慢更安全。速度慢是因为它需要建立熵,更安全是因为它可防止(在非常旧的驱动器上实际)放大读取信号以恢复和区分 1 和 0 的攻击。实际情况是,现代驱动器上的数据间隔非常紧密,零放大攻击无法奏效,因为驱动器容差太紧,接近理论极限。

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

相关内容