ハニーポットによるウイルス捕獲から見えてくるもの:セキュリティ対策の「ある視点」(11)(4/4 ページ)
もうすぐ夏休みも終わり。そこで今回は夏休み特別企画、ネットでできる「ITセキュリティ版昆虫採集」で脅威の今を探ります。
捕獲されたウイルスの検出
せっかくウイルスの捕獲を行うのに、そのウイルスが何であるかを分からないままでは、面白みがない。ここからは、捕獲したウイルスが何であるかのチェックを行う、つまり、アンチウイルスソフトを導入する方法を紹介する。
ここまで、すべて無料で構築できる仕組みを紹介してきたので、ここでも無料で利用できるアンチウイルスソフト「Clam AntiVirus」(以下、ClamAV)を紹介する。
このソフトウェアも非常に素直にインストールできる。まず、nepenthes同様、ClamAVも動作用のグループとユーザーを作成する。
# groupadd clamav # useradd -g clamav -d /dev/null -s /sbin/nologin clamav
今回のインストールはソース版を用いる。
# wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.93.3.tar.gz
【注】
clamav-0.93.3.tar.gzは記事執筆時点の最新版である。
ソース版をダウンロードできたら下記のように実行するとインストールできるだろう。
# tar zxvf clamav-0.93.3.tar.gz # cd clamav-0.93.3 # ./configure --prefix=/usr/local/clamav # make # make install
早速、ウイルススキャンといきたいところだが、皆さんが毎日のようにお世話になっているアンチウイルスと同様、ClamAVも定義ファイル、パターンファイルに当たる「VirusDB」というデータベースを利用してウイルスを検出しているため、そのアップデートを行う必要がある。/usr/local/etc/freshclam.conf、および/usr/local/etc/clamd.confをエディタで開き、下記のように記述されている個所の先頭に「#」を加え、コメント行とし、保存する。
Example
↓
#Example
保存ができたら、下記のようにコマンドを実行して、VirusDBのアップデートを行う。
# freshclam ClamAV update process started at Fri Jul 25 00:50:09 2008 SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES : (以下略) :
【注】
freshclam実行時に下記のようなエラーが出る場合がある。
freshclam: error while loading shared libraries: libclamav.so.4: cannot open shared object file: No such file or directory
上記のようなエラーが返された場合は、モジュールの再ロードを行う必要があるため「ldconfig」コマンドを実行すれば、解決されるだろう。
さあ、これで準備が整った。下図は、実際にnepenthesで捕獲したウイルスをClamAVでスキャンした結果画面である。いろいろなウイルスが検出されていることが分かる。
上図の結果の中に「OK」となっているファイルが1つあるが、このファイルはClamAVのスキャン結果としてはウイルスであると認められなかったファイルである。ただし、あくまで「OK」というのは、ClamAVの結果であるため、完全に無害なファイルであるということが確認されたという意味ではない。
この「OK」と検出されたファイルをインターネット上に公開されているウイルススキャンサービス「VirusTotal」でスキャンを行ってみよう。
【注】
「VirusTotal」とは複数のウイルス対策ソフトベンダ(執筆時現在34社分)のスキャンエンジンを利用して、ユーザーから提供されたファイルをスキャンし、その結果を知ることのできるサービスである。
先ほどのClamAVのスキャン結果で「OK」という結果が出たファイルを「VirusTotal」でスキャンした結果は以下のとおりである。
34社中、22社のスキャンエンジンがウイルスとして認められるものであるという結果が出た。
誤って解釈してほしくないのだが、これは、ウイルス対策製品、今回でいえばClamAVの評価をしているのではない。ウイルス対策ソフトも「人の造りしもの」である。これは、すべてのセキュリティ製品、飛躍したいい方をすれば、世の中のすべての製品にいえるのではないだろうかと筆者は思っている。「人の造りしもの」に100%というものはないのではないだろうか。
ウイルス対策製品を現実世界のワクチンに例えて考えてみてほしい。ワクチンは基本的に、世界のどこかでウイルスが発見され、検体を手に入れてから解析が行われ開発に至る。つまり、守る側の立場は、ほぼ例外なく後手に回ってしまうということである。その点を踏まえて、ウイルス対策ソフトはさまざまなテクノロジーにより、できる限り後手に回らず先手で対策を行えるよう進化をしているが、やはり、100%と呼ぶには程遠いのが現状である。
ここで、学ぶべきことは、「人の造りしもの」の1つであるウイルス対策ソフトも完ぺきではないという事実を知り、受け止め、セキュリティ対策というものは完ぺきなブロックをするものではなく、ふるいにかけるものであるということではないだろうかと筆者は考える。そのふるいの精度を上げ、どのように脅威から身を守っていくかということは「人の造りしもの」を使う人たちのコーディネートにかかっているのだろう。
また、システムだけではなく、人の知識、そこから生まれる判断もコーディネートをするうえでの1つの要素となることはいうまでもない。
ハニーポットで実感するネット脅威の“現実”
さて、夏休みの自由研究はどうだっただろうか。
今回は、ウイルスの捕獲を行う、仕組みの解説のみを行ったが、これは最低限の内容であると理解していただきたい。ハニーポットは、敵を知るために存在するものである。今回のnepenthesでいえば、ウイルスを捕獲することが本来の目的ではないといっても過言ではない。これを使って、
- ウイルスによる攻撃がどの程度行われており
- どの程度の頻度で捕獲され
- そのファイルはどの程度、ウイルス対策ソフトで検知されるものなのか
など、さまざまなリアルな情報を得るためのものである。
nepenthesを構築し、インターネットに公開しただけで得られる情報は、短い期間で頭打ちとなるだろう。しかし、今回紹介した仕組みを拡張することで、得られる情報を何倍にも増やすことは可能である。例えば、IDS(Intrusion Detection System)でnepenthesに届くパケットを監視し、統計を出すことで、また違った事実が見えてくるだろう。
この仕組みの拡張次第で、皆さんの夏休みの自由研究にもオリジナリティが出てくることだろう。今回、紹介できなかったことについては、また、別の機会に紹介できればと思う。
今回の記事で、ハニーポットに興味を持ち、そこから得られる情報の重要性を理解していただき、守る側の視点というものに磨きをかけていただけば幸いである。
著者紹介
辻 伸弘(つじ のぶひろ)
セキュリティエンジニアとして、主にペネトレーション検査などに従事している。
民間企業、官公庁問わず多くの検査実績を持つ。
自宅では、趣味としてのハニーポットの運用、IDSによる監視などを行っている。
- Q.E.D.――セキュリティ問題を解決するのは「人」
- たった1つの脆弱性がもたらすシステムの“破れ”
- 報告、それは脆弱性検査の「序章」
- ASV検査、ペネトレテスターの思考を追う
- プレイバックPart.II:シフトした脅威の中で
- プレイバックPart.I:ウイルスのかたち、脅威のかたち
- ハニーポットによるウイルス捕獲から見えてくるもの
- SNMPコミュニティ名、そのデフォルトの価値は
- 人の造りしもの――“パスワード”の破られ方と守り方
- 魂、奪われた後――弱いパスワードの罪と罰
- 魂まで支配されかねない「名前を知られる」という事件
- 己を知り、敵を知る――Nmapで見つめ直す自分の姿
- DNS、管理者として見るか? 攻撃者として見るか?
- メールサーバ防御でも忘れてはならない「アリの一穴」
- 「Forbidden」「サンプル」をセキュリティ的に翻訳せよ
- ディレクトリ非表示の意味をもう一度見つめ直す
- たった2行でできるWebサーバ防御の「心理戦」
Copyright © ITmedia, Inc. All Rights Reserved.