ハニーポット (honypot) はワームやウィルスなどの攻撃を受ける囮のシステムであり、 攻撃手法の解析や攻撃者に無駄な時間を与えるなどの目的で用いられている。 特に bot や phishing では、攻撃による侵入 (exploit) の後に計算機内で様々な行動を必要とするため、その詳細は解析することによって確認できる。
用いるハードウェアによる分類
攻撃の待ち受け方法による分類
通常利用される計算機とサーバアプリケーションを用いた方式で、実際の計算機環境に最も近い。
攻撃者に侵入された後、多くの行動が許容されるため、侵入後の挙動を詳細に観察できる。
ただし、通常のシステムを使用しているため外部ネットワークへの攻撃等の不正利用ができるため、外部ネットワークへ危険がないように設定する必要がある。
この設定をするため honeynet project の honeywall 等が用いられている。
(日本語マニュアル)
honeywall を用いたハニーポットのネットワーク構成は以下のようになる。
ハニーポットが1台であればハブは不要。 honeywall には 3 つのネットワークカードが必要で、そのうち2つはブリッジモードのため IP アドレスが割り振られない (標準では eth0 - eth1 間の通信がブリッジモード)。 インターネットとハニーポットの通信は監視され、ログの記録と外部への攻撃の遮断を行う。 IP アドレスが割り振られていないことで、感染したホストは honeywall を攻撃できない。 残る 1 つのネットワークカードには IP が割り振られ、ログの取得やアップデート等の管理に用いる。
honeywall が取得するログには以下のものがある。
Snortのログは一日ごとにディレクトリが分けられ、詳細に記録されている。
iptables は logrotate もしていない普通のものがある。
MySQL からも snort と sebek のログを取得できる。
実際のサーバアプリケーションを用いずエミュレーションするので感染することがなく、 安全に運用できるが得られる情報が高対話型に比べて少ない。 適切なスクリプトを記述してエミュレーションの調整する必要があり、 それによって有益な情報を引き出すことができる。 一台のコンピュータで複数台のホストをエミュレートするものもある。
ハニーポットに仮想マシンを用いた方式。 VMware等を使うことで、システムの実行状態を保存できることとシステムの復元が容易であることが特徴。 ただし近年の bot は仮想マシンを判断するものがあることを留意すべきである。
一般的なハニーポットは攻撃されることを待つ受動的なシステムだが、 まずハニーポットから外部のホストにアクセスし、それがきっかけで攻撃されることを狙う。 一般の人々に不審なパケットを送信しないように注意して作る必要がある。