27c3: Tag 1

Day0
Foto (cc) anders_hh

Verpeilung seitens der Bahn (Schnee) und meinerseits (müde) bin ich etwas spät im BCC angekommen und habe nur die Hälfte der Keynote von Rop mitbekommen.

Das Anzug-Anziehen hat sich gelohnt, gleich nach der Keynote wurde Nick auf die Bühne geholt, er war tatsächlich stilecht als Hacker gekleidet: Kapuzenpulli, Cargohosen, Turnschuhe… als Krönung gab es noch eine „goldene Uhr“, die sich als Mega-Bandwidth-Meter herausstellte („Porn“). Hier der Videobeweis (leider ohne Ton):

Nick hat sich gerächt und in den Pausen zwischen den Vorträgen die anderen Anzugträger #0daysuits ermahnt, wie man einen Anzug korrekt trägt: „Keine Krawatte? FAIL!“, „hey, den untersten Knopf lässt man offen…“.

Ich habe mich zunächst in den Vortrag von Branko Spasojevic gesetzt und mir etwas über „code deobfuscation by optimization“ angehört. Der Ansatz ist, verschleierten Code durch Optimierung wieder lesbar zu machen und so Malware leichter auf die Spur zu kommen. Branko hat ein Plugin für IDA veröffentlicht, das die Arbeit wesentlich erleichtert, in dem durch feste bzw. fälschlich konditionale Sprünge verteilte Codeblöcke zusammengefügt werden man so Funktionen wieder rekonstruieren kann. Allerdings habe ich zum letzten Mal im Studium Assembler programmiert (dazu noch auf Microcontrollern und nicht x86), so dass ich bei einigen Folien nur verwirrt lächeln konnte.

Darauf brauchte ich erstmal etwas leicht verdauliches und habe mir Alvar Freudes Zensursula-Rückblick angeschaut. Er hat das schwierige politische Thema echt unterhaltsam rübergebracht und daran erinnert, wie wichtig es ist, dass Nerds auf politscher Ebene mitwirken.

In der Pause habe ich mich mit S. unterhalten, der an sehr interessanten Sachen arbeitet und unter anderem einen TCP Port-Scanner geschrieben hat. Das besondere ist, dass der Scanner single threaded ist und dank einer kniffligen State-Machine 10.000 SSH-Handshakes pro Sekunde ausführen kann. Damit kann man dann tatsächlich „das Internet“ scannen, was aber in der Praxis schwieriger ist, als man denken sollte. Es gibt keinen Provider der solche Aktionen genehmigt, weil bei dieser großen Anzahl von Verbindungen Netzwerküberwachungsmechanismen Alarm schlagen. Das kann so weit führen, dass plötzlich das Routing zum Provider wegen bösartigem Traffic eingestellt wird, das will natürlich kein kommerzieller Provider. Bei einem normalen Portscan mit nmap ist das natürlich nicht der Fall.

Ein ganz netter Nebeneffekt von großen Portscans auf SSH ist, dass man Hosts anhand der Schlüssel wiedererkennen und nachverfolgen kann. Selbst wenn ein Host in ein anderes Rechenzentrum umzieht, kann man ihn wiederfinden. Oder man findet hosts hinter gateways wieder, d.h. der gleiche Key ist auf mehreren IPs zu finden. Oder man identifiziert Notebooks auf einer großen Hackerkonferenz, die per DHCP eine Adresse bekommen… eine schöne Spielwiese 🙂

Dann ging es zum Vortrag des Wistleblower-Netzwerk e.V. Ein ganz interessanter Einblick in die jüngere Geschichte des Whistleblowings und gleichzeitig die deprimierende Erkenntnis, dass man als Whistleblower immer anonym handeln sollte – was schwierig ist, sobald die Information, die man publizieren möchte, nur sehr wenigen Menschen zugänglich ist und man automatisch in den Kreis der Verdächtigen gerät. Wer sich als Whistleblower outet, ist eigentlich immer Repressionen ausgesetzt.

