为什么你不能“安全地删除”一个文件,该怎么做呢?

一些实用程序有一个“安全删除”选项,承诺从你的硬盘上安全地删除一个文件,移除它的所有痕迹。老版本的MacOSX有一个“安全清空垃圾桶”选项,试图做类似的事情。苹果最近取消了这一功能,因为它在现代硬盘上不能可靠地工作。

“安全删除”和“安全清空垃圾”的问题在于它提供了一种错误的安全感。与其依赖这些创可贴和文件删除解决方案,不如依赖全磁盘加密。在完全加密的磁盘上,已删除和未删除的文件都受到保护。

为什么要创建“安全删除”选项

相关:为什么可以恢复已删除的文件,以及如何防止它

传统上,从机械硬盘上删除文件实际上并不会删除该文件的内容。操作系统会将该文件标记为已删除,数据最终会被覆盖。但该文件的数据仍在硬盘上,文件恢复工具可以扫描硬盘以查找删除的文件并将其恢复。这在USB闪存驱动器和SD卡上也是可能的。

如果您有敏感数据-例如,商业文档、财务信息或纳税申报单-您可能会担心有人从硬盘或可移动存储设备中恢复这些数据。

安全文件删除工具的工作原理

“安全删除”实用程序试图通过不仅删除文件,而且用零或随机数据覆盖数据来解决此问题。理论上说,这应该会让人无法恢复被删除的文件。

这有点像擦除硬盘。但是,当您擦除驱动器时,回车驱动器会被垃圾数据覆盖。当您安全删除文件时,该工具会尝试仅用垃圾数据覆盖该文件的当前位置。

像这样的工具随处可见。流行的CCleaner实用程序包含一个“安全删除”选项。微软提供了一个“sdelete”命令供下载,作为Sysinterals实用程序套件的一部分。旧版本的MacOSX提供了“安全清空垃圾桶”功能,而MacOSX仍然提供了安全删除文件的“srm”命令。

为什么它们不能可靠地工作

这些工具的第一个问题是,它们只会尝试覆盖当前位置的文件。操作系统可能在多个不同位置制作了此文件的备份副本。您可以“安全地删除”财务文档,但其较旧版本可能仍存储在磁盘上,作为操作系统以前版本功能或其他缓存的一部分。

但是,假设你可以解决这个问题。这是有可能的。不幸的是,现代驱动器有一个更大的问题。

使用现代固态硬盘,硬盘的固件会将文件数据分散在硬盘上。删除文件将导致发送“TRIM”命令,SSD最终可能会在垃圾收集期间删除数据。安全删除工具可以告诉SSD用垃圾数据覆盖文件,但SSD控制垃圾数据的写入位置。该文件将显示为已删除,但其数据可能仍隐藏在驱动器上的某个位置。安全删除工具在固态硬盘上不能可靠地工作。(传统观点认为,启用Trim后,当您删除文件时,SSD会自动删除其数据。这不一定是真的,而且要复杂得多。)

多亏了文件缓存技术,即使是现代的机械驱动器也不能保证使用安全的文件删除工具正常工作。驱动器试图变得“智能”,而且并不总是有办法确保文件的所有位都被覆盖,而不是分散在驱动器上。

您不应该尝试“安全删除”文件。如果您有想要保护的敏感数据,不能保证这些数据会被擦除并且无法恢复。

如何取而代之

您应该只启用文件驱动器加密,而不是使用安全文件删除工具。Windows 10在许多新PC上启用了设备加密,Windows专业版也提供BitLocker。MacOSX提供FileVault加密,Linux提供类似的加密工具,Chrome OS默认是加密的。

当您使用全驱动器加密时,您不必担心有人访问您的驱动器并扫描它以查找删除的文件。他们不会有加密密钥,所以即使是被删除的文件的比特对他们来说也是不可理解的。即使一些被删除的文件留在驱动器上,它们也会被加密,看起来就像是随机的胡说八道,除非有人有加密密钥。

即使您有一个未加密的驱动器,其中包含您要清除的敏感文件,并且您即将处理该驱动器,您最好擦除整个驱动器,而不是尝试只擦除敏感文件。如果它非常敏感,你最好把硬盘完全销毁。

只要您使用加密,您的文件就应该受到保护。假设您的计算机已关机,并且攻击者不知道您的加密密钥,他们将无法访问您的文件-包括已删除的文件。如果您有敏感数据,只需加密您的驱动器并正常删除文件,而不是试图依赖安全删除工具。它们在某些情况下可能会起作用,但往往会提供一种错误的安全感。现代硬盘不能可靠地进行安全文件删除。

相关文章