Googleの「Project Zero」の研究者であるIvan Fratric氏が報告書を公開し、「Microsoft Edge」に適用されたセキュリティ機能「Arbitrary Code Guard」(ACG)の脆弱性に関する同チームの研究結果を詳しく説明した。
エクスプロイト緩和機能であるACGは、現在Edgeのみで利用できる。この機能の狙いは、高度な技術を持つ攻撃者が同ブラウザ内のコンテンツプロセスのセキュリティを突破した場合に、メモリ内で悪意あるコードを実行するのを防ぐことだ。
Fratric氏は2月、EdgeのACGを迂回できる問題をMicrosoftが修正する前に、この問題の詳細を発表していた。Project Zeroは最初の報告から90日が経過すると公表するというルールを設けており、Microsoftがこの期限を過ぎてしまったからだ。
この迂回手法は、EdgeのJavaScriptコンパイラ「Just in Time」(JIT)をACGを有効化した状態で機能させるために開発されたカスタマイズのセキュリティ機能を弱めるものだ。これを受けて、Microsoftはそのカスタマイズを改善した。
問題を解決するために、MicrosoftはEdgeのJITエンジンをブラウザのコンテンツプロセスとは別の、サンドボックス化した独自のプロセス内に置く必要があった。
この防御策は、高度な技術を持つ攻撃者がEdgeのサンドボックスから逃れるのを阻止するとされる。しかし、ACGはおおむねそのタスクを遂行できるものの、ACGと「Code Integrity Guard」(CIG)と呼ばれる別の緩和機能は、「Control Flow Guard」(CFG)と呼ばれるWindows 10の別のエクスプロイト緩和機能によって効力が弱まることにFratric氏は気づいた。
ACGが全ての攻撃をブロックするためには、ACGとCIG、CFGの全てで迂回を阻止する必要がある、とFratric氏は主張する。だが、CFGで迂回を阻止することは難しい。同氏によると、一部の攻撃シナリオでは、「Google Chrome」のサイト隔離機能の方が、ACGを有効化したEdgeよりも迂回が困難だという。
GoogleのChrome開発者はサイト隔離機能(各サイトをそれぞれサンドボックス化されたプロセス内で実行する)を、エクスプロイト緩和に関するEdgeとChromeの重要な違いだと考えている。サイト隔離機能の問題は、メモリ使用量が10%~20%増えることだ。
それでも、全体的に見れば、EdgeでACGを利用可能にしたMicrosoftのカスタマイズには本質的な不具合がある、とFratric氏は考えている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」