PR 本記事には広告(Amazonアソシエイト・もしもアフィリエイト・A8.net等)が含まれます。掲載情報の正確性には努めていますが、商品の詳細は必ずリンク先で最新情報をご確認ください。
CTF・セキュリティ学習

【ディスクForensics編】MFTとタイムラインで侵入の足跡をたどる|CTF思考フレームワーク #42

かも次郎とアンペンが「ディスクForensics」を解説するマスコットイラスト
安全に生きたい編集部

こんにちは、アンペンです!

今回はフォレンジック4領域のうち、最も古典的なディスクフォレンジックを扱います。ファイルが削除されても、メタデータ(MFTなど)には『いつ・何が・どう変わったか』の足跡が残ります。

侵入の足跡を時系列に並べるタイムライン分析を中心に、初心者向けに整理しましょう。

削除されたファイルって、本当に消えてないの?

多くの場合『ファイル本体は残ったまま、目次(MFT)から名前が消えただけ』なんだ。だから後から復元できることが多いし、削除した『記録』もメタデータに残るんだ。

『削除したファイルは、もう戻ってこない』——多くの人がそう思っています。でも、フォレンジックの世界では逆。むしろ『消したはずの操作の記録』こそが、いちばんの手がかりになるんです。今日はその主役、ファイルシステムの“目次”を読み解くディスクフォレンジック。図書館の貸出カードのたとえで、削除しても残る足跡を見ていきましょう。

まず結論

ディスクフォレンジックの主役は『MFT(NTFS)・inode/journal(ext)』などのメタデータです。タイムラインに並べると、侵入から永続化までの足跡が浮かび上がります。守る側は『監査ログ+整合性監視』を平時から仕込んでおくのが効きます。

この記事で分かること

  • MFT / inode / journalがなぜ重要なのか
  • タイムライン分析の基本(Plaso/log2timeline)
  • 削除ファイル復元の原理と限界
  • 守る側の対策(整合性監視・改ざん検知)
難易度:中級向け 所要時間:12分 体験:MFT確認+Plaso実行 おすすめ:#41の後

📖 はじめてのWebセキュリティ #42|ディスクForensics編
MFTとタイムラインで侵入の足跡をたどる手法を扱います。 シリーズ一覧を見る →

⚠️ 大事なお約束
他者の端末・サーバのディスクイメージを無断で取得・分析する行為は、業務上の権限や法律に違反します。CTFや自分の検証環境のみで確認してください。

『目次(メタデータ)』こそが宝の山

ファイルシステムには、ファイル本体とは別に『目次(メタデータ)』があります。NTFSのMFT(Master File Table)、ext系のinode、それらのジャーナル(journal)です。

ここに『作成・更新・アクセス・削除』の時刻、ファイル名の履歴、サイズの変遷などが記録されます。攻撃者がファイルを消しても、メタデータの痕跡まで完全に消すのは難しいのです。

なぜ削除しても痕跡が残るのか。カギは『本体』と『目次』が別物だということ。本でいえば、本棚に並ぶ本そのものと、それを管理する図書カードは別ですよね。ファイルを“削除”しても、実は多くの場合、目次(MFTやinode)から名前を消すだけ。本体はしばらく棚に残ったままです。しかも“削除した”という操作自体が、新たな記録として目次に刻まれる。だから、消すほど足跡が増えることさえあるんです。

図解:メタデータに残る4つのタイムスタンプ

MFTにはMACB(Modified/Accessed/Changed/Birth)と呼ばれる4種類のタイムスタンプがあります。これを並べると、ファイルがいつ作られ、いつ触られたかが見えてきます。

この4つの時刻(MACB)が、実はちょっとした“ストーリーテラー”なんです。たとえば『作成は3日前なのに、内容更新が1年前』という矛盾があったら?——それは、攻撃者がファイルの日時を偽装した(タイムスタンプを古く見せかけた)サインかもしれません。正直者の4つの時刻は、たいてい辻褄が合っているもの。その辻褄のほころびが、改ざんを暴く手がかりになります。

