安全擦除硬盘中的所有数据


106

我将要出售旧台式机,即使使用数据恢复软件重新格式化硬盘后,购买者仍可以使用我的一些敏感信息,我对此持谨慎态度。

如何安全擦拭硬盘驱动器,以使其上的数据无法恢复?

尽管我特别希望获得Windows PC的帮助,但是如果对Mac也有建议的话,也不会受到损害。


3
请注意,从中恢复数据确实很简单。您绝对应该运行某种擦拭实用程序(我敢肯定其他
回答者

4
因此,为什么我问这个问题
乔什·亨特

1
抱歉,我认为您的措辞可能暗示您不确定。我主要是想让其他人阅读它变得清晰起来:)
Blorgbeard

这是不涉及销毁甚至格式化硬盘的Macintosh的配方:http
杰米·考克斯(Jamie Cox)

1
下面是IT安全后谈论:security.stackexchange.com/questions/5749/...
Shadok

Answers:


69

看看达里克的靴子和核弹。这是一张可启动CD,可让您安全地擦除硬盘驱动器。


7
它说:“ DBAN将自动并完全删除它可以检测到任何硬盘的内容。” 也许措辞只是令人困惑:我可以选择一个驱动器擦除它吗?(我要擦除外部驱动器,而不要擦除我的整个计算机。)
Nathan Long 2010年

2
我喜欢偏执狂的DOD选项,但准备浪费一天让计算机完成工作……
wag2639 2010年

2
@GorrillaSandwich:我记得DBAN,它是为您擦除内部硬盘驱动器,它作为启动选项从CD运行。您可能需要将您的案件作为一个单独的问题来询问
wag2639

2
@GorrillaSandwich:DBAN允许您选择启动时要擦除的驱动器。还有就是刚刚消灭一切的选择,但AFAIR它不是在默认情况下。
sleske 2010年

1
如果您的驱动器支持ATA安全擦除(自2001年以来在大多数或所有驱动器上都可用),则DBAN会丢失重新分配的扇区,并且毫无意义(更不用说,不必要地很慢),并且它的算法不适用于SSD。有关更多详细信息,请参见XXL的答案。superuser.com/a/393086/6091

32

Windows7有一个名为的工具cipher.exe,可以擦拭磁盘:

http://www.ghacks.net/2010/06/21/wipe-yopur-drives-securely-with-a-hidden-windows-7-tool/

该命令很简单

  cipher /w:x:\folder 

您可以在其中替换x:\folder要擦除的位置,例如D:\驱动器或C:\Users\Mike Halsey\Music folder


我尝试了2种其他解决方案,而到目前为止,这是最简单且足够好用的解决方案。
jcollum

1
如文章评论以及的文档中所述cipher,该工具本身不会删除任何内容。您必须先删除所有数据,然后cipher再用零和一覆盖所有可用空间。
比约恩·波莱克斯(BjörnPollex)

2
如果密码覆盖了东西……那么首先删除它是错误的方法。只需将密码指向文件夹/文件,它就会用随机噪声覆盖使用的空间(这是已知的,因为文件仍连接到目录),并且在完成密码后,您只需删除(现在充满随机噪声) )文件。首先删除它们是错误的恕我直言。
akira

@akira:它会覆盖文件系统标记为空闲的块(但仍可能包含删除文件,交换文件内容等的痕迹)。首先删除文件是正确的。
Ben Voigt

@BenVoigt:基本上没关系:如果您覆盖一个已知文件(按名称),则sdelete知道要覆盖的块。如果要清除“可用空间”,则sdelete首先尝试分配一个大文件,该文件将占用所有可用的剩余块,并用垃圾填充它们,然后再次释放垃圾文件。
akira

22

好吧,使用诸如DBAN之类的工具被认为是毫无意义的,而且非常耗时。

一般来说,你不会需要做什么,但充满驱动为0x00(零个字节/ NUL)只有一次,这些天,为了可靠地防止原数据的恢复。

进行多次传递是多余的,并且几乎没有用,更不用说用随机数据填充驱动器了。进行此类操作后,尝试还原任何内容的唯一方法是使用原子力显微镜-显然,这是一个极端的过程,即使最小的JPG文件和错误率也要花费数月的时间(false -正)将是巨大的(换句话说-您将不会从中得到任何有意义的东西)。对于更高容量的型号(更高密度的盘片),情况更是如此。

但是,人们只能推测NSA手中可能掌握的技术,因此请牢记这一点来判断所提供的信息。

因此,一种最终的软件方式(快速,可靠和安全)是dd一次运行(零填充):

dd if=/dev/zero of=/dev/sdX bs=1M

或者,如果您想衡量进度:

pv < /dev/zero > /dev/sdX

