用dd填充磁盘是否安全地删除文件?

我想安全地删除我的文件,而不必担心任何人恢复他们,我知道我可以使用碎片,但它需要很长时间,即使-n 1,所以我想也许如果我删除文件,并使用dd在磁盘上写入,填满所有可用空间我不会用shred对吗? 我相信dd会比碎片更快,特别是我的文件几乎填满了磁盘的大部分可用空间

那么使用dd填充磁盘保证我的文件将被安全地删除?

这将违背互联网上的大多数传统智慧,但在这里,我们走…

如果这是一个现代化的旋转磁盘,dd / dev / zero的简单传递就足以摧毁几乎任何数据恢复的尝试,甚至从专业的数据恢复公司。 用极其昂贵的专用设备(例如政府实验室)提取一些数据是可能的,但几乎任何人都不愿意为你花费数百万美元。 (请注意,这符合任何正式的官方数据处理标准,但它是有效的。)

你在互联网上读到的关于这个话题的大部分智慧的问题是,它比实际的事实更具有城市传奇性。 如果你在这个话题上寻找一个真正的来源,大部分人都会参考1996年发表的一篇论文,指的是MFM / RLL驱动(pre-IDE)。 另外,人们提到的大多数政府的数据销毁标准已经有数十年的历史了。

多次擦除数据后面的逻辑归结为剩余信息可以在盘片上的扇区之间的空间中滞留。 在较旧的驱动器上,扇区的密度相对较低,并且盘片上存在大量空余空间,残留数据可能滞留。 自1996年以来,硬盘容量增加了数量级,而盘面尺寸保持不变。 没有太多的空间可以让数据徘徊。 如果在盘片中有可用的额外空间,驱动器制造商将使用它并向您推销更高容量的磁盘。

这些安全的擦除标准的智慧已被挑选出来 ,而且已经发表的文章表示一次传递就足够了 。

几年前,有人发表了“零大挑战” ,有人用dd和/ dev / zero重写了一个驱动器,并向某人提出了一个公开的挑战来提取数据。 我记得没有采访者。 (免责声明:这个挑战的原始网站现在没有了。)

但是固态硬盘呢? 由于闪存磨损均衡,坏扇区重新映射,垃圾收集以及额外的“隐藏容量”,传统的覆盖方法可能实际上不会覆盖数据(虽然它会出现覆盖到主机上)。 dd和/ dev / zero的单次传递会阻止临时用户读取SSD中的任何数据。 但是,具有逻辑分析仪的专用攻击者可以破解驱动器并从闪存芯片中提取数据。

这个问题刚刚被发现。 所以,ATA标准中增加了一个名为Secure Erase的命令。 驱动器中的固件将安全擦除所有闪存单元。 大多数现代固态硬盘将支持这个命令。 我相信它也适用于旋转驱动器。 请注意,对于最终用户来说,这个命令有时可能会很棘手。 您通常需要一个特殊的实用程序来使用它,一些BIOS实施可以阻碍的“安全冻结”。 请与SSD制造商联系以获取实用程序。 如果他们没有一个你有第三方可能工作。

请注意,有些人对内置在驱动器固件中的安全擦除function的可靠性表示担忧。 2011年发表的一篇论文显示,一些驱动器会在安全擦除之后将数据遗留下来。 请注意,自那时以来,SSD固件已经有了相当的进步。 如果安全擦除对您来说非常重要,我build议您从顶级制造商那里购买驱动器,最好是在其服务器/数据中心产品线(在那里错误的固件不太可能被容忍)购买驱动器。

如果上述情况让您对驱动器上剩余的数据感到紧张,则您的下一个最佳select是多次使用随机数据填充驱动器,因为这将有助于覆盖SSD中多余的隐藏容量,但是您不能绝对确定不知道固件的内部工作。 这也将缩短SSD的使用寿命。

你应该从中拿走什么:

  1. 用dd和/ dev / zero覆盖驱动器或在DBAN中使用单通道选项足以阻止大多数人获取您的数据(SSD或旋转)。
  2. 如果您有旋转驱动器,则可以使用多次擦除方法。 它不会伤害任何东西,但会花费更长的时间。
  3. 如果您有信誉良好的制造商最近推出的复古SSD,则应使用ATA安全擦除命令,最好使用制造商提供的实用程序。
  4. 如果您的驱动器不支持ATA安全擦除(或者称为错误),则多次擦除是您的下一个最佳select。
  5. 如果您需要将驱动器擦除到某个标准(例如,您有一份合同说明数据应该按照DoD 5220.22-M的规定被擦除),那么就这样做,不要争论是否有必要。
  6. 没有什么能击败物理破坏。 如果驱动器上的数据非常敏感,以至于其值超过驱动器本身的现金值,则应该对其进行物理销毁(使用锤子,虎钳,钻床或创意)。 如果你真的是偏执狂,确保驱动器的遗体分散在广泛的区域(例如城市多个地方的多个公共垃圾桶)。

定义“安全”。 你想要这个数据多么糟糕,丢失存储空间会有多痛苦? 如果绝对肯定的数据永远不会再被任何人看到,那么恰当的工具就不会被shred :它是一把大锤。

如果你不需要那么远,那么你可以使用软件,但是问题仍然存在:你认为谁可能需要这些数据,他们有多重要,他们没有得到它? 一个零的传递将停止脚本kiddie,但如果任何人实际上是支付恢复您的数据,他们将不会有太多的麻烦得到它。 一个零的传递,一个传递和一个/ dev / random的传递会使一个坚定的攻击者的生活变得相当悲惨,但是如果他们已经获得了资源并且希望你的数据足够糟糕,那么仍然有办法得到它,并且运行许多传球需要足够长的时间,以至于不pipe怎么样,你都可以使用shred

底线是,如果你真的想要安全,没有理由用dd来擦除东西。 它不会阻止任何复杂的攻击。 如果shred需要比大锤更长的时间,那就用大锤来代替。 如果你不能丢失磁盘空间,那么花点时间使用shred 。 使用dd来达到这个目的只是不够安全。

如果你是覆盖整个磁盘,那么dd应该罚款AFAIAA。 碎片允许安全地删除单个文件,即使您将磁盘上的每个文件都碎片化,也可以保留文件系统。 所以区别在于他们在不同的层面上运作。 Shred需要确定一个特定的文件存储在哪里,并且只能覆盖那一点,这大概是为什么它需要更长的时间。

不,他们不会被安全地删除。 如果用零覆盖磁盘,那么仍然可以恢复数据。 如果使用随机数据(/ dev / random)执行一次,仍然可以恢复数据。 你至less需要用dd覆盖磁盘。 这将花费与shred完全相同的时间(甚至更长)。

所以总结起来,总是需要很多时间,没有快捷的方法。

正如其他人所说,DD不会做你所需要的。 DBAN是一个非常好的工具。 DD不会使文件无法恢复。 即使是DBAN或其他工具也没有100%的保证。 如果您关心数据安全,最好的select是销毁物理介质。

  DBAN is a self-contained boot disk that automatically deletes The contents of any hard disk that it can detect. This method can help prevent identity theft before recycling a computer. It is also a solution commonly used to remove viruses and spyware from Microsoft Windows installations. DBAN prevents all known techniques of hard disk forensic analysis. It does not provide users with a proof of erasure, such as an audit-ready erasure report. 

http://www.dban.org/documentation