如果我在磁盘(闪存、SSD 或 HDD)中有重要数据并且我删除了它们,我知道恢复这些删除的数据很容易(即使使用像recuva这样的免费软件。现在如果我用任何数据填充这个磁盘,假设一个大电影文件左右,直到磁盘没有更多空间然后再次删除这些虚拟文件,这是否足以阻止人们恢复已删除的文件?这不是重写吗?
正在用任何足以防止文件恢复的数据填充磁盘中的空白空间
这是否足够,取决于磁盘技术、攻击者的预算以及其他一些细节。
当你用 zeros 填充磁盘时,你强制文件系统重用空闲块,并重写它们。因此,作为一阶近似值,这对您来说看起来不错:您的文件内容被覆盖。但是,有一些细节:
在某些操作系统和文件系统上,完全填充磁盘是一种保留权限。通常,在类 Unix 操作系统上,磁盘的最后 5% 保留给 root 用户。所以做填充作为根。
一些文件系统会进行尾部合并:文件使用给定大小的块(例如,4096 字节),但文件的最后一个块通常没有完全填充。大多数文件系统只是保留未使用的空间,但有些文件系统会努力优化空间分配并将多个文件的“尾部”重新组合到一个块中。这里的结果是,用一个充满零的大文件“填满”磁盘可能无法回收所有空闲的“尾空间”(因为一个充满零的大文件仍然是一个文件,只有一个尾)。因此,文件的最后字节可以避免覆盖。
关于旧数据是否可以在被覆盖后从硬盘中恢复的争论永无止境。简短的回答是:“可能不适用于现代磁性硬盘,可能(部分)适用于 SSD”。看到这个问题和那个。但是这样的恢复将需要一些不小的成本(在洁净室中打开磁盘,连接额外的电路......)所以理性的攻击者只会在数据值得的情况下才会这样做。
如果您要清除的数据的机密性是有价值的,那么谨慎的做法是物理销毁存储设备(切碎、熔化、消磁……有多种可能性,具有不同程度的效率、价格和乐趣)。如果您的数据保密性不值得 100 美元购买新磁盘,那么您可能可以用虚拟文件简单地填充磁盘:低价值数据意味着廉价的、没有动机的攻击者。
下次使用磁盘加密。如果数据永远不会使其未加密到磁盘,那么擦除数据就像忘记密钥一样简单。这会抽象出磁盘的物理细节。
当您使用 HDD 时;写一遍又一遍地填满它,改变文件格式和操作系统,而不是一遍又一遍地填满它会对你有所帮助。
实际上据说更改操作系统和更改文件格式(NFST 到 FAT32 等)会使撤销变得非常困难。如果你用更新的数据填充它并循环执行这些练习,那么硬盘上可能会找不到任何东西。
也有人说使用小文件可能会更好,因为所有的标题都会被弄乱。
但是,这几乎是 SSD 无法做到的。这不是 %100 正确的,但很简单地解释一下,这样想;SSD 正在存储电压速率以确定 1 和 0。但是,它是分层进行的。当您作为最终用户进行读写时,您将写入顶层......但是,之前的层仍然存在,并且可以通过特殊机器访问。(你可以在这里找到各种关于它的论文 )
有趣的事实:您知道用于携带汽车等的超级磁铁……它们可以清理您的硬盘驱动器。
不会。向硬盘添加 0 很容易恢复(使用特殊机器)。它不是
如果您真的想以安全的方式重用硬盘驱动器,我建议您使用 linux 中的“shred”实用程序或任何其他类似实用程序。
假设仅在硬盘上写入一次并不足以使硬盘真正忘记此处的数据。
您实际上不需要使用“shred”,您可以使用“dd”并从“/dev/random”或类似文件中添加数据。但是您需要多次执行此过程,以确保没有来自先前数据的信息。
编辑:使用大文件作为电影来填充硬盘驱动器应该没问题,只要你用几个大文件(并不总是相同),并填充它几次,但添加随机数据会更好。FBI 建议至少填充驱动器 7 次。