連載
» 2008年08月22日 16時54分 公開

セキュリティ対策の「ある視点」(11):ハニーポットによるウイルス捕獲から見えてくるもの (3/4)

[辻 伸弘(ソフトバンク・テクノロジー株式会社),@IT]

nepenthesの起動と確認

 nepenthesの起動は、下記のように行う。

# /opt/nepenthes/bin/nepenthes -u nepenthes -g nepenthes

 起動すると下図のようなウツボカズラのアスキーアートが表示される。

図1 nepenthesの起動画面 図1 nepenthesの起動画面

 この後nepenthesはフォアグラウンドで動作し、ログもこの画面に表示されることになる。表示されたログについては、ログファイルとして「/opt/nepenthes/var/log/nepenthes.log」に保存される。

 起動に成功したら、実際に接続を行って反応するかどうかの確認を行おう。確認には「telnet.exe」を用いる。コマンドプロンプトから下記のように実行する。

telnet <nepenthesが動作しているホストのアドレス> <nepenthesが開放するポート番号>


 エラーが表示されず、接続が完了したら「Ctrl + C」で強制終了を行う。

図2 telnet.exeを利用して、nepenthesが開放した445ポートにアクセス 図2 telnet.exeを利用して、nepenthesが開放した445ポートにアクセス

 nepenthesの画面に下図のような変化があったのではないだろうか。

図3 nepenthesに接続のログが出力されている 図3 nepenthesに接続のログが出力されている

 上記のように確認が取れれば、nepenthesは正常に動作していると考えていいだろう。

nepenthesによるウイルスの捕獲

 それでは、nepenthesによるウイルスの捕獲を行ってみよう。と、いっても、何かを操作するわけではない。ウイルスの捕獲ができる条件は、たった1つである。その条件とは、”nepenthesが開放するポートへインターネットからのパケットが到達すること”である。

 インターネットと内部ネットワークやDMZの境界に存在するファイアウォールなどのネットワーク機器によって通信に制御が行われている場合は、nepenthesの開放ポートへ到達可能にする必要がある。自宅などで運用する場合は、インターネット側からの特定ポートへのアクセスは、nepenthesがインストールされているサーバの同ポートへ転送するように設定を行えばよいだろう。実際に、インターネット側からパケットが到達可能かどうかの確認は、ポートスキャンのテストサイトを利用するといいだろう。

【関連記事】

外部からのポートスキャンサービスを利用する

http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/006portscan.html


 ウイルスを捕獲できる条件が整ったら、nepenthesの起動後の画面に変化が表れるまで眺めていればいいだろう。ISPなどによる通信のフィルタリングがされてさえいなければ、数分から数十分で何らかの外部からのアクセスが確認できるだろう。さらに、運が良ければ(?)ウイルスが感染を試みる攻撃が確認されるだろう。

 その攻撃が、nepenthesが対応している攻撃パターンだった場合、nepenthesは、あたかも攻撃が成立し、感染することに成功したようにウイルスを欺き、ウイルスの感染、つまり、システムへのコピーのタイミングで捕獲を行う。つまり、ウイルスの検体を手に入れることができるのである。

図4 nepenthesへの攻撃が確認されたときのログ 図4 nepenthesへの攻撃が確認されたときのログ(クリックで拡大します)

 コピーされたウイルスの検体は「/opt/nepenthes/var/binaries/」に、そのファイル、つまりウイルスファイルのハッシュ値をファイル名にして保存される。

図5 捕獲されたウイルスのハッシュ値が保存される 図5 捕獲されたウイルスのハッシュ値が保存される

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。