Super Interessant war der darauf folgende Vortrag „sms-o-death“ von Collin Mulliner und Nico Golde. Die beiden haben eine marktübliche Auswahl von 10 Telefonen von der Seite des GSM-Netzwerkes angegriffen. Das mag jetzt wie ein theoretischer Angriff klingen, man bedenke aber, dass man gebrauchte GSM-Basisstationen auf ebay kaufen kann und dass inzwischen Open Source Software wie OpenBSC frei verfügbar ist. Genau das haben Collin und Nico gemacht – natürlich in einem abgeschirmten Raum der TU-Berlin um nicht extra eine GSM-Testlizenz erwerben zu müssen. Sie haben sich in ihrem Angriffsszenario auf SMS beschränkt (geht auf jedem Telefon) und durch Fuzzing alle möglichen Felder auf ungültige Werte gesetzt. Insgesamt wurden 120.000 SMS an die Telefone gesendet, was nur eine kleine Auswahl der theoretisch möglichen Anzahl von Variationen ist.

Das große Problem bei diesem Angriff ist, automatisch herauszufinden ob das Telefon nach Empfang der manipulierten SMS abgestürtzt ist. Die Basisstation kann feststellen, dass das Telefon sich vom Netzwerk getrennt hat (spontaner Reboot). Weil manchmal Telefon die SMS stillschweigend „verschlucken“ wurde noch ein kleines J2ME Programm entwickelt, dass als SMS-Echo-Server fungiert und das nach dem Angriff noch antworten musste.

Die Ergebnisse waren ziemlich ernüchternd: alle Telefone sind angreifbar. Die Symptome sind meist ein Komplettabsturz des Telefons, mitunter ein Reboot. Nokia S40 Telefone kann man so aus der Ferne abschalten. Sie haben einen Watchdog, der nach drei aufeinander folgenden Reboots das Telefon automatisch runterfährt und ausschaltet.

Noch spanndender war allerdings, dass es bei drei von fünf untersuchten Herstellern überhaupt keine Kontaktmöglichkeit für Sicherheitsexperten gibt und entsprechend lang die Reaktionszeiten sind. Wie das Problem der Softwareupdates für billige Featurephones aussieht, haben wir ja schon beim „Curse of Silence“ gelernt.

Ich habe dann erstmal versucht nach hause zu kommen, auf ein Winderabenteuer mit der Deutschen Bahn nach ?itternacht hatte ich keine Lust. Den Netzneutralitätstalk habe ich sausen lassen, er wurde vom Deutschlandradio übertragen und hinterher kontrovers diskutiert. Ich muss mir erstmal die Aufzeichnung ansehen, bevor ich dazu eine eigene Meinung habe.
Via Stream habe ich mir noch die Vorträge „Desktop on the Linux“ (Rant eines gefrusteten Sysadmins…) und „Hacking iButtons“ (sehr interessant) angeschaut.

Klares Highlight zum Abschluss des Tages war jedoch „Adventures in analyzing Stuxnet“ von Bruce Dang. Bruce arbeitet bei Microsoft von daher war seine Perspektive besonders interssant. Der Vortrag drehte sich hauptsächlich um die Analyse der 0day-Lücken, die Stuxnet ausgenutzt hat um sich auf einer ganzen Bandbreite von Windowsversionen zuverlässig zu verbreiten.
Das interessante war, dass Stuxnet sich nur über Lücken verbreitet, die 100%ig funktionieren, weil sie ohne Speichermanipulation auskommen. Es gibt also keine Abstürze, weil der Buffer Overflow manchmal nicht funktioniert oder sonstige Nebeneffekte, die man sonst oft bei Malware findet. Der Vortrag war sehr unterhaltsam („so I was tired and watched porn“), schaut Euch auf jeden Fall die Aufzeichnung an.