shred在不同文件系统上的有效性

shred在不同文件系统上的有效性

man shred警告该命令对于不就地覆盖的文件系统没有用处。我对当前和即将推出的文件系统了解不多,但我怀疑其中许多文件系统为此目的支持某种特殊的就地写入模式,这是 shred 使用的。

我的这个假设正确吗?它已经在 中实施了吗shred?是否有某种方式可以告诉我们没有太多麻烦(例如,当宣布新的文件系统时)?

答案1

shred大多是无用的。为了从磁盘映像中删除已删除文件的内容,仅覆盖该文件所在的位置是不够的:您需要删除该文件的所有副本。这不仅仅是文件被覆盖的问题。对于许多类型的文件,可能存在多个内容基本相同的文件,因为文件已被编辑并且留下了已删除的备份副本。

另外,如果磁盘损坏,可能无法通过软件方式读取数据,但仍然可以通过硬件方式恢复,或者让磁盘冷却(将硬盘放入冰箱可以减少错误-俯卧一会儿,直到它最终放弃鬼魂)。

粉碎文件的安全方法是从一开始就将其存储在受强密码保护的加密容器中(生成足够长的随机密码,并将其写下来;完成文件后,刻录该文件的片段)纸)。

答案2

如果没有太多麻烦,可能不会。您可以使用该dd命令检查文件所在的磁盘空间,但即使以独立于文件系统的方式做到这一点也很棘手。

我想说,也许更有效的方法是不使用碎片,而是加密你的数据。您可以简单地销毁密钥,而不是销毁数据。

答案3

传统的 Linux 文件系统 (ext2/3/4) 已经存在就地覆盖。在 btrfs/ZFS 中这样做几乎不可能

我找不到关于文件被就地覆盖的参考超高速文件系统但我的猜测是,作为一个较旧的文件系统,它们是。

所以我想答案是:不,它假设太多了。某些文件系统不支持(或当前不支持)就地覆盖。

如果您正在处理未知的文件系统,solo 关于加密敏感数据的建议可能值得考虑。详细阐述 liori 的评论 - 如果加密数据位于 SSD 上,您将无法轻松地从 SSD 中删除存储的密钥身体的磁盘。它重写了逻辑的不过,攻击者必须能够为 SSD 开发自定义固件,才有希望恢复数据。

相关内容