Web 2.0という言葉とともに一層注目度が高まったWebアプリケーションへの攻撃。実は,これらの攻撃のかなりの部分がボットによることが,最近分かってきた。

 先日,筆者はあるボットを確認した。このボットの動きを数日間観察してみたところ,ボットはインターネットの複数の検索サイトを使って,ぜい弱性があると考えられるサーバーを検出し,自動的に攻撃を仕掛けていた。検索サイトを偵察ツールとして使っているのである(表1)。近年多くの企業が取り組むようになった検索エンジン最適化(SEO)によるマーケティング手法を逆手にとった攻撃の手口と言える。

表1●ボットで利用されていた検索エンジン
表1●ボットで利用されていた検索エンジン

 米フォーティファイ・ソフトウエアの報告書によると,Webアプリケーションへの攻撃のうち,ボットによるものが50%,Googleハッキングが20%を占める。Googleハッキングとは,本来公開されるべきでない機密情報や社内システムのさまざまな情報を,検索サービスを通じて探り出す手口のことである。

 ただ実際は,ボットがGoogleハッキングを仕掛けているケースが少なくない。こう考えると,ボットによる攻撃の件数は,50%よりも多いと推測できる。今回は,この検索サイトを悪用するボットについて紹介しよう。

オープンソース利用サイトが狙い目

 仕組みを見ると,このボットは大きく三つの動作をする。(1)検索エンジンによる偵察,(2)攻撃コード配布サイトからの最新の攻撃パターン情報の取得,(3)攻撃である。

 検索サイトのクローラ(検索ロボット)は,Webサイトから様々な情報を収集するようになっている。Webアプリケーションが出力するソフトウエアの名称やバージョンといった情報が代表的である。

 特定のWebアプリケーションを示すキーワードを指定して検索すると,該当するWebアプリケーションを使っているWebサイトの一覧が表示される。このWebアプリケーションに関するぜい弱性情報をあらかじめ知っていれば,検索サイトはWebアプリケーションのぜい弱性スキャン・ツールとして機能することになる。

 この際,よく狙われるのがオープンソース・ソフトを利用しているシステムである。検索サイトのクローラが収集してインデックスに登録した情報は必ずしも新しいものとは限らない。ただ,オープンソース・ソフトを使って構築されたサイトの中には,アプリケーションのバージョンアップを怠っているケースが少なくない。それだけ,攻撃者は検索サイトを通じて効率よく標的を探せるわけだ。

 例えばブログのセキュリティ情報を配信しているBlogSecurityによるセキュリティ・チェックの報告(Word Press,URLはhttp: //blogsecurity.net/wordpress/article-300606/)を見ると,検査対象とした1000サイトのうち約6割は適切なアップデートを実施していないことが分かる。ボットはこうして標的となるサイトを見付け出すと,そのサイトに対して自動的に攻撃を仕掛けるように作られている。

GoogleハッキングDBを参照

 今回確認したボットはPerlで書かれており,比較的短い期間で更新されていた。7月末時点で最新版だったソースコード(更新は7月24日)では,表1にある検索サイトを利用していた。

 偵察のための検索キーワードは,あらかじめ別ファイルで用意されている。その一部を紹介すると表2のようなものが含まれている。多くは,Google Hacking Database(GHDB,URLはhttp://johnny.ihackstuff.com/ghdb.php)の情報を参考にしたものである。

表2●検索キーワードの一例
表2●検索キーワードの一例
[画像のクリックで拡大表示]

 興味深いのは,表2の一番上の例にあるように特定ドメインを指定しているものがいくつか確認できる点である。少し前に確認されたエストニアのDDoS(分散型サービス妨害)攻撃の事例を踏まえると,特定の国を狙った標的型攻撃の可能性がある。日本でも特定企業を狙ったDDoS攻撃による脅迫事件が報告されているため,他人事ではない。

 ほかには,特定のアプリケーションを狙ったキーワードが多々含まれている。これは特定のWebアプリケーションを検索するもので,ボットはこれらの検索結果から標的を選び,そのアプリケーションのぜい弱性を突く攻撃を仕掛ける。

最新の手口を選んで自動攻撃

 攻撃方法の選択には,ゼロデイ攻撃ツールの情報さえも掲載される攻撃ツール情報サイトが使われていた。ソースコードを見ると,攻撃ツール情報サイトからRSSフィードを受信している。

 実際に攻撃ツール・サイトにアクセスしてみたところ,写真1のように最新の攻撃手法と,その攻撃ツールへのリンクが表示された。攻撃者は,この情報を参考にしながら常に最新のぜい弱性を悪用することができる。写真からは,SQLインジェクション,リモート・ファイル・インクルード(RFI)といった攻撃手法が読み取れるはずだ。RFIは,攻撃者がリモートからWebサーバー上で任意のコマンドを実行できるぜい弱性である。 

写真1●ボットは攻撃ツール情報サイトを参照して,最新の手口を選ぶ
写真1●ボットは攻撃ツール情報サイトを参照して,最新の手口を選ぶ

 ボットは,ぜい弱性を抱えているWebサイトの検出から攻撃までを自動的に実行する。さらに,攻撃が成功すると写真2のように表示される。ご覧の通り,システムの情報やハード・ディスクの情報が見て取れ,システムが乗っ取られたことが分かる。

写真2●ボットが攻撃を仕掛けた結果
写真2●ボットが攻撃を仕掛けた結果

 これとは反対にゼロデイのぜい弱性を発見した場合には,写真3にあるようにその情報をサイトに投稿し,攻撃ツール情報サイトの利用者同士で最新の手口に関する情報を共有できるようになっている。

写真3●ハッカー・サイトには攻撃の結果などを投稿できるようになっている
写真3●ハッカー・サイトには攻撃の結果などを投稿できるようになっている

 このように,最近のWebアプリケーション攻撃用ボットは,可能な限り攻撃の操作を効率化してある。筆者が観測をしている間,常に攻撃が行われていた。検索サイトからのアクセスを重視するWebサイトは,一瞬でもスキを見せるとサーバーを乗っ取られてしまうと言っていいだろう。

 今回紹介したボットに限らず,検索サイトはWebサイトの弱点を容易にあぶり出すことができるツールと化す。ここではクローラへの対策方法は解説しないが,まずは自社サイトを検索した際にどのような情報が表示されるのか,よく理解しておく必要がある。


 この記事は,2007年8月23日に公開した「ネット・セキュリティの自己防衛力を高める」を再掲載したものです。


岩井 博樹(いわい・ひろき) ラックコンピュータセキュリティ研究所 所長
ラックのコンピュータセキュリティ研究所に勤務。IDS/IPS導入設計,コンサルティングなどに従事した後,同社のJapan Security Operation Center(JSOC)にて監視業務に携わる。現在は,セキュリティ技術の研究開発,フォレンジック業務を手掛ける。