我们的一位客户要求对 SSD 使用 DOD-7 Pass Erase 方法。
我们尝试通过 Tabernus lan 擦除 256 GB SSD(三星制造),但它花费了太多时间。
请指导我如何从 Tabernus lan 7.3.1 版本擦除 SSD。
Hen*_*nes 63
多次 (7) 遍覆盖擦除不会执行您期望在 SSD 上执行的操作。如果需要,您可以实施它并告诉客户您已经这样做了,但不要指望它会擦除所有数据。
要清除传统硬盘中的数据,您有以下解决方案:
SSD 的工作方式不同。它们有许多分组的块。写入只能发生在一个组中。把它想象成一本书,你只能在一页上写字。如果您想添加一个句子,那么 SSD 的控制器将读取整个页面并将一个新页面(带有额外的句子)写入不同的位置。然后它将旧页面标记为空并将旧页码分配给新页面。
这意味着操作系统看到的扇区(页面)与磁盘上的内容之间没有直接映射。
您可以用一个新文件(比如只包含零的文件)填充整个磁盘,并且不会触及保留空间。所以仍然有可恢复的数据。您可以这样做 7 次并且仍然可以恢复相同的数据。
好消息是 SSD 通常带有磁盘加密。丢掉加密密钥,数据就一文不值。
更好的消息是这种数据加密总是可以使用的。即使您没有明确启用加密。在这种情况下,磁盘仍会使用存储在 SSD 上某处的密钥写入加密数据。告诉它扔掉这把钥匙并用一把新的钥匙代替它,你就完成了。它快速且安全。
甚至有一个命令可以执行此操作(ATA 安全擦除)。
这是唯一正确的技术解决方案。即使他们坚持要覆盖 7 次,也要这样做(只做后者是为了满足他们的要求,而前者是为了满足这些要求的意图)。
我没有使用 tabernus lan 的经验。但几乎所有 SSD 都可以接受超过 100MB/秒的持续写入。以这种速度,即使是非常慢的 SSD 也应该在一小时内完成。中速 SSD 的完成时间应该不到该时间的五分之一。
如果您的性能远未达到,那么我怀疑您的解决方案正在逐个扇区地进行写入。那很不好。它应该在队列深度为 32 的情况下尽可能快地刷新扇区。否则,您将进入上面的页面类比。
从写满 8 句话的整页开始。
擦掉句子1。
擦句子2。
擦句子 3。
擦句子4。
擦掉句子 5。
擦掉句子 6。
删除句子 7.
擦掉句子 8.
请注意该文本有多长?SSD速度也是一样。
Tom*_*Yan 10
您使用的软件显然无法正常工作。您的其中一张屏幕截图显示速度为 97MB/s。以这种速度,在 256GB 驱动器上进行 7 次全盘覆盖应该需要大约 5 个小时。简单的计算。
您可能想尝试使用Blancco 5。如您所见,用于 Tabernus Erase LAN 的链接被重定向到其站点。您还可以考虑最新的DBAN,它似乎是 Blannco 的免费版本。
老实说,我从未使用过上述软件的任何部分。我怀疑他们真的比简单的随机覆盖做得更好。
就个人而言,我在 GNU coreutils 中使用 shred:
shred -v -n 7 /dev/sdX
Run Code Online (Sandbox Code Playgroud)
不过我真的不会用-n 7。我最多将其保留为默认值:3-pass,并且可能在末尾添加一个额外的单遍零填充 ( -z)。
或者,openssl:
openssl enc -aes-256-ctr -in /dev/zero -out /dev/sdX -pass file:/dev/urandom -nosalt
Run Code Online (Sandbox Code Playgroud)
您可以编写一个简单的 bash 循环来使其执行多次传递。它不会像这样报告进度shred。
顺便说一下,根据互联网上相当多的随机来源(请谷歌),美国国防部似乎已经过时了数据清理规范。现在它似乎只承认物理破坏。
您担心的可能原因之一是,简单的覆盖可能无法“到达”SSD 幕后的所有保留空间,用于所谓的过度配置(在固件中完成)和/或坏扇区重新分配. 不幸的是,多道次的随机数据填充可能是你可以做,如果你的SSD不支持硬件加密的最好的事情。
如果您需要安全擦除数据,请不要指望 ATA DSM/TRIM。TRIM 可能甚至可能不会使 SSD“看起来”(即十六进制转储)完全擦除,但它实际上并不会像覆盖那样破坏幕后的数据。
人们也不应该真正信任 ATA Secure Erase 1。ACS 标准仅要求它执行(单程)图案填充。正常模式应该有零或一作为模式,而增强模式应该有一个供应商特定的模式(但它仍然是模式填充)并且还擦除“重新分配的用户数据”。
然而,当 ATA SANITIZE DEVICE 尚未推出时,该功能集长期以来一直被供应商滥用于做非标准的事情3。因此 ATA 安全擦除的行为完全取决于供应商,尤其是在 SSD 上。
在 SSD 上,ATA 安全擦除通常与 ATA SANITIZE DEVICE 的 BLOCK ERASE 实现相同,这几乎相当于全盘 ATA TRIM(在 RZAT 2 SSD 上)。
固定模式填充(可能会被纳入一些没有考虑 SSD 的“DOD 擦除”实现)实际上并不值得做,因为 SSD 中的“智能”控制器可以进行压缩,甚至可以忽略这种重复覆盖。
如果真的想这样做,出于某种原因,我认为 ATA SANITIZE DEVICE 的 OVERWRITE 是最好的使用方法。(因为,希望供应商将确保当用户向驱动器发出控制器时,控制器不会“智能播放”。)
在具有所谓硬件加密的 HDD/SSD 上,ATA Secure Erase的增强模式通常与 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 Secure Erase 的标准命令名称是 SECURITY ERASE UNIT,这是 ATA Security 功能集中的强制性命令
2修整后归零数据;请参阅 ACS 标准以了解其确切定义
3 Intel 530 SATA SSD规格;参见“5.3 安全模式功能集”;主要供应商“滥用”ATA 安全功能集的示例
从这个关于SATA 安全擦除页面之后的SSD 内存单元清除的archlinux 页面,建议
- 步骤 1 - 确保驱动器安全性没有被冻结
- 步骤 2 - 通过设置用户密码启用安全性
- 步骤 3 - 发出 ATA 安全擦除命令
一些细节更多
对于第 1 步,您可以检查驱动器是否没有被冻结
hdparm -I /dev/sdX
Run Code Online (Sandbox Code Playgroud)
如果命令输出显示“frozen”,则无法继续下一步。某些 BIOS 通过发出“SECURITY FREEZE”命令在启动操作系统之前“冻结”驱动器来阻止 ATA 安全擦除命令。
对于第 2 步,请阅读 [ 1 ] 以了解与 Lenovo 计算机相关的警告:
hdparm --user-master u --security-set-pass PasSWorD /dev/sdX security_password="PasSWorD"
Run Code Online (Sandbox Code Playgroud)
它应该回答类似
/dev/sdX:
Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high
Run Code Online (Sandbox Code Playgroud)
然后再次检查
hdparm -I /dev/sdX
Run Code Online (Sandbox Code Playgroud)对于第 3 步:
hdparm --user-master u --security-erase PasSWorD /dev/sdX
Run Code Online (Sandbox Code Playgroud)
它存在--security-erase-enhanced 用于增强安全擦除的参数。据报道[ 1 ]即“反过来短时间(如2分钟)表示该装置被自加密和其BIOS功能将擦拭内部加密密钥,而不是覆盖的所有数据单元的”,同时较长的请求的时间应指示未加密的设备。
On encrypted devices the same expected time can be reported for the --security-erase and --security-erase-enhanced option. In this case it is supposed that it will be used the same algorithm [3]. Note that for the normal HDD the enhanced parameter, among the other differences, should overwrites even sectors which are no longer used because they triggered an I/O error at some point and were remapped. We should assume it will act in the same way for the SSD too, even because the number of this blocks should be not enough big to be reflected in a time difference bigger then a minute. Read more in this answer on Security SE.
In the example case of the SSD memory cell clearing page, for the Intel X25-M 80GB SSD it is however reported a time of 40 seconds.
Wait until the command completes. This example output shows it took about 40 seconds for an Intel X25-M 80GB SSD.
Note: after the 3 steps the drive is erased and the drive security should automatically be set to disabled (thus not requiring a password for the access).
From the ATA secure Erase page:
This procedure describes how to use the hdparm command to issue a Secure Erase ATA instruction to a target storage device. When a Secure Erase is issued against a SSD drive all its cells will be marked as empty, restoring it to factory default write performance.
DISCLAIMER: This will erase all your data, and will not be recoverable by even data recovery services.
| 归档时间: |
|
| 查看次数: |
32293 次 |
| 最近记录: |