26C3: Schutz gegen Flash-SicherheitslĂĽcken
Felix "FX" Lindner von der Hackergruppe Phenoelit hat einen "Blitzableiter" vorgestellt, der Flash-Dateien vorab überprüft und von möglichem Unrat reinigt.
Felix "FX" Lindner von Recurity Labs hat auf dem 26. Chaos Communication Congress (26C3) sein Projekt "Blitzableiter" vorgestellt. Es analysiert und bereinigt Flash-Code vor dem Abspielen und soll so unter anderem das Ausnutzen von SicherheitslĂĽcken in Adobe Flash verhindern. Flash ist eines der meist genutzten Einfallstore, um PCs beim Besuch von Web-Seiten zu kompromittieren.
Um das Ausnutzen der immer wieder auftauchenden Sicherheitslücken in Adobes Software zu verhindern, überprüft Blitzableiter SWF-Dateien auf Korrektheit. Der möglicherweise eingebettete Code in Form von ActionScript wird aufgespürt, analysiert und bereinigt. Aber auch eingebettete Objekte wie etwa JPEG-Bilder soll der Wrapper auf Einhaltung der Spezifikation validieren können.
Viele Flash-Schädlinge benutzen das Multimedia-Format jedoch innerhalb der Spezifikation, um etwa Clicks auf Anzeigen vorzutäuschen oder den Anwender auf Seiten umzuleiten, die ihn zur Installation von angeblichen Virenscannern – so genannter Scareware – verleiten sollen. Um das zu verhindern, leitet der Wrapper bestimmte, sicherheitsrelevante Funktionsaufrufe wie ActionGetURL2 zum Öffnen von Web-Seiten auf eigenen Code um, damit dieser unter anderem die Einhaltung der Same-Origin-Policy überwachen kann. So sei es beispielsweise möglich, auch sogenannte CSRF-Angriffe abzufangen, bei denen ein Flash-Filmchen zum Beispiel heimlich den Router umkonfiguriert.
Dass der Blitzableiter seine Aufgabe erfüllt, hat der Sicherheitsexperte mit 20 funktional verschiedenen, echten Exploits getestet. Keiner davon schlüpfte durch die Maschen. Ein Problem des Konzepts ist allerdings, dass unter Umständen legitime Flash-Dateien nicht mehr funktionieren; der Gegentest verlief denn auch weniger erfolgreich. Ein Test an einem Set von 95.000 SWF-Dateien ergab, dass 92 Prozent die Formatprüfung und nur 82 Prozent den gesamten Vorgang zur Fehlerbehebung überstanden. Große Flash-Portale wie YouTube oder YouPorn seien allerdings ohne Einschränkungen weiter lauffähig.
Probleme bereiten vor allem Flash-Dateien, die versuchen, den enthaltenen Code zu verschleiern. Da dies ohnehin unsinnig sei und vor allem von Schadsoftware genutzt werde, blockiere man derartige Verfahren, erläuterte FX. Außerdem unterstützt Blitzableiter derzeit nur die standardmäßig verwendete virtuelle Umgebung AVM1; Code für die später eingeführte AVM2 blockiert Biltzableiter derzeit noch. Aber AVM2 werde selbst von den Entwicklungswerkzeugen nicht richtig unterstützt und habe schon deshalb noch keine sonderlich hohe Verbreitung gefunden.
Weitere potentielle Probleme sind die Codegröße und Performance. Derzeit wachse der Code durch die Normalisierung noch auf rund 220 Prozent der ursprünglichen Größe an, was sich aber noch optimieren lasse. Die durch die Überprüfung verursachte Verzögerung läge in der Größenordnung von etwa einer Sekunde – gemessen auf einem recht aktuellen System. Auf seinem alten Notebook hätte er derzeit wohl wenig Freude mit dem Wrapper, räumte FX ein.
Vollendet ist das Projekt noch nicht. Offene Punkte sind unter anderem die Überprüfung eingebetteter Multimedia-Objekte und die Unterstützung von AVM2. Derzeit steht der Quellcode einiger Bibliotheken in C# für .Net beziehungsweise Mono unter einer freien Lizenz zum Download bereit. Der Open-Source-Ansatz sei wichtig, um die Verteidigungsverfahren ihrerseits gut überprüfbar zu machen und ihren Einbau in Applikationen wie Firefox oder den Proxy-Server Squid zu erlauben, erläuterte FX. (as)