3つのログを時系列で繋ぐ|複合フォレンジック
フォレンジック実践編の最終話です。認証ログ・Webアクセスログ・ファイアウォールログという3種類の異なるログを、IPアドレスとタイムスタンプで突き合わせ、1つの侵入から情報流出までの一連の流れを再構築します。
📋 目次
💭 前回の振り返り|1つのログから、複数のログへ
フォレンジック実践編、最後の話です
第7話は1つのデータ源、今回は3つ
第7話のメモリダンプは「1つのデータ源(メモリ)の中で断片を探す」という課題でした。今回はさらに発展して、「3つの異なるログ(認証・Web・ファイアウォール)」という複数のデータ源を、IPアドレスとタイムスタンプという共通のものさしで横断的に突き合わせる課題に挑戦します。これは実際のインシデント対応で最も頻繁に行われる作業の1つです。
前作第17話では、1つのWebアクセスログだけを部分文字列でフィルタリングし、ブルートフォース攻撃の痕跡を追いました。今回はその技術を土台に、1つのログだけでは見えない「攻撃の全体像」を、複数のログを繋ぎ合わせることで初めて浮かび上がらせます。
🕵️ 複合フォレンジックとは何か
1つのログは「断片」、複数のログを繋いで「全体」が見える
実際のシステムでは、Webサーバー・認証サーバー・ファイアウォールといった異なる機器やソフトウェアが、それぞれ独立にログを記録しています。1つのログだけを見ても「ログインが何度か失敗した」「あるURLにアクセスがあった」「ある通信がブロックされた」という個別の事実しか分かりません。これらを時系列で並べて初めて、「侵入に成功し、データを盗み出した」という1つの物語が見えてきます。
相関分析(コリレーション)という考え方
複数のログを「共通する項目」で結び付けて分析する手法を相関分析(コリレーション)と呼びます。今回の場合、共通する項目は「送信元IPアドレス」と「タイムスタンプ」です。ある時刻に登場したIPアドレスが、別のログの近い時刻にも登場していれば、それらは同じ一連の出来事である可能性が高いと判断できます。
逆に言えば、もし認証ログだけしか調査していなければ「ログインに何度か失敗したあと成功した」という事実しか分かりません。Webログだけでは「あるURLにアクセスがあった」という事実しか分かりません。どちらか一方だけを見ていたら、データが盗まれた可能性に気づかないまま調査を終えてしまうかもしれません。
📊 ログの種類と相関のキー
それぞれのログが「何を」記録しているか
3種類のログは、それぞれ違う層の出来事を記録しています。どの項目を手がかりに突き合わせればよいかを知っておくことが、複合フォレンジックの第一歩です。
| ログ種類 | 記録する内容 | 相関のキーになる項目 |
|---|---|---|
| 認証ログ | ログイン試行の成否、対象ユーザー名 | 送信元IP・ユーザー名・タイムスタンプ |
| Webアクセスログ | HTTPリクエストのURL・ステータスコード | 送信元IP・タイムスタンプ |
| ファイアウォールログ | ネットワーク接続の許可/拒否 | 送信元/宛先IP・ポート・タイムスタンプ |
無関係なノイズも混ざっている
3つのログには、今回の事件とは無関係な通常の業務通信や、無関係な別のスキャン試行(ポートスキャンや軽いログイン試行など)も記録されています。第17話で学んだ「すべてが手がかりとは限らない」という教訓は、ログの数が増えても変わりません。むしろログが増えるほど、ノイズの量も増えることを意識してください。
今回のログにも、無関係な利用者によるSQLインジェクション風の入力やパストラバーサルの試行が紛れ込んでいます。これらは別のIPアドレスから来ており、今回追っている侵入の物語とはタイムスタンプも一致しません。「怪しく見える文字列がある」というだけで、それを今回の事件の手がかりだと決めつけないよう注意してください。
🧪 実践チャレンジ:3つのログから攻撃の全貌を追う
横断検索ツールでIPアドレスと時刻をたどる
下のラボには、同じ日の14時台に記録された3つのログ(認証・Web・ファイアウォール)が表示されています。検索欄にIPアドレスや時刻の一部を入力すると、3つのログすべての中から一致する行が黄色くハイライトされます。
チャレンジの手順
① 認証ログを目で確認し、同じユーザー名に何度もFAILEDが続いたあとSUCCESSになっている送信元IPを見つける → ② そのIPを検索欄に入力してハイライトし、ステージ1にSUSPECT-IPアドレスの形式で入力 → ③ ステージ2が解放されたら、そのIPのWebアクセス時刻の直後、ファイアウォールログで何が起きているかを検索 → ④ 見つけた行に記録されているフラグをステージ2に入力。
ステージ1をクリアすると、ステージ2が解放されます。両方クリアした時点でスコアが確定します。
📊 ステージ進捗: 0/2|挑戦回数: 0回
ブルートフォースに成功した送信元IPをSUSPECT-IPアドレスの形式で入力してください。
認証ログでadminに対するFAILEDが5回続いた直後にSUCCESSが記録されている行の送信元IPに注目してください。
該当時刻のファイアウォールログに記録されているフラグを入力してください。
Webログでexportへのアクセスがあった直後、ファイアウォールログで送信元が10.0.0.5(サーバー自身)になっている行を探してください。
🛡️ なぜ複合フォレンジックが実務で重要なのか
1つのログだけでは「攻撃」と確信できない
実際のセキュリティ運用では、ログイン失敗が数回記録されただけで「攻撃された」と断定することはできません。誤入力やパスワード忘れは日常的に発生するためです。しかし「同じ送信元から同じユーザーへの失敗が続いた直後に成功し、さらにその直後に普段とは違うデータアクセスや外部通信が発生している」という複数のログにわたる一致が見えたとき、初めて「これは侵入されたインシデントだ」と高い確信を持って判断できます。
SIEM:複合フォレンジックを自動化する仕組み
実務では、今回のような相関分析を人間が手作業で行うのは現実的ではない量のログが日々発生します。そのため、複数のログソースを1か所に集約し、相関ルールを自動的に評価して怪しい組み合わせをアラートとして通知するSIEM(Security Information and Event Management)というシステムが広く使われています。今回手作業で体験した「IPとタイムスタンプで突き合わせる」という発想は、SIEMの相関ルールの基本的な考え方そのものです。
例えば「同一IPからの認証失敗が5分間に5回以上続いた直後に認証成功し、さらにその同一IPから機密データへのアクセスがあった場合にアラートを出す」というように、今回手作業で追った条件をそのままルールとして登録すれば、SIEMは同じパターンを自動的に検知できます。SOC(Security Operation Center)のアナリストは、こうしたルールが発火したアラートを起点に、今回のような詳細調査を行います。
次回はフォレンジック実践編の技術を含め、これまでの実践編で学んだ複数の技術を1つの侵入シナリオに統合する複合チャレンジに挑戦します。
📝 まとめ+FAQ+次回予告
フォレンジック実践編、完結です
第8話では、3種類の異なるログをIPアドレスとタイムスタンプで突き合わせ、ブルートフォース攻撃の成功からデータ流出までの一連の流れを再構築しました。これでフォレンジック実践編(第7話・第8話)が完結です。第1話からの技術がどれも「複数の手がかりを繋ぐ」という同じテーマでつながっていることに気づいていただけたなら、本シリーズの狙いは果たせています。
・1つのログだけでは断片的な事実しか分からない
・複数のログをIPアドレス・タイムスタンプで突き合わせる相関分析で全体像が見える
・ログの種類が増えても「ノイズが混ざっている」という前提は変わらない
・実務ではSIEMがこの相関分析を自動化している
・採点ルールは前話までと同じ(ヒント-15pt、両ステージ解決でスコア確定)
Q. 実際のインシデント対応でも、ログを手作業で見比べるのですか?
初動調査や、SIEMが出したアラートの裏付けを取る場面では、アナリストが手作業でログを見比べることが今でもよくあります。SIEMはあくまで「怪しい組み合わせを見つけやすくする道具」であり、最終的な判断や詳細な調査は人間が行います。
Q. ログの時刻がそれぞれの機器で少しずれていたらどうなりますか?
実際の現場で非常によくある問題です。各機器の内部時計がずれていると、本来同じ出来事のはずのログが数秒〜数分ずれて記録されます。NTP(Network Time Protocol)で全機器の時刻を同期しておくことが、複合フォレンジックを正確に行うための重要な前提条件です。
Q. IPアドレスだけで「同一人物の行動」と断定できますか?
断定はできません。複数の利用者が同じIPアドレス(社内LANやプロキシ経由など)を共有している場合もあれば、攻撃者がIPアドレスを偽装・経由している場合もあります。IPアドレスの一致は強い手がかりですが、他の証拠(ユーザー名・操作内容・時間帯の一貫性など)と組み合わせて判断する必要があります。今回のチャレンジのように、複数のログで同じIPが同じ時間帯に一貫して登場することは、単独の一致よりもはるかに強い裏付けになります。
Q. 今回出てきたIPアドレスは実在するものですか?
いいえ。本チャレンジで使用したIPアドレスは、IANA(インターネット番号割当機関)が文書・学習用途のために予約している範囲(192.0.2.0/24・198.51.100.0/24・203.0.113.0/24)から選んでいます。実在の組織やサーバーを指すものではありません。社内ネットワークを表す10.0.0.0/8も、同じくプライベートアドレスとして予約されている範囲です。
📚 参考情報
- NIST SP 800-92 — Guide to Computer Security Log Management
- RFC 5737 — IPv4 Address Blocks Reserved for Documentation


コメント