Ubuntu 如何彻底擦除硬盘,使数据恢复工具无法检索到任何东西?

How to wipe a hard disk completely so that no data recovery tools can retrieve anything?


问题

我怎样才能在Ubuntu中对外部硬盘进行磁盘低级格式化,使任何数据恢复工具如test-disk或photorec在格式化为ext4或任何文件系统后无法检索到任何数据?当我在玩Test disk的时候,我发现它可以恢复几乎所有的旧文件,即使在多次格式化之后,我想把我的外部硬盘当作新的来使用,因为它只有一年的时间,而且在保修期内,但没有任何旧数据。

如果你担心这个,你可能也会担心别人在你的硬盘出现故障时恢复数据...
在该地区找一个专业的碎纸服务。粉碎磁盘,**残余物,买一个新磁盘。
从信息论的角度来看,这是很难的。他们至少能以很高的概率判断出你删除了所有的文件,没有抹去这个事实(很容易。)
答案1

我在出售旧硬盘时使用shred,使用 man shred 了解更多信息:

shred -vzn 0 /dev/xxx

你可以指定n次覆盖,z可以在最后用0全部覆盖。

+1,但我不推荐 -n 0 。毕竟,如果你想让你的数据无法恢复,你应该真的 s hred 它,而不是仅仅覆盖。
安德里亚,你有任何文献表明这是必要的吗?
@AndreaCorbellini 请注意,2006年NIST发表了一份报告(NIST特别出版物800-88第2.3节(第6页))说:"原来一次重写就足够了!" wiki
我的文档并没有指出块状设备可以用于 FILE 。我的是coreutils 8.22的一部分。
我在一个大约50%为NTFS和50%为ext4的双启动磁盘上使用shred时出现了输入/输出错误。这让我更倾向于使用dd。
答案2

现代磁盘实现了 ATA安全擦除功能 。 ,你可以用 hdparm 命令,使用 --security-erase 选项 ,首先在磁盘上设置一个密码后进行。 注意有一些注意事项,包括

  • 可能的固件错误
  • 可能的磁盘控制器超时的长期操作
  • 你不应该通过USB来做

对于一些磁盘,这将需要几个小时,因为每个区块都被重新写入。对其他磁盘来说,这可能需要几秒钟,因为这只是意味着改变磁盘持有的全局加密密钥,该密钥可以透明地加密/解密所有进入/来自磁盘的数据。 这对硬盘和SSD都是如此。固件才是最重要的。

另一篇 文章 也表明 建议 --security-erase 的好处是,它 可能 也会抹掉 3)隐藏区域 HPA 主机保护区域 。 和 DCO 设备配置覆盖

硬盘上?
当然,硬盘上也有。这个命令是在SSD之前发明的。 s tackexchange
有意思,我还以为它只在SSD上工作呢
我在这个SE s ecurity.stackexchange.com/a/5665 中读到,它不一定安全,但一定聊胜于无!
你忘记了NSA可能的后门。
答案3

如果你想完全清除硬盘,最好是使用 dd :

dd if=/dev/zero of=/dev/sdX bs=512 

用你的盘符替换sdX

另一个可能的工具:

这个命令是rm命令的一个替代。它可以在 Linux/BSD/UNIX-like操作系统下工作。它通过以下方式删除每个指定的文件 覆盖、重命名,并在解除链接前截断它。这 这可以防止其他人从命令行中撤销或恢复有关文件的任何信息。 的任何信息。因为它在文件/目录上做了大量的 因为它在文件/目录上做了很多安全删除的操作,所以它也需要大量的 时间来删除它。

dd 可能会在你的硬盘上留下残余的磁性(如果是SSD,则是电荷)。使用 shred 可以用随机数据覆盖几次。
@Philippe 我不会在SSD上使用 shred
你也可以用 cat ,语法更简单。 cat /dev/zero >/dev/sdX . ------ 要想使用 dd 获得稍好的性能,请使用更大的块大小,例如 bs=64k . ( cat 使用这个块大小--默认为64KiB。) ------ GNU dd有一个有用的功能。当你向它发送信号 USR1 时,它会显示统计数据并继续运行: pkill -USR1 -f '^dd if=/dev/zero of=/dev/sdX bs=64k' ( 19) 顺便说一下,你也可以用 /dev/urandom 来代替 /dev/zero 。这将提供随机数据而不是二进制零。不知道这是否会有任何区别,但你可以这样做。
PS:你也许应该至少重复这个命令一到两次,以确保数据不能被恢复。
答案4

这并没有真正回答你的问题,因为你想使用硬盘。然而,这很重要。


如果这确实是非常重要的数据,而且不应该被恢复,那么使用该磁盘就不安全了。苹果公司的Mac电脑提供了35个覆盖功能--他们声称这是政府的要求,但这很复杂:

