Microsoftは、WebGLのセキュリティ上の欠陥を分析した2つのレポートを引用して、Google, Mozilla, Opera, Appleによって積極的にサポートされている3Dグラフィック ライブラリを支持しない主な理由である、としている
HTML5 Canvas 要素によって、開発者は異なったレンダリング エンジンを使ってグラフィックスをプログラムできるようになり、その1つがWebGLである。これは、OpenGLドライバの上にハードウェア-加速化する3D レンダリングの仕様で、Khronos Groupsによって管理されており、現在、 Google Chrome, Mozilla Firefox, Opera、そしてSafariのナイトリービルドによって実装されている。 WebGL 1.0は、2011年2月にアナウンスされたが、Chromeは1年以上サポートしている。
WebGLを使っていない、唯一の主要ブラウザー メーカーがMicrosoftである。GoogleのANGLEを使えば、WebGL APIのコールを等価なDirectXのコールに変換してくれるが、これは、ネイティブなソリューションではないし、もしWindowsでWebGLがネイティブにサポートされていれば、ずっと状況はいいのである。しかしMicrosoftはそれをサポートしていないし、セキュリティ上の脆弱性があるので、WebGLをこれからも支持しない 、と言っている。
WebGLのセキュリティ上の欠陥に関するMicrosoftの主張は、Context Information Securityからの2つの報告に基づいている。 WebGL-ブラウザー攻撃の新次元 と WebGL-更なるWebGL セキュリティ欠陥の2つである。これらはWebGLで見つかったいくつかのセキュリティ問題を説明している。例えば、DoS攻撃に対する脆弱性、 Cross-Domain Image Theft、そして攻撃者がユーザーのデーターを盗むことができるFirefoxの実装にあるバグである。
Contextの最初のレポートに対してKhronosは反応して 、GL_ARB_robustness拡張を使うことを提案した。これは、DoS攻撃のソリューションとして、「すでにいくつかのGPUベンダーによってデプロイされており、Khronosは他のベンダーもまもなくデプロイすると、予想している」。 Cross-Domain Image Theft関しては、彼らは次のように言っている。
WebGLのシーンにクロスドメイン イメージを組み込む機能は、開発者に非常に有益ですが、WebGLワーキンググループは、Cross Origin Resource Sharing (CORS)を選択するか、他のメカニズムを採用してこの機能が将来悪用されないようにする必要がある、と考えています。
Contextは、Khronosの GL_ARB_robustness ソリューションは適切でない、と考えている。DoS攻撃が発見されると、GPUをリセットしてしまうからである。Contextは、Khronosの Image Theftの対するソリューションには同意しており、「WebGL内でクロスドメイン イメージを管理する、例えば、CORSの要求を満たすメカニズムを使用すること」を推奨している。彼は、Firefoxで発見された脆弱性を修正するために、大変分かりがいいMozillaと協働しており、そしてGoogleとも話している、と言った。最終結論として、ContextはユーザーにWebGLを使用できないようにセットし、ハードウェアメーカーにはそのサポートを止めることを推奨している。
Contextの報告に続いて、MicrosoftはWebGLの 主要な懸念事項を取り上げ、「今のままでは」WebGLをサポートしない、と決めたが、将来の心変わりに備えて、ドアを開けたままにしている表現をとっている。
- 「WebGLのブラウザーサポートは、直接、ハードウェア機能をwebに曝しており、これでは余りに寛大すぎる、と考えている」
- 「WebGLのブラウザーサポートのセキュリティ サービス責任は、余りに、サードパーティのwebを安全にする経験に依存している」
- 「問題のあるシステムDoSシナリオ」
MicrosoftはこれまでDirectXに物凄く投資をしてきた。最初のバージョンを出したのは、1995年で、ほぼ確実にこれをサポートし続けるだろう。このことは重要なことである。
一方、Appleは最近iOS 5がWebGLを介して3Dレンダリングを行うとアナウンスした。しかし Chris Marrin氏によると、iAd開発者に限られるだろうとのことだ。新しい技術を段階的に導入する彼らの伝統的なアプローチを考えれば、AppleはWebGLサポートを拡張して、iOSで公開APIにすることが期待される。