攻撃と検知のマッピング
手法をMITRE ATT&CKに対応付けます。
「攻撃と検知のマッピング」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
ATT&CKにマッピングする理由
MITRE ATT&CKは、現実世界で観測された攻撃者の戦術、テクニック、手順をまとめた、厳選されたナレッジベースです。レッドチームとブルーチームに共通の語彙を提供します。
すべてのテストとすべての検知をATT&CK IDにマッピングすると、次の問いに正確に答えられます。攻撃者のどの行動を、私たちは実際に可視化できるでしょうか。
- 戦術 = 攻撃者の目的(「なぜ」)
- テクニック = 目的を達成する方法(「どのように」)
- 手順 = 具体的な実装(「何を」)
テクニックIDの構造
各テクニックには、パープルチーミングのあらゆる場面で使用する固定の識別子があります。
T1059— Command and Scripting Interpreter(テクニック)T1059.001— PowerShell(サブテクニック)TA0002— Execution(属する戦術)
1つのテクニックが複数の戦術に該当することもあります。たとえば、Valid Accounts(T1078)は、Initial Access、Persistence、Privilege Escalation、Defense Evasionを同時に支えます。
手順からデータソースへ
テクニックを検知するには、それを明らかにするデータソースを把握する必要があります。ATT&CKには、各テクニックのデータソースとコンポーネントが掲載されています。
PowerShellの実行(T1059.001)に関連するテレメトリには、次のものがあります。
- スクリプトブロックログ(Event ID 4104)
- モジュールログ(Event ID 4103)
- コマンドラインを含むプロセス作成(Event ID 4688 / Sysmon 1)
これらを1つも収集していなければ、ルールの精度にかかわらず、そのテクニックは確実なブラインドスポットになります。
エミュレーションする手順の選択
テクニックは抽象的な概念であり、検知する対象は具体的な手順です。攻撃者が実際に使用する、現実的な実装を選びます。
T1059.001の場合、エンコードされたコマンドを使う一般的な手順は次のようになります。
powershell.exe -nop -w hidden -enc <base64-encoded-script>検知ロジックの定義
アーティファクトがわかったら、検知ロジックとして表現します。前述のエンコードされたコマンドの例では、コマンドラインに疑わしいフラグを含むプロセス作成イベントが生成されます。
その擬似ルールは次のようになります。
process == 'powershell.exe'
AND command_line CONTAINS '-enc'
AND command_line MATCHES '(?i)(-nop|-w hidden|-windowstyle hidden)'Sigmaによるポータブルなルールの作成
Sigmaは、Splunk、Elastic、Sentinelなどにコンパイルできる、汎用的でベンダーに依存しない検知形式です。ルールをATT&CKにマッピングすると、カバレッジを追跡できます。
疑わしいエンコード済みPowerShellを検知するSigmaのスニペットは次のとおりです。
detection:
selection:
Image|endswith: '\powershell.exe'
CommandLine|contains:
- '-enc'
- '-EncodedCommand'
condition: selection
tags:
- attack.execution
- attack.t1059.001カバレッジマトリックス
対象範囲に含まれる各テクニックについて、どのテレメトリが存在し、検知が発生するかどうかを記録します。1行のカバレッジ情報に全体像を記録できます。
- テクニック:T1059.001 PowerShell
- 利用可能なデータソース:はい(Sysmon 1、4104)
- 検知の有無:はい(Sigmaルール)
- 最終検証:パープルテストの日付
- 結果:検知 / ログ記録 / ブラインド
VECTRなどのツールで管理するこの表が、信頼できる検知カバレッジの記録になります。
脆弱な検知を避ける
よくある落とし穴は、検知をテクニックにマッピングしながら、回避されやすく脆弱なアーティファクトに依存して構築してしまうことです。特定のツール名だけを検知する方法は脆弱ですが、振る舞いを検知する方法は堅牢です。
- 脆弱:ハードコードされた単一のマルウェアファイル名に対してアラートを出す
- より良い方法:振る舞いに対してアラートを出す。たとえば、
winword.exeからcmd.exeが生成されることを検知する
Pyramid of Painがこの考え方を示しています。ハッシュやファイル名は攻撃者が簡単に変更できますが、TTPの変更には大きなコストがかかります。ピラミッドの上位を狙って検知を設計しましょう。
テクニックの連鎖
実際の侵入は、単一のイベントではなく連鎖として発生します。連鎖全体を検知する方が、個々のリンクを検知するよりもはるかに強力です。
エミュレーションする連鎖の例は次のとおりです。
T1566.001Spearphishing Attachment(Initial Access)T1059.001PowerShell(Execution)T1547.001Registry Run Key(Persistence)T1003.001LSASS Memory dumping(Credential Access)
各ステップをマッピングすると、キルチェーンのどの時点から可視性が始まり、どこで途切れるのかを正確に把握できます。
マッピングの検証
テストするまでは、マッピングは単なる主張にすぎません。パープルセッションでは、レッドチームが手順を実行し、ブルーチームが、マッピングしたデータソース上で対応する検知が実際に発生することを確認します。
- 管理された時間帯に手順を実行します
- 想定したEvent IDがテレメトリに現れることを確認します
- ルールが単なるログではなく、アラートを生成することを確認します
- 検証日と結果を記録します
このループを完了して初めて、テクニックを真にカバー済みとしてマークできます。
Navigatorによる可視化
ATT&CK Navigatorを使うと、マトリックス上のカバレッジを色付きのヒートマップとして表示できます。検知済みは緑、ログのみは黄色、ブラインドスポットは赤で表示します。
- 追跡ツールから結果をNavigatorレイヤーとしてエクスポートします
- 複数のレイヤー(テスト済みと脅威インテリジェンス上の優先事項)を重ね合わせます
- 投資の必要性を説明するため、ヒートマップを経営陣と共有します
この可視化によって、「検知カバレッジ」のような抽象的な概念も、技術に詳しくない関係者がすぐに理解できるようになります。
クイックチェック
攻撃を検知にマッピングする方法を理解できているか確認しましょう。
まとめ
これで、攻撃と検知を体系的に対応付けられるようになりました。
- 共通言語としてATT&CK ID(戦術、テクニック、サブテクニック)を使用します
- 各テクニックを明らかにするデータソースを特定します
- 現実的な手順を選び、振る舞いに基づくロジックを作成します
- テクニックのタグを付けたSigmaで、移植性のあるルールを表現します
- 脆弱な検知を避けるため、Pyramid of Painの上位を狙います
- すべてのマッピングを実際に検証し、その後Navigatorでカバレッジを可視化します
次は、実際のパープルチーム演習を最初から最後まで計画し、実行します。
よくある質問
「攻撃と検知のマッピング」レッスンは無料ですか?
はい。「攻撃と検知のマッピング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「攻撃と検知のマッピング」で何を学びますか?
手法をMITRE ATT&CKに対応付けます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「攻撃と検知のマッピング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- パープルチームの意義
- 攻撃と検知のマッピング
- パープルチーム演習の実施
- 検知ギャップの解消とメトリクス