ハニーポットでどこまで情報を収集するべきか
本記事の位置づけ
本記事は、ハニーポット運用において「どこまで情報を収集するべきか」を決めるための議論材料である。
ここでは、特定の方針や結論は示さない。
本記事の目的は、次の問いを整理することである。
- ハニーポットの目的は何か
- その目的を達成するには、どの情報が必要か
- その情報を収集対象にするか、しないか
- 対話型ハニーポットと非対話型ハニーポットで、収集すべき情報はどう変わるか
- 収集対象を広げた場合、どのような追加論点が発生するか
なお、本記事では以下を議論対象外とする。
- 実装方式
- マスキング方式
- 暗号化方式
- ハッシュ化方式
- 保存基盤の設計
- SIEM連携方式
- WAF連携方式
- 具体的なクラウド構成
- 運用手順の詳細
1. 議論の出発点
侵入検知・防御の観測点を設計するときは、観測目的と記録する情報の粒度を分けて考える必要がある。NIST SP 800-94も、侵入検知・防御システムを検討する際の観測、検知、対応の観点を整理している。1
ハニーポットの情報収集範囲は、「ハニーポットで何を知りたいのか」によって変わる。
例えば、単にインターネット上のスキャン傾向を把握したいだけであれば、接続元IP、時刻、宛先ポート、HTTPメソッド、URI程度で足りる可能性がある。
一方で、認証攻撃の実態を把握したい場合は、ログイン試行の有無、入力されたIDの形式、入力頻度、試行パターンなどが論点になる。
さらに、攻撃者と対話する高対話型ハニーポットの場合は、攻撃者がどのような操作を行うか、どのコマンドを実行するか、どのファイルを取得しようとするか、どの外部通信を試みるか、といった情報が論点になる。
つまり、最初に整理すべきなのは次の問いである。
ハニーポットの目的は何か。
この問いを曖昧にしたまま「何を収集するか」を決めると、必要以上に広い情報を集める、または必要な情報が不足する、という両方の問題が起こる。
2. ハニーポットの目的一覧
ハニーポットの目的は一つではない。代表的には次のように整理できる。
| No | 目的 | 主な関心 | 情報収集の方向性 |
|---|---|---|---|
| 1 | インターネット上のスキャン傾向把握 | 何がどれくらい来ているか | 最小限の接続情報中心 |
| 2 | 公開面への攻撃傾向把握 | どのURI、機能、ポートが狙われるか | リクエスト情報中心 |
| 3 | WAF・IDS・SIEM等の検知改善 | 何を検知でき、何を見逃すか | 検知結果とリクエストの突合 |
| 4 | 認証攻撃の観測 | どのようなログイン試行が来るか | 認証試行の特徴情報 |
| 5 | 攻撃ツール・Botの識別 | どのツール、Bot、スキャナーか | User-Agent、挙動、頻度 |
| 6 | 攻撃キャンペーンの観測 | 同一傾向の攻撃が広がっているか | 時系列、パターン、送信元群 |
| 7 | 脆弱性探索行動の観測 | どの脆弱性が狙われているか | URI、パラメータ、ペイロード分類 |
| 8 | 攻撃者の侵入後行動の観測 | 入った後に何をするか | コマンド、ファイル操作、通信 |
| 9 | マルウェア取得・配布経路の観測 | どこから何を取ろうとするか | URL、ファイル名、ハッシュ等 |
| 10 | 脅威インテリジェンス作成 | 共有可能なIOCを作れるか | IP、ドメイン、URL、ハッシュ等 |
| 11 | 自組織の防御設計の妥当性確認 | 現行防御で足りているか | 攻撃種別と防御結果 |
| 12 | 教育・訓練・研究 | 攻撃の実例を理解する | 目的に応じた観測情報 |
3. 対話のあるなしで変わること
ハニーポットは、大きく「非対話型」と「対話型」に分けて考えると整理しやすい。
ここでいう対話とは、攻撃者やBotに対して、ハニーポットが何らかの応答を返し、その後の行動を引き出すことを指す。
3.1 非対話型ハニーポット
非対話型ハニーポットは、主にアクセス、スキャン、リクエストの到達を観測する。
典型的には、以下のような情報が議論対象になる。
| 観測対象 | 内容 |
|---|---|
| 到達したか | 攻撃・スキャンが来たか |
| いつ来たか | 時刻、頻度、集中度 |
| どこから来たか | 送信元IP、ASN、国・地域推定 |
| どこを狙ったか | 宛先ポート、Host、URI |
| 何を送ってきたか | メソッド、パス、クエリ、ヘッダー |
| どのようなツールか | User-Agent、リクエスト間隔 |
| 防御機構がどう扱ったか | WAF判定、IDS判定、ステータスコード |
非対話型の場合、主な目的は「観測」であり、攻撃者の後続行動を引き出すことではない。
したがって、議論の中心は次になる。
- 接続情報だけで足りるか
- URIやクエリまで見る必要があるか
- POST本文まで見る必要があるか
- ヘッダー全体を見る必要があるか
- 認証情報らしき入力をどこまで扱うか
3.2 対話型ハニーポット
対話型ハニーポットは、攻撃者やBotに応答し、その後の行動を観測する。
SSH、RDP、Telnet、Web管理画面、疑似ログイン画面、疑似シェル、疑似APIなどが考えられる。
典型的には、以下のような情報が議論対象になる。
| 観測対象 | 内容 |
|---|---|
| 侵入試行 | ログイン試行、認証突破の試み |
| 操作内容 | コマンド、クリック、API操作 |
| 探索行動 | ディレクトリ一覧、設定ファイル探索 |
| 権限昇格行動 | sudo、権限確認、脆弱性探索 |
| 永続化行動 | cron、サービス登録、スタートアップ設定 |
| 外部通信 | ダウンロードURL、C2接続先、DNS問い合わせ |
| ファイル操作 | 作成、取得、削除、アップロード |
| 横展開行動 | 内部IP探索、認証情報探索 |
| 痕跡消去 | ログ削除、履歴削除 |
| 自動化度 | Botか人手か、操作間隔、入力の揺れ |
対話型の場合、主な目的は「到達した攻撃の観測」だけでなく、「侵入後に何をしようとするか」の観測に広がる。
そのため、議論の中心は次になる。
- 操作ログをどこまで取るか
- コマンド全文を取るか
- ファイル取得を許すか
- 外部通信を許すか
- 攻撃者にどこまで環境を見せるか
- 攻撃者との対話を深めるほど、どのようなリスクが増えるか
3.3 非対話型と対話型の比較
| 観点 | 非対話型 | 対話型 |
|---|---|---|
| 主な目的 | 到達・スキャン・攻撃試行の観測 | 侵入後行動・操作内容の観測 |
| 取得しやすい情報 | IP、時刻、URI、User-Agent | コマンド、操作、外部通信、ファイル行動 |
| 情報量 | 比較的少ない | 多い |
| 攻撃者の行動誘発 | 小さい | 大きい |
| 分析の深さ | 傾向分析中心 | TTP分析まで可能 |
| リスク | 比較的低い | 高くなりやすい |
| 議論すべき点 | どこまでリクエストを記録するか | どこまで操作させ、記録するか |
| 収集範囲の決め方 | 目的別に最小化しやすい | 目的とリスクのバランスが難しい |
4. 目的別に見た必要情報
以下では、目的ごとに「必要になり得る情報」と「収集対象にするか議論が必要な情報」を整理する。
ここでは、収集すべき・すべきでないという結論は示さない。
4.1 目的1:インターネット上のスキャン傾向把握
インターネット上のスキャン傾向把握の目的
外部からどの程度スキャンやアクセスが来ているかを把握する。
インターネット上のスキャン傾向把握で知りたいこと
- どの時間帯に多いか
- どのポートが狙われるか
- どの国・地域・ASNから多いか
- どの程度が自動スキャンか
- 急増しているスキャンがあるか
インターネット上のスキャン傾向把握で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| 時刻 | 高 | 時系列分析に必要 |
| 送信元IP | 高 | スキャン元の傾向把握に必要 |
| 宛先ポート | 高 | 狙われるサービスの把握に必要 |
| プロトコル | 高 | TCP/UDP/HTTP等の分類に必要 |
| User-Agent | 中 | HTTP系スキャンでは有用 |
| URI | 中 | Webスキャンの傾向把握に有用 |
| クエリ文字列 | 低〜中 | 単純な傾向把握だけなら不要な場合あり |
| POST本文 | 低 | スキャン傾向把握だけなら不要な場合が多い |
| 入力ID・パスワード | 低 | この目的だけでは必要性は低い |
インターネット上のスキャン傾向把握の議論ポイント
- 単純なスキャン把握なら、接続情報だけで足りるのではないか
- Webアプリ探索の傾向まで見るなら、URIまでは必要ではないか
- POST本文まで収集する必要はあるのか
- IPをどの粒度で扱うか
4.2 目的2:公開面への攻撃傾向把握
公開面への攻撃傾向把握の目的
自組織の公開サービスに対して、どのような攻撃が向けられているかを把握する。
公開面への攻撃傾向把握で知りたいこと
- どのURIが狙われているか
- 管理画面探索があるか
- 既知製品の脆弱性探索があるか
- SQLインジェクションやXSSが来ているか
- ファイルアップロードやパストラバーサルが試されているか
公開面への攻撃傾向把握で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| 時刻 | 高 | 攻撃時系列の把握に必要 |
| 送信元IP | 高 | 攻撃元傾向の把握に必要 |
| Host | 中 | 複数ドメイン運用時に必要 |
| HTTPメソッド | 高 | 攻撃種別の分類に必要 |
| URI | 高 | 狙われた機能の把握に必要 |
| クエリ文字列 | 中〜高 | 攻撃ペイロード判定に必要な場合あり |
| リクエストヘッダー | 中 | ツール識別に有用 |
| POSTパラメータ名 | 中 | 攻撃対象の推定に有用 |
| POST本文 | 中 | 攻撃分類には有用だが議論が必要 |
| ファイル名 | 中 | アップロード攻撃の把握に有用 |
| ファイル本文 | 低〜中 | 有用性はあるがリスクも大きい |
公開面への攻撃傾向把握の議論ポイント
- URIだけで攻撃傾向を把握できるか
- クエリ文字列まで見ないと攻撃分類が難しいか
- POST本文の収集はどの目的で必要になるか
- ファイルアップロードを観測対象に含めるか
4.3 目的3:WAF・IDS・SIEM等の検知改善
WAF・IDS・SIEM等の検知改善の目的
既存の検知・防御機構が、攻撃をどの程度検知できているかを確認し、検知ルールを改善する。
WAF・IDS・SIEM等の検知改善で知りたいこと
- 攻撃らしきリクエストをWAFが検知したか
- IDSやSIEMで相関分析できているか
- 未検知の攻撃パターンがあるか
- 過剰検知や誤検知があるか
- どのルールが反応したか
- どのログとどのログを突合すべきか
WAF・IDS・SIEM等の検知改善で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| request_id | 高 | 複数ログの突合に必要 |
| 時刻 | 高 | 相関分析に必要 |
| 送信元IP | 高 | WAF/IDSログとの突合に必要 |
| URI | 高 | 検知対象の把握に必要 |
| HTTPメソッド | 高 | 攻撃分類に必要 |
| クエリ文字列 | 中〜高 | ルール反応理由の確認に必要な場合あり |
| POST本文 | 中〜高 | WAF検知改善には必要な場合あり |
| WAF判定 | 高 | allow/block/log等の把握に必要 |
| WAFルールID | 高 | どのルールが反応したかの確認に必要 |
| IDS検知名 | 中〜高 | 相関分析に有用 |
| ステータスコード | 中 | 応答結果の把握に有用 |
| レスポンスサイズ | 中 | 攻撃成功推定に有用な場合あり |
WAF・IDS・SIEM等の検知改善の議論ポイント
- 検知改善には、実際のペイロードをどこまで把握する必要があるか
- WAFログ側で十分か、ハニーポット側でも記録が必要か
- request_idを中心にした突合だけで足りるか
- 未検知分析には、未加工のリクエスト情報が必要か
4.4 目的4:認証攻撃の観測
認証攻撃の観測の目的
ログインフォーム、管理画面、SSH、RDP等に対する認証攻撃の傾向を把握する。
認証攻撃の観測で知りたいこと
- どの程度ログイン試行が来ているか
- よく使われるIDは何か
- よく使われるパスワードの傾向は何か
- 辞書攻撃か、クレデンシャルスタッフィングか
- 同じ組み合わせが繰り返されているか
- 攻撃元ごとに試行パターンが違うか
- Botか人手か
認証攻撃の観測で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| 時刻 | 高 | 試行頻度の把握に必要 |
| 送信元IP | 高 | 攻撃元単位の分析に必要 |
| 対象サービス | 高 | SSH/Web/RDP等の区別に必要 |
| 成功・失敗扱い | 高 | 攻撃の進行把握に必要 |
| 入力ID | 中〜高 | ID傾向分析には必要になり得る |
| 入力パスワード | 中〜高 | 辞書傾向分析には必要になり得る |
| IDとパスワードの組 | 中 | 組み合わせ再利用分析には有用 |
| 試行間隔 | 中 | Bot/人手判定に有用 |
| User-Agent | 中 | Webログインでは有用 |
| セッション識別子 | 中 | 同一試行者の行動把握に有用 |
| 入力回数 | 高 | ブルートフォース把握に必要 |
認証攻撃の観測の議論ポイント
- 認証攻撃の観測において、IDそのものが必要か、形式だけで足りるか
- パスワードそのものが必要か、長さ・文字種・頻度で足りるか
- IDとパスワードの組み合わせを見る必要があるか
- クレデンシャルスタッフィングの可能性をどう扱うか
- 入力値が第三者の漏えい情報である可能性をどう評価するか
認証攻撃の観測の参考論点
OWASPは、クレデンシャルスタッフィングを、漏えいしたユーザー名とパスワードの組を用いて別サービスにログインを試みる攻撃として説明している。2
このため、ハニーポットに入力される認証情報は、攻撃者本人の情報ではなく、第三者の漏えい情報である可能性がある。34
-
OWASP Credential Stuffing
https://owasp.org/www-community/attacks/Credential_stuffing -
OWASP Credential Stuffing Prevention Cheat Sheet
https://cheatsheetseries.owasp.org/cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.html
4.5 目的5:攻撃ツール・Botの識別
攻撃ツール・Botの識別の目的
アクセスしてきた主体が、どのようなツール、Bot、スキャナー、攻撃フレームワークを使っているかを推定する。
攻撃ツール・Botの識別で知りたいこと
- 既知スキャナーか
- 汎用Botか
- 特定脆弱性を狙うツールか
- 手動操作か
- 同じツールが複数IPから使われているか
- 攻撃の自動化度はどの程度か
攻撃ツール・Botの識別で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| User-Agent | 高 | ツール識別に有用 |
| ヘッダー順序 | 中 | ツール指紋になる場合あり |
| リクエスト間隔 | 高 | Bot判定に有用 |
| URI列 | 高 | スキャンパターンの把握に有用 |
| HTTPメソッド | 中 | ツール挙動の分類に有用 |
| TLS指紋 | 中 | Bot識別に有用な場合あり |
| エラー時の再試行 | 中 | 自動化度の推定に有用 |
| 入力値 | 低〜中 | 認証Botでは有用な場合あり |
攻撃ツール・Botの識別の議論ポイント
- User-Agentだけで足りるか
- ヘッダー順序やTLS指紋まで必要か
- 識別精度をどこまで求めるか
- Bot識別のために、セッション単位の行動追跡が必要か
4.6 目的6:攻撃キャンペーンの観測
攻撃キャンペーンの観測の目的
同一または類似の攻撃が、短期間に広範囲から来ているかを把握する。
攻撃キャンペーンの観測で知りたいこと
- 特定脆弱性の探索が急増しているか
- 同一User-Agentや同一URI列が複数IPから来ているか
- 攻撃元がクラウド事業者や特定ASNに偏っているか
- 攻撃パターンが時間とともに変化しているか
- 報道・PoC公開・脆弱性公表と連動しているか
攻撃キャンペーンの観測で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| 時刻 | 高 | キャンペーンの時間軸把握に必要 |
| 送信元IP | 高 | 分散状況の把握に必要 |
| ASN | 中〜高 | 攻撃基盤の傾向把握に有用 |
| URI | 高 | 狙われた脆弱性推定に必要 |
| クエリ文字列 | 中 | 攻撃パターン比較に有用 |
| User-Agent | 高 | 同一ツール推定に有用 |
| ペイロード分類 | 中〜高 | 同一キャンペーン推定に有用 |
| 外部URL | 中 | マルウェア取得行動がある場合に有用 |
| ハッシュ | 中 | 検体が関係する場合に有用 |
攻撃キャンペーンの観測の議論ポイント
- キャンペーン把握に必要な粒度はどこまでか
- 同一性判定のためにペイロード本文まで必要か
- IP単位ではなくASNやクラウド事業者単位で十分か
- 外部の脅威情報と照合するために何を残すか
4.7 目的7:脆弱性探索行動の観測
脆弱性探索行動の観測の目的
攻撃者がどの製品、どの脆弱性、どの設定不備を探しているかを把握する。
脆弱性探索行動の観測で知りたいこと
- どの製品の管理画面が探されているか
- 既知脆弱性のPoCに似たリクエストが来ているか
- ファイル読み取り、RCE、認証回避などのどれが狙われているか
- 特定CVEの公開後に探索が増えたか
- どのURIやパラメータが狙われているか
脆弱性探索行動の観測で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| URI | 高 | 狙われた製品・機能の推定に必要 |
| HTTPメソッド | 高 | 攻撃手法の分類に必要 |
| クエリ文字列 | 高 | 脆弱性探索の判定に必要な場合あり |
| POSTパラメータ名 | 中〜高 | 攻撃対象の推定に有用 |
| POST本文 | 中〜高 | RCE等の判定に必要な場合あり |
| ヘッダー | 中 | 製品固有攻撃の判定に有用な場合あり |
| User-Agent | 中 | ツール識別に有用 |
| レスポンスコード | 中 | 攻撃者側の継続判断推定に有用 |
| 攻撃分類 | 高 | SQLi、XSS、RCE等の整理に必要 |
脆弱性探索行動の観測の議論ポイント
- CVE推定に必要な情報はURIだけか、本文まで必要か
- PoCコードとの照合をする場合、どの粒度が必要か
- 攻撃分類を人手で行うか、ルールで行うか
- 対象製品名を推定するだけで足りるか、ペイロード詳細まで必要か
4.8 目的8:攻撃者の侵入後行動の観測
攻撃者の侵入後行動の観測の目的
攻撃者が侵入に成功したと見なした後、どのような行動を取るかを観測する。
攻撃者の侵入後行動の観測で知りたいこと
- まず何を確認するか
- 権限昇格を試みるか
- 認証情報を探すか
- 外部からツールをダウンロードするか
- 永続化を試みるか
- 横展開を試みるか
- 痕跡消去を試みるか
- 人手か自動化か
攻撃者の侵入後行動の観測で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| セッション開始時刻 | 高 | 行動時系列に必要 |
| 操作コマンド | 高 | 侵入後行動の把握に必要 |
| コマンド引数 | 高 | 意図の把握に必要 |
| カレントディレクトリ | 中 | 探索行動の把握に有用 |
| ファイル操作 | 中〜高 | 永続化・窃取行動の把握に有用 |
| プロセス起動 | 中〜高 | 攻撃ツール実行の把握に有用 |
| 外部通信先 | 高 | C2、ダウンロード先の把握に有用 |
| ダウンロードURL | 高 | ツール・マルウェア取得の把握に有用 |
| 入力文字列 | 高 | 操作意図の把握に必要 |
| 応答内容 | 中 | 攻撃者が何を見たかの把握に有用 |
攻撃者の侵入後行動の観測の議論ポイント
- 侵入後行動を観測する目的があるか
- コマンド全文を記録する必要があるか
- 攻撃者にどこまで操作させるか
- 外部通信を許すか、観測だけにするか
- 横展開や外部攻撃につながる行動をどう扱うか
4.9 目的9:マルウェア取得・配布経路の観測
マルウェア取得・配布経路の観測の目的
攻撃者がどのURL、ドメイン、IPからツールやマルウェアを取得しようとするかを把握する。
マルウェア取得・配布経路の観測で知りたいこと
- どのダウンロードURLが使われるか
- どのドメインやIPが使われるか
- どのファイル名が使われるか
- 取得されるファイルは既知のマルウェアか
- 同じURLが複数の攻撃で使われているか
- 攻撃者はどの取得コマンドを使うか
マルウェア取得・配布経路の観測で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| ダウンロードURL | 高 | IOCとして有用 |
| ドメイン | 高 | 脅威情報として有用 |
| IP | 高 | IOCとして有用 |
| ファイル名 | 中〜高 | 攻撃ツール推定に有用 |
| ファイルサイズ | 中 | 検体識別に有用 |
| ファイルハッシュ | 中〜高 | IOCとして有用 |
| ファイル本文 | 中 | 解析には有用だがリスクが高い |
| 取得コマンド | 高 | TTP分析に有用 |
| 実行コマンド | 高 | 攻撃意図の把握に有用 |
マルウェア取得・配布経路の観測の議論ポイント
- マルウェアそのものを扱う目的があるか
- URL、ファイル名、ハッシュだけで足りるか
- 検体本文まで必要か
- 外部共有する場合、どの粒度が適切か
4.10 目的10:脅威インテリジェンス作成
脅威インテリジェンス作成の目的
ハニーポットで観測した情報を、自組織または関係者の防御に使える脅威情報として整理する。
脅威インテリジェンス作成で知りたいこと
- 共有可能なIOCは何か
- どの攻撃が継続的に観測されているか
- どの攻撃元、ドメイン、URL、ハッシュが有用か
- 自組織の防御ルールに反映できるか
- 他組織への情報提供に耐えるか
脅威インテリジェンス作成で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| IP | 高 | IOCとして使いやすい |
| ドメイン | 高 | IOCとして使いやすい |
| URL | 高 | 攻撃インフラ把握に有用 |
| ファイルハッシュ | 高 | マルウェア識別に有用 |
| User-Agent | 中 | ツール識別に有用 |
| 攻撃分類 | 高 | 情報共有時の文脈に必要 |
| 観測時刻 | 高 | 情報の鮮度判断に必要 |
| 観測件数 | 中 | 重要度判断に有用 |
| ペイロード例 | 中 | 文脈説明に有用だが扱いに注意 |
| 認証情報 | 低 | 共有対象としては扱いが難しい |
脅威インテリジェンス作成の議論ポイント
- 脅威インテリジェンスとして本当に共有するのか
- 自組織内利用に留めるのか
- IOCだけで足りるか、TTPまで整理するか
- 認証情報由来の情報を共有対象に含めるか
- 情報共有先によって粒度を変えるか
脅威インテリジェンス作成の参考論点
NIST SP 800-150は、サイバー脅威情報共有について、共有する情報の性質、共有目的、共有先、取扱いを整理する必要性を示している。5
- NIST SP 800-150 Guide to Cyber Threat Information Sharing
https://csrc.nist.gov/pubs/sp/800/150/final
4.11 目的11:自組織の防御設計の妥当性確認
自組織の防御設計の妥当性確認の目的
自組織のWAF、IDS、SIEM、ログ監視、ブロックルール、インシデント対応プロセスが、実際の攻撃観測に対して妥当か確認する。
自組織の防御設計の妥当性確認で知りたいこと
- 現在の防御で検知できているか
- ブロックすべき通信が通っていないか
- 検知しても通知されていないものはないか
- ログが相関分析できる形で残っているか
- インシデント対応に必要な情報が揃っているか
- チューニング対象はどこか
自組織の防御設計の妥当性確認で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| request_id | 高 | ログ突合に必要 |
| WAF判定 | 高 | 防御結果の確認に必要 |
| IDS判定 | 中〜高 | 検知結果の確認に必要 |
| SIEMアラート | 中〜高 | 運用検知の確認に必要 |
| リクエスト概要 | 高 | 何に反応したか確認するため |
| 攻撃分類 | 高 | 防御評価に必要 |
| 送信元IP | 高 | ブロック・相関分析に必要 |
| ステータスコード | 中 | 応答結果の確認に有用 |
| レスポンスサイズ | 中 | 成功・失敗推定に有用 |
| 対応記録 | 中 | 運用品質の確認に有用 |
自組織の防御設計の妥当性確認の議論ポイント
- ハニーポットの目的は、攻撃観測か、防御検証か
- 防御検証であれば、WAFやSIEM側のログで足りるか
- ハニーポット側でどこまで記録する必要があるか
- 検知から対応までのプロセス確認も対象にするか
4.12 目的12:教育・訓練・研究
教育・訓練・研究の目的
実際に観測された攻撃を用いて、教育、訓練、研究、演習に活用する。
教育・訓練・研究で知りたいこと
- 実際の攻撃はどのような形で来るか
- 教材として使える攻撃例はあるか
- 典型的なBotの動きはどのようなものか
- WAFやIDSはどのように反応するか
- 攻撃者の侵入後行動を説明できるか
教育・訓練・研究で必要になり得る情報
| 情報 | 必要性 | 収集対象にするかの論点 |
|---|---|---|
| リクエスト例 | 中〜高 | 教材化に有用 |
| 攻撃分類 | 高 | 学習整理に必要 |
| 時系列 | 中 | 攻撃流れの説明に有用 |
| WAF/IDS判定 | 中 | 防御教育に有用 |
| コマンド例 | 中〜高 | 侵入後行動教育に有用 |
| IOC | 中 | 脅威情報教育に有用 |
| 認証情報 | 低 | 教材として扱う必要性は低い |
| 検体本文 | 低〜中 | 研究目的以外では扱いにくい |
教育・訓練・研究の議論ポイント
- 教育目的なら、実データである必要があるか
- 模擬データや加工済みデータで足りるか
- どの情報を教材として第三者に見せられるか
- 研究目的と教育目的を分けるべきか
5. 目的別・収集対象マトリクス
以下は、目的ごとに、各情報が議論対象になり得るかを整理したものである。
記号の意味は次の通り。
| 記号 | 意味 |
|---|---|
| ◎ | 目的達成上、中心的な情報になりやすい |
| ○ | 有用な場合が多い |
| △ | 目的や粒度によって議論が必要 |
| - | その目的では必要性が低い |
| 情報項目 | スキャン傾向 | 攻撃傾向 | 検知改善 | 認証攻撃 | Bot識別 | キャンペーン | 侵入後行動 | TI作成 |
|---|---|---|---|---|---|---|---|---|
| 時刻 | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ |
| 送信元IP | ◎ | ◎ | ◎ | ◎ | ○ | ◎ | ○ | ◎ |
| ASN | ○ | ○ | △ | ○ | △ | ◎ | △ | ○ |
| 宛先ポート | ◎ | ○ | ○ | ○ | △ | ○ | △ | △ |
| Host | △ | ○ | ○ | △ | △ | ○ | △ | △ |
| HTTPメソッド | ○ | ◎ | ◎ | △ | ○ | ○ | - | △ |
| URI | ○ | ◎ | ◎ | △ | ◎ | ◎ | - | ○ |
| クエリ文字列 | △ | ○ | ○ | - | △ | ○ | - | △ |
| POSTパラメータ名 | - | ○ | ○ | ○ | △ | △ | - | △ |
| POST本文 | - | △ | ○ | △ | △ | △ | - | △ |
| User-Agent | ○ | ○ | ○ | ○ | ◎ | ◎ | - | ○ |
| ヘッダー詳細 | △ | △ | △ | △ | ○ | △ | - | △ |
| WAF判定 | - | ○ | ◎ | △ | △ | △ | - | △ |
| IDS判定 | - | ○ | ◎ | △ | △ | △ | - | △ |
| request_id | △ | ○ | ◎ | ○ | △ | △ | △ | △ |
| 入力ID | - | - | △ | ◎ | △ | △ | - | - |
| 入力パスワード | - | - | △ | ◎ | △ | △ | - | - |
| コマンド | - | - | - | - | - | △ | ◎ | ○ |
| ファイル名 | - | △ | △ | - | △ | ○ | ○ | ○ |
| ファイル本文 | - | △ | △ | - | - | △ | △ | △ |
| 外部URL | - | △ | △ | - | △ | ○ | ◎ | ◎ |
| ファイルハッシュ | - | △ | △ | - | - | ○ | ○ | ◎ |
6. 収集対象にする・しないを議論するための観点
各情報項目について、収集対象に含めるかどうかは、次の観点で議論すると整理しやすい。
| 観点 | 問い |
|---|---|
| 目的適合性 | その情報は、今回のハニーポット目的に直接必要か |
| 代替可能性 | より粗い情報、分類、件数で代替できないか |
| 一意性 | その情報がないと分析できないのか |
| 機微性 | 個人情報、認証情報、第三者情報を含む可能性はあるか6 |
| 保有リスク | 漏えい時、誤利用時の影響はどの程度か |
| 運用負荷 | 閲覧権限、保存期間、削除、監査の負担はどの程度か |
| 第三者説明性 | 外部に対して、収集理由を説明できるか |
| 共有可能性 | 収集した情報を防御改善や情報共有に使えるか |
| 過剰性 | 目的に比べて取り過ぎになっていないか |
| 継続性 | 長期運用しても管理できるか |
7. 情報項目別の論点整理
7.1 送信元IP
| 観点 | 論点 |
|---|---|
| 有用性 | 攻撃元傾向、頻度、ブロック候補、相関分析に有用 |
| 必要になる目的 | スキャン傾向、攻撃傾向、検知改善、キャンペーン観測、TI作成 |
| 議論点 | 個別IPで保持するか、ASNや集計値で足りるか |
| 追加論点 | NAT、VPN、クラウド、ボットネット経由の場合、攻撃者本人を示すとは限らない |
7.2 URI・パス
| 観点 | 論点 |
|---|---|
| 有用性 | どの製品、機能、脆弱性が狙われているか把握できる |
| 必要になる目的 | 攻撃傾向、脆弱性探索、検知改善、キャンペーン観測 |
| 議論点 | パスだけで足りるか、クエリまで必要か |
| 追加論点 | URL内に個人情報やトークンが含まれるケースをどう扱うか |
7.3 クエリ文字列
| 観点 | 論点 |
|---|---|
| 有用性 | SQLi、XSS、RCE、パストラバーサル等の判定に有用 |
| 必要になる目的 | 攻撃分類、検知改善、脆弱性探索 |
| 議論点 | 攻撃分類に必要な範囲はどこまでか |
| 追加論点 | クエリ内に認証情報、メールアドレス、トークンが含まれる可能性 |
7.4 POST本文
| 観点 | 論点 |
|---|---|
| 有用性 | ログイン試行、RCE、API攻撃、ファイルアップロード攻撃の分析に有用 |
| 必要になる目的 | 検知改善、認証攻撃、脆弱性探索 |
| 議論点 | 本文全体が必要か、パラメータ名や分類で足りるか |
| 追加論点 | 個人情報、認証情報、トークン、マルウェアが含まれる可能性 |
7.5 User-Agent
| 観点 | 論点 |
|---|---|
| 有用性 | Bot、スキャナー、攻撃ツールの識別に有用 |
| 必要になる目的 | スキャン傾向、Bot識別、キャンペーン観測 |
| 議論点 | 偽装されやすい情報をどこまで信用するか |
| 追加論点 | 他の挙動情報と組み合わせないと判断を誤る可能性 |
7.6 ヘッダー詳細
| 観点 | 論点 |
|---|---|
| 有用性 | ツール識別、攻撃分類、特殊な攻撃の把握に有用 |
| 必要になる目的 | Bot識別、検知改善、脆弱性探索 |
| 議論点 | 全ヘッダーが必要か、一部ヘッダーで足りるか |
| 追加論点 | Cookie、Authorization、トークン類が含まれる可能性 |
7.7 入力ID
| 観点 | 論点 |
|---|---|
| 有用性 | よく狙われるID、管理者ID、サービス名IDの傾向把握に有用 |
| 必要になる目的 | 認証攻撃観測 |
| 議論点 | IDそのものが必要か、形式や頻度で足りるか |
| 追加論点 | 実在する第三者のメールアドレスやアカウント名である可能性 |
7.8 入力パスワード
| 観点 | 論点 |
|---|---|
| 有用性 | 辞書攻撃、既知パスワード傾向、クレデンシャルスタッフィング推定に有用 |
| 必要になる目的 | 認証攻撃観測 |
| 議論点 | パスワードそのものが必要か、長さ・文字種・頻度で足りるか |
| 追加論点 | 第三者の漏えい認証情報である可能性が高い |
7.9 コマンド
| 観点 | 論点 |
|---|---|
| 有用性 | 侵入後行動、TTP、ツール取得、永続化、権限昇格の把握に有用 |
| 必要になる目的 | 侵入後行動観測、教育・研究、TI作成 |
| 議論点 | コマンド全文を記録する必要があるか |
| 追加論点 | 攻撃者に操作させる範囲が広がるほど管理論点が増える |
7.10 外部URL・ドメイン
| 観点 | 論点 |
|---|---|
| 有用性 | C2、マルウェア取得先、攻撃インフラ把握に有用 |
| 必要になる目的 | 侵入後行動、マルウェア取得経路、TI作成 |
| 議論点 | URL全体が必要か、ドメインだけで足りるか |
| 追加論点 | 自動アクセスや取得を行う場合、別のリスクが発生する |
7.11 ファイル本文・マルウェア検体
| 観点 | 論点 |
|---|---|
| 有用性 | マルウェア解析、ハッシュ生成、検知ルール作成に有用 |
| 必要になる目的 | マルウェア取得経路、TI作成、研究 |
| 議論点 | 本文まで必要か、ファイル名・サイズ・ハッシュで足りるか |
| 追加論点 | 保管、誤実行、外部共有、解析環境、委託管理が問題になる |
8. 対話型で追加される論点
対話型ハニーポットでは、単に情報を受け取るだけでなく、攻撃者やBotの行動を引き出すことになる。
そのため、非対話型にはない論点が追加される。
| 論点 | 内容 |
|---|---|
| どこまで応答するか | ログイン成功風に見せるか、エラーで止めるか |
| どこまで操作させるか | コマンド入力、ファイル一覧、疑似シェルを許すか |
| どこまで外部通信を許すか | ダウンロード、DNS、HTTP接続を許すか |
| どこまで現実らしく見せるか | 実在サービスに近づけるほど入力情報が増える |
| どこまで行動を記録するか | 操作全文、出力、時系列を記録するか |
| 攻撃者を誘引していないか | 通常の観測を超えた誘導にならないか |
| 他者への影響はないか | ハニーポット経由で外部攻撃が発生しないか |
| 教育・研究目的か | 研究目的なら詳細情報の必要性が高まる |
9. 議論用チェックリスト
ハニーポットの収集範囲を議論する際は、次の順番で確認するとよい。
9.1 目的確認
- このハニーポットの主目的は何か
- 副目的はあるか
- 脅威インテリジェンス作成まで行うのか
- 認証攻撃を観測対象に含めるのか
- 侵入後行動まで観測するのか
- 教育・研究利用を想定するのか
9.2 対話性確認
- 非対話型か
- 低対話型か
- 高対話型か
- 攻撃者にログイン成功風の応答を返すのか
- コマンド入力を許すのか
- ファイル取得や外部通信を扱うのか
9.3 情報項目確認
- 時刻は必要か
- IPは必要か
- URIは必要か
- クエリは必要か
- POST本文は必要か
- ヘッダー全体は必要か
- User-Agentは必要か
- 認証入力値は必要か
- コマンドは必要か
- 外部URLは必要か
- ファイル本文は必要か
9.4 必要性確認
- その情報がないと目的を達成できないか
- 目的に対して情報が細かすぎないか
- 集計値や分類値で足りないか
- 別ログで代替できないか
- 取得後に誰が見るのか
- 何に使うのか
- いつ削除するのか
9.5 第三者説明性確認
- 収集理由を第三者に説明できるか
- 防御改善との関係を説明できるか
- 認証情報や個人情報を扱う場合、その必要性を説明できるか
- 外部共有する場合、共有範囲を説明できるか
- 対話型の場合、攻撃者に何をさせるのか説明できるか
10. 論点整理表
| 論点 | 選択肢A | 選択肢B | 選択肢C | 主な検討事項 |
|---|---|---|---|---|
| 目的 | スキャン観測 | 攻撃分類 | 侵入後行動観測 | 目的により収集範囲が大きく変わる |
| 対話性 | 非対話型 | 低対話型 | 高対話型 | 対話性が高いほど情報量と論点が増える |
| URI | パスのみ | クエリ含む | 本文も含む | 攻撃分類に必要な粒度 |
| 認証情報 | 収集しない | 特徴のみ | 入力値も対象 | 認証攻撃観測の目的次第 |
| コマンド | 対象外 | 一部記録 | 全操作記録 | 侵入後行動を観測するか |
| ファイル | 対象外 | メタ情報のみ | 本文も対象 | マルウェア解析を目的に含めるか |
| 外部通信 | 対象外 | URLのみ | 通信挙動も観測 | 他者への影響をどう考えるか |
| 第三者共有 | しない | 集計のみ | IOC共有 | 共有目的と共有先の整理が必要 |
| 教育利用 | しない | 加工例のみ | 実例利用 | 実データを使う必要性の確認 |
11. 会議での進め方案
議論は、いきなり「何を取るか」から始めない方がよい。
次の順番で進めると、論点が整理されやすい。
Step 1:目的を選ぶ
まず、今回のハニーポットの主目的を選ぶ。
候補:
- スキャン傾向把握
- 攻撃傾向把握
- 検知改善
- 認証攻撃観測
- Bot識別
- 攻撃キャンペーン観測
- 侵入後行動観測
- マルウェア取得経路観測
- 脅威インテリジェンス作成
- 防御設計の妥当性確認
- 教育・研究
Step 2:対話性を決める
次に、ハニーポットの対話性を確認する。
- 非対話型
- 低対話型
- 高対話型
ここで、対話型にするほど収集対象の議論が広がることを確認する。
Step 3:目的ごとに必要情報を確認する
目的ごとに、必要情報を確認する。
例:
- スキャン傾向把握なら、IP、時刻、ポート、URIで足りるか
- 認証攻撃観測なら、入力IDやパスワードの扱いを議論する必要があるか
- 侵入後行動観測なら、コマンドや外部URLを扱う必要があるか
Step 4:収集対象にするか議論する
各情報について、次を確認する。
- 目的達成に必要か
- 代替できるか
- 機微性はあるか
- 第三者説明が可能か
- 長期運用に耐えるか
Step 5:未決論点として残すものを明確にする
この場で決めない論点は、未決論点として明示する。
例:
- 認証情報の扱い
- POST本文の扱い
- ファイル本文の扱い
- 対話型の範囲
- 外部通信の扱い
- 第三者共有の範囲
12. 第三者向け説明に使える整理文
本記事は、ハニーポットにおける情報収集範囲を決定するための議論材料である。
ハニーポットの収集範囲は、ハニーポットの目的によって変わる。例えば、インターネット上のスキャン傾向を把握する目的であれば、時刻、送信元IP、宛先ポート、URI等が主な論点となる。一方、認証攻撃を観測する目的であれば、ログイン試行、入力ID、入力パスワード、試行頻度、同一組み合わせの再出現などが論点となる。
また、非対話型ハニーポットでは、到達した通信やリクエストの観測が中心となるのに対し、対話型ハニーポットでは、攻撃者またはBotの後続行動、操作内容、コマンド、外部通信、ファイル取得行動などが追加論点となる。
したがって、収集対象を検討する際は、最初にハニーポットの目的を明確にし、その目的を達成するために必要な情報を洗い出したうえで、各情報を収集対象に含めるかどうかを個別に議論する必要がある。
本記事では、特定の収集方針や結論は示さず、目的別に必要となり得る情報と、それぞれの情報を収集対象に含める際の論点を整理する。