shred
を実行中 メモリ内のファイルでは無意味です。ファイルからのデータは、アプリケーション メモリやキャッシュなどにも存在する可能性があります。プロセスが停止したときに消去されなかったプロセスに属していたメモリ:Linux は、ほとんどのカーネルと同様に、メモリをプロセスに許可する前に消去します。その方が速いからです。
もちろん、ファイルが できる という保証はありません。 回復する。しかし、それができないという保証もありません。攻撃者のモデルが、攻撃者が RAM の内容を見ることができるというものである場合、注意が必要なことがたくさんあります。少なくとも、プロセスによって解放されたらすぐに RAM ページを消去する必要があります。 Grsecurity パッチを Linux カーネル (少なくとも PAX_MEMORY_SANITIZE
) に適用できます。 オプション。また、どのプロセスが実行されており、機密情報が保存されている可能性があるかについて注意する必要があります。また、カーネルは RNG 状態やディスク暗号化キーなどの機密情報も保存することに注意してください。 Linux カーネルへの TRESOR パッチは、通常の操作中にディスク暗号化キーを保護しますが、完全な防御ではなく、RNG 状態に対する同様のパッチを知りません。
あなたが軽減しようとしている危険は、ファイルシステムのジャーナル、つまり shred
です。 ジャーナルを持つファイルシステム (ext3、ext4、reiserfs など) では効果がありません。
永続化のためにunionfsを使用していないと仮定すると(試したことはありませんが、明らかにTailsで実行できます)、すべてが tmpfs
に保存されます .
tmpfs
に関する Linux ドキュメント がジャーナリングを実行するかどうかについては詳しく説明しません。それでも、tmpfs
ramfs
に基づいています initramfs
で使用されているのと同じファイルシステム 、およびそのファイルシステムにはジャーナルがありません。したがって、tmpfs
であると想定することは (多かれ少なかれ) 安全です。 日誌もありません。
ジャーナルのないファイルシステム shred
はファイルの上書きを実行するため、分析ツールによる回復が困難になります (RAM ダンプからの回復はほとんど不可能です)。すべてがメモリページで発生するため、tmpfs
の inode shred
を使用してメモリ ページを指定するだけです。 これらのメモリ ページに書き込むことができるため、はるかに優れています。
注意
上記は確かに、Tails と Knoppix でこのように機能します。 Kali Linux を含む、LiveCD 上のほぼすべての Linux ディストリビューションで同様の方法で動作する可能性がありますが、注意事項があります。 .
これはファイルに対して機能します。メモリにはアプリケーション メモリも含まれます。アプリケーション メモリに関する Gilles の回答を参照してください。真剣に、その答えを見てください。重要なポイントが開かれています.
また、Ubuntu Linux ベースのディストリビューション (その前身である Backtrack は Ubuntu ベースであったため、Kali Linux* が含まれている場合と含まれていない場合があります) は、ブートするマシンで見つけたスワップをマウントするため、さらに悪い攻撃ベクトルが残る可能性があります!デバイス自体の永続データ!
Kali Linux に関するもう 1 つの注意点は、metasploit
が付属していることです。 postgres
を起動します metasploit
で使用するデータベース . Postgres には独自のジャーナリング (ファイルシステム ベースではなくファイル ベース) があり、これもシュレッドすることができます (つまり、psql
を介してデータを削除するだけでなく、postgres ファイルをシュレッドします)。 ).
* Kali は Ubuntu ベースではなく、Debian ベースですが、Backtrack と呼ばれ、Ubuntu ベースだった時からすべての構成スクリプトを削除したかどうかはわかりません