立即生效,安全部将不再批准用于机密处理的IS存储设备(如硬盘)的消毒或降级(如释放到较低级别的机密信息控制)的覆盖程序。

据认为,一些3字母机构(联邦调查局、中央情报局、军情六处)要求对磁介质进行物理销毁(例如,在熔炉中熔化)。

你确实有几个选择--我过去依靠的是用锤子大量敲击它,然后用磁铁擦拭它。

然而,我是个学生,没有人愿意黑进一个空的银行账户,所以它不需要那么安全。另外,我也不打算把硬盘扔掉--它现在成了小区里的一个捕鸟器。

如果你根据保密协议工作(尤其是那些涉及政府的协议),你需要更安全的东西。我建议用喷灯:

来源,CNET

我的代名词是He / Him

。 我很抱歉,但我没有要求物理销毁或破坏媒体,而是要求覆盖数据,即使在格式化为任何文件系统后仍然存在
@MKC 我知道,答案是物理销毁是唯一100%确定的方法。不过,我当然不指望你能接受这个答案。
我也是一种口袋空空的学生
我是这里的后援会先生,我同意蒂姆的观点:物理销毁是唯一的方法。 彻底融化、粉碎或用12号**枪 射击都不错。其他的都是假的。
我有点困惑,为什么你会提到1991年解体的苏联克格勃,而不是它的 s 继任者。 热剂比喷灯更史诗。 frank.geekheim.de/?p=2423
答案5

Maythux的 dd 命令是一个很好的选择,尽管我在某个地方读到(抱歉没有出处!),用0覆盖,然后用随机写做第二遍,然后在第三遍时归零,这样做很好。

dd 来写随机模式:

dd if=/dev/urandom of=/dev/sdX bs=512

我已经看到一些dd使用较小的块大小(低至bs=4)的例子,我认为这将使写入的随机性稍大,但需要更长的时间。

在使用dd时,要超级小心地选择正确的驱动器,因为如果你犯了错误,就会非常危险

我想你读到的是用0、1,然后用随机模式写入,这就是***5220.22-M的3次方算法
谢谢你的指点@kos,我似乎一直看到有东西说现在单次擦拭就可以了,即 "3次覆盖的神话",很难知道什么是最好的建议
@Arronical 没有证据表明零D数据可以通过任何工具或技术恢复。它从未被公开完成过。
我知道OS X提供了35个写入删除。
区块大小默认为512,比说的慢很多 bs=64k
答案6


在这个问题上有很多方法,也有很多争论;基本上,这是关于支持的类型(磁片或闪存盘)和你信息的敏感性。

真正 敏感的数据只有在物理驱动器被破坏时才可能被认为是无可否认的安全,因为理论上[但不是太多](如果我再设法找到它的话,链接的占位符)实验室方法能够测量支架的磁场/电子场的差异,加上驱动器的固件处理数据的算法知识,甚至能够提取已经被多次覆盖的数据。

然而,对于删除含有个人数据的硬盘来说,上述每一种方法都能很好地应对软件恢复的尝试;然而,可能要注意的是,由于多种原因,使用低级实用程序的方法不适合在SSD上使用。

第一个原因是,写一个基于闪存的存储器(特别是多次)对存储器本身并不真正健康,尽管磨损水平问题被 高度 高估了(特别是在MLC SSD上),即 :

第二个问题是,商业固态硬盘通常会有额外的替换单元,这些单元一开始并没有被硬盘使用,而是用来替代在使用过程中受损的单元。这可能会导致,固态硬盘控制器在硬盘寿命的某个阶段取消映射这些损坏的单元(可能包含敏感信息),使它们在物理上无法被低级工具访问。

所以,如果你使用的是固态硬盘,最好的解决方案可能是坚持使用制造商的ATA SECURE_ERASE 命令实现(如 meuh的答案 中所述),希望这将是足够强大的目的。

到目前为止,只有你涵盖了至关重要的一点 "你需要在事后能够使用该硬盘吗?" 销毁驱动器[工业破碎机和**炉]是最好的。如果做不到这一点,就把盘子拆开并/或用落锯扔出去:尽量瞄准中心轴,以达到最大的破坏力。如果你不能做到这一点,我建议撕掉一面,然后用一个旧的电视消磁棒来随机处理盘片上的数据。
或者你在标准硬盘中得到的磁铁。
答案7

我想阐述一下问题中的一个细节,其他答案都没有涉及到: 低级别的格式化。 在过去,人们对两种类型的磁盘格式化进行了区分:

  • 低级格式化 -- 这是指创建定义磁盘上扇区和轨道的数据结构。
  • 高级格式化 -- 这是指在磁盘上创建一个文件系统。

