目次
はじめに(要点まとめ)
MITRE ATT&CK は攻撃者の戦術(Tactics)と技術(Techniques)を体系化したフレームワークです。SOCではこれを「検知ギャップの発見」「検知ルールの構築」「調査・レポートの共通言語」として使います。実務では「ログ→ATT&CKマッピング→仮説立て→検証→対処」のループを回すのが基本です。
1. ATT&CKの実務での使い方(全体像)
- 観測(ログ・アラート):SIEM/EDR/プロキシ等のログを取得
- 初期マッピング:観測したイベントをATT&CKの技術に当てはめる(例:PowerShellのBase64実行 → T1059.001)
- 仮説構築:攻撃者の目的(Tactics)を想定し、関連する技術を洗い出す
- 追加ログ探索(ハンティング):他ホスト/ユーザーで同技術の痕跡を検索
- 検証・封じ込め:フォレンジック証拠を収集し、対応を実行
- フィードバック:新しいIOCや検知ルールをATT&CKマッピングに紐づけ、SOCの検知改善に反映
2. 具体的なステップと実践ノウハウ
ステップA — 観測をATT&CKにマッピングする
- 観測例(ログ) → 技術(Technique)に紐づける:
ProcessCreate: parent=WINWORD.EXE -> child=powershell.exe -EncodedCommand
→ Execution → T1059.001 (PowerShell)EDR NetworkConn: host -> dst_ip periodic 60s
→ Command and Control → T1071 (Web Protocols)Windows Security: 4624 login from disparate geo
→ Initial Access / Credential Access → T1078 (Valid Accounts) or Impossible Travel pattern
Tip: ATT&CKの技術はかなり細かいので、観測の粒度(コマンドライン、プロセス親子、ネットワークパターン)に合わせて最も近いTechniqueを選ぶ。
ステップB — 攻撃ライフサイクル(Tactics)推定
- 個別のTechniqueを集めて「攻撃者が何をしようとしているか(Tactic)」を推定する。
例:PowerShell実行(Execution) + メモリダンプツール(Credential Access) + SMBでの大量書き込み(Lateral Movement / Impact)
→ 典型的な「ランサムウェア」の流れと判断できる。
ステップC — ハンティング/横展開調査
- ATT&CKで想定される関連技術を列挙し、SIEM/EDRで横展開検索する。
- まず確認するTechnique例(感染ホストがあるなら):
- T1059.*(Command Interpreter)
- T1021.*(Remote Services)
- T1105(Ingress Tool Transfer)
- T1071(C2 channels)
- まず確認するTechnique例(感染ホストがあるなら):
- 検索例(概念)
- 「parent_process in (WINWORD, EXCEL) AND child_process contains ‘powershell’」
- 「process_name == ‘rundll32.exe’ AND command_line contains ‘http’」
- ハンティングで見つけた痕跡に再度ATT&CKタグを付与し、インシデントノートに記録する。
ステップD — 検知ルールへ落とし込む
- 高信頼度の「複合」条件でルール作成:単一シグナルでは誤検知が多いため、複数のTechnique指標を組み合わせる。
- 例:
ParentProcess=WINWORD.EXE AND ChildProcess=PowerShell AND NetworkConnection to external IP
→ 高優先度アラート
- 例:
- ルール名やカテゴリにATT&CK IDを記載(例:
Detect_T1059.001_Word_PowerShell_Encoded
)するとレビューや改善が楽になる。
ステップE — レポートとナレッジ化
- インシデント報告書にATT&CKマッピング表を入れると、他チーム/外部と共通言語で共有できる。
例フォーマット:| Time | Observed Event | ATT&CK Tactic | ATT&CK Technique (ID) | | ---- | -------------- | ------------- | --------------------- | | 11:07 | Word->PowerShell Encoded | Execution | T1059.001 | | 11:08 | PowerShell outbound TLS periodic | C2 | T1071 |
3. 実例ケーススタディ(短い)
ケース:メール添付から始まるマルウェア感染
- SIEMに「WordからPowerShell起動(EncodedCommand)」を検知
- map →
Execution / T1059.001
- map →
- EDRで当該ホストのネットワーク接続に周期的HTTPS通信あり
- map →
Command and Control / T1071
- map →
- ADログでサービスアカウントが異常利用されている痕跡
- map →
Credential Access / T1550
(Use of Valid Accounts)
- map →
- 対応:ホスト隔離、パスワードリセット、IOC横展開(ハッシュ、C2 IP、ドメイン)
- 分析報告:攻撃経路をATT&CK表にまとめ、検知ルール(T1059.001+T1071)を作成
4. 実務で使えるツールとテクニック
ATT&CK Navigator の使い方(簡易)
- 観測したTechniqueに色付けして「可視化」 → 検出ギャップが一目で分かる
- 検知済み技術は緑、欠如は赤で表示 → 優先的にルール作成すべきTechniqueが見える
マッピング運用のコツ
- ルール・検知・インシデントに必ず ATT&CK ID を付与(検索・集計が簡単に)
- 四半期ごとに「検知カバレッジレポート(ATT&CKマトリクス)」を作り、どの戦術が手薄かを評価
- Threat Intelligence を ATT&CK に基づき整理(TTPプロファイル作成)
5. ハンティング用クエリの設計指針(例)
- Aim:あるTechniqueを使う攻撃者を早期に見つける
- 例1(T1059.001 PowerShell Encoded)(概念的KQL)
DeviceProcessEvents
| where ProcessCommandLine contains "-EncodedCommand" or ProcessCommandLine contains "FromBase64String"
| where ProcessName endswith "powershell.exe"
- 例2(T1071 C2 over HTTPS)(概念)
NetworkConnections
| where RemotePort == 443
| summarize ConnCount=count() by Computer, RemoteIP, bin(TimeGenerated, 1m)
| where ConnCount > 30
- 例3(T1021 Remote Services: RDP abnormal)
index=auth sourcetype=WinEventLog:Security EventCode=4624 LogonType=10
| stats count by src_ip, AccountName, bin(_time, 1h)
| where count > 10
(実際のクエリは使用SIEM/EDRの構文に合わせて調整する)
6. ATT&CKで注意すべきポイント(落とし穴)
- 過信は禁物:ATT&CKは分類ツールであり、「これが出たら必ず攻撃」という明確な証拠ではない。必ずコンテキストで判断する。
- 過度な細分化の罠:Techniqueが細かすぎてログに一致しないケースあり。ログの粒度に合ったレベル(TechniqueかSub-technique)で運用する。
- 誤検知とルール肥大化:単一のATT&CK技術に多数のルールを作りすぎると運用負荷が上がる。高価値の複合ルールに注力。
7. 運用テンプレート(簡易)
- インシデントチケットに必須フィールド:
ATT&CK_Tactics
(例:Execution, Persistence, Lateral Movement)ATT&CK_Techniques
(例:T1059.001, T1071)Observed_Evidence
(ログ抜粋)IOC_List
(ハッシュ、IP、ドメイン)Hunting_Queries_Run
(クエリID/結果)Detection_Rules_To_Create
(Yes/No + 詳細)
8. まとめ(学習ポイント)
- ATT&CKは 「攻撃を言語化する辞書」。ログをATT&CKにマッピングすることで、検知の抜け・分析の再現性・チーム間の共有が劇的に改善する。
- 実務では「観測→マッピング→ハンティング→ルール化→ナレッジ化」のサイクルを回すことが鍵。
- 最初はよく使われるTechnique(PowerShell, Command and Control, Lateral Movement, Credential Access)からTJ(Tactics/Technique/Jump)を覚え、徐々に網羅していくと良い。
コメント