如何安全擦除 USB 闪存驱动器?

信息安全 数据泄露 USB驱动器 删除 闪存
2021-08-10 08:26:09

我想知道是否有一种方法可以安全地擦除 USB 闪存驱动器,而一旦擦除它就没有机会从中恢复数据。我知道,像 DBAN 这样的程序可用于安全擦除硬盘驱动器,但由于它们的工作方式与基于闪存的驱动器不同,我不确定是否可以使用 DBAN 安全擦除我的 USB 驱动器。

如果无法使用 DBAN,如何擦除 U 盘?

我知道必须使用重置数据单元的程序擦除 SSD,并且通常可以从制造商处获得,但我不知道 USB 闪存驱动器是否也是这种情况。

4个回答

更新:回顾起来,使用随机数据似乎并不是真正必要的,因为在实际攻击中尚未证明对零驱动器进行成功的盘片级“先前状态”攻击。

我为后代留下了下面的参考资料,因为如果您使用随机数据,它在技术上确实可以正常工作,但鉴于仅使用 0 更快,这可能是更合理的选择。


闪存存储,尤其是 SSD,需要先擦除块/单元,然后才能写入更多数据。因此,如果没有实施额外的技术,写作会很慢。

相反,您的驱动器实际上比列出的容量多 10-20% 的存储空间,并且板载内存控制器将动态映射空单元,并在低负载期间擦除未映射的单元。这会产生您遇到的安全问题。

如果没有可以利用内存控制器的工具,您的操作系统就无法在任何给定时间处理每个单元。许多制造商现在提供的工具可以让您管理驱动器并安全地擦除它,但如果您的驱动器没有这样的工具,那么几乎没有完美的解决方法。

除了对管理内存控制器的工具进行逆向工程之外,我所知道的最好的方法是进行多次连续写入。

dd if=/dev/urandom of=/dev/devicename

用随机数据填充驱动器,然后一次又一次地这样做会导致驱动器不断地重新映射单元格,最终您将覆盖足够多的单元格以确保相当安全。连续覆盖越多,您写入每个单元格的机会就越高。

注意:从技术上讲,这些连续覆盖也应该使用传统的 HDD 完成,但原因完全不同。高精度设备可能能够直接从盘片中读取先前的磁性状态以恢复数据。这就是为什么不要用 0 或 1 覆盖很重要的原因,因为这样可以很容易地确定位的先前状态。

为了更容易修复,请将驱动器扔进物理碎纸机。如果您计划转售或重复使用驱动器,显然不是解决方案,但通常是最安全的方法之一。

在不知道您的特定用例的情况下,我将提供一个您可能会觉得有用的替代答案,这是我自己使用的答案。

加密存储在设备上的数据。

  1. 使用内置加密的设备,例如 LOKIT ( http://www.lok-it.net/ )。
  2. 创建一个 TC (TrueCrypt) 容器并将所有数据放入其中。完成后,将密码更改为长随机字符串,然后删除容器。

我意识到这并不能回答你的直接问题,但也许它会给你一些未来的想法。

制作一个充满随机数据的大文件,填充整个设备。删除它然后再做几次。这应该会破坏负载均衡。

加密一张大的噪声图片,使文件大小占据驱动器的大部分。对中等大小的图片和小图片执行相同的操作。将大图片复制到驱动器,如果您有剩余空间,请将较小的图片复制到其中。避免多次将同一文件复制到驱动器。用新的噪声图片重复这个过程。再次重复。
你现在非常安全。在这一点上,我希望只有 NSA 能够解密驱动器中被重复写入的部分。

如果问题是磁性硬盘驱动器,那么答案会有所不同。对于磁性硬盘驱动器,使用旨在执行高级粉碎操作的程序 - 我认为它涉及 11(?)擦除。
如果您想变得可笑,请再重复两次该过程,一次是在高温下(例如 90F 环境温度),然后再次使用计算机在非常低的温度下(例如,50F)。这将有助于将读写头相对于压板移动十亿分之几英寸,从而使边缘边界被擦洗得比其他情况下多一点。只要清除器忽略标记为“坏”的 HD 部分并将坏扇区与好扇区一起清除,这将非常有效。凉爽的?