ウイルス(注1)は年々“多機能”になっていく。単に感染を広げるだけではなく,感染したパソコンに対してさまざまな被害を与える。例えば,感染したパソコンから情報を盗んだり,DDoS攻撃やスパム(迷惑メール)送信の踏み台になったりする。とはいえ,ウイルス作者はこれまで,できるだけ多くのユーザー(パソコン)に感染を広げることに力を注いできた。

注1:他のファイルに自分自身を埋め込む(感染させる)プログラム(部品)を「ウイルス」,ネットワークを介して他のパソコンに増殖する(感染を広げる)単独のプログラムを「ワーム」と呼んで区別する場合もあるが,ここでは,「他のファイル/マシンに感染を広げるプログラム全般をウイルスとする。

 自分自身のコピーをメールに添付して撒き散らす「Netsky」や「Mydoom」といった「マス・メーリング型」,セキュリティ・ホールを突いて感染を広げる「SQL Slammer」や「Blaster」といった「ネットワーク感染型」の“隆盛”がその証拠である。

 ところが,感染を広げることよりも,感染パソコンに被害を与えること,あるいは感染パソコンを悪用することを主目的とした悪質なプログラム(malware,注2)が,2004年に入って多数出現し始めた。「ボット(bot)」である。ボットが自分のパソコンに感染していると(自分のパソコン上で稼働していると),自分が被害者になるばかりではなく,加害者にもなる。しかも,ボットには次々と新しい変種が作られるので,ウイルス対策ソフトを使っていても検出できない場合がある。

注2:悪質なプログラム(malware)全般を“(広義の)ウイルス”と呼ぶ場合も多い。その場合には,ボットもウイルスの一種である。また,後述するように,現在では感染/増殖機能を持つボットも存在する。それらは,ウイルスでもあり,ボットでもある。

 ボットの被害に遭わないためには,まずはボットについて知っておくことが重要だ。そこで本稿では,「ボットとは何か」「ボットは従来のウイルスと何が異なるか」「どう対応すればよいのか」――などをまとめた。

攻撃者のロボットになる「ボット」

 そもそもボットという言葉は,「ロボット(Robot)」から来ている。「外部からの命令を待ち,その命令に従って何らかの動作(通常は,悪質な動作)をするプログラムを『ボット』と呼ぶ」(セキュアブレインの星澤裕二プリンシパルセキュリティアナリスト)。インストールされたマシンを外部から自由に操作できるようにする――つまり,ロボットにしてしまう――悪質なプログラムをボットと呼ぶのである。

 ボットが出現し始めたのは2002年ごろ。トレンドマイクロで初めて確認したボットは2002年に出現した「Agobot」だという。後述するように,一口にAgobotと言っても,ものすごく多数の変種が確認されている。同社で確認したのは,そのうちの(初期の)一種だと考えられる。

 攻撃者がボットに命令を出す際には,IRC(Internet Relay Chat)を使う場合が多い。このため,ボットを「IRC Bot」と呼ぶ場合がある(参考資料[PDFファイル] )。ただし,「IRC Bot」という固有名詞が付けられたボットも存在する(例えば,シマンテックが命名した「Backdoor.IRC.Bot.B」)。

 また,セキュリティ・ベンダーの米Cybertrustでは,「ボットとは,IRC経由でマシンをリモート・コントロールできる攻撃プログラム」と定義している。ベンダーによって,ボットの定義は若干異なるようだ。ただ,現在ではIRCを使わなくてもボットと呼ぶ場合が多い。この記事では,IRCを使わなくてもボットと呼ぶことにする。

 IRCを使うボットの場合,以下のように動作する。まず,パソコン上で実行されたボットは,プログラム中あるいはボットの設定ファイルで指定された,特定のIRCチャンネル(チャネル)へ接続する。攻撃者がそのチャンネルへある特定のコマンド(テキスト)を送信すると,ボットはそのコマンドに従った動作をする。「コマンドの種類はボットによって異なるが,少ないもので10種類程度,多い場合には80~100にのぼる」(セキュアブレインの星澤氏)。

 例えば,指定したサイトへHTTPやFTPのリクエストを送信する,パソコンのCD-ROMトレイを開閉する,任意のプログラムを実行する――など,コマンドはさまざま。さらに,「ボット自身にそれほど“機能”がなくても,いろいろな機能を備えたコンポーネントを後からダウンロードして,“機能強化”を図る。例えば,HTTPなどのプロキシ機能やメール・サーバー機能を追加する」(トレンドマイクロ トレンドラボ・ジャパン アンチ・ウイルスセンターの岡本勝之ウイルス エキスパート)。

 複数のボットがあるチャンネルに接続していれば,攻撃者は1発のコマンドで,それらすべてに同じ動作をさせることができる。つまり,DDoS攻撃やスパム送信といった協調した攻撃が可能となる。これが,ボットの恐ろしい点である。ボット一つひとつの攻撃が弱くても,あるいはボットが稼働するパソコンが貧弱でも,それが何百台,何千台,何万台も集まれば,ものすごいリソースとなる。

 協調してある動作を行える,複数のボット・マシンで構成された(仮想的な)ネットワークは「ボットネット(botnet)」や「ボット・ネットワーク(bot network)」と呼ばれる。2004年9月には,1万台を超えるマシンで構成されたボットネットが見つかり,その“司令塔”として使われていたIRCサーバーがシャットダウンされている(関連記事)。

 なお,ボットと同じような言葉として「ゾンビ(zombie)」や「エージェント(agent)」などがある。これらも「ボットとほとんど同義と考えてよい」(星澤氏)という。