Faktor Zeit
Das Google Projekt Zero macht so wie andere Sicherheitsforscher auch Schwachstellen erst dann publik, wenn die Hersteller es innerhalb einer Frist von 90 Tagen nicht schaffen, den Fehler zu beheben. Nun müsste man eigentlich denken, dass dem Konzern viel daran gelegen sein sollte, dass das eigene Team aus Sicherheitsforschern nicht ein Sicherheitsproblem an den Pranger stellt, das ChromeOS betrifft. Dennoch wurde die Behebung der Schwachstelle nicht priorisiert.Wo liegt die Schwachstelle?
Das Problem betrifft die Art und Weise, wie ChromeOS USB-Geräte behandelt, wenn das Gerät gesperrt ist. Im Wesentlichen verwendet ChromeOS USBGuard, um Erlaubnis- und Sperrlisten für USB-Geräte zu konfigurieren. Falsche Konfigurationen dieses Frameworks können jedoch dazu führen, dass nicht authentifizierte USB-Geräte auf den Kernel und den Speicher des PC zugreifen können.Wie der Google Projekt Zero-Sicherheitsforscher Jann Horn erläutert, verfügt USBGuard in ChromeOS über eine Blockliste, die USB-Geräte mit bestimmten Klassenschnittstellen-Deskriptoren auf einem gesperrten Bildschirm nicht authentifiziert. Nach dieser Validierung sind jedoch alle anderen Schnittstellen erlaubt. Das bedeutet, dass ein nicht authentifiziertes USB-Gerät auf dem Sperrbildschirm zwar korrekt blockiert wird, weitere angeschlossene Geräte jedoch nicht.
Kleine Änderung kommt
"Abgesehen von dem Problem, dass es eine große Angriffsfläche in Treibern für Geräte gibt, die nicht in diese USB-Schnittstellenklassen gehören, gibt es ein weiteres Problem mit diesem Ansatz", so Horn. "Dem Kernel ist es oft egal, welche USB-Klasse ein Gerät vorgibt zu sein. Die Art und Weise, wie USB-Treiber selbst bei standardisierten Protokollen arbeiten, besteht darin, dass der Treiber mit niedriger Priorität angibt, dass er sich an standardkonforme Geräte mit der richtigen USB-Schnittstellenklasse binden möchte, aber auch mit hoher Priorität angibt, dass er sich an bestimmte USB-Geräte auf der Grundlage der Hersteller- und Produkt-ID binden möchte, ohne sich um deren USB-Schnittstellenklasse zu kümmern."Dieses Problem wurde vom Projekt Zero als schwerwiegende Sicherheitslücke eingestuft und im Februar gemeldet. Nachdem das ChromeOS-Team die Schwachstelle bewertet hatte, stufte es sie jedoch als Schwachstelle mit geringem Schweregrad ein und erklärte am 1. März, dass es das Problem beheben werde, indem es die Zuordnung auf der Grundlage von Treibern und nicht auf der Grundlage von Klassenschnittstellen-Deskriptoren vornimmt. Es ist nun aber weiterhin unklar, wann ein Patch veröffentlicht wird.