Internet Explorer 7(IE7)が公開されてからずいぶんと経つが,自宅のWebサーバーや業務で閲覧するWebサイトのアクセス・ログを確認すると,まだ前バージョン(IE6)の利用が圧倒的に多い。「安定して動作しているソフトウエアをあえて変更する必要はない」「強化されたと言われる機能が悪い影響を及ぼすのではないか」など,ユーザーの思いはいろいろだろう。ただ今回のアップデートは,ネット社会での犯罪行為から身を守るという観点からは,重要な意味を持つと筆者は考えている。

 IE7の特徴は,セキュリティ機能がふんだんに“付加”された点だ。具体的には,不正サイトへの誘導に関する対策機能が付加された。社会的背景を踏まえると,適切なバージョンアップと言える。

 では,その実力はどうか。今回は,攻撃者に細工された不正サイトへの誘導に対し,IE7のセキュリティ機能がどの程度有効であるのかを紹介しよう。実際のところの有効性は「まずまず」だが,どの程度までの効果を期待できるのか知っておく方がよい。

フィッシングの遮断率は体感で6割

 IE7の新機能の一つは,フィッシング詐欺に代表される不正サイト誘導に対する防御機能「フィッシング詐欺対策機能」である。この機能は,

(1)当該サイト・アドレスを正規のアドレスと見なしてよいか,米マイクロソフトに報告されているサイトの一覧(Legitimate List)と照合する

(2)当該サイトのコンテンツを分析し,フィッシング・サイトに共通する特性がないかをチェックする

(3)当該サイト・アドレスをマイクロソフト保有の報告済みフィッシング・サイト情報と照合する

という三つのステップを経てフィッシング・サイトの可能性を判定するようになっている(写真1)。

写真1●アクセス先のWebサイトがブラックリストに登録されている場合に表示される警告画面
写真1●アクセス先のWebサイトがブラックリストに登録されている場合に表示される警告画面

 この機能の精度がどの程度なのかは誰もが知りたいところだろう。そこで,フィッシング・サイト情報を投稿・閲覧できるPhishtankに最近報告された10サイトを訪問し,挙動検証を実施してみた。その結果を紹介しよう(図1)。○はブラックリストに登録されていたもの,△は(2)の段階で怪しいと警告が出たものである。

図1●ブラックリスト・テストの結果
図1●ブラックリスト・テストの結果
報告日はいずれも2007年4月16日のもの。チェックは同日に行った。

 1日に投稿されたフィッシング・サイト情報を参照しただけだから,簡易調査ではあるが,よく悪用されてしまうWebサイトや金融機関のサイトに関しては,そこそこの検出率だった。これに対し,特定ユーザーが利用するようなWebサイトについては,報告者が少ないせいか検出が難しいようである。

 次に,マイクロソフトのサーバーのブラックリストが更新された頃合いを見計らって(2)で検出したサイトを訪問すると,適切にブロックされた。当然,(1)から (3)のステップで検出されなかったフィッシング・サイトについては,良識あるユーザーによる報告がない限りブロックされない。全体評価として,あくまでも筆者のフィッシング・サイトの体感遮断率は6割といったところだった。

JavaScriptの悪用防止も効果あり

 Web経由の攻撃としては,Webアプリケーションのぜい弱性を悪用したJavaScriptの不正実行も問題になっている。代表例がクロスサイト・スクリプティングのぜい弱性を狙った攻撃である。

 クロスサイト・スクリプティングの悪用は,不正サイトへの誘導だけでなく,ブラウザを乗っ取ることも可能であるため,Web閲覧の際にも細心の注意が必要となる。最近では,ブラウザ側での対策も進んでおり,IE7においても多くの対策がなされている。

 そこで,IE6とIE7のクロスサイト・スクリプティングに対する挙動を比較してみた。結果からいうと,IE6では課題となっていた項目の5割前後は改善されている。

 例えば,imgタグに埋め込むタイプの不正文字列に対しては,多くが無効化されていた。具体的に言うと,<IMG SRC=`javascript : alert("XSS")`>はIE6ではJavaScriptが実行されるが,IE7では実行されない(図2の上から4番目)。つまり一部の攻撃に対しては,ブラウザが自動的に「無害化」する。

図2●imgタグに埋め込まれたスクリプト実行有無の例
図2●imgタグに埋め込まれたスクリプト実行有無の例
×は実行してしまった場合。

 ただ,<IMG"""><SCRIPT>alert("XSS")</SCRIPT>">ように,多少複雑化すると,IE7でもやはり実行されてしまう(図2の一番下)。全体的に見ると,VBScriptやスタイルシートへの埋め込みなどに関して,まだ問題点は残されているものの,着実に改善は見られる。クロスサイト・スクリプティングのぜい弱性は,これから本格的に悪用されると危惧される。今後のさらなる対策に期待したい。

 次に,フィッシング詐欺でも悪用が危惧されるクロスドメインへの対策をテストした。アクセス先のサイトの弱点を突いて他のドメインの悪意あるスクリプトをダウンロードさせる攻撃に対する防御策である。

 クロスサイト・スクリプティングを利用してJavaScriptを実行すると,写真2のように処理直後に通信が切断されているのが分かる。この機能により,閲覧サイト以外のドメインからのJavaScriptの実行を阻止できることを確認できた。

写真2●IE7は,クロスサイト・スクリプティングによりJavaScriptが実行された場合に,通信を遮断する仕組みを備える
写真2●IE7は,クロスサイト・スクリプティングによりJavaScriptが実行された場合に,通信を遮断する仕組みを備える

 ドメインをまたぐ悪質な通信を遮断するこの仕組みは,まだ対応されていないクロスサイト・スクリプティングのぜい弱性を悪用した場合にも有効であるといえる。ただし,FlashのActionScriptを悪用された場合は,その限りではない。

ブラウザの設定変更は不可欠

 「不正サイトへの誘導対策」という観点で見ると,IE7は確実に前進している。ただ,すべての場面で効果的に動作するわけではない。

 特にマイクロソフト製品はゼロデイのぜい弱性が見付かる頻度が高い。しかも,ブラウザの高機能化が進めば進むほど,ゼロデイのぜい弱性が生じる危険性は高まる。

 ゼロデイ攻撃の対策としては,(1)ActiveXコントロールの実行をオフにする,(2)「拡張子ではなく,内容で開く」を無効化する,(3)「常に新しいタブでポップアップを開く」に設定する,といったブラウザの設定変更が不可欠である。

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