{"id":1042,"date":"2009-12-28T21:37:39","date_gmt":"2009-12-28T20:37:39","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/1042-26c3-defending-the-poor"},"modified":"2018-05-29T22:31:51","modified_gmt":"2018-05-29T21:31:51","slug":"26c3-defending-the-poor","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/1042-26c3-defending-the-poor","title":{"rendered":"26C3: Defending the Poor"},"content":{"rendered":"<p>FX, obwohl kein Flash-Programmierer berichtet (nein, ranted) \u00fcber das Sicherheitsmodell von Flash. Wir wissen bereits von den Vortr\u00e4gen von Fukami, dass das ein echtes Problem ist. Gerade mit den Erweiterungen in Flash 9 und sp\u00e4ter sind Sockets und damit viele neuen Angriffe gegen den Client m\u00f6glich. Die Prinzipien wie Same Origin Policy sind im gro\u00dfen und ganzen bekannt. Ihre Schw\u00e4chen von Dan Kaminsky aufgedeckt worden. Viele Sicherheitseinstellungen z.B. zu Flash LSOs k\u00f6nnen nur \u00fcber eine Flash-Applikation auf der Webseite von Macromedia gemacht werden. Zus\u00e4tzlich listet Securityfocus rund 40 Sicherheitsl\u00fccken in Flash auf.<\/p>\n<p>Angriffe gegen Flash:<\/p>\n<ul>\n<li>DNS Rebinding (siehe Dan Kaminsky)<\/li>\n<li>OS Enumeration (um targeted Exploits schreiben zu k\u00f6nnen)<\/li>\n<li>Exploits<\/li>\n<li>etc.<\/li>\n<\/ul>\n<p>Malware<\/p>\n<ul>\n<li>Redirector\/Downloader<\/li>\n<li>Binary Exploits<\/li>\n<li>Web Attack Vehicle<\/li>\n<li>z.B. SWF AdJack\/Gnida<\/li>\n<li>z.B. Downloader Trojans<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>Flash besteht aus zwei Virtual Machines, AVM1 (das Originalflash und f\u00fcr \u00fcber 80% des Flash-Inhalts im Internet zust\u00e4ndig) und AVM2 (nach ECMA-262, f\u00fcr ActionScript3, fast wie Javascript). Theoretisch ist das recht clever, praktisch ist das ein echtes Problem. AVM1 wurde mit SWF3 eingef\u00fchrt und mit SWF4 auf eine Turing-komplette Maschine erweitert. SWF5 hat dann Typen eingef\u00fchrt. SWF9 hat die AVM2 eingef\u00fchrt. Aktuell ist SWF10 und alles muss abw\u00e4rtskompatibel 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.<\/p>\n<p>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 \u00fcbliche 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\u00e4ht den Code jedoch auf 224% auf. Ob das Programm wirklich n\u00fctzlich ist, vermag ich nicht zu beurteilen.<\/p>\n<p>Praktisch muss das Tool jedoch nicht nur Flash sondern auch diverse andere Formate parsen k\u00f6nnen. Damit l\u00e4uft FX meiner Meinung nach in die Falle der meisten Virenscanner, dass Parser f\u00fcr diverse Fileformate extrem Komplex sind, die dann wieder Exploits nach sich ziehen. Au\u00dferdem werden diverse Virenscannerhersteller schnell nachziehen k\u00f6nnen und ebenfalls Flash-Analysetools in ihre Scanner integrieren wenn da ein Markt vorhanden ist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FX, obwohl kein Flash-Programmierer berichtet (nein, ranted) \u00fcber das Sicherheitsmodell von Flash. Wir wissen bereits von den Vortr\u00e4gen von Fukami, dass das ein echtes Problem ist. Gerade mit den Erweiterungen in Flash 9 und sp\u00e4ter sind Sockets und damit viele neuen Angriffe gegen den Client m\u00f6glich. Die Prinzipien wie Same Origin Policy sind im gro\u00dfen [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,8],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/1042"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=1042"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/1042\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=1042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=1042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=1042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}