一些像我这样的腐朽的老傻瓜仍然把我们的句子扭曲成椒盐形状,以避免单独使用 "格式化 "这个词,因为那是有歧义的。多年来,在Unix/Linux世界里,高级格式化总是被称为 创建一个文件系统。 虽然 "格式化 "这个词已经悄悄地进入了这种情况下的各种实用程序。

值得注意的是,据我所知,现代硬盘不支持用户进行低级别的格式化;这项工作是在工厂完成的,一旦磁盘离开工厂就不能再做了。20世纪80年代,甚至90年代初的硬盘确实支持用户进行低级别的格式化,但这些硬盘现在都成了博物馆的展品。如果你的电脑足够老,而且真的有软盘的话,你仍然可以低级格式化软盘。这对于软盘来说通常是必要的,因为不同的计算机(比如说Mac与PC)使用不同类型的低级格式,所以如果你得到一张Mac软盘并想在PC上使用它(反之亦然),你就必须对它进行低级格式化。

另外,几年前我研究过这个问题,我找不到任何实际的工具可以用来恢复被用 dd 清除所有扇区的磁盘上的数据。从理论上讲, 通过拆解磁盘并使用特殊的硬件来读取,是有可能做到的。如果磁盘上有****机密,超过 dd 可能是明智的(许多****机构要求);但我不会担心用超过 dd 的东西来保护你的信用卡号码和Flickr密码,至少在硬盘上不会。固态硬盘使用的是根本不同的技术,我没有深入研究过它们。

答案8

如果你想绝对放心(而且事后还想用它),就给它用 古特曼法

它是矫枉过正的。 标准的三遍覆盖--用0清除,用1填充,然后用随机的字符串覆盖--是业界公认的,而且仍然是 事实上的 对硬盘进行认证消毒的手段。 如果你的硬盘没有坏扇区,并且清除器可以访问所有可寻址的区域--你的数据就没有了。

也许值得注意的是,没有任何商号声称能够恢复先前被覆盖的数据。

事实上,有很好的理由说明一次就足够了。 实际上,只有一种临床情况可以在实验室条件下 "理论上 "恢复数据:通过使用 "某种 "分子磁力显微镜对以前干净的(最好是完整的)硬盘进行测量--测量被认为代表以前逻辑值的残余电荷的微小差异,然后借助概率分析来逐位重建。 这是很模糊的,而且被认为是非常昂贵的--特别是对于较新的硬盘--以至于一些机构是否有能力证明这种尝试是合理的,这是值得怀疑的。 你的数据当然不值得这样做!

过时的硬盘被认为是容易的--但超过一次,恢复的机会接近零。

认为任何机构都能可靠地做到这一点,很可能是一个允许延续的神话,以夸大一个国家的感知能力范围。

相反,仅仅暗示这种数据恢复方法在(后现代)硬盘上不再(或从未)可能,很可能是 使机构和民族国家保持能力不被宣布的 谣言。

所以,如果你想,给它Guttman的可笑的35次擦拭。 甚至更多,先加密,然后扔掉钥匙(又称加密擦除--这种方法本身就足够了)。 如果你想完全放心--把盘子打碎。 如果你是理智的--擦拭三次,或者如果你很快就会再次积极使用它,就擦拭一次。

回答得好;但不是我的要求,所以+1
基于软件的安全擦除的***标准是7次随机数。
答案9

我认为它也许不如专业工具或 dd 或类似的东西安全,但如果你只是需要覆盖整个文件系统的数据部分(!而不是磁盘),你可以正常格式化它,然后创建一个巨大的文件,填充整个空间的

yes "string pattern" > /mnt/device-to-kill/huge-file

这将创建/替换文件 /mnt/device-to-kill/huge-file ,假设你的外部设备被安装为 /mnt/device-to-kill

内容将 string pattern 过度和过度的重复。如果你没有给一个模式作为参数,默认是 y 。该命令不会停止写数据,直到磁盘满了或者你用 Ctrl + C 中止它。

这种方法的 优点 是,即使是没有经验的用户也不会意外地破坏任何东西。如果你在硬盘上指定一个目标文件,它将创建/替换那个文件,并填满你的每一个空闲字节的磁盘空间,这最多只能产生一个崩溃和未保存数据的轻微损失。它不会触及现有的文件。

不过这也是一个 缺点 ,因为你必须先格式化文件系统才能正常删除所有文件,因为该命令只覆盖空闲空间。除此之外,它只能覆盖你的分区/设备的数据部分,而不能覆盖为文件表等保留的部分(FAT、MFT等,取决于你的文件系统)。

结论: 这个命令更适合那些害怕意外销毁更多数据的新手,而不是那些需要110%安全数据销毁的专家。