解决方法
如果这是一个现代的旋转磁盘,使用/ dev / zero简单传递dd足以阻止几乎任何数据恢复尝试,即使是来自专业数据恢复中心.有可能用极其昂贵的专业设备(例如政府实验室)提取一些数据,但是那些不愿意花费数百万美元的人几乎无法接触到这些数据. (请注意,这不符合任何官方声音的政府数据处理标准,但它有效.)
你在互联网上读到的关于这个话题的大部分智慧的问题在于,它更像是城市传奇而不是实际.如果您在这个主题上寻找实际的来源,大多数人会回到a paper that was published in 1996,并指的是MFM / RLL驱动器(预IDE).此外,人们提到的大多数政府数据销毁标准已有数十年的历史.
擦除数据的多次通过背后的逻辑归结为剩余信息可以在sectors on a platter之间的空间中停留的想法.在较旧的驱动器上,扇区的密度相对较低,并且在盘片上存在大量空白空间这些残留数据可以流连忘返自1996年以来,硬盘容量增加了几个数量级,而盘片大小保持不变.在盘片中没有那么多的空白空间,数据不再存在.如果盘片中有可用的额外空间,驱动器制造商将使用它并向您出售更高容量的磁盘.
这些安全擦除标准has been picked apart的智慧和已发表的论文称为a single pass is enough.
几年前,有人发布了Great Zero Challenge,其中有人用dd和/ dev / zero覆盖了一个驱动器,并向某人提出了一个公开的挑战来提取数据.我记得没有接受者. (免责声明:此挑战的原始网站现已消失.)
但固态硬盘怎么样?由于闪存磨损均衡,坏扇区重映射和垃圾收集以及额外的“隐藏容量”,传统的覆盖方法实际上可能不会覆盖数据(尽管它会被覆盖到主机PC).使用/ dev / zero的dd单次传递将阻止临时用户从SSD读回任何数据.但是,拥有logic analyzer的专用攻击者可以破解驱动器并从内部的闪存芯片中提取数据.
刚才发现了这个问题.因此,在ATA标准中添加了一个名为Secure Erase的命令.驱动器中的固件将安全擦除所有闪存单元.大多数现代SSD都支持此命令.我相信它也适用于旋转驱动器.请注意,对于最终用户来说,此命令有时可能很棘手.您通常需要一个特殊的实用程序来使用它,一些BIOS实现可能妨碍的“安全冻结”.请咨询SSD制造商以获取实用程序.如果他们没有,你可以使用第三方.
请注意,有些人对驱动器固件中内置的安全擦除功能的可靠性提出了担忧. a paper published in 2011显示一些驱动器在安全擦除后会留下数据.请注意,从那时起SSD固件已经发展了很多.如果安全擦除对您来说是一项重要功能,我建议您从顶级制造商处购买驱动器,最好是在其服务器/数据中心系列中购买驱动器(不太可能容忍错误的固件).
如果上面让您对驱动器上剩余的数据感到紧张,那么您的下一个最佳选择是使用随机数据多次填充驱动器,因为这有望覆盖SSD中的多余隐藏容量,但您无法确定不了解固件的内部工作原理.这也会缩短SSD的使用寿命.
你应该从中得到什么:
>使用dd和/ dev / zero覆盖驱动器或DBAN中的单通道选项足以阻止大多数人获取数据(SSD或旋转).>如果您有旋转驱动器,则可以使用多次擦除方法.它不会伤害任何东西,但需要更长的时间.>如果您拥有来自信誉良好的制造商的近期老式SSD,则应使用ATA安全擦除命令,最好使用制造商提供的实用程序.>如果您的驱动器不支持ATA安全擦除(或已知有错误),则多次擦除是您的下一个最佳选择.>如果您需要将驱动器擦除到某个标准(例如,您有合同表示数据将按照DoD 5220.22-M进行删除),请执行此操作,不要争论是否有必要.>没有什么比物理破坏更好的了.如果驱动器上的数据非常敏感,其值超过驱动器本身的现金价值,则应进行物理销毁(使用锤子,虎钳,钻床或创造性).如果你真的是偏执狂,请确保驱动器的遗骸分散在很大的区域(例如,城市的多个地方有多个公共垃圾桶).