再確認、「ボット」って何だ? 何がコワイの?年末緊急特番!ボットネット対策のすすめ(3/3 ページ)

» 2006年12月19日 11時00分 公開
[松木隆宏,ITmedia]
前のページへ 1|2|3       

5.Webサーバ

 感染したコンピュータをWebサーバとして動作させる機能も実装されていることが多い。ボット感染コンピュータ上にフィッシングサイトを設置する目的で行われる他、P2Pファイル共有ネットワークを介して蔓延した暴露型ウイルスのように、コンピュータのHDD内のファイルを丸見えにし、個人情報や金銭価値のある情報を搾取されることもある(画面2)。

画面2●Webサーバ機能によってHDD内のデータがすべて公開されることも

6.自己防衛機能

 インターネット上に出回っているボットのソースコードを分析したところ、ウイルス対策ソフトの動作を停止させる機能、ウイルス対策ソフトをインストールさせない機能があることが分かった(画面3)。また、ボットのプログラム自体は、「パッカー」と呼ばれるプログラムによって圧縮されたり、難読化されて大量の亜種が作成されることが多い。このため、ウイルス対策ソフトで検出されない場合も多い。

 さらには、不正プログラムを収集するためのハニーポットや解析を行うための仮想環境、デバッガなどを検出し、そのような環境下ではC&Cサーバへの接続を行わなかったり、悪意のある活動を行わない種類も存在する。このように自らの行動を隠すことによって、ウイルス対策ソフトのパターンファイルに登録されるのを避けているのである。

画面3●ボットが停止させるプログラムのリスト

7.自己更新機能ならびに自己増殖機能

 ほとんどのボットは、ボット自身のプログラムを更新するための自己更新機能あるいは手段を備えている。感染直後の状態では、C&Cサーバへ接続し指令を待つ機能とスパムメール送信のためのプロキシ機能、そして自己更新機能しか備えていないようなボットも存在する。それでもハーダーは、必要に応じて後からさまざまな機能を追加することができる。

 ワームと同様、セキュリティホールを悪用して自己増殖することもボットの基本的な機能の1つだ。中には、新しいセキュリティホールが公開されると、すぐさまそれを悪用して増殖を試みるボットの存在が確認されている。ボットが自己更新機能を利用して、新しく発見されたセキュリティホールを攻撃する機能が追加されたと考えられる。

 また、短い周期でプログラムの更新を繰り返し、変化し続けることで、前述の自己防衛機能と同じようにウイルス対策ソフトによる検出を逃れるという目的もあるだろう。

耐解析機能との戦い

 ボットの動作や機能を調査する有効な手段として、ソースコードの分析がある。JPCERT/CCが公開した研究資料「ボットネットの概要」においても、代表的なボットのソースコードの特徴がまとめられている。

 ボットのソースコードはインターネット上で流通しており、このことがボットの機能拡張や多数の亜種の出現を助長していると推測される。本文中でもいくつかの例を挙げたが、ボットには自己防衛機能が存在する。筆者自身も、AgobotやRbotという代表的なボットのソースコードを調査し、以下の3つの自己防衛機能を確認した。

1.ウイルス対策ソフトの動作の阻害

2.パターンマッチング・コード解析の回避

3.デバッガ・仮想環境の回避

 ウイルススキャンによる検出の回避を目的とする1および2の機能とは異なり、3の「デバッガ・仮想環境の回避」は、ボットを解析する人間を悩ませるものである。

 ボットの駆除方法や対策方法を考えたり、ウイルス対策ソフトのパターンファイルを作成するためには、ボットの解析が必要だ。

 しかし、デバッガにアタッチされている場合や仮想環境下では、ボットは悪意のある動作をしない。これを別の言葉で言うならば、「耐解析機能」と言えるだろう。仮想環境が使えないとなると、解析を行うために多くのマシンとその環境の再構築が必要になるし、デバッガが使えないと、得られる情報が限られてしまい解析が進まない。

 ソースコードを分析することができなければ、こうした耐解析機能に気づくのに長い時間が必要だったかもしれない。しかし今後は、ボットに新しい未知の機能が追加されたとしても、そのソースコードが入手できるとは限らない。解析側も耐解析機能を意識し、ボットに気づかれないように解析する工夫を凝らしていかなければならない。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