使用 dd 和零擦除磁盘时块大小是否重要

使用 dd 和零擦除磁盘时块大小是否重要

我用
dd if=/dev/zero of=/dev/sda bs=4096
它来擦除磁盘。块大小可能存在安全风险吗?还是它只是加快了速度。

对不起,我的英语不好

答案1

假设您只是使用常规硬盘,那么块大小不会对性能产生任何影响。

如果它是 SSD,它可能会有一些安全影响,但dd无论如何你都无法真正安全地擦除 SSD,所以这并不重要(如果你只是想清除所有内容以重新使用 SSD,只需使用blkdiscard它即可)。

但是,dd它并不安全,而且无论块大小如何,它的性能也不是很高性能。我建议研究一下数据库管理系统用于擦除磁盘。除了具有安全擦除传统硬盘的选项外,它还包括快速零填充模式,该模式可执行与您相同的操作dd,但在大多数情况下速度要快得多。

针对dd有关擦除磁盘安全性的问题进行编辑

使用dd擦除硬盘并不是擦除磁盘的安全方法,原因如下:

  • 它不会擦除重新分配的扇区。几乎所有硬盘最终都会重新分配坏扇区。一旦发生这种情况,除非使用某些特殊固件或完全绕过磁盘控制器(这需要焊接和大量有关特定磁盘驱动器的晦涩知识),否则您根本无法触及这些扇区。这意味着,即使您用空字节填充每个可访问的信息字节,任何坏扇区仍将包含它们重新分配时的数据(在大多数情况下,大多数数据都是可恢复的)。这实际上也适用于通过其他非物理方法进行擦除,因此,如果您的磁盘有重新分配的扇区,并且您需要确保它已被擦除,则需要使用非电子方式来执行此操作。
  • 覆盖磁性介质上的扇区并不能完全消除以前数据的所有痕迹。这些痕迹无法通过常规磁盘接口访问,但资金充足的攻击者可以使用原子力显微镜观察这些痕迹。

    打个比方,想象一下用铅笔在厚厚的一张纸上写字。撕掉最上面的一张纸后,这张纸上的书写痕迹仍会隐约出现在接下来的几张纸上,而且可以用一些相当简单的方法恢复。

    这就是为什么所有主流商业磁盘擦除产品都使用不同的模式进行多次擦除。每次擦除都会削弱原始数据的痕迹,使其越来越难以恢复。

对于 SSD 来说,情况甚至更糟,尽管它们没有上面列出的第二个问题,但还有各种其他因素可能会妨碍你:

  • 大多数现代 SSD 都使用写时复制块映射。这意味着,当您向操作系统看到的给定位置写入数据时,您实际上并没有覆盖该位置上已有的数据,而是向设备介质中的新物理位置写入数据,并且可能从旧位置复制一些现有数据。
  • 所有现代 SSD,无论是否使用写时复制块映射,都存在过度配置,并会进行某种形式的损耗均衡。这意味着在任何给定时间点,您实际上都无法访问设备上闪存的每个字节,并且本质上会导致与重新分配坏扇区和擦除硬盘相同的问题。
  • 一些 SSD 使用内联压缩来提高存储效率。这意味着写入每个闪存块的确切数据可能与您尝试写入的数据不同。
  • 一些 SSD 使用内联重复数据删除来提高存储效率。这意味着您写入的任何给定数据块实际上可能不会转化为将任何内容写入设备上的闪存。

考虑到所有这些,如果你真的关心安全性,不要尝试以电子方式擦除 SSD(但如果它是符合 TCG Opal 标准的 SED,如果你信任制造商,就采取这种方式),并且如果硬盘驱动器显示任何过去存在坏扇区的证据,不要试图以电子方式擦除硬盘驱动器。

相关内容