安全擦除硬盘的最佳算法是什么?

安全擦除硬盘的最佳算法是什么?

擦除软件中有很多安全擦除算法,这些算法中哪些是比较好的呢?

答案1

免责声明:本建议大部分适用于带有未加密数据的旋转金属(传统 HDD)。

你想有多偏执?一个不熟练的攻击者不太可能克服哪怕是一次零传递。一个三字母机构可能有能力恢复一些数据,即使在用模式或随机数据覆盖后也是如此。或者没有。谁知道呢,据我所知,他们没有谈论他们的能力。

即使您使用各种模式和随机数据进行了数十次尝试,您仍可能会有一些数据碎片停留在重新分配的坏扇区上。如果没有驱动器固件和制造商/自定义工具的帮助,您可能无法擦除这些数据碎片。如果敏感数据曾经以未加密的形式存在于驱动器上,那么保证这些数据消失的唯一方法就是彻底销毁驱动器(机械粉碎等)。处理机密数据的机构通常与驱动器制造商有特殊的保修协议,这样他们只需退回驱动器的顶盖即可。

在我看来,如今你能对旋转金属做的最好的事情就是用至少一次随机位进行覆盖。如果使用了完整的驱动器加密,这可能已经足够了。如果敏感数据在未加密的驱动器上,并且你担心有老练的攻击者,你可以考虑彻底销毁。

正如人们指出的那样 (rob),有一个 ATA 安全擦除命令。对于不熟练的攻击者来说,它可能没问题。

正如 Hennes 所指出的,SSD 是一种完全不同的生物。如果制造商提供的软件具有某种擦除功能,请使用它(或 ATA 命令,希望他们提供适合其设备的自定义实现)。使用模式覆盖会缩短设备的使用寿命,谁知道物理层面到底发生了什么,固件会做它想做的事(磨损均衡、备用单元、写入优化等),因此不能保证您已经清除了所有单元。

至于实现,DBAN(参见 ioSamurai 的帖子)可能是最简单的跨平台解决方案,具体取决于目标设备的连接方式。在 Windows 上,我使用了 Eraser(heide.ie),但还有很多选择。OS X 也是如此。Linux 的限制更多一些,但如果没有其他选择,您可以在原始设备上使用 dd 和 /dev/urandom 完成工作(或者,为了增加警惕性,使用您选择的 RNG,我使用了 ISAAC,OS X /dev/random 使用 Yarrow)。

答案2

旧驱动器曾经存在常见故障,这就是为什么许多传统安全 HDD 擦除程序包含“多次传递”等选项。当今的驱动器不易出现此问题,一次传递零/随机字节就足够了。

检查启动和核实:http://www.dban.org/

答案3

据我所知,没有“最佳”算法。只需用随机字节覆盖即可一次对于硬盘来说应该足够了(不一定是 SSD)。即使多次覆盖也没有被证明比一次覆盖更有用。特别是,请查看下面的批评文章古特曼方法

磁盘应多次覆盖的说法源自磁带驱动器时代。因此,这可能仍然适用于您的备份磁带。

您应该通过您最喜欢的搜索引擎查看“伟大的零挑战”。基本上,确实有机会猜对单个位的原始内容。但是,如果您对概率稍有了解,您就会知道如果我们谈论的是八位(即一个字节),更不用说千兆字节的数据,这意味着什么。

答案4

最好的方法是“(增强型)安全擦除”,它就是为此目的而开发的。由于它是 ATA 功能集的一部分,因此它既适用于 HDD,也适用于 SSD。如果您比较谨慎,可以多次运行(增强型)安全擦除。

最简单的使用方法是制作您最喜欢的 Linux 发行版的 Live CD/USB,然后运行 ​​hdparm。这非常简单。您可以按照以下指南操作: https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase

笔记:

安全擦除会用二进制零覆盖所有用户数据区域。增强型安全擦除会将预定的数据模式(由制造商设置)写入所有用户数据区域,包括因重新分配而不再使用的部门

相关内容