ファイルシステムがRAMに保持されているライブOS(つまり、テイルス)の場合、ファイルの削除方法に違いはありますか?
検討された特定のケース:
「安全な消去」方法を使用する必要があるかどうかを知りたい、もしそうなら、何が利用可能かを知りたい。
再起動/ RAM上書き/ RAM電源がオフのときのデータ損失は機能するが、考慮される唯一のケースは、 OSはまだ実行中です。
メモリ内のファイルに対して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
のiノードは単にメモリページを指します。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に基づいていたときからすべての構成スクリプトを削除したかどうか確信が持てません。
"シュレッド"を使用すると、関連するiノードがゼロになるため、RAMに実際のデータはありません。これにより、コールドブート攻撃とオンラインDMA攻撃が防止されます。