写真 米ホワイトハットのジェレミア・グロスマン最高技術責任者(CTO)
写真 米ホワイトハットのジェレミア・グロスマン最高技術責任者(CTO)
[画像のクリックで拡大表示]

セキュリティ研究家として著名な米ホワイトハットのジェレミア・グロスマン最高技術責任者(CTO)が,東京で10月上旬に開催されたセキュリティ技術の会議「Black Hat Japan 2006」のために来日した。Webブラウザに悪意のあるJavaScriptを送り込むことで情報を漏えいさせる攻撃が今後本格化すると警告するグロスマン氏に,従来の対策を無力にする新手法の手口とその対策を聞いた。(聞き手は中道 理=日経コミュニケーション

――WebブラウザとJavaScriptでどんな攻撃ができるのか。

 JavaScriptを使えば,ユーザーのWebブラウザからCookieデータやアクセス履歴を取り出し,これを別のサイトに送信できる。こうして手に入れたクッキーを使えば,パスワードなしに銀行のWebサイトにログオンできるかもしれない。アクセス履歴からはそのユーザーの嗜好(しこう)や行動が分かる。

 さらに,最近注目しているのは,JavaScriptを使った社内LANの情報収集と情報改ざんだ。

――具体的にはどうするのか。

 まず情報収集では,IPアドレスを変えながら順番に内部のサーバーにアクセスを試みるJavaScriptを送り込む。サーバー上でWebサーバー・ソフトが動いている場合と動いていない場合で,反応が異なる。返されるエラー・メッセージを見れば,Webサーバーが動いているハードウエアを特定できる。

 Webサーバー・ソフトが動いているハードウエアとしては,パソコンやサーバー,ルーター,IP電話,プリンタなどが考えられる。そこで,どういった種類の機器なのか,どういったWebサーバー・ソフトが動いているのかを調べる。

 具体的にはサーバーの所定のディレクトリにWebページや画像ファイルがあるかを調べることで推測する。例えば,Webサーバー・ソフトの「Apache」が動いている場合は,「/icons/apache_pb.gif」という特定のフォルダ内にある画像ファイルにアクセスできる。ルーターやIP電話,プリンタなどにも,それぞれメーカーで特有のディレクトリやファイルがある。

 情報の改ざんでは,ルーターやプリンタ,IP電話などの管理Webページにアクセスすることで可能になる。一般にこれらの機器はデフォルトのユーザー名,パスワードで運用されている。例えば,あるメーカーのルーターのほとんどはユーザー名なしで利用でき,入力するパスワードも決まっている。

 ルーターの設定を変更できれば,外部から内部へのアクセスを許す設定にしたり,VPN(仮想閉域網)のパスワードなどを変更したりできる。

――JavaScriptに仕込んだWebページにユーザーは誘導されないのではないか。

 それも簡単だ。クロスサイト・スクリプティング(XSS)と呼ぶ攻撃に対してぜい弱性を持つWebサイトには,JavaScriptを埋め込むことが可能だ。例えば,XSSのぜい弱性があるWebページの検索フィールドに「><script>alert("Hi")<script>」と打てば,「Hi!」という文字がポップアップする。

 一般に検索機能があるWebサイトでは,URL内に検索文字列を入れてパラメータのやり取りを行う。ここに,検索文字列の代わりに悪意あるJavaScrpitを入れ,そのリンクをユーザー(攻撃対象)にメールなどで送れば,まんまとユーザーに実行させることができる。特に基となるURLがニュースや検索,銀行など,社会的に信用のあるサイトの場合,ユーザーがクリックする敷居は低くなる。

 我々の調査によれば,70%のWebサイトにXSSのぜい弱性がある。世界中に無数のWebサイトがあることを考えれば,こうした攻撃は容易に行えると言わざるを得ない。

――しかし,長いJavaScriptコードがURLに付いていれば,ユーザーは気付くのではないか。

 URLに仕込むJavaScriptを使って別のサイトからコードを読み込むようにしておけばいい。これも簡単にできてしまう。

――ではどうすればよいか。

 現在ウイルス対策ソフトなどは,こうした悪意あるJavaScriptを検知できない。Webブラウザにもそうした機能は実装されていない。

 このため,「<」や「>」のような文字列が含まれているようなURLはクリックしない,怪しい場合はJavaScriptを無効にしてからアクセスするといった自己防御しかない。

――LANや情報漏えいの問題以外に今,注目している攻撃は何か。

 クロスサイト・リクエスト・フォージェリ(cross-site request forgeries)という攻撃だ。ユーザーに悪意あるJavaScriptを送り込み,これを使ってリモートから勝手に投稿や注文などをする。5年前ぐらいからコンセプトは言われてきたが,今後,問題が顕在化してくる危険性が高い。