
# Bildungspräsentation zur Analyse von CVE-2021-21193, einer Use-after-Free-Schwachstelle in der Blink-Engine von Google Chrome, einschließlich Exploit-Details und Empfehlungen zur Schadensbegrenzung.
Einführung in das Hacken
Präsentationen von Schwachstellen-Fallstudien
März 2022
Mehrzad Khodashenas, Setareh Sheikholeslamzadeh
CVE-Wörterbuch-Eintrag:
CVE-2021-21193
NVD-Veröffentlichungsdatum:
16.03.2021
NVD zuletzt geändert:
03.12.2021
Quelle:
Chrome
| Attribut | Wert |
|---|
| Schweregrad | 7 |
| CVSS | (AV:N/AC:M/Au:N/C:P/I:P/A:P) |
| Veröffentlicht | 05.03.2021 |
| Erstellt | 06.03.2021 |
| Hinzugefügt | 05.03.2021 |
| Geändert | 09.04.2021 |
Use-after-free in Blink in Google Chrome vor 89.0.4389.90 erlaubte es einem entfernten Angreifer, über eine manipulierte HTML-Seite potenziell Heap-Korruption auszunutzen.
enter image description here
CVE, kurz für Common Vulnerabilities and Exposures, ist eine Liste öffentlich bekannt gemachter Computersicherheitslücken. Wenn jemand auf eine CVE verweist, meint er eine Sicherheitslücke, der eine CVE-ID-Nummer zugewiesen wurde. Sicherheitshinweise von Herstellern und Forschern erwähnen fast immer mindestens eine CVE-ID. CVEs helfen IT-Fachleuten, ihre Bemühungen zu koordinieren, um diese Schwachstellen zu priorisieren und zu beheben und Computersysteme sicherer zu machen. Quelle