NTFSのMFTに記録される4種類のタイムスタンプ(Modified/Accessed/Changed/Birth)を1ファイルに付くラベルとして示した図解
図1:MFTに残る4タイムスタンプ(MACB)。矛盾から改ざんを見抜く
📚 たとえるなら、図書館の貸出記録

図書館では『本そのもの』だけでなく、『貸出カード(誰がいつ借りたか)』も残っていますよね。本を返した(=ファイルを削除した)後でも、貸出カードを見れば『誰が・いつ・何回借りたか』が分かります。MFTもこの『貸出カード』に近い役割です。

図書館の貸出カードには本を返却した後も借りた記録が残る様子を示したイラスト
図2:本を返しても貸出カードに記録が残るように、MFTにも削除痕が残る

ここで覚える用語:MACBタイムスタンプ
Windows NTFSでは1ファイルにつき4種類の時刻が記録されます。Modified(内容更新)、Accessed(読み込み)、Changed(メタデータ変更)、Birth(作成)。これらの矛盾(例:作成日より古い更新日)から、改ざんやアンチフォレンジックの痕跡を見つけられます。

ここまでで『1つのファイル』の時刻を見てきましたが、フォレンジックの真価は“全部まとめて並べる”ところにあります。MFTの時刻、ログの時刻、ブラウザ履歴の時刻……バラバラに散らばった記録を、1本の長い時系列に並べ直す。すると『何時何分に外部から接続があり、その直後にこのファイルが作られ、続いてあのプログラムが動いた』——と、事件の一部始終が映画のように再生される。これがタイムライン分析の醍醐味です。

タイムライン分析で『侵入の流れ』を再現する

Plaso / log2timeline の基本

タイムライン分析の定番ツールがPlaso(log2timeline)です。ディスクイメージを食わせると、MFT・レジストリ・イベントログ・ブラウザ履歴など、ありとあらゆる時刻情報を1つの時系列に並べてくれます。

  • log2timeline.py:ディスクイメージから時刻情報を抽出
  • psort.py:抽出結果を時系列でソート・フィルタ
  • 出力:CSV/SQLiteで保存し、Timesketchなどで可視化

これに加え、MFTECmd / RegRipperなどのEric Zimmerman製ツールも、Windows解析では定番です。

なぜここまでしてタイムラインを作るのか。それは“点”を“線”にするためです。『怪しいファイルが1つあった』だけでは、たまたまかもしれない。でも、『侵入の直後に作られ、すぐ実行され、その後消された』という“線”になれば、それは動かぬ攻撃の流れ。バラバラの証拠を時間という糸で結ぶと、単独では意味のなかった点が、くっきりとした物語になるんです。

『削除ファイル復元』はどこまで可能か

多くのファイルシステムでは、『削除』はメタデータの一部書き換えだけで、ファイル本体は上書きされるまでディスク上に残ります。これを使って復元するのがカービング(carving)と呼ばれる手法です。

カービングのイメージは、“シュレッダーにかけていない紙”です。ゴミ箱に捨てた書類は、見た目は消えたようでも、シュレッダーにかけていなければ拾って読めますよね。ディスクの削除もこれと同じで、上から新しいデータが“上書き”されるまでは、本体はそのまま残っている。だから捨てた直後ほど復元しやすく、時間が経って何度も書き込まれると、だんだん拾えなくなる——そういう性質なんです。

復元の原理と限界

  • 原理:ファイル本体は『未割り当て領域』に残る → ヘッダ/フッタを手がかりに抽出
  • 限界1:新しい書き込みで上書きされると復元不可
  • 限界2:SSDのTRIMで完全消去されると復元不可
  • 限界3:暗号化ディスク(BitLocker等)では鍵が必要

定番ツールはAutopsy / Sleuth Kit / foremost / scalpelなどです。CTFのForensics問題でもよく登場します。

削除前・削除直後・上書き後の3段階でディスク上のデータブロックの状態変化を示し復元可能性を説明した図解
図3:削除直後は復元できる。上書きやSSD TRIMで完全消去されると復元不可

