MicrosoftEdgeテストJavaScriptJITコンパイラを無効にしてセキュリティを強化
Microsoftは、JavaScriptジャストインタイムコンパイラが無効になっているEdgeブラウザの特別なビルドを使用して実験とパフォーマンステストを実行しています。実験の目標は、これがセキュリティにどの程度の有益な効果をもたらすかを確認することです。
JITまたはジャストインタイムインタープリターは、ブラウザーがコードにアクセスするときにJavaScriptが動的に処理およびコンパイルされるモジュールです。 C ++やC#などの言語は、実行が可能になる前にコンパイラーによって最初に処理されますが、ジャストインタイムインタープリターは、名前が示すように、JavaScriptがリアルタイムで読み取られるときにJavaScriptを処理して最適化します。
Microsoftは、EdgeでJITコンパイラを無効にする実験に焦点を当てた「SuperDuperSecureMode」という名前の記事を公開しました。この変更のハイライトは、JITコンパイラーをオフにすると、ブラウザーがJITと互換性のないいくつかの保護テクノロジーを利用できるようになったということです。
これには、IntelのControl-Flow Enforcement Technology(CET)や、Microsoftの任意のコードガード(Windowsに存在する追加の緩和策)が含まれます。
MSEdgeの脆弱性調査を率いるJonathanNormalがまとめたMicrosoftの記事では、インタプリタが「信頼できないコンテンツ」を処理するため、これらのテクノロジはJITと互換性がないという事実を「不幸」と呼んでいます。可能な限りロックダウン」。
ZDNetの報告によると、Microsoftが行った内部テストでは、JITが無効になっている間、ユーザーは観察可能な速度低下にほとんど気付かないと主張していますが、外部ベンチマークテストではパフォーマンスが大幅に低下しました。
ページの読み込み時間も影響を受け、Microsoftは「約17%」の回帰を報告しましたが、ブラウザの起動時間はJITを無効にするとわずかに改善されました。
Super Duper Secureモードを自分でテストしたいユーザーは、Edgeブラウザーのベータ版を入手し、edge:// flags設定ページでモードをオンにする必要があります。
現在、WebAssemblyはSuper Duper Secureモードと互換性がなく、IntelのCETのみがオンになっていますが、モードがさらに開発され、微調整されるため、もちろん変更される可能性があります。