据我所知,当我删除(不使用回收站)文件时,其记录将从文件系统目录(FAT/MFT/等...)中删除,但文件占用的磁盘扇区的值保持不变,直到这些扇区被重新用于写入其他内容。当我使用某种已删除文件恢复工具时,它会直接读取这些扇区并尝试构建原始文件。
在这种情况下,我不明白为什么在对驱动器进行碎片整理并用零覆盖所有可用空间后,恢复工具仍然能够找到已删除的文件(尽管重建它们的机会减少了)。你能解释一下吗?
我以为只有通过某些特殊的法医实验室磁扫描硬件才能找到被零覆盖的已删除文件,而那些复杂的擦除算法(使用随机和非随机模式多次覆盖可用空间)只能阻止这种物理扫描成功,但实际上,简单的零填充似乎不足以擦除已删除文件的所有轨迹。怎么会这样呢?
更新,解决出现的问题:
- 我尝试了以下擦除工具:Sysinternal 的 SDelete、CCLeaner 和一个简单的实用程序(我不记得它的名字了),它从命令行启动并创建一个不断增长的零填充文件,直到整个可用空间被占用,然后将其删除。
- 我尝试过以下恢复工具:Recuva、GetDataBack、R-Studio、EasyRecovery。
- 我不记得具体是哪些工具给出了具体的结果(据我记得有些工具的试用版只显示文件名而实际上无法恢复)。
- 可能在大多数情况下(但不是全部)他们只看到了名称而无法恢复数据,但这仍然是一个需要解决的安全威胁,因为文件名仍然可以包含很多信息(例如,我见过一个人将密码存储在文本文件中,该文件被命名为密码资源名称加上登录名,而登录名也应该是安全的)。
答案1
如果您覆盖已删除的文件,则将无法从中检索任何内容。
我最好的猜测是,要么你的擦除工具没有完成它应该做的所有事情,要么你遇到了某种缓存问题。
更新 - 如果您使用固态硬盘,您可能会发现安全删除工具无法按预期工作,这是由于 SSD 上数据读取/写入方式所致。
答案2
删除数据并格式化硬盘(这会删除地址表)是不够的。这只会删除与数据的链接。要删除数据,必须在其上写入新数据。
仅在数据上写入一次是不够的。这就是为什么更安全的磁盘擦除方法会多次将不同类型的数据写入磁盘。新数据写入磁盘的次数越多,它就越安全。有关更多信息,请阅读以下内容: http://www.headresist.com/how-computer-programs-that-wipe-hard-drive-work.htm
一个非常好的程序,可以让你应用许多不同的硬盘擦除功能,它是数据库管理系统。
答案3
我注意到您询问了文件名和数据是否保留的问题;这很正常,没有磁盘擦除器会覆盖目录条目,因为这样做的唯一方法是在包含目录中创建和删除文件,直到旧条目被覆盖。根据文件系统的复杂程度(ext4、ntfs、reiserfs、hfs+ 以及其他具有非线性目录结构的文件系统),这可能需要多次尝试。
在某些文件系统上,文件数据可恢复的另一个可能原因是它可能在日志中。许多磁盘可用空间擦除实用程序直接写入设备,避开文件系统;足够智能的日志可能会检测到将所有零写入文件直到文件已满(更准确地说,多次写入相同的数据块)并只保存一次,而其他内容仍留在日志中。然后,一些智能文件系统可能会将足够小的文件塞入文件系统的文件元数据(Unix 文件系统中的 inode),使任何类型的磁盘擦除都无法触及它们的数据。
答案4
因为正如 geekosaur 所说,这些工具只会擦除文件数据而不会重新组织文件表索引。如果您想从索引中完全删除文件的痕迹,请找到一个也可以擦除该痕迹的工具,或者备份文件系统,擦除磁盘并从备份中恢复。我在这里找到了一些澄清:http://www.broadbandreports.com/forum/r19572516-Removing-names-of-deleted-files-from-MFT~start=40