Das Chrome-Team hat im März 2021 eine Ankündigung veröffentlicht, dass Sie, falls Sie Google Chrome auf einem Ihrer Geräte verwenden, es dringend sofort aktualisieren sollten. Es gibt häufige Google-Chrome-Updates, aber der jüngste Patch, Stable-Build 89.0.4389.90, behebt mehrere Schwachstellen, von denen drei einen hohen Schweregrad aufweisen und eine davon bereits von Cyberkriminellen und Hackern ausgenutzt wurde. Quelle Es handelte sich um eine der Schwachstellen mit hohem Schweregrad namens CVE-2021-21193. Es ist eine Schwachstelle in der Browser-Engine Blink von Google Chrome, der Hauptkomponente, die dafür verantwortlich ist, HTML-Code in die gut gestalteten Webseiten umzuwandeln, die Sie gewohnt sind zu durchsuchen. Dieses Problem wirkt sich auf bestimmte nicht identifizierte Verarbeitungen in der Blink-Komponente aus, und die Manipulation mit einer unbekannten Eingabe führt zu einer Speicherkorruptions-Schwachstelle. Diese Schwachstelle, die von Übeltätern ausgenutzt wurde, legt nahe, dass alle Benutzer auf Version 89.0.4389.90 aktualisieren müssen. Es handelt sich um eine Use-after-free-Schwachstelle, was bedeutet, dass Blink Probleme beim Freigeben von Speicher hatte. Quelle
Die Schwachstelle wurde am 05.03.2021 offengelegt. Für eine erfolgreiche Ausnutzung ist keine Form der Authentifizierung erforderlich, aber es wird verlangt, dass das Opfer eine Art von Benutzerinteraktion durchführt. Es gibt auch einen geschätzten Preis für einen Exploit von rund 5.000 bis 25.000 USD, berechnet am 28.03.2021. https://vuldb.com/?id.170687
Auch wenn dies trivial und alltäglich erscheint, sind die häufigsten Folgen einer Use-after-free-Schwachstelle Datenkorruption und die Ausführung beliebigen Codes, was laut der Beschreibung der National Vulnerability Database der CVE-2021-21193-Schwachstelle selbst einem „entfernten Angreifer ermöglichen kann, über eine manipulierte HTML-Seite potenziell Heap-Korruption auszunutzen“. Quelle
Use-After-Free (UAF) ist eine Schwachstelle, die mit der falschen Verwendung von dynamischem Speicher während des Programmablaufs zusammenhängt. Wenn ein Programm nach dem Freigeben einer Speicherstelle den Zeiger auf diesen Speicher nicht löscht, kann ein Angreifer den Fehler nutzen, um das Programm zu hacken.
UAF-Schwachstellen stammen aus dem Mechanismus der dynamischen Speicherzuweisung. Im Gegensatz zum Stack ist dynamischer Speicher (auch als Heap bekannt) dafür ausgelegt, große Datenmengen zu speichern. Programmierer können darin Blöcke beliebiger Größe zuweisen, die Aufgaben innerhalb eines Programms dann entweder ändern oder freigeben und an den Heap zurückgeben können, zur anschließenden Verwendung durch andere Aufgaben im selben Programm.
Programme müssen ständig überprüfen, welche Bereiche des Heaps frei und welche belegt sind, da dynamischer Speicher häufig neu zugewiesen wird. Header helfen dabei, indem sie auf zugewiesene Speicherbereiche verweisen. Die Startadresse des entsprechenden Blocks ist in jedem Header enthalten. UAF-Fehler entstehen, wenn Programme diese Header nicht ordnungsgemäß verwalten.
Zeiger in einem Programm beziehen sich auf Datensätze im dynamischen Speicher. Wenn ein Datensatz gelöscht oder in einen anderen Block verschoben wird, der Zeiger jedoch, anstatt gelöscht (auf null gesetzt) zu werden, weiterhin auf den nun freigegebenen Speicher verweist, ist das Ergebnis ein hängender Zeiger (dangling pointer). Wenn das Programm dann denselben Speicherblock einem anderen Objekt zuweist (z. B. Daten, die von einem Angreifer eingegeben wurden), verweist der hängende Zeiger nun auf diesen neuen Datensatz. Mit anderen Worten: UAF-Schwachstellen ermöglichen die Substitution von Code.
Ein Angreifer kann UAFs nutzen, um beliebigen Code oder einen Verweis darauf an ein Programm zu übergeben und mithilfe eines hängenden Zeigers zum Anfang des Codes zu navigieren. Auf diese Weise kann der Cyberkriminelle die Kontrolle über das System des Opfers erlangen, indem er bösartigen Code ausführt. Quelle
Ein anonymer Sicherheitsforscher meldete CVE-2021-211193 am 9. März, und Google veröffentlichte in nur drei Tagen einen Fix. Diese Eile könnte auf die Ausnutzung der Schwachstelle in der realen Welt zurückzuführen sein; Kriminelle haben die Schwachstelle bereits genutzt, und das ist Grund genug für alle, Google Chrome so schnell wie möglich zu patchen. Quelle
Google veröffentlicht normalerweise keine Informationen über Schwachstellen, bis sie gepatcht wurden, und die CVE-2021-21193-Schwachstelle wurde nicht mehr als drei Tage nach ihrer Meldung durch einen anonymen Sicherheitsforscher gepatcht, was höchstwahrscheinlich bedeutet, dass die Schwachstelle bereits in einer realen Situation ausgenutzt worden war. Eine gute Faustregel ist: Wenn ein großes Technologieunternehmen wie Google ein Sicherheitsproblem ernst nimmt, sollten wir das auch tun.
Aber es gibt hier noch eine weitere wichtige Erkenntnis: Diese Technologiegiganten und ihre Produkte sind nicht perfekt; wie wir alle sind auch sie Teil des ständigen Wettlaufs, Systeme und Tools für Endbenutzer wie Sie sicher zu halten. Es ist absolut entscheidend, Ihre Software mit den neuesten Updates ihrer Entwickler zu patchen, da die neuesten Updates diejenigen sind, die entwickelt wurden, um die Bedrohung durch sich schnell entwickelnde und fortschreitende Cyberbedrohungen zu minimieren. Quelle