C2通信フェーズ(Command & Control)の詳細
C2通信フェーズは、インストールされたマルウェアが攻撃者のサーバーと「接続を確立する」段階です。ここまで来ると攻撃者はシステムをリモコンのように遠隔操作できる状態になります。防御側にとっては、最終フェーズである「目的達成」の直前に位置する、最後の食い止めポイントです。

C2の基本構造
C2通信の構造はシンプルです。感染したシステム(ボット)が攻撃者のC2サーバーに定期的に接続し、指示を受け取って実行します。
感染端末(ボット)
↓ ↑
定期的にチェックイン(ビーコン通信)
↓ ↑
C2サーバー(攻撃者が管理)
↑
攻撃者がコマンドを送信
この「ビーコン通信」は数分〜数時間おきに行われ、まるで「生存確認」のように見えます。通信間隔にランダムなゆらぎを持たせることで、機械的なパターンとして検知されにくくする工夫もされています。
C2通信の主なプロトコルと手法
攻撃者が最も気を遣うのは「正規の通信に溶け込むこと」です。そのため、使われるプロトコルも時代とともに巧妙化しています。
1. HTTP/HTTPS通信
最も広く使われる手法です。一般的なWebブラウジングと同じポート(80番・443番)を使うため、ファイアウォールで遮断しにくい特徴があります。HTTPS化により通信内容が暗号化されると、パケット検査での内容確認も困難になります。
2. DNSトンネリング
DNSクエリ(ドメイン名の名前解決)の中にデータを隠して通信する手法です。DNSはほぼすべての環境で許可されている通信であるため、遮断が難しい点が攻撃者に好まれる理由です。
通常のDNSクエリ: example.com のIPアドレスを教えて
DNSトンネリング: a3f8x2cmd.attacker.com のIPアドレスを教えて
↑ここにコマンドやデータが隠されている
3. ソーシャルメディア・クラウドサービスの悪用
TwitterやGitHub、Google Drive、Dropboxなど、正規のクラウドサービスをC2チャネルとして悪用するケースも増えています。これらのサービスへの通信を企業がブロックするのは業務上難しく、かつ通信先が「正規サービス」であるため検知が困難です。
4. P2P(ピアツーピア)型C2
単一のC2サーバーに依存せず、感染端末同士がネットワークを形成してコマンドを伝達します。C2サーバーが一つ落とされても全体が機能し続ける、高い耐障害性を持つ設計です。
5. ドメインフラックス(Fast Flux)
C2サーバーのIPアドレスを数分おきに変え続ける手法です。IPアドレスをブロックリストに登録しても、すぐに別のIPに切り替わるため、ブロックが追いつきません。
通信の隠蔽技術
C2通信はさらに多層的な隠蔽が施されています。
| 隠蔽技術 | 内容 |
| ステガノグラフィー | 画像ファイルの中にコマンドを埋め込む |
| 正規ツールの悪用 | CobaltStrike等のペネトレーションテストツールをC2に転用 |
| 中継サーバー(リダイレクター) | 攻撃者の本拠地を隠すための踏み台サーバーを複数経由 |
| ビーコン間隔のランダム化 | 一定間隔を避け、人間の通常利用パターンに偽装 |
防御のポイント
C2フェーズの防御は「通信を見張る」ことが中心になります。
ネットワーク監視・遮断
- プロキシサーバーの導入:すべての外部通信をプロキシ経由にし、未知のサイトへの直接接続を遮断する
- DNSフィルタリング:悪意あるドメインへの名前解決をブロックし、DNSトンネリングの異常なクエリパターンを検知する
- ネットワークトラフィック分析(NTA):通信量・接続先・間隔などの振る舞いを分析し、ビーコン通信の特徴を検知する
- 脅威インテリジェンスの活用:既知のC2サーバーIPアドレス・ドメインのブロックリストを常に最新化する
ゼロトラストアーキテクチャの考え方
従来の「社内ネットワークは安全」という前提を捨て、すべての通信を検証するゼロトラストの考え方がC2対策に有効です。端末がどこにあっても、すべての外部通信に認証・検査を課すことで、C2チャネルの確立を困難にします。
エンドポイント側での検知
- EDRによるプロセス通信の監視:マルウェアが行う不審なネットワーク接続を検知する
- ホストベースのファイアウォール:許可されていないプロセスの外部通信をブロックする
C2フェーズが最後の砦である理由
攻撃のフェーズを振り返ると、C2通信の遮断が持つ意味がよくわかります。
偵察 → 武器化 → 配送 → 悪用 → インストール → C2通信 ← ここで切る
↓
目的達成(情報窃取・破壊)
インストールまで許してしまった場合でも、C2通信を遮断することでマルウェアを「孤立」させることができます。命令を受け取れなくなった感染端末は、自律的に動くことができません。攻撃者の「リモコン」を奪うイメージです。
逆にここを突破されると、次は最終フェーズ「目的達成」へと移行します。侵害の全フェーズを通じて、C2通信の監視・遮断は最もコストパフォーマンスの高い防御の一つと言えます。
セキュリティの基礎
- サイバーキルチェーン C2通信フェーズ(Command&Control)
- サイバーキルチェーン インストールフェーズ(Installation)
- サイバーキルチェーン 悪用フェーズ(Expolitation)
- サイバーキルチェーン 武器化フェーズ(Weaponization)
- サイバーキルチェーン 目的達成フェーズ(Actions on Objectives)
- サイバーキルチェーン 配送フェーズ(Delivery)
- サイバーセキュリティ用語10選
- セキュリティの目的 ~機密性/完全性/可用性~
- セキュリティの脅威と対策の概要
- マルウェア ~ユーザにとって有害なソフトウェア~
- 認証の基礎 ~正規のユーザ/デバイスですか?~
- 覚えやすくて推測されにくい安全なパスワードの作り方
- 暗号化の概要
- ハッシュ関数とは
- SSLとは? ~アクセス先は本物です!データは盗聴/改ざんされません!~
- SSLとWi-Fiの暗号化の違い
- ファイアウォールの概要 ~正規の通信のみを転送~
- IDS/IPS ~不正アクセス対策~
- Cisco アクセスコントロールリストの概要
- パケットフィルタ ~不正な通信をブロックするCisco ACLの最も多い用途~
- SPI(Stateful Packet Inspection)の概要
- Cisco ACLによるパケットフィルタの設定と確認
- 標準ACLと拡張ACLのパケットフィルタをより深く理解するための演習 ~標準ACL~
- 名前付きACL(Named ACL)
- タイムベース(Time-based)ACL
- Cisco ACLによるパケットフィルタの設定例
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~標準ACL~
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~拡張ACL~
- リフレクシブ(Reflexive)ACL ~戻りの通信を自動的に許可~
- リフレクシブ(Reflexive)ACLの設定例
- Catalystスイッチのパケットフィルタリング RACL/VACL/PACL
- RACL/VACL/PACLの設定と確認コマンド
- uRPFの設定例
- VTYアクセス制御
- DHCPスプーフィング ~DHCPサーバを偽装~
- DHCPスヌーピング
- Cisco DHCPスヌーピングの設定と確認コマンド
- Cisco DHCPスヌーピングの設定例
- ARPスプーフィング
- Dynamic ARP Inspection
- Cisco Dynamic ARP Inspectionの設定と確認コマンド
- TCPインターセプトの設定例
- WAF(Web Application Firewall)の概要
- 電子メールのセキュリティ
- サイバーキルチェーンとは?
- サイバーキルチェーン 偵察フェーズ(Reconnaissance)
