Webseite aufgerufen, Linux gehackt
Linux-Nutzer können sich durch das bloße Aufrufen einer Webseite Schadcode einfangen. Die Ursache ist eine Kombination eigentlich harmloser Ereignisse – und eine Zero-Day-Lücke. Betroffen ist vor allem Fedora Workstation.
![Lücke Chrome Fedora Gstreamer (Arbeitstitel)](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/0/3/6/0/1/1/a855a4d42504e65683bcb793e5025848_edited_120845065_07d994fc76-5de21b2b6001414e.jpeg)
(Bild: FreeImages.com/Mayumi Ueno)
- Ronald Eikenberg
Durch ein fatales Zusammenspiel mehrerer Komponenten können Angreifer offenbar leicht Schadcode in Fedora-Linux einschleusen. Das Opfer in spe muss lediglich eine verseuchte Webseite aufrufen, um sich einen Schädling einzufangen. Dafür ist unter anderem eine bisher ungepatchte Schwachstelle verantwortlich. Entdeckt hat das Problem der bei Tesla angestellte Sicherheits-Experte Chris Evans.
Die eigentliche Schwachstelle ist recht unspektakulär: Es handelt sich um einen Integer-Überlauf in dem Medien-Framework gstreamer; genauer gesagt im vmnc-Decorder, mit dem man Bildschirmaufzeichnungen der Virtualisierungs-Software VMware abspielen kann. Der Angreifer erstellt eine entsprechend manipulierte Mediendatei, die den Überlauf provoziert und Schadcode auszuführen versucht.
Ein fatales Gespann
Besonders fatal ist an dem von Evans beschriebenen Angriff, dass das potenzielle Opfer diese Datei nicht ausführen muss – sofern einige Rahmenbedingungen erfüllt sind. Das Opfer muss mit der Linux-Distribution Fedora arbeiten und Googles Chrome-Browser nachinstalliert haben.
Die Webseite des Angreifers initiiert den Download der explosiven Mediendatei, woraufhin Chrome diese ohne Rückfrage auf dem System des Nutzers speichert. Anschließend macht sich die Tracker genannte Datei-Indexierung von Fedora automatisch über den Neuankömmling her, um sie in die eigene Datenbank aufzunehmen. Dabei wird die Datei mit gstreamer verarbeitet, der wiederum auf den verwundbaren vmnc-Decorder zurückgreift – der Exploit-Code wird gezündet.
Evans hat eine Proof-of-Concept-Datei veröffentlicht, die Tracker zum Absturz bringt. Ein PoC, der Code durch die Lücke zur Ausführung bringt, gibt es bisher nicht. Laut Evans Schilderungen ist es zwar nicht trivial, aber potenziell durchaus möglich, einen explosiven PoC zu entwickeln. Eine der Herausforderung ist hierbei die Speicherverwürfelung (Address Layout Randomization, ASLR) moderner 64-bit-Betriebssysteme wie Fedora.
Bad Plug-ins
Evans kritisiert unter anderem, dass der Tracker-Prozess, der routinemäßig mit Dateien aus nicht vertrauenswürdigen Quellen in Kontakt kommt, nicht durch Sandboxing oder eine Zugriffskontrolle wie SELinux geschützt ist. Zudem bringe das Desktop-Fedora (Fedora Workstation) eine Reihe obskurer Medien-Decoder mit. Der löchrige vmnc-Decorder ist gar Teil der Kollektion GStreamer Bad Plug-ins, die Plug-ins enthält, die nicht den üblichen Qualitätsansprüchen der Entwickler entsprechen – etwa, weil sie schlecht dokumentiert sind oder nicht mehr weiterentwickelt werden. Grundsätzlich lässt sich auch jede andere Lücke in jedem anderen Gstreamer-Decoder auf die oben beschriebene Weise ausnutzen.
Auch Ubuntu ist ein bisschen betroffen
Der Sicherheitsforscher hat den Angriff mit Fedora 24 untersucht. Grundsätzlich sind aber auch andere Versionen und Distributionen angreifbar, wenn sie eine verwundbare gstreamer-Version einsetzen. Laut Evans ist etwa auch Ubuntu 16.04 anfällig, sofern man beim Setup die Option "Software von Drittanbietern installieren" aktiviert hat. Gleiches gilt, wenn man auf andere Weise gstreamer und die "bad Plug-ins" nachinstalliert hat. Ubuntu ist allerdings weniger leicht angreifbar, weil es die durch Chrome heruntergeladenen Dateien nicht automatisch indexiert. Der Exploit wird erst ausgeführt, wenn der Nutzer die Datei öffnet oder ein Datei-Explorer wie Nautilus versucht, eine Miniaturansicht zu generieren.
Schutzmaßnahmen
Vor dem weitgehend automatisch ablaufenden Angriff über Chrome kann man sich schützen, indem man den Google-Browser anweist, vor Downloads zunächst Rücksprache zu halten. Die entsprechende Einstellung heißt "Vor dem Download von Dateien nach dem Speicherort fragen", man findet sie in den Chrome-Einstellungen (chrome://settings) unter "Erweiterte Einstellungen anzeigen", "Downloads".
Ferner kann man Tracker daran hindern, den Download-Ordner von Chrome zu indexieren. Laut Evans könnte das mit dem Tool tracker-preferences klappen, das man nachinstallieren muss. Auch die Deinstallation von Tracker ist einer der Wege, die Evans beschreibt. Ausführliche getestet hat er diese beiden Lösungswege aber offenbar nicht.
Linux-Sicherheit verrottet?
Evans schließt seinen Bericht mit harten Worten: "Das war viel zu einfach. Es sollte nicht möglich sein, in ein paar Minuten einen ernstzunehmenden Speicherfehler in einer standardmäßigen Linux-Konfiguration zu finden. Auch wenn es mir schwer fällt, das zu sagen, aber das ist nicht die Art von Situation, die man bei einer Standardinstallation von Windows 10 vorfindet. Kann es sein, dass die Sicherheit von Linux auf Desktops verrottet ist?" (rei)