Original-URL des Artikels: https://www.golem.de/news/browser-fuzzing-150-speicherzugriffsfehler-im-internet-explorer-1410-109918.html    Veröffentlicht: 17.10.2014 16:23    Kurz-URL: https://glm.io/109918

Browser-Fuzzing

150 Speicherzugriffsfehler im Internet Explorer

Chinesischen Forschern ist es gelungen, mit einer relativ simplen Methode zahlreiche Use-after-Free-Fehler im Internet Explorer zu finden. Einem der Forscher wurde die Einreise in die EU zur Black-Hat-Konferenz verwehrt.

Auf der Black Hat Europe stellte der chinesische Sicherheitsforscher Royce Lu eine Methode vor, mit der er und sein Kollege Bo Qu eine ganze Reihe von sicherheitskritischen Fehlern im Internet Explorer von Microsoft entdeckt haben. Grundlage ist ein Fuzzing-Tool mit einer Strategie, die sie PAIRS getauft haben. Eigentlich wollten die beiden den Vortrag gemeinsam halten, Bo Qu hatte aber kein Visum für die Einreise in die EU erhalten.

Etwas auseinandernehmen und wieder zusammensetzen

Lu beschrieb mittels einer Analogie, wie sie auf die Idee für ihr Fuzzing-Tool kamen: Bo Qu hatte versucht, das iPhone seiner Frau zu reparieren, weil das Display defekt war. Das Ganze endete damit, dass er vergaß, die Kamera wieder einzubauen, zwei Schrauben verloren hatte und das Gerät überhaupt nicht mehr funktionierte. Die Schlussfolgerung: Ingenieure sind manchmal schlecht darin, Dinge auseinanderzunehmen und wieder zusammenzubauen.

Ähnlich sah nun auch die Fuzzing-Strategie von PAIRS aus. Gesucht wurden gegensätzliche Browserfunktionen, also Befehle, die eine Aktion zuerst in eine Richtung und anschließend in eine andere Richtung durchführen. Beispiele sind etwa die CSS-Eigenschaften visible/hidden oder die Indent/Outdent-Kommandos in Javascript. Zwischen solchen Paaren von Kommandos wurden zufällige Befehle eingefügt, und die Gesamtstruktur des Testdokuments wurde möglichst ähnlich wie frühere Exploits für Browser-Bugs gestaltet.

Mit diesen Beispieldokumenten wurde der Internet Explorer getestet und Abstürze gesammelt. Die Tests liefen in virtuellen Maschinen ab, dabei liefen 20 virtuelle Systeme parallel.

150 vermutlich sicherheitskritische Fehler

Royce Lu sagte, dass sie zu Beginn hofften, im günstigsten Fall damit etwa ein Dutzend Fehler im Browser zu finden. Letztendlich fanden sie aber deutlich mehr. Das Fuzzing-Tool erzeugte circa 400 Abstürze des Internet Explorers, darunter befanden sich circa 150 vermutlich ausnutzbare Sicherheitslücken. Bislang wurden 106 der Fehler an Microsoft gesendet, einige davon wurden als Duplikate oder als unkritisch zurückgewiesen. Ganz überwiegend handelte es sich um sogenannte Use-after-Free-Fehler im Speichermanagement. 71 der Fehler haben inzwischen CVE-IDs erhalten.

Einige der Use-after-Free-Lücken werden durch Schutzmechanismen im Speichermanagement des Internet Explorers abgefangen, aber Lu argumentierte, dass man sie in jedem Fall beheben sollte. Es sei gut vorstellbar, dass zukünftige Angriffsmethoden die Schutzmechanismen umgehen können und damit solche Fehler wieder kritisch werden.

Chrome und Safari nächste Ziele

Bisher wurde das Tool nur mit dem Internet Explorer getestet, die beiden Forscher planen jedoch, demnächst auch Chrome und Safari damit unter die Lupe zu nehmen. Auch für PDF-Viewer und Flash könnte man Methoden aus PAIRS einsetzen, da dort ebenfalls JavaScript-Code eingebettet werden kann. Veröffentlicht werden soll PAIRS nicht, Lu sagte aber, dass er andere Personen dazu motivieren möchte, ähnliche Strategien selbst zu implementieren.  (hab)


Verwandte Artikel:
Fuzzing: Google zerlegt USB-Stack des Linux-Kernels   
(08.11.2017, https://glm.io/131033 )
Spectre und Meltdown: Browserhersteller patchen gegen Sidechannel-Angriff   
(05.01.2018, https://glm.io/131972 )
Optionsbleed: Apache-Webserver blutet   
(18.09.2017, https://glm.io/130105 )
ROBOT-Angriff: Arbeitsagentur nutzt uralte Cisco-Geräte   
(09.03.2018, https://glm.io/133258 )
LLVM 6.0: Clang bekommt Maßnahme gegen Spectre-Angriff   
(09.03.2018, https://glm.io/133241 )

© 1997–2019 Golem.de, https://www.golem.de/