但是,有一种叫做安全擦除的东西。这是已建立的ATA标准。此功能已集成到驱动器本身中。它不仅比运行dd还要(因为它已经是基于硬件的,并且硬件>软件,从速度来看),而且由于能够清除已重新分配的原始坏扇区,因此它也更加安全!有2种版本:香草版(从2001年开始)和增强版(从2004年开始)。因此,如果您的驱动器大约是10年前制造的,则很可能已经支持此功能。

hdparm --security-set-pass NULL /dev/sdX

hdparm --security-erase NULL /dev/sdX  
hdparm --security-erase-enhanced NULL /dev/sdX

擦除!


1
只需完成答案即可:要运行该dd命令,只需从cd或usb-stick引导任何Linux发行版即可。我可以建议Knoppix基于Knoppix的发行版和grml
jofel 2012年

3
大多数人没有意识到这一点。古特曼(Guttmann)纸上最古老的最新擦拭软件参考资料假定您不知道驱动器类型以及更大的范围。
Journeyman Geek


1
尽管dd评论有疑问,但没有引用参考文献,但是您对DBAN 的评论是不切实际的,并且ATA Secure Erase应该是最受好评的答案。

15

作为无法完全格式化和擦除磁盘并必须放弃操作系统完好无损的计算机所有权(例如辞职和归还笔记本电脑)的情况的补充说明,Scott Hanselman记下了要进行的活动清单永远放弃。

http://www.hanselman.com/blog/TheDevelopersQuittingYourJobTechnologyChecklist.aspx


1
尽管您的回答可能有一些优点,但它不能解决原始问题,因此更适合作为注释。有人可以简单地运行文件恢复程序来从“清除的”浏览器缓存中恢复文件,等等。如果要采用这种方式,则需要做更多的事情:在清单中做所有事情,对驱动器进行镜像(不要在磁盘上找到)。块级,而是压缩费用空间),运行ATA Secure Erase,然后将映像恢复到驱动器上。

13

不用担心安全删除数据,替代方法可能是购买新的硬盘驱动器,然后在该硬盘上进行全新安装。

然后,您可以将旧硬盘驱动器保留一段时间,以防万一您忘记备份某些东西,最终将其作为新计算机中的第二个(或第三个!)驱动器进行回收。


1
这个答案并没有真正解决问题的“安全擦除”部分。作为评论更合适。
landroni 2014年

@landroni-的确如此,但这是一种替代解决方案,可将任何潜在的敏感数据保留在所有者(而不是其他人)的手中。它在2009年也有所增加,当时情况略有不同(那时甚至可能没有添加评论的能力)。
克里斯·F(ChrisF)2014年

8

美国国家标准技术研究所有一些媒体消毒准则(PDF)。有关于清除硬盘的部分:

使用安全擦除清除。可从加利福尼亚大学圣地亚哥分校(UCSD)CMRR网站下载 Secure Erase软件。


4
试了一下 有问题。
jcollum 2010年

1
-1:基于旧数据标准的错误建议,并且两个链接均已失效。
JakeGould

6

对于Mac,另一个建议是使用Apple的Disk Utility程序。它包含在OS X安装光盘中,因此,如果从该光盘启动,则可以打开“磁盘工具”,选择驱动器,然后将其擦除(有一些选项可以覆盖数据等次数)。


我认为这属于OP问题的“即使在重新格式化之后”部分。也就是说,它不够安全。
Telemachus

4
实际上,“用于覆盖数据多少次的选项”实际上使您可以安全地擦除驱动器。您可以选择“用零覆盖”(不安全),“覆盖7次”(DoD 5220.22-M-标准)和“覆盖35次”(DoD 5220.22-M-标准* 5?)。
lajuette 2010年

2
只要确实覆盖,一次覆盖就足够了。这就是NIST论文说应验证覆盖的原因。security.stackexchange.com/a/92402/79386
Datarecovery.com MK 2015年

2

如果您可以使用(或愿意购买)适当的设备,则可能需要考虑对驱动器进行消磁。一些组织在重新使用,出售或赠送机器之前要求这样做。

您应该意识到,这很可能使驱动器无法使用。


1

另外,如果您碰巧拥有许多重要数据,则最简单,最快的方法就是物理破坏介质。与使用随机二进制模式重写1TB磁盘15次相比,大锤的打击要简单得多。


2
以及更多的乐趣:p
Svish

4
如果他接受您的建议,我认为他将不能够将其作为二手商品出售。
icelava

3
“完整的PC待售。除了硬盘没了。” 听起来不像是一件有益的事情;-)
icelava

1
“硬盘稍微用了”。那里。
Manu

