「『Yahoo!メール』を狙ったウイルスは,同サイトのクロスサイト・スクリプティング(XSS)脆弱性を悪用した。同様の脆弱性は多くのWebサイトに存在する。このウイルスのソース・コードも出回っているので,今後,同様の攻撃が頻発する可能性は高い。Webサイトの管理者や開発者は十分に注意する必要がある」---。京セラコミュニケーションシステムのセキュリティ事業部 副事業部長である徳丸浩氏は6月15日,ITproの取材に対して警告した。

Yahoo!メールのウイルスは“単純”

 6月12日ごろに確認されて「Yamanner」などと名付けられたウイルスは,米Yahoo!が提供するメール・サービス「Yahoo! Mail(Yahoo!メール)」で感染を広げる(関連記事:Yahoo!メールの脆弱性を突く“ゼロデイ”ウイルス出現)。Yamannerの実体はスクリプト(JavaScript)。同サービスには,送られてきたメールに含まれるスクリプトをフィルタリングせずに表示してしまう脆弱性---つまり,XSS脆弱性---が存在した。このため,Yamannerが含まれるメールをWebブラウザで開くだけで,Yamannerがブラウザで上で解釈・実行される。

 動き出したYamannerは,そのアカウントのメール・フォルダを検索してメールアドレスを収集し,特定のサイトへHTTPで送信する。また,収集したアドレス中の,「yahoo.com」および「yahoogroups.com」ドメインへ,Yamannerを含むメールを送信して感染を広げる。

 Yahoo!メールでは,もちろんさまざまなXSS対策を施している。しかし今回のウイルスは,従来の対策では防げないものだった。つまり,未知のXSS脆弱性を突く“ゼロデイ”ウイルスである。ただ,「どんな“工夫”が凝らされているかと思ったが,出回っているウイルスのソースを見ると,あるイベントでスクリプトを実行させるだけの単純なものだった」(徳丸氏)。現在では,Yahoo!は今回の脆弱性に対応した模様である。

 今回の件に限らず,XSS脆弱性が存在するWebサイトや商用Webアプリケーションは多いという。「あるユーザー企業に頼まれて,その企業が利用している商用のWebメール・ソフトを調べたことがあった。すると,そのソフトにもXSS脆弱性が見つかった」(徳丸氏)。

XSS脆弱性の攻撃が“トレンド”に

 徳丸氏は,Yahoo!メールを狙ったウイルスが“ゼロデイ”だったことよりも,XSS脆弱性を突いたことに注目する。というのも,「XSS脆弱性を悪用した攻撃による実害は,今までほとんど発生していなかった」(徳丸氏)ためだ。今回も大きな被害は報告されていないが,「大きな被害に発展する可能性は十分にあった」(同氏)。

 今回のウイルスのソース・コードが広く出回っていることも危惧する。「コードを改変すれば,別のサイトを攻撃するウイルスは容易に作れる。今回のウイルス騒動を契機に,XSS脆弱性への攻撃が今後盛んになる可能性がある」(徳丸氏)。2005年の「SQLインジェクション」攻撃のように,XSS脆弱性を突く攻撃が“トレンド”になる恐れがあるという。「被害はメール・アドレスを盗まれるだけにとどまらず,より深刻になる可能性がある。XSS脆弱性を悪用されると,セッション・ハイジャックされて,なりすましを許す恐れなどがあるからだ」(同氏)。

 そのような事態になる前に,Webサイトの管理者やWebアプリの開発者は,XSS脆弱性対策を施す必要があると強調する。とはいえ,対策が難しいことも確かである。徳丸氏によると,XSS脆弱性は見つけることが難しい脆弱性の一つであるという。

 また,検査や開発のためのガイドラインが少ないことも,対策を難しくしている。「情報処理推進機構(IPA)が公開しているドキュメント(セキュアWebプログラミング「クロスサイトスクリプティング」安全なウェブサイトの作り方[PDFファイル])などがある程度参考になる。ただし,個別のケース(対策)すべてが記載されているわけではないので注意が必要である。万全を期するには,アプリケーションの設計段階から,コンサルタントの力を借りるなどしたほうがよい」(徳丸氏)。