这个问题已经在这里有了答案:
- 如何安全格式化固态驱动器? 4个答案
我们的一位客户正在要求SSD的DOD-7 Pass Erase方法。
我们尝试通过Tabernus lan擦拭256 GB(三星制造)的SSD,但这花费了太多时间。
请指导我如何从Tabernus lan 7.3.1版本擦除SSD。
这个问题已经在这里有了答案:
我们的一位客户正在要求SSD的DOD-7 Pass Erase方法。
我们尝试通过Tabernus lan擦拭256 GB(三星制造)的SSD,但这花费了太多时间。
请指导我如何从Tabernus lan 7.3.1版本擦除SSD。
Answers:
多(7)次覆盖重写不会达到您期望在SSD上执行的操作。如果需要,您可以实现它并告诉客户端您已经做了,但是不要指望它会擦除所有数据。
要从常规硬盘中清除数据,您有以下解决方案:
SSD的工作方式不同。它们具有许多分组的块。写只能发生在一个组上。可以将其视为一本只能写到一页的书。如果要添加句子,则SSD的控制器将读取整个页面,并将新页面(带有额外的句子)写入其他位置。然后它将旧页面标记为空并将旧页面编号分配给新页面。
这意味着在OS看到的扇区(页面)和磁盘上的内容之间没有直接映射。
您可以用一个新文件(例如一个仅包含零的文件)填充整个磁盘,并且保留空间不会被触及。因此,仍然有可恢复的数据。您可以执行7次,但仍可以恢复相同的数据。
好消息是,SSD通常附带磁盘加密功能。扔掉加密密钥,数据就一文不值。
更好的消息是,可以始终使用这种数据加密。即使您没有明确启用加密。在那种情况下,磁盘仍会使用存储在SSD上某处的密钥来写加密数据。告诉它丢弃此密钥并用新密钥替换它,就可以完成了。快速安全。
甚至还有一个命令可以执行此操作(ATA安全擦除)。
这是唯一正确的技术解决方案。即使他们坚持要进行7次覆盖,也要这样做(仅这样做是为了使您符合他们的要求,而首先要满足这些要求的意图)。
我没有tabernus lan的经验。但是几乎所有的SSD都会接受超过100MB /秒的持续写入。以这种速度,即使是非常慢的SSD也可以在一个小时内完成。中速固态硬盘应在该时间的五分之一以下完成。
如果您无法达到该性能,那么我怀疑您的解决方案正在逐个扇区进行写操作。那很不好。它应该以32的队列深度尽可能快地刷新扇区。否则,您将从上面进入页面类比。
从写有8个句子的整页开始。
抹掉句子1。
抹去句子2。
抹掉句子3。
抹掉句子4。
抹掉句子5。
抹掉句子6。
抹去句子7。
抹掉句子8。
请注意该文本多长时间了?与SSD速度相同。
您使用的软件显然无法正常运行。您的一张屏幕截图显示速度为97MB / s。以这种速度,在256GB驱动器上进行7次全磁盘覆盖将花费大约5个小时。计算简单。
您可能要尝试使用Blancco 5。如您所见,用于Tabernus Erase LAN的链接被重定向到其站点。您还可以考虑使用最新的DBAN,它似乎是Blannco的免费版本。
老实说,我从未使用过上述任何软件。我怀疑他们真的比简单的随机覆盖做得更好。
我个人在GNU coreutils中使用shred:
shred -v -n 7 /dev/sdX
我不会真正使用-n 7
。最多我将其保留为默认值:3次通过,并可能在末尾(-z
)处额外进行一次单次填充零填充。
或者,openssl:
openssl enc -aes-256-ctr -in /dev/zero -out /dev/sdX -pass file:/dev/urandom -nosalt
您可以编写一个简单的bash循环使其执行多次。它不会报告进度,shred
尽管。
顺便说一下,根据互联网上相当多的随机消息来源(如Google),美国国防部似乎已经废弃了数据清理规范。现在看来只承认物理破坏。
您可能要担心的原因之一是,简单的覆盖可能无法“到达” SSD上的所有后台存储空间,以进行所谓的“过度配置”(在固件中完成)和/或坏扇区的重新分配。不幸的是,多道次的随机数据填充可能是你可以做,如果你的SSD不支持硬件加密的最好的事情。
如果您需要安全擦除数据,请不要指望ATA DSM / TRIM。TRIM可能甚至不能完全擦除SSD的“外观”(即hexdump),但实际上并不会像重写一样破坏后台数据。
也不应真正信任ATA安全擦除1。ACS标准仅要求它执行(单遍)模式填充。普通模式应使用零或一作为模式,而增强模式应使用特定于供应商的模式(但仍在填充模式),并且还应擦除“重新分配的用户数据”。
但是,在未引入ATA SANITIZE DEVICE的情况下,该功能集长期以来一直被供应商滥用以执行非标准任务3。因此,ATA安全擦除的行为可能完全取决于供应商,尤其是在SSD上。
在SSD上,通常将ATA安全擦除与ATA SANITIZE DEVICE的块擦除实现相同,这几乎等效于全磁盘ATA TRIM(在RZAT 2 SSD上)。
固定模式填充(可能会包含在不考虑SSD的“ DOD擦除”的某些实现中)确实不值得做,因为SSD中的“智能”控制器可以进行压缩,甚至可以忽略这种重复覆盖。
如果出于某些原因确实希望这样做,我认为ATA SANITIZE DEVICE的OVERWRITE是最佳的使用方法。(希望如此,供应商将确保当用户向驱动器发布控制器时,控制器不会“发挥聪明”。)
在具有所谓的硬件加密的HDD / SSD上,通常将ATA安全擦除的增强模式与ATA SANITIZE DEVICE的CRYPTO SCRAMBLE相同,从而触发加密密钥的再生。如果您要所谓的安全擦除驱动器,这可能是最好的“快速”方法,因为这几乎就是非Opal硬件加密的全部要点(而人们通常错误地认为其主要要点是使用ATA密码)。
FWIW,在擦除之前总是需要首先启用ATA安全功能集(即“用户密码”),由于实施不当(通常是PEBKAC),这通常会使驱动器变砖。如果驱动器支持ATA SANITIZE DEVICE,则应首选它。不幸的是,与hdparm中支持的ATA安全性不同,似乎还没有实用程序支持最新的功能集。一个人最多可以为此手动形成一个SCSI ATA PASS-THROUGH命令,并sg_raw
在sg3_utils中发送它。
注意:
1 ATA安全擦除的标准命令名称是SECURITY ERASE UNIT,这是ATA安全功能集中的必需命令。
2修剪后返回零数据;请参阅ACS标准的确切定义
3 英特尔530 SATA SSD规范 ; 请参阅“ 5.3安全模式功能集”;主要供应商“滥用” ATA安全功能集的示例
shred
确保擦除SSD和每种文件系统上的数据。从其手册中CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place.
可以得到有关在完整分区上工作时shred如何工作(哪个命令发送)的参考吗?
shred
文件系统上的文件,而不是在shred
分区/磁盘上。
在ATA安全擦除页面之后,此archlinux页面上有关SSD存储器单元清除的建议
- 步骤1-确保驱动器安全性未冻结
- 步骤2-通过设置用户密码来启用安全性
- 步骤3-发出ATA安全擦除命令
一些细节更多
对于步骤1,您可以检查驱动器是否未冻结
hdparm -I /dev/sdX
如果命令输出显示“冻结”,则无法继续进行下一步。某些BIOS通过在启动操作系统之前发出“ SECURITY FREEZE”命令“冻结”驱动器来阻止ATA安全擦除命令。
对于步骤2,请阅读[ 1 ]以获取有关Lenovo计算机的警告:
hdparm --user-master u --security-set-pass PasSWorD /dev/sdX security_password="PasSWorD"
它应该回答类似
/dev/sdX:
Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high
然后再次检查
hdparm -I /dev/sdX
对于步骤3:
hdparm --user-master u --security-erase PasSWorD /dev/sdX
它存在--security-erase-enhanced
用于增强安全性擦除的参数。据报道[ 1 ]即“反过来短时间(如2分钟)表示该装置被自加密和其BIOS功能将擦拭内部加密密钥,而不是覆盖的所有数据单元的”,同时较长的请求的时间应指示未加密的设备。
在加密的设备上,可以为--security-erase
和--security-erase-enhanced
选项报告相同的预期时间。在这种情况下,假定将使用相同的算法[ 3 ]。请注意,对于普通的HDD,增强的参数(除其他差异外)应覆盖甚至不再使用的扇区,因为它们在某个时刻触发了I / O错误并已重新映射。我们应该假设它对于SSD也将以相同的方式起作用,即使该块的数量不应足够大以反映在大于一分钟的时差中。在Security SE的此答案中了解更多信息。
在清除SSD存储单元页面的示例中,对于Intel X25-M 80GB SSD,报告的时间为40秒。
等待命令完成。此示例输出显示,Intel X25-M 80GB SSD花费了大约40秒。
注意:经过3个步骤,驱动器将被擦除,驱动器的安全性应自动设置为“禁用”(因此不需要密码即可访问)。
此过程描述了如何使用hdparm命令向目标存储设备发出安全擦除ATA指令。当对SSD驱动器发出安全擦除操作时,其所有单元将被标记为空,从而将其恢复为出厂默认的写入性能。
免责声明:这将删除您的所有数据,甚至数据恢复服务也将无法恢复。
On occasion, users may wish to completely reset an SSD's cells to the same virgin state they were manufactured, thus restoring it to its factory default write performance.
这就是全部操作,这里的“原始状态”并不意味着安全擦除了数据。
--security-erase
吗?
--security-erase-enhanced
。您知道吗,我有确切的示例磁盘(该死的经典X25-M gen1 / 50nm 80GB)。它不支持硬件加密或TRIM。它(似乎)支持正常模式和增强模式的安全擦除。两者的估计时间相同(2分钟)。现在,猜猜他们有什么不同吗?:P
DISCLAIMER: This will erase all your data, and will not be recoverable by even data recovery services.
由于SSD并不关心您放入的数据传输次数(只是磨损更快),并且在完整传输之后无法进行数据恢复(除非您将数据放入配置空间过大),因此只需写入完全以1表示将删除所有现有数据。
您面临的问题将主要存在于用户无法访问的存储中,例如用于磨损平均化的任何过度验证的空间,任何缓存以及可能包含标识系统,操作系统等数据的NVRAM。
要安全擦除SSD,它需要明确支持,并且目前仍特定于控制器和固件。在这里使用专为磁性介质设计的安全擦除软件毫无意义,因为安全擦除数据的方式基本上与固态存储和磁性存储之间没有关系。理论上,使用磁存储可以恢复位的先前状态,但是对于闪存,位实际上不能具有可以检测到的“先前”状态。它保持0或1,而不保持磁极,强度取决于先前保持的值而变化。
我只是将PCB放在工业搅拌机中,然后将闪存芯片模制成粉末。没有得到任何数据。转售用过的SSD也不是一件真正的事,因为它们还没有HDD那样有很多已知的使用寿命/使用模式。充其量来说,它们具有“穿戴状态” SMART数据。