正式なリリースが近づいてきたWindows 10 Creators Updateでは、数多くの機能強化が図られている。中でも興味深いのが、Microsoft Edgeのサンドボックスだ。サンドボックスは保護領域でソフトウェアを実行し、システムに対する不正操作を防ぐセキュリティ技術だが、Microsoftの公式ブログによると大幅な改良が加わったという。

過去のInternet Explorerもリモートコード実行を抑止する機能は備えていた。IE 7は保護モード、IE 10及びIE 11は拡張保護モードを備え、Webブラウザー内のサンドボックス化を実現している。もっとも、拡張保護モードは従来のActiveXコントロールと互換性がないため、有用ながらも普及や認知に至らなかった。さらに述べれば、Windows 8から実装したWindowsストアアプリケーションモデルもOSとアプリケーションを分離したアプリケーションコンテナーであり、サンドボックス化の一種に数えていいだろう。

Microsoft EdgeはActiveXをサポートしていないため、Microsoft Edge拡張機能は当初からサンドボックス内で実行される。さらに、現行のWindows 10 Anniversary Updateからは、Adobe Flash PlayerもExtensions App Containerというサンドボックス内で実行するように仕様変更済みだ。そして、新たなMicrosoft Edgeでは多くの部分を分離することとなった。

Microsoft Edge内のサンドボックス機能

「Manager App Container」でURLバーやタブ、お気に入りリストといった部分を管理し、「Internet App Container」はWebサイトを表示する際の領域として活用する。Intranet App Containerはイントラネットコンテンツの領域だが、一般ユーザーの場合は無線LANルーターなど、ネットワークデバイスを設定するWebページにアクセスする際は避けて通れない。だが、サンドボックス内で実行することで、デバイスを攻撃者から保護することが可能になる。「Extensions App Container」「Flash App Container」は前述の通りだが、「Service UI App Container」は「about:flags」やMicrosoft Edge起動時に表示する特殊なWebページに用いられるという。

このようにMicrosoft Edgeは、通常のWebページを表示する際もサンドボックスを利用する新たな仕組みに移行する。攻撃者がWebサイトに悪意のあるコードを埋め込んでも、直接Intranet App Containerプロセスを制御するのは難しいだろう。さらにPCに保存されている個人情報を盗み出す場合は、サンドボックスから脱出しなければならず、攻撃者の負担は大きく増したことになる。

他方で各コンテナーの特権を削減したのも、新Microsoft Edgeが備える特徴の一つだ。各コンテナーはアクセス制御エントリーをもとにしているが、セキュリティ識別子がない場合はアクセスを拒否する。ここで使用するセキュリティ識別子の一つにワイルドカード的なアクセスを可能にする「ALL APPLICATION PACKAGES」を用いるという。Windows 8から導入されたセキュリティ識別子 (グループ) だが、グループへのアクセス許可を設定することで、当時はWindowsストアアプリ、Windows 10ではUWP (ユニバーサルWindowsプラットフォーム) アプリケーションがWinRT APIへアクセスしている。

「Program Files」フォルダーにも「ALL APPLICATION PACKAGES」に対して、アクセス許可が割り当てられている

だが、各コンテナーに同様の制限を設けると各リソースへのアクセスも遮断されるため、Webブラウザーの機能を限定してしまう。そこで、COM (コンポーネントオブジェクトモデル) を動作させるため機能や、特定のリソースへアクセスを許可する機能をMicrosoft Edgeに新たに加えた。UWP開発者から見れば異例の処置に見えるが、Microsoftは「Webブラウザーはもっとも脅威に晒されるソフトウェアのため、(変更する) 価値がある」と説明している。

この他にも、同時に一つのタスクしかクリティカルセクションに入ることを許さないミューテックスを用いることで、プロセスがリソースをつかんでハングアップしてしまう原因を取り除き、WinRT及びDCOM APIへのアクセスを90%削減。さらにイベント及びシンボリックリンクへのアクセスを70%、デバイスへのアクセスを40%削減した。

すでにWindows 10 Insider Previewでは、これらの機能を実装したMicrosoft Edgeが利用可能だが、正直なところ実装後の差に気付くような遅延はない。新Microsoft EdgeはEPUBリーダーやWindows Inkとの連携強化などが目立つものの、今後も重要になるセキュリティ対策も充分に強化されている。後は利用者が欲する機能が出そろえば、他のWebブラウザーからの移行先となりそうだ。

Windows 10 Insider Preview (左) とWindows 10 バージョン1607 (右) のMicrosoft Edge。<新着情報とヒント> から参照するWebページの内容が、インサイダー特有の機能を示すコンテンツに置き換わる

阿久津良和(Cactus)