米Microsoftは2021年8月4日(現地時間)、「Super Duper Secure Mode(超セキュアモード。以下、SDSM)」をCanary版Microsoft Edgeへ実装したことを発表した。
WebブラウザーのMicrosoft Edgeは、JavaScriptコードをコンパイルして実行速度を向上するJIT(Just-In-Time Compilation)を備えており、MicrosoftはJavaScriptの性能をC++と同等とした利点を評価。しかし一方で、V8(JIT型JavaScriptエンジン)に対して発行されたCVE(脆弱性情報データベース)の約45%が、JITエンジンに関連するセキュリティリスクを抱えているとも言及している。その上でMicrosoftは、上記の公式ブログで「JITにそれだけの価値があるか」と指摘した。
高速化は正義だが、Webブラウザーは個人情報を入力し、ECサイトではクレジットカード情報も送信する。高速化よりも高いセキュリティレベルが求められているのが現状だ。Microsoftは「ラボでJITを無効にした結果を確認した。ほとんどのテストでは、JITを無効した変化は見当たらない。ただしテストにはSpeedometer 2.0を含んでいない。JITを無効にすると、JavaScriptベンチマークでスコアが大幅に低下し、我々のテストでは58%もの低下を示した」(要約)と述べている。
筆者もSDSM有効時の性能変化に関心があるので、あえてSpeedometer 2.0でベンチマークを行ってみた。使用したMicrosoft Edgeのバージョンは本稿執筆時の最新版であるバージョン94.0.987.0だ。
以下の数字は、既定の状態(JIT有効)とSDSMを有効にした状態(JIT無効)で、ベンチマークを3回実行した結果の平均値。既定の状態は約80ポイントをマークしたが、SDSMを有効にすると約60ポイントまで低下した。Microsoftの説明によれば、前述の操作を行うことでJITコンパイラーの無効化に加えて、ACG(Arbitrary Code Guard)やCET(Controlflow Enforcement Technology)といったセキュリティ緩和策も有効になるという。
- SDSM無効(既定の状態、JIT有効):79.33
- SDSM有効(JIT無効):60.93
重要なのは実際のWebサイトに対する影響だ。JavaScriptベースのゲームやOSエミュレーターなら話は異なると思うが、一般的なWebサイトで性能や応答が変化したようには感じられない。このあたりは体感ベースなので何とも言えないが、昔からトレードオフの関係にある性能とセキュリティ、どちらを選ぶべきかは明らかだろう。
SDSMは現在Canary版Microsoft Edgeで検証中の機能であり、安定版Microsoft Edgeへ展開されるかも不明だ。ただ、ユーザーが納得した上で性能を犠牲にして、セキュリティレベルを高める選択肢はぜひ提供してほしい。