什么是好的安全文件删除软件?

信息安全 视窗 删除 文件系统
2021-08-14 16:15:59

我已经使用cipher \wWindows 内置的来覆盖可用空间,但我正在寻找一种可以安全删除尚未删除的文件的工具。如果它可以选择安全地删除浏览器历史记录/缓存页面,那将是一个加分项(但肯定不是必需的)。

我以前用过 CCleaner 和 Acronis Privacy Suite,但我听说 CCleaner 搞砸了 FireFox,并且不再支持 Acronis 的产品。有什么建议?

2个回答

删除文件的问题在于文件数据只是真正保存到磁盘上的一小部分。在现代文件系统上,磁盘周围会有大量元数据和其他工件:

  • 日志文件系统上的日志条目,例如 NTFS、ext3、ext4。
  • 搜索索引条目。
  • 预取/超取缓存条目。
  • 影子副本。
  • 图像缩略图缓存,例如 WinXP 的 thumbs.db / Win7 的缩略图数据库。
  • 临时文件,例如来自 ZIP/RAR 提取的文件。
  • 备用数据流 (ADS),例如 EFS FEK 描述符。
  • COM/.NET 对象注册数据。
  • SSD / USB 闪存驱动器上的磨损均衡扇区。

这提出了一个挑战。简单地安全地删除文件数据只会导致该数据被删除。无法保证元数据不会包含敏感数据,甚至不能保证重建整个文件或将其哈希值与已知明文的哈希值相匹配。

例如,即使文件被删除,我们也可能能够检测到以下内容:

  • 文件的名称以及创建/删除/修改的时间。
  • 来自索引数据库的文件的加密哈希(或校验和,例如 CRC32)。
  • 来自搜索内容索引的文件中某些单词或短语的出现。
  • 公司名称、产品名称、COM 对象接口、.NET 命名空间等(如果它是 PE 可执行文件)。
  • 如果文件是图像,则为缩略图。
  • 来自潜在备用数据流的各种元数据。
  • 来自临时文件和损耗均衡扇区的部分明文。
  • 从卷影副本或临时文件中恢复整个纯文本。

识别它们的位置并适当地删除它们很麻烦,在某些情况下甚至可能是不可能的。您可以做的最好的事情是手动检查并清除所有备份、删除文件、清除缓存、擦除缩略图数据库,然后执行cipher /W一遍以确保大部分内容被擦除。不幸的是,即使这样也不能保证任何事情,因为其中一些存储在文件和结构中,这些文件和结构只是被修剪或修改而不是正确删除,从而导致数据块与结构取消链接但未擦除。

那么我们怎样才能绕过这个呢?唯一真正的方法是使用全盘加密。使用TrueCrypt 之类的行业标准来加密您的整个硬盘,并使用强密码。即使这在具有磨损均衡的 SSD 上也不是 100% 万无一失(在这种情况下,TRIMSecure Erase是不错的选择),但只要您不担心政府在恢复您的数据。

当然,如果你真的很偏执,唯一有保证的解决方案是完全物理破坏这通常使用工业磁盘粉碎机来实现,该粉碎机将磁盘物理切割成小立方体,并且通常需要通过强磁场。出于政府和军事目的,这些立方体通常在之后在熔炉中熔化以进行良好的测量。

sdelete来自 Microsoft Sysinternals 的 CLI 实用程序:

https://technet.microsoft.com/en-us/sysinternals/sdelete.aspx

您既可以使用 SDelete 安全地删除现有文件,也可以安全地擦除磁盘未分配部分中存在的任何文件数据(包括已删除或加密的文件)。SDelete 实施了美国国防部清除和消毒标准 DOD 5220.22-M,让您确信一旦使用 SDelete 删除,您的文件数据就会永远消失。

sdelete 安全地删除文件内容以及文件分配表中的文件名:

要覆盖您删除的文件的文件名,SDelete 会重命名该文件 26 次,每次将文件名的每个字符替换为一个连续的字母字符。例如,“foo.txt”的第一个重命名为“AAA.AAA”。