本記事は学習用です。作成には ChatGPT と GitHub Copilot を使用しています。
1. 位置づけ:サイバー攻撃を「工程」に分けて防御点を決める
サイバーキルチェーン(Cyber Kill Chain)は、侵入型のサイバー攻撃を 段階(フェーズ) に分解し、「どこで止めるか」を設計しやすくする枠組みです。Lockheed Martin が Intelligence-Driven Defense の一部として提示した「侵入キルチェーン(Intrusion Kill Chain)」が代表的な起点で、攻撃を7段階に整理します。(lockheedmartin.com)
キルチェーンの価値は、次の2点に集約できます。
- 防御投資の置き場所が明確になる:入口(侵入前後)だけでなく、内部活動や持ち出しにも「止め所」が生まれます。(security-portal.cyber.go.jp)
- 運用(SOC/CSIRT)の観測設計に落とせる:各フェーズで「残りやすい痕跡」を前提に、ログ種別・検知ルール・対応手順を整理できます。(jpcert.or.jp)
2. 重要用語:キルチェーンを運用設計に落とすための語彙
- APT(Advanced Persistent Threat):特定組織を狙い、長期間にわたり潜伏・探索・横展開・情報窃取を行う高度で執拗な脅威です。
- C2 / C&C(Command and Control):侵害端末と攻撃者側の指令基盤の通信です。遠隔操作や追加ペイロード取得に使われます。(jpcert.or.jp)
- IOC(Indicator of Compromise):侵害を示す観測指標(悪性ドメイン、ハッシュ、レジストリ痕跡など)です。
- TTP(Tactics, Techniques, and Procedures):攻撃者の戦術・技術・手順です。後述の MITRE ATT&CK が体系化しています。(attack.mitre.org)
- SIEM(Security Information and Event Management):ログを集約し、相関分析・アラート化する基盤です。
- EDR(Endpoint Detection and Response):端末挙動を収集し、検知・隔離・調査支援を行う仕組みです。
3. 7段階の全体像:工程図として理解し、ログ観測点を置く
一般的な7段階は次の並びで整理します(呼称は多少揺れますが、意味は概ね一致します)。(jpcert.or.jp)
(1) 偵察 → (2) 武器化 → (3) 配送 → (4) 悪用 → (5) インストール → (6) C2 → (7) 目的実行
JPCERT/CC は高度サイバー攻撃をこの7段階でモデル化し、各段階で残る痕跡を「ログとして記録できる機器」と結びつけて整理しています。運用設計の観点では、この整理が最も実務的です。(jpcert.or.jp)
フェーズ別に「攻撃者行動・証跡・主対策」を対応づける
以下は、最小限の設計テーブルです(詳細は次セクションで掘り下げます)。
| フェーズ | 攻撃者の主行動 | 代表的な観測点(例) | 防御の主戦場(例) |
|---|---|---|---|
| 偵察 | 公開情報収集、スキャン | Web/メール到達前は観測が難しいです。WAF/IDSのスキャン痕跡など | 資産管理、攻撃面縮小、公開情報管理 |
| 武器化 | マルウェア/エクスプロイト準備 | 組織内観測は基本不可 | 脆弱性管理、脅威情報で先読み |
| 配送 | 添付/URL/持込媒体 | メールログ、プロキシ、DNS | メール防御、URL分離、訓練 |
| 悪用 | 脆弱性悪用、実行誘導 | EDR、端末ログ、アプリ監査 | パッチ、ASR、サンドボックス |
| インストール | 永続化・追加投入 | EDR、Sysmon、レジストリ監査 | 権限最小化、アプリ制御 |
| C2 | 外部通信・遠隔操作 | DNS/Proxy/NetFlow、EDR通信 | egress(出口)制御、検知・遮断 |
| 目的実行 | 収集・暗号化・持出 | DLP、Proxy、ストレージ監査 | 重要データ統制、持出検知 |
※「偵察」と「武器化」は組織内から直接観測しづらいフェーズです。そのため、攻撃面管理(ASM)や脅威インテリジェンス(TI)で補完し、配送以降で確実に止める設計が現実的になります。(security-portal.cyber.go.jp)
4. フェーズ別の具体策:ログ設計・検知・抑止をセットで作る
ここでは各フェーズごとに、(A)何が起きるか、(B)なぜ重要か、(C)どう設計するか を具体化します。
4.1 偵察(Reconnaissance)
(A) 攻撃者は公開情報(組織図、採用、技術スタック、公開リポジトリ)や外部スキャンで「侵入口」を探します。
(B) 偵察が成功すると、後続フェーズの成功確率が上がります。特に標的型メールでは、事前情報が本文・添付・送信元偽装の精度を左右します。(security-portal.cyber.go.jp)
(C) 実装ポイントは次のとおりです。
- 攻撃面縮小:不要な公開サービス停止、管理画面の外部非公開、既知脆弱バージョンの排除を行います。
- 公開情報の棚卸し:GitHub 等のトークン漏えい検知、公開ドキュメントのメタ情報対策を行います。
- 外部スキャン監視:WAF/IDS のスキャンシグネチャ、レート制限、欺瞞(必要に応じて)を検討します。
4.2 武器化(Weaponization)
(A) 攻撃者はエクスプロイトやマルウェアを準備し、配送手段と組み合わせます。
(B) 組織側はこの段階を直接止めにくい傾向があります。代わりに「成立しない条件」を作ります(パッチ、無害化、マクロ制限など)。
(C) 代表策は以下です。
- 脆弱性管理(VM):外部公開資産を優先し、攻撃実績のある脆弱性を先に潰します。
- 攻撃手法前提のハードニング:Office マクロ制御、スクリプト実行制限、署名必須化を進めます。
考え方として、キルチェーンは「早い段階で止めるほど被害を抑えやすい」という前提で整理されています。(lockheedmartin.com)
4.3 配送(Delivery)
(A) メール添付、リンク誘導、Web 経由、USB 等で初期侵入を届けます。JPCERT/CC の例では、なりすましメール(添付/誘導)が典型として挙がります。(jpcert.or.jp)
(B) 配送で止められると「侵害後対応」が不要になります。コスト差が極端に大きくなります。
(C) 実装は「メール」と「Web」の二正面で設計します。
- メール:DMARC/DKIM/SPF、添付サンドボックス、URL 書き換え・クリック時検査を実装します。
- Web:DNS フィルタ、URL 分離(RBI)、カテゴリ制御、ダウンロードの隔離を実装します。
- 教育訓練:フィッシング訓練をログ(結果)として継続改善に使います。
4.4 悪用(Exploitation)
(A) 脆弱性を突く、またはユーザ操作で実行を誘導します。
(B) ここから端末上の挙動が増え、EDR/Sysmon 等で観測可能性が上がります。
(C) 端末側の「既定拒否」に寄せます。
- パッチ適用(特にブラウザ、Office、VPN 機器)を進めます。
- 攻撃面削減ルール(OS機能の抑止、スクリプト制御)を適用します。
- アプリケーション制御(許可リスト、署名検証)を適用します。
4.5 インストール(Installation)
(A) 永続化、追加ペイロード配置、権限確立を行います。(jpcert.or.jp)
(B) ランサムウェアや情報窃取は、ここで足場を作ります。放置すると横展開に進みます。
(C) 「永続化ポイント」と「異常な親子プロセス」を重点監視します。
- 代表ログ:Windows Event、Sysmon(プロセス作成、レジストリ変更、サービス作成)
- 代表検知:
Office → PowerShell、ブラウザ → cmd.exeのような不自然な連鎖
4.6 C2(Command and Control)
(A) 感染端末が外部と通信し、遠隔操作や追加取得を行います。(jpcert.or.jp)
(B) C2 は「内部に侵入済み」の強い兆候で、遮断の効果が大きくなります。
(C) 重要なのは 出口(egress) の統制です。NISC も「チェーンを打ち切る」考え方を強調しています。(security-portal.cyber.go.jp)
- DNS/Proxy の集中管理(端末の直通通信を減らします)
- 不審な新規ドメイン、DGA 風、異常TTL、JA3/JA4(導入済みなら)などを検討します。
- 遮断手順:自動遮断の条件(誤検知許容)と手動承認の境界を決めます。
4.7 目的実行(Actions on Objectives)
(A) 情報探索、収集、圧縮・暗号化、持ち出しを行います。JPCERT/CC は「加工(圧縮や暗号化等)した後、情報を持ち出す」例を明示しています。(jpcert.or.jp)
(B) この段階は「検知できても被害が確定しやすい」傾向があります。したがって、重要データの所在とアクセス統制が前提になります。
(C) 実装は次の3点セットで組みます。
- データ分類と権限:重要データの置き場を減らし、アクセスを最小化
- 持ち出し監視:大容量アップロード、外部ストレージ、異常時間帯
- 封じ込め:アカウント無効化、端末隔離、通信遮断、証拠保全
5. 実装例:C2 と持ち出しをログで見つける最小構成(KQL例)
ここでは「すでに侵入された可能性がある」前提で、C2/持ち出しの兆候を SIEM で拾う最小例を示します。具体的なフィールド名は製品差があるため、概念例として扱います。
5.1 例:短時間に新規ドメインへ多数接続する端末を抽出(DNSログ)
// 目的:端末が「普段接続しない新規ドメイン」へ急増していないかを見る(C2候補)
let baseline_days = 14d;
let window = 1h;
// 過去ベースラインで端末ごとの既知ドメイン集合を作る
let known =
DnsEvents
| where TimeGenerated between (ago(baseline_days) .. ago(window))
| summarize known_domains = make_set(Domain, 10000) by DeviceId;
// 直近1時間の問い合わせで、既知集合にないドメインを数える
DnsEvents
| where TimeGenerated > ago(window)
| join kind=leftouter known on DeviceId
| extend is_new = iff(array_index_of(known_domains, Domain) == -1, true, false)
| where is_new
| summarize new_domain_count = dcount(Domain), sample_domains = make_set(Domain, 20) by DeviceId
| where new_domain_count >= 20
| order by new_domain_count desc
使い所
- C2 の「ドメインローテーション」や「分散通信」を早期に拾います。
- 運用では、例外(ブラウザ更新、CDN 変更、業務SaaS導入)を整理し、誤検知を減らします。
5.2 例:外部ストレージへの大容量アップロード(Proxyログ)
// 目的:目的実行(持ち出し)を疑う大容量アップロードを抽出する
let window = 6h;
ProxyEvents
| where TimeGenerated > ago(window)
| where HttpMethod in ("POST","PUT")
| where Url has_any ("drive.google.com","dropbox.com","box.com","onedrive.live.com")
| summarize total_upload_bytes = sum(UploadBytes),
url_samples = make_set(Url, 10) by UserId, DeviceId
| where total_upload_bytes > 500000000 // 例:500MB超
| order by total_upload_bytes desc
6. よくある誤り:キルチェーンを「線形の正解ルート」と誤解する
サイバーキルチェーンは理解と会話の共通土台として有効ですが、万能ではありません。代表的な落とし穴を整理します。
6.1 「1箇所止めれば必ず終わる」と期待する
Unified Kill Chain の議論では、実攻撃が段階を飛ばしたり順序が前後したりする点が指摘されています。(ユニファイドキルチェーン)
したがって、防御設計は「単一点の神頼み」ではなく、複数段で止める多層防御として組みます。
6.2 「侵入後」の行動が粗くなる
キルチェーンは高レベルの工程表で、侵入後の行動粒度が不足しがちです。ここで MITRE ATT&CK を併用すると、検知ルールやハンティング仮説を具体化できます。MITRE は戦術(tactics)と技術(techniques)を整理し、Enterprise Matrix として公開しています。(attack.mitre.org)
東京都の解説でも、キルチェーンは「プロセス(順序)」、ATT&CK は「手法の詳細」という差が明示されています。(中小企業サイバーセキュリティ支援)
6.3 現場のログが不足して「絵に描いた餅」になる
JPCERT/CC が強調する通り、段階ごとに「残る痕跡」をログで取れないと分析も検知も成立しません。(jpcert.or.jp)
ログ設計(収集範囲・保存期間・時刻同期)を、キルチェーン導入の初手に置きます。
7. 現場導入手順:最小で回し、検知と対応を成熟させる
導入は「モデル採用」ではなく「運用の設計変更」です。最小の進め方を提示します。
手順1:守る資産と想定シナリオを固定する
- 例:顧客DB、設計図面、ソースコード、認証基盤
- シナリオは「標的型メール→侵入→窃取」など、まず1本に絞ります(7段階の適用が容易になります)。(security-portal.cyber.go.jp)
手順2:フェーズ別に「観測できるログ」を棚卸しする
- 端末:EDR / Sysmon / OSイベント
- ネットワーク:DNS / Proxy / FW / NetFlow
- クラウド:監査ログ(例:管理操作、ストレージアクセス)
※ログがないフェーズは「検知」ではなく「抑止」(設定・制御)を厚くする、という割り切りが必要になります。
手順3:各フェーズに「止め所」を1つずつ決める
- 配送:メール添付の隔離(自動)
- 悪用:マクロ無効(強制)
- C2:既知悪性ドメイン遮断(自動)、未知は検知(手動)
- 目的実行:大容量アップロードでアラート→端末隔離(手順化)
手順4:インシデント対応の最短動線を作る
- 誰が何分以内に何を見るか(SOC/CSIRT)
- 証拠保全と遮断の優先順位(業務影響との調整)
この「組織運用」を体系化した教材として、ISOG の「セキュリティ対応組織(SOC/CSIRT)の教科書」が参照になります。(isog-j.org)
8. まとめ:キルチェーンは「工程表」ではなく「設計図」になる
- サイバーキルチェーンは、攻撃を7段階に分解し「どこで止めるか」を設計する枠組みです。(lockheedmartin.com)
- 実務では、各フェーズを 行動・証跡・コントロール に分け、ログ設計と対応手順まで落とすと効果が出やすくなります。(jpcert.or.jp)
- 線形モデルの限界を踏まえ、侵入後の粒度は MITRE ATT&CK で補完し、多層防御として実装します。(attack.mitre.org)
A. 参考サイト
1) Lockheed Martin: Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains (PDF)
2) JPCERT/CC: 高度サイバー攻撃への対処におけるログの活用と分析方法(PDF)
3) NISC(内閣サイバーセキュリティセンター)コラム:標的型メール攻撃とサイバーキルチェーン
4) Unified Kill Chain(概説)
5) MITRE ATT&CK: Enterprise Matrix(公式)
6) 東京都 中小企業向けサイバーセキュリティ対策:サイバーキルチェーンとMITRE ATT&CK
7) ISOG: セキュリティ対応組織(SOC/CSIRT)の教科書 v3.0(PDF)
B. 関連書籍(日本語優先)


コメント