ハニーポットでどこまで情報を収集するべきか
文書番号:2605.00007
本記事の位置づけ
本記事は、ハニーポット運用において「どこまで情報を収集するべきか」を決めるための議論材料なのだ。
ここでは、特定の実装方式は示さないのだ。Apache単体でPOST本文を保存しない簡易構成は、Apache単体で作る簡易ハニーポットWebページ設計 に分けるのだ。
本記事は、実装前に収集対象を決めるための判断材料に限定するのだ。
本記事の目的は、次の問いを整理することであるのだ。
- ハニーポットの目的は何か
- その目的を達成するには、どの情報が必要か
- その情報を収集対象にするか、しないか
- 対話型ハニーポットと非対話型ハニーポットで、収集すべき情報はどう変わるか
- 収集対象を広げた場合、どのような追加論点が発生するか
なお、本記事では以下を議論対象外とするのだ。
- 実装方式
- マスキング方式
- 暗号化方式
- ハッシュ化方式
- 保存基盤の設計
- 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. 目的と収集範囲を対応付ける
次の表は収集項目を選ぶための設計案なのだ。必要性を説明できない値を既定で保存せず、分類・集計で目的を満たせるかから決めるのだ。項目ごとの保存上の注意は後半で確認するのだ。
| 目的 | 必要な情報の例 | 追加リスクと採否条件 |
|---|---|---|
| スキャン傾向 | 時刻、ポート、プロトコル、送信元の集計 | 生IPが必要な期間を限定 |
| 公開面の探索 | URI分類、応答、頻度 | パス・クエリへの機微情報混入を確認 |
| 検知改善 | 要求の分類とルール・応答の対応 | 元Payloadは誤検知・見逃し分析に必要な範囲だけ |
| 認証試行 | 成否、回数、匿名相関 | 入力ID・パスワードの保存は追加リスクとして別判断 |
| ツール・Bot識別 | User-Agent、間隔、順序 | 文字列や送信元だけで本人性を断定しない |
| キャンペーン比較 | 時系列、パターン、送信元群 | 同一主体という推論と観測の一致を分ける |
| 脆弱性探索 | 対象機能、パラメータ分類、応答 | 到達と悪用成功を区別 |
| 侵入後行動 | コマンド、操作、通信の試行 | 隔離、第三者への外向き通信禁止、停止条件が必要 |
| 配布経路 | URL、名前、ハッシュ | URLを自動取得せず、取得・検体保管は別環境と手順 |
| インテリジェンス共有 | 根拠のある指標と期間、確信度 | 検証通信と自然到達を分離し、公開項目を選別 |
| 自組織の防御検証 | 期待結果と実際の検知・阻止 | 検証対象の許可、停止と復旧を先に定義 |
| 教育・研究 | 目的に対応する最小の事例 | 合成データで代替できるかを先に検討 |
企業としての目的、権限、停止判断は企業向けハニーポットの設計と運用を参照するのだ。
5. 目的別・収集対象マトリクス
以下は、目的ごとに、各情報が議論対象になり得るかを整理したものだ。
記号の意味は次の通り。
| 記号 | 意味 |
|---|---|
| ◎ | 目的達成上、中心的な情報になりやすい |
| ○ | 有用な場合が多い |
| △ | 目的や粒度によって議論が必要 |
| - | その目的では必要性が低い |
| 情報項目 | スキャン傾向 | 攻撃傾向 | 検知改善 | 認証攻撃 | Bot識別 | キャンペーン | 侵入後行動 | TI作成 |
|---|---|---|---|---|---|---|---|---|
| 時刻 | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ |
| 送信元IP | ◎ | ◎ | ◎ | ◎ | ○ | ◎ | ○ | ◎ |
| ASN | ○ | ○ | △ | ○ | △ | ◎ | △ | ○ |
| 宛先ポート | ◎ | ○ | ○ | ○ | △ | ○ | △ | △ |
| Host | △ | ○ | ○ | △ | △ | ○ | △ | △ |
| HTTPメソッド | ○ | ◎ | ◎ | △ | ○ | ○ | - | △ |
| URI | ○ | ◎ | ◎ | △ | ◎ | ◎ | - | ○ |
| クエリ文字列 | △ | ○ | ○ | - | △ | ○ | - | △ |
| POSTパラメータ名 | - | ○ | ○ | ○ | △ | △ | - | △ |
| POST本文 | - | △ | ○ | △ | △ | △ | - | △ |
| User-Agent | ○ | ○ | ○ | ○ | ◎ | ◎ | - | ○ |
| ヘッダー詳細 | △ | △ | △ | △ | ○ | △ | - | △ |
| WAF判定 | - | ○ | ◎ | △ | △ | △ | - | △ |
| IDS判定 | - | ○ | ◎ | △ | △ | △ | - | △ |
| request_id | △ | ○ | ◎ | ○ | △ | △ | △ | △ |
| 入力ID | - | - | △ | ◎ | △ | △ | - | - |
| 入力パスワード | - | - | △ | ◎ | △ | △ | - | - |
| コマンド | - | - | - | - | - | △ | ◎ | ○ |
| ファイル名 | - | △ | △ | - | △ | ○ | ○ | ○ |
| ファイル本文 | - | △ | △ | - | - | △ | △ | △ |
| 外部URL | - | △ | △ | - | △ | ○ | ◎ | ◎ |
| ファイルハッシュ | - | △ | △ | - | - | ○ | ○ | ◎ |
6. 収集対象にする・しないを議論するための観点
各情報項目について、収集対象に含めるかどうかは、次の観点で議論すると整理しやすいのだ。
| 観点 | 問い |
|---|---|
| 目的適合性 | その情報は、今回のハニーポット目的に直接必要か |
| 代替可能性 | より粗い情報、分類、件数で代替できないか |
| 一意性 | その情報がないと分析できないのか |
| 機微性 | 個人情報、認証情報、第三者情報を含む可能性はあるか2 |
| 保有リスク | 漏えい時、誤利用時の影響はどの程度か |
| 運用負荷 | 閲覧権限、保存期間、削除、監査の負担はどの程度か |
| 第三者説明性 | 外部に対して、収集理由を説明できるか |
| 共有可能性 | 収集した情報を防御改善や情報共有に使えるか |
| 過剰性 | 目的に比べて取り過ぎになっていないか |
| 継続性 | 長期運用しても管理できるか |
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の後続行動、操作内容、コマンド、外部通信、ファイル取得行動などが追加論点となるのだ。
したがって、収集対象を検討する際は、最初にハニーポットの目的を明確にし、その目的を達成するために必要な情報を洗い出したうえで、各情報を収集対象に含めるかどうかを個別に議論する必要があるのだ。
本記事では、特定の収集方針や結論は示さず、目的別に必要となり得る情報と、それぞれの情報を収集対象に含める際の論点を整理するのだ。