手抜きOS Windows 10 Part168 / Windows 10 version 1903 がWebブラウザのセキュリティ機能を無効にすることが判明

Webブラウザーは非常に強力になりましたが、決まり文句になっているように、その力には責任も伴います。Chromeのような主要なブラウザは、多くの場合、サンドボックス方式を使用し、風変わりなWebページがシステムに悪影響を与えないようにします。ただし、これらのサンドボックス化手法は、最終的にはオペレーティングシステムの機能に依存し、残念ながらWindows 10でChromiumのサンドボックス化に依存するものについては、Microsoftは、たった1行のコードの変更でChromeを含むほとんどすべての主要なWebブラウザーのサンドボックスを無効にしました。

Windows 10 version 1903で様々な Web Browserがセキュリティ機能として使ってる Sandbox機能が無効になってしまう変更が加えられていたことが、研究者の発表で判明しました。

サンドボックスの背後にある基本的な原則は、プロセス、この場合はブラウザのWebページを処理する部分が、重要なシステムリソースにできるだけアクセスできないようにすることです。
これはOSの機能に依存しています。Windows10の場合、Windows 2000で導入された制限付きトークンを中心に展開されます。

 残念ながら、GoogleのProject Zeroバグハンティングの取り組みのセキュリティ研究者は、2019年5月のWindows 10アップデートで、これらのトークンの処理方法を変更した1行のコードに1つの変更を見つけました。
研究者のJames Forshawは、いくつかの方法を試して、Windows 10でChromiumサンドボックスをどのように破壊できるかを証明することができました。 このバグの影響を受けるのはGoogleのChromeだけだと思われるかもしれませんが、実際にはWindowsで実行されている一般的なほとんどすべてのブラウザーが影響を受けています。

それは、Google Chrome、Opera、Brave、MicrosoftのEdgeなど、それらの多くが実際にChromiumを使用しているためです。皮肉なことに、Mozilla Firefoxも少なくともWindows ではChromiumのサンドボックスを使用しているため、影響を受けます。

マイクロソフトは、この開示に関してまだ何も述べていません。少し良いニュースは、バグが他のOSレベルの脆弱性なしで悪用するのはそれほど簡単ではないということです。しかし、Googleのセキュリティリサーチャーは、そのレベルでのこのような小さな変更が、以前は安全であった多くのシステムをいかに失墜する可能性があるかを指摘しています。

どうしてこうなったかは謎ですが、マイクロソフトさんらしいバグですね( ˘ω˘ )

追記
技術的な詳細はProject Zeroに掲載されていますが、以下のトークン割り当てコードが関係しているそうです。

NewToken->ParentTokenId = OldToken->TokenId;

これが次のように変更されました。

NewToken->ParentTokenId = OldToken->ParentTokenId;

Microsoftはこの脆弱性CVE-2020-0981について、「Windowsがトークンの関係を適切に処理しない場合に、セキュリティ機能のバイパスの脆弱性が存在する」と説明しています。「攻撃者がこの脆弱性を悪用した場合、特定の整合性レベルのアプリケーションが別の整合性レベルでコードを実行し、サンドボックスエスケープを引き起こす可能性がある」とのことです。

幸いこの脆弱性は月例更新プログラムKB4549951で修整されましたが、更新プログラムによって引き起こされるさまざまな不具合が存在するとの指摘が行われ、調査が進められている状態です

今月のアップデートで修正されたそうです。

おすすめ

2件のフィードバック

  1. m_m より:

    引用ですが、「2020年5月」と来月の話になっていて、何を取り違えたんだか・・・
    なお、大元のProject Zeroでは、1903で発生させて、2020年4月の更新で修正された、って書かれてます

  2. 黒翼猫 より:

    >>1
    情報ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です