您试图减轻的危险是文件系统日志,即shred对具有日志的文件系统(例如 ext3、ext4、reiserfs)无效。
假设您没有使用任何 unionfs 进行持久性(显然您可以在 Tails 中做到这一点,尽管我从未尝试过),所有内容都存储在tmpfs.
上的linux 文档tmpfs没有详细说明是否执行日志。但是,tmpfs基于 中ramfs使用的相同文件系统initramfs,并且该文件系统没有日志。因此,(或多或少)假设它tmpfs也没有期刊是安全的。
在没有日志的文件系统shred上将执行文件的覆盖,从而难以使用分析工具进行恢复(几乎不可能从 RAM 转储中恢复)。由于一切都发生在内存页面中,并且tmpfs简单地指向内存页面的inode,因此使用shred要好得多,因为它将能够写入这些内存页面。
警告
以上内容在Tails和Knoppix上肯定以这种方式工作。它可能会在几乎所有 LiveCD 上的 Linux 发行版上以类似的方式工作,包括Kali Linux ,但有一个警告。
这适用于文件!内存还将包含应用程序内存,请参阅Gilles对应用程序内存的回答。说真的,看看那个答案,它打开了一个重要的点。
此外,基于 Ubuntu Linux 的发行版(可能包括也可能不包括 Kali Linux*,因为它的前身 Backtrack 基于 Ubuntu)将在它启动的机器上挂载它找到的任何交换,这可能会留下更糟糕的攻击向量!设备本身的持久数据!
Kali Linux 的另一个警告是,它附带metasploit并引导postgres数据库以与metasploit. Postgres 有它自己的日志(它是基于文件而不是基于文件系统),您可能也希望对其进行粉碎(即粉碎 postgres 文件,而不仅仅是通过删除数据psql)。
* Kali 不是基于 Ubuntu,它是基于 Debian,但我不确定它是否从它被称为 Backtrack 并基于 Ubuntu 时就删除了所有配置脚本