Project Zeroは、さまざまな製品のセキュリティ上の欠陥を見つけて、関連するベンダーに非公開で報告する責任があるGoogleチームです。問題が公開される前に、問題を修正するための90日間の期限があります。場合によっては、14日間の猶予期間が提供されることもあります。
Google Project Zeroは、以前にGoogle自身の製品だけでなく、Windows、iPhone、Qualcomm Adreno GPU、GitHubなどの他の企業の製品の主要な問題を報告しています。現在、彼は、関連するチームが割り当てられた90日以内に修正に失敗した後、ChromeOSのバグを公に報告しました。
手元にある問題は、デバイスがロックされているときにChromeOSがUSBデバイスをどのように処理するかについてです。基本的に、Chrome OSはUSBGuardを使用して、USBデバイスの許可リストとブロックリストを設定します。ただし、このプラットフォームの設定が正しくないと、認証されていないUSBデバイスがPCのカーネルとストレージにアクセスできなくなる可能性があります。
Google ProjectZeroのセキュリティ研究者であるJannHornが説明しているように、Chrome OSのUSBGuardには、ロック画面上の特定のクラスインターフェイス記述子でUSBデバイスを認証しないブラックリストがあります。ただし、このチェックの後、他のすべてのインターフェイスが許可されます。
つまり、認証されていないUSBデバイスはロック画面で適切にロックされますが、他のデバイスは大容量記憶装置をエミュレートし、攻撃者のカーネルを変更してUSBデバイスとして表示されないようにし、認証される可能性があります。これは、USBクラスがカーネルとは無関係であるため、一見認証されたデバイスからの変更も可能にするためです。ホーンは次のように述べています。
これらのUSBインターフェイスクラスに属していないデバイスのドライバーには多数の攻撃対象領域があるという問題に加えて、このアプローチには別の問題があります。カーネルは、デバイスが主張するUSBクラスを気にしないことがよくあります。することが。USBドライバーは通常、標準化されたプロトコルでも機能します。ドライバーは、適切なUSBインターフェイスクラスを使用して標準に準拠したデバイスにバインドすることを低い優先度で示しますが、ベースの特定のUSBデバイスにバインドすることを高い優先度で示します。 USBインターフェイスクラスを気にせずにベンダーIDと製品IDを確認します。
[…]適切なハードウェアを備えたLinuxマシンを使用する場合(私はNET2380開発ボードを使用していますが、ロック解除されたPixelスマートフォンやRaspberry Pi Zero Wなどでもこれを実行できます)、USBMassをエミュレートします(this)を使用するストレージデバイス、および攻撃者のカーネルの1行を修正して、ストレージデバイスではなくビルボードになりすます。
この問題は重大度の高い脆弱性としてフラグが立てられ、2月24日にChromeOSチームに非公開で報告されました。クラスインターフェイス記述子ではなく、ドライバに基づいています。5月11日、Chrome OSチームは進捗状況の更新を提供しましたが、割り当てられた90日間でバグを修正できなかったため、この問題は5月24日に公開されました。
修正がいつリリースされるかは不明ですが、これはローカルの脆弱性であり、攻撃者がデバイスとそのカーネルを危険にさらすためにUSBドライブを手動で挿入する必要があることに注意することが重要です。リモートで使用することはできませんが、Chrome OSコンピュータをロックしたままにしておくと、他のエクスプロイトの攻撃ベクトルとして機能します。
コメントを残す