logo

「安全なブラウザ」などもう存在しない

  • このエントリーをはてなブックマークに追加

 CERT Coordination Centerは2003年11月に、ウェブユーザーに向けて、Internet Explorer(IE)以外のブラウザの使用を検討するよう求める初めての勧告を出した。

 当時、IE絡みの問題が頻発していたが、そうした問題の多くはIEの複雑なアーキテクチャが原因で生じたものだった。IEの脆弱性は毎月のように報告され、ユーザーはMicrosoftからアップデートがリリースされるまで危険にさらされるというありさまだった。

 2004年6月までには、IEをターゲットにした攻撃が始まっていた。IEの脆弱性を利用して、アクセス先のコンピュータ上に悪質なソフトウェアをインストールする行為が、多くのウェブサイトで発見された。こうした傾向は、公表されていないIEの潜在的な脆弱性が、攻撃によって明らかになるという最悪の事態に至る。その攻撃とは、悪質なソフトウェアで銀行のウェブサイトに入力された情報を盗み、被害者の口座にアクセスするというものだった。

 それ以来、2つの展開があった。まず、Microsoft がWindows XP Service Pack 2(SP2)でセキュリティ機能を強化した。次に、攻撃者がIEと似たような脆弱性を持つ他のブラウザも標的にし始めた。

 SP2では、IEに対して重要なセキュリティ面の強化が行われた。IEのアーキテクチャは基本的に変わっていないが、SP2による改善は、脆弱性が発見されるたびに対処するというアップデート方法よりははるかにマシなものだ。SP2では、機能の向上よりもセキュリティの強化のほうが優先されている部分がある。なかでも重要なのは、「イントラネット」ゾーンの封鎖と「クロムレス」ウィンドウに対する制限の強化の2点だ。

 「イントラネット」ゾーンの封鎖によって、イントラネットゾーン内のウェブページであってもスクリプトを実行することがほとんどできなくなった。これにより、スクリプトの出所を特定できないことを利用した「クロスドメイン・スクリプティング」に対する防御が可能になった。ウェブブラウザにとって、異なるドメインのスクリプトを隔離することは極めて重要だ。たとえば、www.cert.orgに存在するスクリプトがwww.cnet.comのデータにアクセスできるというようなことがあってはならない。また、ブラウザがリモートサイトのスクリプトをローカルコンピュータ上に存在するかのように扱うこともあってはならない。

 IEでは、「インターネット」ゾーンのスクリプトよりも「イントラネット」ゾーンのスクリプトのほうが権限がはるかに大きい。攻撃者は、自分のページをターゲットの「イントラネット」ゾーンに置くことで、好きなプログラムをダウンロードして実行できる。「イントラネット」ゾーンが封鎖されたことで、攻撃者の実行できるアクションが制限され、悪質なプログラムを実行することが困難になった。

 一方の「クローム」とは、境界、アドレスバー、移動ボタンなど、ウィンドウをウィンドウたらしめているさまざまな部品のことだ。IEや他の一部のブラウザでは、ウェブサイトの開発者(そして攻撃者)は、クロームなしのウィンドウを作成できる。SP2リリース以前は、攻撃者がアドレスバー、鍵アイコン、さらにはWindowsのスタートメニューといった重要な要素を隠した偽のクロームレスウィンドウを作成することができ、偽のウェブサイトを本物のように見せかけてユーザーを簡単にだますことが可能だった。

他のブラウザにも同じ脅威が  すべてのブラウザは同じ脅威に直面しており、いくつかのブラウザは設計も似通っている。IEは基本的に、2つのWindowsコンポーネントを包むラッパープログラムである。2つのWindowsコンポーネントとは、ブラウザウィンドウの処理と移動を制御するActiveXコントロールと、HTMLを表示しスクリプトを実行する「MSHTML」レンダリングエンジンだ。OutlookとOutlook ExpressもこのMSHTMLを使用している。

 同様に、Apple ComputerのSafari は、「Web Kit」と呼ばれるコンポーネントを基盤に構築されている。Mozilla Foundationの各ブラウザ(Mozilla スイートやFirefoxなど)は、「Gecko Runtime Environment(GRE)」を使用している。これらのコンポーネントに脆弱性があれば、ウェブブラウザだけでなく、これらのコンポーネントを使用している他のすべてのプログラムも影響を被ることになる。

 IEの「イントラネット」ゾーンと同じように、Mozilla にも「クロームスクリプト」という概念がある。Mozilla が、リモートサイトにある攻撃者のスクリプトをクロームスクリプトとして処理する必要があると誤って判断してしまうと、攻撃者は、プログラムのダウンロードと実行を含め、好きなアクションを実行できてしまう。

 攻撃者は常にターゲットを探している。最近の攻撃の中には、IEとMozillaベースのブラウザの両方をターゲットにしたものがある。また、それとは別にMicrosoft OfficeによってインストールされるActiveXコントロールを利用した攻撃もあり、(ActiveXによって)ブラウザとOSが統合されていることの危険性が改めて浮き彫りになっている。

安全なブラウジングのために ? セキュリティ対策には魔法の薬など存在しない。100%安全などということはあり得ない。セキュリティを実現するには、機能とコストのバランスをとる必要がある。また、信頼性とリスク許容範囲のバランスも考える必要があるだろう。こうした点を頭に入れて、安全なウェブブラウジングを行うための推奨事項をまとめてみよう。

  • ブラウザは常に最新のアップデート版を使用すること。Windows (IE)、Mozilla/Firefox、Apple (Safari)の各ブラウザはどれも自動アップデートが可能だ。
  • ウェブ上では慎重に振る舞うこと。HTTPSを使用してサイトの認証と情報の暗号化を行っていないウェブサイトで、パスワードや口座番号といった機密情報を入力してはならない。メールの本文内に埋め込まれたリンクをクリックしてはならない。機密性の高いウェブサイトにアクセスするときは、ブラウザのアドレスバーにURLを直接入力するか、そのURLを入力した後に作成したブックマークを使用する。一見本物のように見えるがHTTPS接続が確立されていないブラウザウィンドウには、一切情報を入力してはならない。
  • ブラウザの設定変更を検討すること。スクリプトを無効にするとブラウジングは大幅に高速化されるが、その分、機能面と楽しさが犠牲になる。IEでは、インターネットゾーンを封鎖し、代わりに定期的にアクセスするサイトを「信頼済みサイト」ゾーンに入れることを検討してみるとよい。

筆者略歴
Art Manion
US-CERTのインターネットセキュリティ・アナリスト。US-CERTは米国土安全保障省の肝いりで設立された官民共同の団体でサイバー攻撃に対する防御の研究に重点を置いた活動を行っている。

-PR-企画特集