この回は、ぜひ自分のVMで手を動かしてほしいところ。テスト用ファイルを作って、更新して、削除して——そのうえで“目次(MFT)”を覗くと、消したはずのファイルの記録がちゃんと残っているのが見えるはずです。「本当に残ってる!」という驚きが、いちばんの理解になります。対象はもちろん自分のラボやCTFだけで。

CTFでやってみよう:MFTからタイムラインを作る

やってみよう / 自分の環境・CTFのみ

自分のVMでMFT解析を体験する

目的は『削除しても痕跡が残る』を体感することです。

  1. 自分のWindows VMで、テスト用ファイルを作成→更新→削除する
  2. VMの仮想ディスクをエクスポート(.vmdk/.vdi)してホストにマウント
  3. MFTECmd$MFT を抽出し、CSVに変換
  4. CSVで対象ファイル名を検索 → MACB時刻を確認(削除後も記録は残る)
  5. 余裕があればPlasoで全体タイムラインを作り、時系列で並べる
本番環境やクラウド本番ディスクに対して同じ操作をしないこと。検証は必ず隔離されたラボの範囲で行ってください。

守る側として、ディスク調査を“あとで楽にする”ために、平時にできることがあります。

結局、攻撃者が時刻を偽装したら、タイムラインも当てにならないんじゃない?

鋭い。確かにMFTの時刻だけなら偽装の余地がある。でも、守る側には“もう一つの時計”があるんだ。それがFIM(ファイル整合性監視)や監査ログ。これらは、ファイルが変更された事実を“別の場所に、リアルタイムで”記録する。攻撃者が現場のMFTをいくらいじっても、外に飛んだ記録までは書き換えられない。複数の時計を突き合わせれば、偽装はかえって目立つ。“証拠は一つに頼らない”——これが改ざんへの強い備えだよ。

守る側の対策:『改ざん検知+整合性監視』

ディスクフォレンジックは事後の調査が中心ですが、平時から仕込めることもあります。

平時にできるディスク防御
  • 重要ディレクトリのFIM(File Integrity Monitoring)を導入(AIDE/Tripwire/OSSEC等)
  • 監査ポリシーでファイル作成/削除/権限変更のログを記録
  • EDR/SIEMに転送し、不審な書き込みを検知
  • 定期的にディスクイメージのスナップショットを取得(リストア用+解析用)
  • SSDのTRIM挙動を把握(復元できない前提で運用設計)

『目次』を見れば、削除した記録まで残ってるってすごいね。

そう。ただし、メモリは電源を切ると消えるから、ディスクより優先度が高い。次回はそのメモリフォレンジックを扱うよ。

ここまでをひと言で言うと、ディスクフォレンジックは『目次を読み、時系列に並べる』。本体が消えても、目次(メタデータ)には足跡が残る。その足跡を時間順に並べれば、侵入の物語が再現できる。守る側は、その目次を“もう一つの場所”にも残しておく(FIM・監査ログ)ことで、偽装にも強くなれます。

まとめ:『MFT+タイムライン』で侵入を可視化

今回のポイント
  • ディスクフォレンジックの主役はメタデータ(MFT/inode/journal)
  • MACB時刻でファイル操作の流れを再現できる
  • 削除ファイルはカービングで復元できることがある(SSD TRIMには弱い)
  • 守りはFIM+監査ログ+スナップショット

今日の持ち帰りは『消した記録こそ、雄弁に語る』です。攻撃者がファイルを消すのは、見られたくないから。でもその“消した”という行為自体が、目次に足跡を残します。削除=証拠隠滅、ではなく、削除=新たな証拠。この逆転の発想を持てると、ディスクの中の“沈黙した証人”たちの声が聞こえるようになります。

次回は揮発性の最も高い領域、メモリフォレンジックを扱います。Volatilityでプロセス・接続・認証情報を抜き出す手法を見ていきましょう。

次に読みたい記事

参考資料

記事URLをコピーしました