出典: SANS Internet Storm Center – https://isc.sans.edu/diary/rss/32432
原題: How to collect memory-only filesystems on Linux systems, (Wed, Oct 29th)
Linuxのメモリ上ファイルシステムからのフォレンジック収集手法
Linuxのメモリ上ファイルシステム(tmpfsやramfsなど)は、揮発性のため通常のディスクイメージ取得が困難です。攻撃者が悪用するケースも増えており、これらから証拠を正確に収集するための手法が求められています。本記事では、Linuxのメモリ上ファイルシステムから効果的にフォレンジック証拠を収集する方法を解説します。
主要なポイント
- ライブメモリダンプの取得: LiME(Linux Memory Extractor)などのツールを用いてシステムのRAM全体をダンプし、メモリ上ファイルシステムの内容を抽出可能。
- /procファイルシステムの活用: /proc/mountsや/proc/self/mountinfoでメモリ上ファイルシステムのマウント情報を確認し、/proc/PID/fdや/proc/PID/mapsから該当プロセスのメモリ領域を特定。
- tmpfsのマウントポイントの直接コピー: /dev/shmなどのマウントポイントにアクセスし、ファイルを通常のコピーで取得。ただし揮発性のためタイミングが重要。
- inodeメタデータの先行収集: ファイル内容を収集する前にstatコマンドでinode情報(アクセス・変更・作成日時など)を取得し、証拠の完全性を保つ。
- 収集後の解析: Volatility FrameworkやThe Sleuth Kitのmactimeなどを用いて、取得したメモリダンプやメタデータからタイムラインやファイル痕跡を復元。
技術的な詳細や背景情報
Linuxのtmpfsはメモリ上にファイルシステムを構築し、ディスク上のブロックデバイスを持たないため、ddコマンドなどの従来のイメージ取得手法は使えません。そこで、ジム・クラウジング氏が提唱する方法では、まず find と stat コマンドを組み合わせてファイルのinodeメタデータを収集します。これはファイルのアクセス時刻などが変わらないように、ファイル内容を収集する前に行うことが重要です。
具体的には以下のコマンド例のように、/dev/shm(tmpfsの代表的なマウントポイント)を走査し、各ファイルの詳細情報を取得します。
find /dev/shm -exec $(which stat) -c '0|%N|%i|%A|%u|%g|%s|%X|%Y|%Z|%W' {} \; | sed -e 's/|W$/|0/' -e 's/|?$/|0/' | ssh foo@system "cat - > $(hostname)-dev-shm-bodyfile"
この出力はThe Sleuth Kitのmactime形式に変換可能で、タイムライン解析に利用できます。続いて、ファイル内容は以下のようにtarコマンドで圧縮しながら収集します。
find /dev/shm -type f -print | tar czvO -T - | ssh foo@system "cat - > $(hostname)-dev-shm-fs.tgz"
この方法はLinuxだけでなく、FreeBSDベースのJuniperルーターや古いSolarisシステムでも有効であることが確認されています。
影響や重要性
攻撃者は揮発性のtmpfsを利用してツールやデータを隠蔽し、検知を回避する手法を多用しています。従来のディスクイメージ取得だけではこれらの証拠を見逃すリスクが高まります。今回紹介した手法は、メモリ上ファイルシステムの証拠を漏れなく収集できるため、インシデントレスポンスや法医学調査の精度向上に寄与します。
また、inodeメタデータを先に取得することで、証拠の整合性を保ちつつファイル内容を収集できる点も重要です。ライブフォレンジックのベストプラクティスに則り、システムへの影響を最小限に抑えながら証拠を確保できます。
まとめ
Linuxのメモリ上ファイルシステムは揮発性であるため、従来のディスクイメージ取得手法では証拠収集が困難です。ジム・クラウジング氏の提唱するinodeメタデータの先行収集とファイル内容の後追い収集を組み合わせた手法は、多くの環境で実績があり、法医学的に信頼できる証拠を得ることが可能です。
本手法を活用し、ライブメモリダンプや/procファイルシステムの情報も併用することで、攻撃者の隠蔽活動を効果的に暴き出せます。Linuxシステムのインシデントレスポンスに携わる専門家はぜひ習得しておきたい技術と言えるでしょう。
【参考文献】





