“機能面”ではウイルスと同じに

 名前の由来の通り,ボットはマシンを操ること(攻撃者がそのマシンを操れるようにすること)が主な目的である。従来のウイルスのように感染を広げることが主目的ではない。操るのが第一,感染は二の次だった。そのため,出現当初は「有用なファイルに見せかけてインストールさせたり(いわゆる「トロイの木馬」),ネットワーク共有で感染を広げたりするだけのボットが多かった」(セキュアブレインの星澤氏)。

 “大々的”に感染を広げないようにして,ユーザーにばれないようにするという目的があったのかもしれない。「ユーザーに気付かせないことが,ボットの特徴の一つ。気付かせなければ,長期間稼働していられる」(トレンドマイクロの岡本氏)

 だが,ある程度は感染を広げないと,“強力な”ボットネットを構成できない。そこでボット作者は,従来のウイルスの感染メカニズムを取り入れ始めた。具体的には,「内蔵するリスト(辞書)を基に,ログイン・パスワードなどを破って侵入,感染する」「Windowsなどのセキュリティ・ホールを突いて侵入,感染する」――といった感染メカニズムを備えるボットが一般的になってきた。こうなると,その悪質なプログラムは,ウイルスでもあり,ボットでもある。

 一方,従来のウイルスも,ボットの一般的な“機能”を備え始めた。「バックドアを開いて,攻撃者の命令のままに動作する」機能を備えたウイルスは,現在では多数出現している。マス・メーリング型の“代表選手”であるNetskyやMydoomなどの変種にも,これらの機能を備えたものが多い。

 「外部からの命令に従って動作をするプログラムを『ボット』と定義すれば,NetskyやMydoomの変種もボットの一種と呼べるだろう」(星澤氏)。もはや機能面では,ボットなのか,ウイルスなのか区別はできない。「ボット作者もウイルス作者も,自分たちにとって“有用な機能”はどんどん取り入れるので,両者の違いはなくなってきている」(岡本氏)

 いかにも“ボット”と思われる名前を付けた悪質なプログラムもある。「Spybot」や「Gaobot(Agobot)」,「Rbot」などである。前述のように「IRC Bot」というものもある。これらはあくまでもオリジナルが“純粋な”ボットであることを示すだけ,元々どのコード(ソース)に由来しているかを示すだけである。機能で区別しているわけではない。ちなみに,ボットに由来していても“ボットらしい”名前が付いていない場合もある。「Randex」などは代表的なボットの一つだが,「bot」という文字列を含まない。

 なお余談ではあるが,代表的なスパイウエア対策ソフト「Spybot-S&D(Spybot Search&Destroy)」と,前述のSpybotは当然のことながら全くの別物である。しかしながら,Spybot-S&D は“S&D(Search&Destroy)”の部分が省略されて,“Spybot”と呼ばれる場合があるので,混同しないように注意したい。Spybot-S&Dは対策ソフトであり,悪質なプログラムではない(関連記事)。

 さて,「機能面で違いがないのなら,“ボット”をあえて区別して考える必要はないだろう」――。そう思われる方は少なくないだろう。確かに,機能面では違いはほとんどなくなってきている。だが,依然大きな違いがある。ほとんどのボット――正確には,「“純粋な”ボットに由来する悪質なプログラム」あるいは「ボット系プログラム」とでも呼ぶべきか――は,そのソース・コードが公開されている。このため,通常のウイルスとは比較にならないペースで,新しい変種/亜種が出現しているのだ。

 明日は引き続き,従来のウイルスにはなかったボットの新たな脅威と,それに対する防御策を述べさせていただきたい。

(勝村 幸博=ITpro)