図5 クラッカはIRCのしくみを利用してボットを操作する<BR>ボットに感染したパソコンは,特定のIRCチャネル(チャット・ルーム)に参加する。クラッカは,このチャネル経由で命令を送る。
図5 クラッカはIRCのしくみを利用してボットを操作する<BR>ボットに感染したパソコンは,特定のIRCチャネル(チャット・ルーム)に参加する。クラッカは,このチャネル経由で命令を送る。
[画像のクリックで拡大表示]
図6 ボットには亜種が多い&lt;BR&gt;ソースコードが公開されているものが多い。さらに,ボットが自分自身を更新する機能を持っている。このため,ウイルス対策ソフトでは検出できないことがある。図中の画像はラック提供。
図6 ボットには亜種が多い<BR>ソースコードが公開されているものが多い。さらに,ボットが自分自身を更新する機能を持っている。このため,ウイルス対策ソフトでは検出できないことがある。図中の画像はラック提供。
[画像のクリックで拡大表示]

チャットを使って命令を伝達

 でも,本当にこんなことができるのだろうか。まるでボットが意思を持って動いているみたいだ。そう思っていたら,「ボットのデモを見せてくれる」という話が舞い込んできた。「デモを見ることで脅威を実感し,これを対策に生かしてもらったり,ユーザーの意識を高められたらと考えています」(セキュアブレインの星沢裕二(ほしざわゆうじ)プリンシパルセキュリティアナリスト)。

 星沢さんが用意したデモ環境は,4台のパソコンをLANでつないだ構成である。パソコンは,クラッカ用パソコン,IRCサーバー用パソコン,ボット感染パソコン,そして攻撃対象のWebサーバーを見立てている(図5[拡大表示])。ボット感染パソコンは,SDBOT(エスディボット)と呼ばれるボットに感染している。

 星沢さんが操作したのは,クラッカ用のパソコン。IRCのクライアント・ソフトが入っていた。そこで,まずはボットがログインしているIRCチャネル(チャット・ルーム)にログイン。そして,「ここに,.loginというコマンドとパスワードを入れてみます。これで,IRCを介してボットに命令を送れるようになりました」。

 普通のチャットなら,テキストを入力して会話をするのだが,ボットネットの場合は,入力したテキストを命令の伝達に使う。試しに,「.sysinfo」と入力すると,ボットに感染しているパソコンのOSの種類,ハードウエア情報,ログイン・ユーザー名などが表示された。クラッカが入れた命令がボットに伝わり,ボットがそれを解釈して応答を返してきたわけだ。

100種類以上の命令を持つものも

 ボットの怖さを実感したのが,.synという命令を実行してもらったときである。この命令は,SYN(シン)フラッド*という攻撃を,指定したあて先のコンピュータに仕掛けるコマンドである。攻撃を続ける秒数も指定できる。

 星沢さんは,Webサーバーあてに60秒間SYNフラッド攻撃を仕掛けるデモを見せてくれた。攻撃対象のパソコンにパケット・キャプチャ・ソフト*を入れてパケットを捕捉すると,60秒間にわたって大量のSYNパケットを受信していた(図5下の画像)。

 実際は,こうした攻撃がインターネットにつながっている数百台ものボット感染パソコンによって同時に実行されたりする。攻撃を受けたサーバーはひとたまりもない。プロバイダの回線がパンクすることだってあるだろう。

 「このSDBOTというボットは,Webサーバーからファイルをダウンロードしたり,指定したファイルを実行する機能も持っています。つまり,メールの送受信やフィッシング・サイトの構築など,クラッカの思いのままというわけです」(星沢アナリスト)と,ボットの悪賢さを教えてくれた。100種類以上の命令を解釈・実行できるボットも珍しくないという。

パターン・ファイルが追いつかない

 では,ユーザーはどんな対策をとればいいのだろうか。そちらも気になる。調べてみると,市販のウイルス対策ソフトは,ボットを検出・駆除する機能を持っているようだ。そこで,ウイルス対策ソフト・ベンダーのトレンドマイクロに行ってみた。

 対応してくれたのは,平原伸昭(ひらはらのぶあき)テクニカルアカウントマネージャ。すると,驚くべき事実が突きつけられた。「ボットは,ウイルス対策ソフトでは対応しきれません」というのだ。

 「ウイルス対策ソフトがボットを検出する方法は,従来のウイルスやワームの検出方法と同じです。ボットのプログラムの特徴を抜き出したパターン・ファイルを作り,このパターン・ファイルを使ってボットを検出します。しかし,ボットは亜種が出現するスピードが極めて速く,パターン・ファイルの作成が追いつかないのです」。現在のウイルスバスターは約1万種類のボットを検出・駆除できるが,それでも間に合わないという。

 ボットに亜種が多い理由は二つあるそうだ(図6[拡大表示])。

 一つは,ボットのプログラムは,ソースコードが公開されているものが多く,亜種が作りやすい状況になっていること。さらに,ボットを簡単に作れるツールも出回っており,こうしたツールを使えばプログラミングに精通していない人でもボットを作れるという。

 二つめは,ボットが自分自身をアップデートする機能を持っていること。ボットを操作する命令の中には,自分自身を更新する命令も用意されている。クラッカが更新命令を送ると,ボットが特定のサイトにアクセスするなどして,更新プログラムをダウンロードして自分自身を更新する。こうして次々と姿を変え,ウイルス対策ソフトに発見・駆除されないようにしているのである。