覆盖磁盘

覆盖磁盘

我应该使用:

  • find / -type f -exec shred -uvz -nX

或者只是好老

  • dd if=/dev/urandom of=/dev/sda

其中一个比另一个更快或更安全吗?

答案1

表现...

每当使用 时dd,请使用较大的块大小。 4MiB 就足够了。使用默认块大小(512 字节)会明显变慢。

dd if=/dev/urandom of=/dev/sda bs=4M

如果您试图覆盖无法恢复的数据,那么,dd像上面这样简单的操作和锤子就可以解决问题。如果没有锤子,您将始终存在可能可读的坏块,或者SSD内容等,这些内容在设备级别不可见,但在物理级别存在。

如果你只是想让它变得非常非常困难,那么就不要使用 urandom,而只需使用 /dev/zero

  • dd(适当大小)会更快。
  • 安全是一个概念,其含义与一个人在获取数据时愿意付出的努力有关。从这个角度来看dd,并且shred可能具有相同的近似安全性。

新驱动器的成本可能低于更安全的擦拭器的成本,因此,从那时起,锤子就是正确的解决方案。

更新:撕碎是没有意义的。

粉碎的文档,它有很多限制:

请注意,shred 依赖于一个非常重要的假设:文件系统会就地覆盖数据。这是传统的处理方式,但许多现代文件系统设计并不满足这个假设。例外情况包括:

  • 日志结构或日志文件系统,例如 AIX 和 Solaris 提供的文件系统,以及 JFS、ReiserFS、XFS、Ext3(在 data=journal 模式下)、BFS、NTFS 等(当它们配置为日志数据时)。
  • 即使某些写入失败也能写入冗余数据并继续运行的文件系统,例如基于 RAID 的文件系统。
  • 制作快照的文件系统,例如 Network Appliance 的 NFS 服务器。
  • 在临时位置缓存的文件系统,例如 NFS 版本 3 客户端。
  • 压缩文件系统。

您可以为此添加 ext4(默认情况下启用日志记录)。

此外,对单个文件进行粉碎不会达到从文件中删除所有相关元数据的程度。您可能有其他硬链接等指向相同的索引节点,并且元数据仍然存在。有时甚至知道文件的存在也是一个安全问题。

回到锤子......

答案2

dd方法将:

  • 速度更快,因为不需要遍历目录结构
  • 覆盖当前未被文件占用的磁盘区域

shred程序会反复用随机数据覆盖该文件,这可能会使其比 更“安全” dd,具体取决于您的要求。

然而,其有效性shred取决于文件系统。从手册页:

注意:请注意,shred 依赖于一个非常重要的假设:文件系统会就地覆盖数据。这是传统的处理方式,但许多现代文件系统设计并不满足这个假设。

特别是,shred最终可能不会在 SSD 上做任何有用的事情。

答案3

另外一个选择我昨天刚读到:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > randomfile.bin

当然,你可以randomfile.bin用类似的东西替换/dev/sda

应该比让内核给你随机数据更快。

答案4

shred方法仅覆盖当前存在的文件。它不会擦除已删除的文件,包括恰好位于尚未重用的空间中的当前现有文件的旧版本。

dd方法会覆盖整个磁盘。

dd方法速度过慢,因为它会用随机数据覆盖。用零覆盖同样有效:

dd if=/dev/zero of=/dev/sda

您也可以使用以下方法执行此操作cat;它可能会稍微快一些。

cat /dev/zero >/dev/sda

用随机数据而不是零重复覆盖的建议对于 20 年前的磁盘技术来说是正确的——即使在那时,用零覆盖也效果很好。对于现代硬盘,用零覆盖就足够了。看为什么在硬盘驱动器上多次写入零(或随机数据)比只写入一次更好?

SSD 是比硬盘更新的技术,人们对其写入后的剩磁知之甚少。据我所知,还没有关于在任何闪存技术上恢复被零覆盖的数据的公开报告(我不能代表政府机构发言 - 但无论如何他们可能已经拥有您的数据)。您可能想观看安全擦除 EEPROM 和闪存用于更新。

重新分配扇区的闪存技术(例如 SSD 驱动器)还有一个额外的问题:在软件中覆盖整个表面后,有些扇区当前未映射,但仍然拥有自己的内容。这些扇区无法使用普通接口读取,但可以通过探测存储设备内部来读取。 (据我所知,这是一种已知的技术,但根据闪存设备型号的不同,价格从中等到非常昂贵)。原则上,要完全擦除闪存驱动器,您需要发出安全擦除命令;然而[许多设备没有正确执行此命令](SSD 上的 ATA 安全擦除),因此请务必先进行软件擦除。

相关内容