米Microsoftが「BrowserShield」というプロトタイプの防御ツールを開発した。ネットワークの境界部分で動作し,外部から送られてくるWebコンテンツのフィルタリングと書き換えを行うことで,修正パッチの適用されていないWebブラウザを保護する。

 Microsoftは現在のプロトタイプ版BrowserShieldを,「Microsoft Internet Security and Acceleration(ISA)Server 2004」用プラグインとして配布している。このプラグイン・パッケージには,クライアントWebブラウザに送信するJavaScriptライブラリが付属する。BrowserShieldはHTMLデータを「安全を確保した等価なコンテンツ」に変換し,同ツール付属のJavaScriptライブラリを利用するよう修正する。

 簡単な例を紹介しよう。BrowserShieldはWebページ内の「alert("Hello World");」というスクリプトを,「eval(bshield.translate("alert(\"Hello World!\");"」に変換する。この変換により,クライアントWebブラウザの標準的なJavaScriptライブラリではなく,(「bshield.translate」によって)BrowserShieldの付属JavaScriptライブラリが呼び出される。

 このような仕組みのため,修正パッチが適用されていない既知のセキュリティ・ホールがWebブラウザにあったとしても,悪質なコードはWebブラウザに届く前の段階で安全な内容に変換できる。新たなゼロデイ攻撃が発生しても,修正パッチの開発中にBrowserShieldを更新できる。BrowserShieldは,外部からのトラフィックをフィルタリングする目的でクライアント・ネットワークに組み込むことや,Webサーバーから送信するコンテンツをフィルタリングする目的でコンテンツ・ホスティング・プロバイダのネットワークに組み込むことが可能な設計を採用している。

 Microsoft内では,複数の製品グループがBrowserShieldに関心を示しているらしい。そのなかには,Internet ExplorerやISA Serverのチームのほか,LiveやMSN Searchのチームもある。BrowserShieldの開発は,Microsoftの研究部門Microsoft Researchレッドモンド研究所システム&ネットワーキング・グループのHelen Wang氏とJohn Dunagan氏が行った。2005年の開発スタート以来,インターンのCharlie Reis氏とSaher Esmeir氏や,ISAサーバー担当プログラム・マネージャのOpher Dubrovsky氏が協力してきた。

 詳細な技術と内部動作は,Microsoft Researchの公開した文書「BrowserShield:Vulnerability-Driven Filtering of Dynamic HTML」(PDF形式,英語)で解説されている。