コンテンツにスキップ

9. ハニーポット

9.1. ハニーポットの基礎

9.1.1. ハニーポットとは

ハニーポットは不正な攻撃者の行動・手法などを観察/分析する受動的/能動的な目的で設置される罠システムのこと。 仮想または実際のコンピューターシステムやネットワークを用いて構築する。

ハニーポット設置の目的は以下の通り。

  • 攻撃検出 ... ハニーポットは攻撃者の活動を引き寄せ、検出し、その情報を解析/分析する
  • 研究と分析 ... ハニーポットを攻撃のトレンドや攻撃手法の研究に使用する。

9.1.2. ハニーポットの分類

ハニーポットはその動作環境と仕組みの組み合わせによって種別を分類することができる。

動作環境ではサーバで動作するサーバ型、クライアントで動作するクライアント型がある。 仕組みでは実在環境を用意する高対話型、システムエミュレートする低対話型がある。

  • 高対話型ハニーポット ... 実際のOSやアプリケーションを利用し、そこに残存している脆弱性などをそのまま不正攻撃者に対して弱点として見せる形式のハニーポット
  • 低対話型ハニーポット ... 特定のOSやアプリケーションをエミュレーションして監視する形式のハニーポット

9.1.3. ハニーポットの種類

高対話型ハニーポットの特徴と種類

高対話型ハニーポットの特徴は以下の通り。

  • 攻撃者に関する情報が多い
  • システムやネットワークの構築に手間がかかる
  • 実際にOSやアプリケーションが攻撃を受けてしまう可能性がある

高対話型ハニーポットは不正な攻撃者に関して詳細な情報を取得・分析したい場合や、効果的な対策を講じたいような場合に向いている。 また高対話型ハニーポットは以下の通り。

種類 説明 URL
Dionaea 脆弱性を模したサービスを展開して、マルウェアを収集するためのハニーポット https://github.com/DinoTools/dionaea
Honeyd 仮想ネットワーク内で複数のハニーポットを展開 https://github.com/DataSoft/Honeyd
Glastopf Webアプリケーション型のハニーポット https://github.com/mushorg/glastopf

低対話型ハニーポットの特徴と種類

低対話型ハニーポットの特徴は以下の通り。

  • システムやネットワークの構築が比較的簡便
  • 得られる情報量に限りがある

また低対話型ハニーポットは以下の通り。

種類 説明 URL
Cowrie 中規模の対話型SSHとTelnetのハニーポット。ブルートフォース攻撃やシェルの対話が記録されるようになっている。 https://github.com/micheloosterhof/cowrie
Honeytrap ハニーポットの実行や監視をするためのハニーポット https://github.com/honeytrap/honeytrap
WOWHoneypot Webハニーポット。日本製
Kippo SSHハニーポットで攻撃者がSSHにアクセスしようとする試行を記録する https://github.com/desaster/kippo
Snort ネットワーク侵入検知システム兼ハニーポット
Thug Webハニーポット https://github.com/buffer/thug

9.1.4. ハニーポットの分類ごとの特徴

サーバ型×低対話型ハニーポット

サーバ上にハニーポット環境を構築し、攻撃者からの攻撃を待ち受けるタイプのハニーポット。

特徴は以下の通り。

  • 脆弱なサーバ環境をエミュレートしてログを記録しているため、不正なファイルを設置されたり、ファイルを盗まれたりする可能性が低い
  • ハニーポット自体に脆弱性があった場合は攻撃を受ける可能性がある
  • ハニーポットを検出する仕組みによって攻撃検出を回避される場合がある

サーバ型×高対話型ハニーポット

サーバ上に故意に脆弱な環境を構築し重要そうなファイルなどを設置し攻撃を待ち受けるタイプのハニーポット。

特徴は以下の通り。

  • 低対話型のものよりも攻撃ログが正確に記録されやすい
  • 攻撃された後のリカバリができるようにアウトバンド通信の制限や設定を適切にする必要がある。
  • ハニーポット運用玄人向けの構成

クライアント型×低対話型ハニーポット

通常のPC上にインストールしたハニーポットソフトウェアを利用してさまざまな環境(ユーザーエージェントなど)をエミュレートして悪性のウェブサイトにアクセスしたり、脆弱なソフトウェア(Flash や Adobe Acrobat Reader など)のエミュレートをしてファイルを開き、どのようにマルウェア感染をするかなどのログを取得するタイプのハニーポット。

特徴は以下の通り。

  • 脆弱なサーバ環境をエミュレートしてログを記録しているため、不正なファイルを設置されたり、ファイルを盗まれたりする可能性が低い
  • ハニーポット自体に脆弱性があった場合は攻撃を受ける可能性がある

クライアント型×高対話型ハニーポット

故意にセキュリティパッチの当たっていないOSやソフトウェアを利用し、悪意のウェブサイトにアクセスしたり、悪性のファイルを開いたりするタイプのハニーポット。

運用のためには通常は利用していないPCを利用し、現状回復が容易にできるようにしておく必要がある。

9.1.5. ハニーポット運用の目的

ハニーポット運用のためには、まずは目的を明確にしてからハニーポットを選定する必要がある。 それは取得したい情報の種類や目的を明確化することにより、より効果的な運用を行うためである。

ハニーポット運用の目的と運用例は以下の通り。

運用対象
ランサムウェアwanna cryが現在も活動しているか知りたい ・Wannacry(pt)が観測できるよう改良された Dionaeaハニーポットを利用する
Wordpressを運用しているため、Wordpressへの攻撃を観測したい ・Dockerコンテナ上で動くHoneyPressハニーポットを利用する
Wordpressプラグインとして利用できるwp-smart-honeypotを利用する
Apache Struts2を利用しているサービスを運用しているため、Struts2への攻撃を監視したい CVE2017-5638 の脆弱性を悪性した攻撃を検出する StrutsHoneypotを利用する
2016年に流行したIOTボットの活動の調査をしたい telnet/sshへの攻撃観測できるCowrieハニーポットを利用する
MongoDBなどのデータベースを狙った攻撃を知りたい MongoDB-Honeyproxyを利用する
目的が複数あるので複数のハニーポットを使用したい 複合ハニーポットのT-Potを利用する

9.2. 主要なハニーポット一覧

9.2.1. 低対話ハニーポット

Dionaea

攻撃者からマルウェアのコピーを手に入れることを目的としたマルウェア収集用ハニーポット。

可視化にはDionaeaFRを導入する。

https://dionaea.readthedocs.io/en/latest/index.html

提供サービスは以下の通り。

ポート サービス
21/TCP FTP
42/TCP NameServer
80/TCP HTTP
135/TCP MSRPC
443/TCP HTTPS
445/TCP Microsoft-ds
1433/TCP MSSQL
3306/TCP MySQL
5060/TCP SIP
5061/TCP SIP-TLS

ログなどは以下のディレクトリに保存される。

ディレクトリ 説明
/opt/dionaea/binaries/ マルウェアが配置されるディレクトリ
/opt/dionaea/bistreams/ 攻撃者からの通信の記録が保存されるディレクトリ
/opt/dionaea/log/ Dinaeaのログが保存されるディレクトリ
/opt/dionaea/rtp/ SIP のセッションデータが記録される
/opt/dionaea/wwwroot/ Webドキュメントルート

Cowrie

Elasticpot

Glastopf

HoneyTrap

9.2.2. 高対話ハニーポット