6
@brice-如果有人将您的硬盘切碎后才能够并愿意重建硬盘以获取您的信息,那么您就不应该在公共网站上问这样的问题,也不应该出门在外卫星也可以看到您。但是可以的,一定是将盘子浸入酸中,然后切碎,然后燃烧切碎,然后将灰烬磨成粉末,然后将糖粉包衣,然后喂给昆虫。
内森·朗

1

diskpart 可用于将整个磁盘归零

  1. 以admin身份运行cmd,然后运行 diskpart
  2. 用选择要擦除的磁盘(例如磁盘0)select disk 0。您可以通过运行获取磁盘号list disk
  3. clean all

    DISKPART> help clean
    
         Removes any and all partition or volume formatting from the disk with
         focus.
    
    Syntax:  CLEAN [ALL]
    
        ALL         Specifies that each and every byte\sector on the disk is set to
                    zero, which completely deletes all data contained on the disk.
    
        On master boot record (MBR) disks, only the MBR partitioning information
        and hidden sector information are overwritten. On GUID partition table
        (GPT) disks, the GPT partitioning information, including the Protective
        MBR, is overwritten. If the ALL parameter is not used, the first 1MB
        and the last 1MB of the disk are zeroed. This erases any disk formatting
        that had been previously applied to the disk. The disk's state after
        cleaning the disk is 'UNINITIALIZED'.
    

format也可以使用该/P选件擦除单个驱动器。例如,将D:驱动器格式化为NTFS并用零擦拭两次,您可以使用format D: /fs:ntfs /P:2

C:\> format /?
Formats a disk for use with Windows.

FORMAT volume [/FS:file-system] [/V:label] [/Q] [/L[:state]] [/A:size] [/C] [/I:state] [/X] [/P:passes] [/S:state]
FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes]
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes]
FORMAT volume [/V:label] [/Q] [/P:passes]
FORMAT volume [/Q]
...
  /P:count        Zero every sector on the volume.  After that, the volume
                  will be overwritten "count" times using a different
                  random number each time.  If "count" is zero, no additional
                  overwrites are made after zeroing every sector.  This switch
                  is ignored when /Q is specified.

0

此命令将用二进制0完全填充硬盘驱动器。 运行此命令的次数越多,擦除驱动器的安全性就越高。

sudo dd if=/dev/zero of=/dev/rdisk3 bs=4096
#               ^            ^           ^
#     Binary data      add the r     optimal MacBook Pro block size

使用检查磁盘diskutil listdisk带的前缀r。检查您的最佳块大小stat -f "%k" .

对我来说,这需要大约20分钟才能充满250GB的硬盘。在命令完成之前,您将看不到进度。如果要查看进度,可以更新dd brew install coreutils并使用

sudo gdd if=/dev/zero of=/dev/rdisk3 bs=4096 status=progress
#    ^                                         ^
# note the g

1
“运行此命令的次数越多,擦除驱动器的安全性就越高。” Fantasy。现实情况是现代硬盘驱动器的磁道是如此紧密,以至于老式擦拭多次的智慧是无用的活动。您在旧驱动器上执行此操作的唯一原因是磁道之间有足够的空间,如果一个驱动器磁头稍稍移位,您可能会拾取剩余的磁性区域。2001年之后的建议毫无用处。有关更多详细信息,请参见此处
JakeGould

0

在计算机上安装Python后,我将python filldisk.py使用以下文件:

import numpy as np
size = 256*1024*1024  # starts with 256 MB files
i = 0
while True:
    try:
        with open(str(i), 'wb') as f:
            f.write(np.random.bytes(size))
        i += 1
    except:
        print('Too big, trying new size: %i' % size)
        size /= 2
        if size == 0:
            print('Finished')
            break

它开始根据需要将多达256 MB的文件填充到磁盘中。当没有空间可用于新的256 MB文件时,它将尝试填充128 MB,64 MB,...,32字节,16字节,... 1字节文件。最后,磁盘已装满随机数据二进制文件。


在3行中用n个1 GB AVI电影副本填充磁盘的另一种解决方案:

import shutil
for i in range(10000): 
     shutil.copy('c:\\movie.avi', 'file%i' % i)

最后,磁盘上的可用空间可能少于1,您可以通过复制/粘贴各种文件(越来越小)来填充它,并且在某个时候您会看到类似“ 0字节的剩余磁盘空间”的信息。 /磁盘已满”


这两种方法相当粗糙,但是:

  • 我确切地知道它的作用:它写入磁盘的全部内容

  • 它使我无需安装有时是“黑匣子”的第三方工具即可完成操作(不知道它的作用)

  • 它也适用于Windows(其他解决方案dd不适用于Windows),并且不需要在可启动的USB闪存驱动器(如dban软件...)上重启。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.