ボットネットの仕組みとその対策の難しさ
公開日: 2008年3月26日
みなさん、こんにちは。金井と申します。現在、私は大学院修士課程一年の学生です。研究テーマとして、近年のインターネットセキュリティを脅かしている"ボット"を効果的に検知する手法を扱っています。
今回は、ボットネットの仕組みとその対策の難しさについて触れたいと思います。
ボットネットの概要
従来からインターネットの世界では、ワームやコンピュータ ウイルスといった悪意を持つソフトウェアがユーザーを脅かしてきました。これらは十分な対策が施されていないコンピュータの脆弱性を利用して感染し、感染したコンピュータから迷惑メールを送信したり、コンピュータに含まれるデータを破壊したりしてきました。そして、この「感染した後に行う行動」は攻撃者が予めプログラムした活動のみを実行するものでした。
ボットネットは違います。ボットウェアに感染したホストは C&C サーバーと呼ばれるホストに接続し、攻撃者 (クラッカー) からの命令を待ちます。攻撃者は、好きな時に C&C サーバーに接続しているホスト=ボットネットを利用して、任意の活動 (たとえば、DDoS、スパム配信など) を実行します。
ボットネット対策の難しさ
ボットネットはこれからのインターネット セキュリティを考える上で避けられない課題の 1 つです。しかし、ボットネットの対策は既存の技術や対応では難しいとされています。それはなぜでしょうか?ここでは代表的な理由のいくつかを紹介します。
ユーザーの意識
現存する外部からの攻撃の多くは、定期的に Microsoft Update を実施しファイアウォール機能を有効にすることで防ぐことができます。しかし、残念なことにセキュリティにたいして十分な知識を持つユーザーばかりがインターネットに接続しているのではないのが現状です。そのため、これらの機能を利用しなかったり、無効にしてしまい、攻撃を受けてしまいボットネットの一部となってしまうことが多々あります。
亜種の発生
ボットウェアの亜種は非常に頻繁に発生します。セキュリティベンダが発見している新種のボットウェア亜種の数は一日当たり 100 とも数百ともいわれています。また、攻撃者は好きなタイミングで自分の管理しているボットにインストールされているボットウェアを新しいボットウェアに更新できます。
従来からよく利用されているウイルスやワームの検知手法として、特定のプログラムの内容を発見する「パターンマッチング」という手法があります。しかし、亜種の発生が極めて頻繁に行われるため、この手法での対応は難しくなってきたといわれています。また、攻撃者は自分の作成したボットウェアが検知される対象になったと気がつけば、すべてのボットのボットウェアを検知されないボットウェアに更新することすら可能です。
規模性の高さと分散性
1 つのボットネットを構成するボットは数百から数千といわれています。さらに、一般的に 1 つのボットネットのボットは様々なネットワークに所属しています。
これにより被害者がボットネットからの攻撃を発見しても、対応が難しい、という状況を生み出します。たとえ、外部のボットネットからと思われる攻撃を発見したとしても、それらの管理者は数百の違うネットワークに所属しているのです。彼らに 1 通 1 通メールを書くのだけでも多くの労力が必要ですし、必ずしも対応が行われるとは限らないのです。
C&Cサーバーの冗長性
ボットネットは C&C サーバーがなければ (一部のボットは勝手に感染活動を始めたりもするのですが) 何もできません。ですが、残念なことに多くのボットでは C&Cサーバーの冗長性が取られています。もし、名前の先に指定されていた C&C が本来の管理者あるいはネットワーク管理者などに切断された場合、攻撃者は他のボットを C&C サーバーに昇格させます。また、多くのボットは、予備の C&C サーバーの名前を複数保持しており、1 つ目の C&C サーバーの名前解決に失敗した場合は、別の C&C サーバーの名前解決を試みます。このように、ボットネットを「中心から潰す」方法は困難になっています。
ボットネットの現状
"ボットネット対策の難しさ" で述べたとおり、ボットネットは "何でもあり" のしぶとさを持っており、一度広がってしまったボットネットの対策は非常に難しいとされています。また、近年では、「脆弱性を持ったホストを外部から攻撃・感染する」能動的な感染方法ではなく、「有益な ActiveX コントロールなどを装って感染する」受動的な感染方法が主流になっているという調査もあります。
対策が難しくなる一方で、ボットネットは商用利用できることが分かってきています。例えば、スパム配送業者に対して数百台のノードを有償で売却するといった事例が実際に報告されています。また、ボットウェアに感染したコンピュータの管理者が入力する MSN Messenger のアカウント情報なども、アンダーグラウンドの世界では高額に取引されているともいいます。そのため、最近では、ボットネットはDDoSなどの目立つ活動から、パスワードスニッファなどの目立たない活動にシフトしており、ボットネットの活動検知は一層難しくなると予想されます。
ボットネットに対して何ができるか
では、これからボットネットの拡大を防ぐにはどうすればいいのでしょうか。私は、「ユーザーの意識向上」からボットネットへの新規加入ノードを減らすのが最も効果的な方法だと考えています。残念ながら、現在はそのような認識が広がっていないのではないかと思います。昔に比べて多くのインターネットサイトやコンピュータ関連の雑誌でセキュリティがトピックとして取り上げられるようになり、Windows にもファイアウォール機能などが標準で搭載されるようになり、ユーザーが対策をすれば簡単にはボットに感染しない基盤はそろってきているのではないでしょうか。よく、現実の世界で「知らない人に声をかけられてもついていってはいけない」といいますが、インターネットの世界でも、「よくわからないActiveXコントロールはインストールしてはいけない」というようなリテラシをどのようにつけていくか。それが今後のセキュリティの1つの課題だと思います。
まとめ
これまでに述べてきたようにボットネットは解決しなければならない課題の1つですが、今までの対策では対応が困難になってきています。そのため、これからのインターネットではユーザー 1 人 1 人のリテラシの向上が必要とされています。コンピュータとインターネットが社会で不可欠なものになるにつれ、IT リテラシをいかに学習するかという議論は多くされてきました。しかし、現在はそのリテラシは個人のためだけではなく、インターネット全体の安全にかかわるほど重要になってきています。
リテラシをどのようにつけていくのか、というのは非常に難しい問題ですが学校やベンダが一丸となって効果的に学習できる環境がつくられればと思います。

この記事は、マイクロソフト セキュリティ ニュースレターで配信しました。