Defender for Endpointのタイムラインログで攻撃全体像を可視化する方法

- Defender for Endpoint
- タイムラインログ
- 攻撃可視化
- Advanced Hunting
- KQL
1. タイムラインログとは?
Defender for Endpointでは、端末上で発生する各種イベントをKQLで検索可能な形式で収集しています。
これらの情報を 時系列でつなぎ合わせる ことで、「攻撃者がどのように侵入し、展開し、情報を抜き出したか」などのストーリーが見えてきます。
主に利用するテーブル:
DeviceProcessEvents
:プロセス実行のログDeviceNetworkEvents
:通信先のIPやドメインの記録DeviceFileEvents
:ファイルの作成・変更・削除履歴DeviceLogonEvents
:ユーザーのログオン・ログオフ状況
2. 基本クエリ:ある端末での攻撃ストーリーを時系列で追う
kql
let targetDevice = "device123.contoso.com";
DeviceProcessEvents
| where DeviceName == targetDevice
| union DeviceNetworkEvents
| union DeviceFileEvents
| union DeviceLogonEvents
| sort by Timestamp asc
このクエリでは、指定した端末で発生したイベントを すべて統合して時系列順 に表示します。
🔍 ヒント:テーブルによってカラム名が異なるため、
project
で共通フォーマットに揃えると見やすくなります。
3. ストーリー化のポイント
時系列分析では、以下のような「流れ」を意識することで、攻撃全体像が明確になります。
- 初期侵入(メール添付、USB、RDPなど)
- 実行(PowerShell, rundll32, cmdなどの使用)
- 探索(IPスキャン、AD列挙など)
- 移動(別の端末への接続、SMBなど)
- 情報搾取・破壊(ZIP、暗号化、外部送信)
4. 実例:PowerShellからの疑わしい展開
kql
DeviceProcessEvents
| where FileName == "powershell.exe"
| where ProcessCommandLine has_any ("Invoke-WebRequest", "IEX", "DownloadFile")
| project Timestamp, DeviceName, InitiatingProcessAccountName, ProcessCommandLine
| order by Timestamp asc
このクエリで、「スクリプト実行型の攻撃」の痕跡を検出し、展開フェーズを追えます。
5. 可視化の工夫
- Power BI で
Timeline
表現に変換する - KQL内で
datetime_diff()
を使って「異常な間隔」を検出 - 複数端末にまたがる
DeviceId
別ストーリーも併記する
6. まとめ:Defender for Endpoint はストーリーで使うと強力!
(観点)/(ポイント)
単発検知で終わらせない/イベントの「その後」を追って、実害や次フェーズを把握する
多テーブルを結合/情union
報を統合、攻撃の流れ全体を見る
分析結果は伝わる形に/ストーリー形式やビジュアルに落とし込んで、非技術者にも共有
攻撃は「点」ではなく「線」で起きます。
Microsoft Defender for Endpointのログを駆使すれば、その線を可視化し、素早く・正確に状況を把握できます。
Colorkrew Securityでは、これらの分析ノウハウをベースにしたインシデント対応支援や教育支援も行っています。
お困りごとがあれば、ぜひご相談ください!