28. Dezember 2009

26C3: Defending the Poor

Category: CCC,Hacking — Christian @ 21:37

FX, obwohl kein Flash-Programmierer berichtet (nein, ranted) über das Sicherheitsmodell von Flash. Wir wissen bereits von den Vorträgen von Fukami, dass das ein echtes Problem ist. Gerade mit den Erweiterungen in Flash 9 und später sind Sockets und damit viele neuen Angriffe gegen den Client möglich. Die Prinzipien wie Same Origin Policy sind im großen und ganzen bekannt. Ihre Schwächen von Dan Kaminsky aufgedeckt worden. Viele Sicherheitseinstellungen z.B. zu Flash LSOs können nur über eine Flash-Applikation auf der Webseite von Macromedia gemacht werden. Zusätzlich listet Securityfocus rund 40 Sicherheitslücken in Flash auf.

Angriffe gegen Flash:

  • DNS Rebinding (siehe Dan Kaminsky)
  • OS Enumeration (um targeted Exploits schreiben zu können)
  • Exploits
  • etc.

Malware

  • Redirector/Downloader
  • Binary Exploits
  • Web Attack Vehicle
  • z.B. SWF AdJack/Gnida
  • z.B. Downloader Trojans

Flash-Malware wird nebenbei extrem schlecht von Virenscannern erkannt. Da Flash meistens komprimiert wird, ist die Erkennung von unkomprimierten Dateien noch viel schlechter. Virustotal ist Zeuge. Aber das ist nichts neues.

Flash besteht aus zwei Virtual Machines, AVM1 (das Originalflash und für über 80% des Flash-Inhalts im Internet zuständig) und AVM2 (nach ECMA-262, für ActionScript3, fast wie Javascript). Theoretisch ist das recht clever, praktisch ist das ein echtes Problem. AVM1 wurde mit SWF3 eingeführt und mit SWF4 auf eine Turing-komplette Maschine erweitert. SWF5 hat dann Typen eingeführt. SWF9 hat die AVM2 eingeführt. Aktuell ist SWF10 und alles muss abwärtskompatibel sein! Flash kann Code an verschiedenen Stellen enthalten: DoAction, DoInitAction, DefineButton2 im ButtonRecord2 sowie zwei weitere Stellen. Viele Tools analysieren nur den Code in DoAction bzw. DoInitAction.

Nun gibt es ein neues Tool, den Blitzableiter, einen Flash File Parser in C# der auch auf Mono laufen soll. Und damit kommt auch die bei FX schon übliche Marketingveranstaltung seiner neuen Software. SWF Obfuscation ist nicht sehr sinnvoll. Die meisten Flash-Obfuscator erzeugen invaliden Code der von statischen Codeanalysetools nicht mehr akzeptiert wird. Insgesamt funktioniert Blitzableiter mit 82% der von Fukami bereitgestellten Flash-Programme, bläht den Code jedoch auf 224% auf. Ob das Programm wirklich nützlich ist, vermag ich nicht zu beurteilen.

Praktisch muss das Tool jedoch nicht nur Flash sondern auch diverse andere Formate parsen können. Damit läuft FX meiner Meinung nach in die Falle der meisten Virenscanner, dass Parser für diverse Fileformate extrem Komplex sind, die dann wieder Exploits nach sich ziehen. Außerdem werden diverse Virenscannerhersteller schnell nachziehen können und ebenfalls Flash-Analysetools in ihre Scanner integrieren wenn da ein Markt vorhanden ist.

1 Kommentar

  1. Kommentare gesperrt wegen Spam

    Comment by Christian — 20. Februar 2010 @ 18:19

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.