27c3: Tag 3

Der Jahresrückblick ist für mich Pflichtveranstaltung, er bestätigt mich regelmäßig darin, dass der Mitgliedsbeitrag richtig investiert ist. Nirgends bekommt man mehr Verfassungsklagen und Lobbying für’s Geld als beim CCC 😉
Parallel dazu lief „A Critical Overview of 10 years of Privacy Enhancing Technologies“ und soweit ich das mitbekommen habe, war der Talk auch sehr gut, ich werde mir auf jeden Fall die Aufzeichnungen anschauen.

Danach wurde mit dem Deutschlandfunk „Was kommt nach dem analogen Radio?“ besprochen, was mich aber nicht sonderlich angesprochen hat. Es hat auf mich gewirkt, als ob der Deutschlandfunkt denk, er ist im digitalen 21. Jahrhundert angekommen und das Publikum ist der Meinung, Der DLF hat noch gar nichts verstanden, weil von „Sendezeit“ gesprochen wird.

Ich habe mich dann zu „SIP home gateways under fire“ verkrümelt. Der Vortrag von Wolfgang Beck war etwas wirr, letztendlich wurden diverse Möglichkeiten für Source Routing Angriffe aufgezählt. Wolfgang hätte den Vortrag ruhig etwas ausschmücken können, denn nur mit blanken SIP-Schnipseln ohne weiterführende Grafiken, hing das Verständnis der Zuhörer stark von deren Fähigkeiten ab, SIP in Echtzeit von den Folien zu parsen.

Den „PS3 Epic Fail“ wollte ich natürlich nicht verpassen. Im Vortrag wurde die These aufgestellt, dass die Play Station erst das Interesse der Hacker auf sich gezogen hat, als der Linux-Support offiziell eingestellt wurde. Erst als sich Hacker den Weg zurück zur Playstation (Slim) „erkämpfen“ mussten, haben als Nebeneffekt auch illegetim kopierte Spiele auf der Plattform Verbreitung gefunden.

Den Vortrag solltet Ihr Euch anschauen, es wird ein Sicherheitsmechanismus nach dem anderen zerlegt und das Highlight ist, dass das Team soweit gekommen ist, den Private Key (der Konsole?) zu berechnen, weil die Crypto-Funktionen eine Konstante verwenden, die eigentlich eine Zufallszahl sein soll. Sie haben sich dann in der Q&A-Session etwas gewunden und meinten sie zeigen nur wie es gehen könnte, aber ich hatte den starken Eindruck, dass sie im Besitz des Keys sind (so hat es fefe auch aufgefasst). Es ist unklar, ob das der generische Signing-Key ist oder ein Key der individuell pro Konsole ist. Wenn man den Signing-Key veröffentlichen würde, hätte das natürlich erhebliche Auswirkungen: jeder könnte Software für die Playstation signieren, finanziell würden Raubkopierer natürlich davon profitieren. Es ist auch nicht klar, ob Sony das Problem jemals beheben kann, denn es wurden Wege gezeigt, wie man die Playstation auf beliebige älte Firmware-Revisionen downgraden kann, da ist es irrelevant, wie viele Updates Sony hinterherschiebt.

Der Talk „IMMI, from concept to reality“ war etwas bizarr, Daniel Domscheit-Berg stand auf der Bühne um den Talk für seine verhinderte isländische Partnerin zu halten. Nach dem Talk drifteten die Fragen jedoch relativ schnell zu Wikileaks und Daniels neuem Projekt Openleaks.org. Ganz interessant war, dass er aus ähnlichen Motiven wie Julian ein Buch schreibt: damit er von dem Geld eine gewisse Zeit leben kann und diese Zeit in Openleaks investieren kann (Julian schreibt ein Buch um seine Anwaltskosten bezahlen zu könnnen).
Es scheint mit Openleaks noch bis in den Januar zu dauern, dann soll die Webseite zumindest mit einer detaillierten Erklärung zum Projekt online gehen. Laut Daniel wird es auch Support-Formulare geben, falls man die Platform in der einen oder anderen Art unterstützen möchte. Ich denke da an Bandbreiten- und Storage spenden, ähnlich wie beim Wikileaks Mass Mirroring Projekt.

Running your own GSM stack on a phone“ schaut ihr Euch am besten selbst an. Harald Welte hat das Thema (wie immer) ziemlich gründlich durchgearbeitet. Herausgekommen ist eine „Ethernet-Karte für das GSM-Netzwerk“, also eine Möglichkeit, nur mittels eines geeigneten GSM-Telefons direkt mit dem Netzwerk zu reden. Also bis auf Layer1 (also die ganze HF-Technik) wird alles auf einem normalen PC implementiert.
Es existiert mit OsmocomBB ein ganzes Toolset, mit dem man GSM erforschen kann. „Make interesting stuff“ ist Haralds Aufruf an die Community. Das ist natürlich hoch interessant – eine Basisstation kauft man sich nicht mal eben um mit OpenBSC herumzuspielen, aber ein 20 Euro Handy um GSM besser zu verstehen, finde ich schon ein geeigneteres Spielzeug.

27c3: Tag 2


(The internet is for porn.)

Ich habe den Tag mit Felix Domkes Vortrag „Distributed FPGA Number Crunching for the masses“ begonnen. Felix will DES (56bit) knacken und das möglichst preisgünstig. Nach Evaluierung aller Optionen (CPU, GPU, Cell Processor, FPGA) hat er sich für FPGAs entschieden. Leider sind die mitunter recht teuer, daher hat er auf ebay gebrauche Hardware ersteigert auf der FGPAs verbaut sind. Die Methode ist echt abenteuerlich, man muss bei einem unbekannten Board erstmal herausbekommen, welche Spannungsversorgung notwendig ist und wo die JTAG-Pins sitzen. Jedoch hat er pro FPGA nur $50 ausgegeben, statt $2000 (Listenpreis 2006). Sein Prototyp hat drei Boards á drei FPGAs, die einen 56bit Key in einer Woche berechnen können. Der Protyp verbraucht etwa 80 Watt, das ist weit mehr, als im „Normalbetrieb“.

Interessant finde ich, dass so ein Projekt mit ein paar Mannmonaten Arbeit möglich ist. Was wird möglich sein, wenn man extrem hohe finanzielle Resourcen zur Verfügung hat? Brute-Force Angriffe skalieren linear, je mehr Geld man auf das Problem wirft, desto größere Schlüssel können in zumutbarer Zeit geknackt werden. Welche Schlüssellängen kann man noch als sicher ansehen?

Die weiterführende Idee von Felix ist es, brach liegender FPGA-Power in einem verteilten Community Netz verfügbar zu machen, also ein distributed.net für FPGAs. Viel mehr als die Idee und ein paar Sourcecodefragmente existieren (noch) nicht, aber irgendwo muss man ja anfangen und ich bin gespannt, was wir auf dem nächsten Kongress von dem Projekt hören werden.

Ich habe dann ein paar Vorträge geskipt um mich in „Is the SSLiverse a safe place?“ zu setzen. Jesse und Peter von der EFF haben in drei Monaten das gesamte IPv4 Internet auf https-Server gescannt und die Zertifikate in eine Datenbank heruntergeladen. Die Datenbank gibt es per BitTorrent und man kann die Ergebnisse selbst auswerten – sofern man die Monster SQL-Queries entsprechend formulieren kann 😉
Soweit sind die Erkenntnisse aber nicht neu, EV-Zertifikate sind Geldschneiderei, die Browser vertrauen automatisch 1400 CAs, viele davon machen Fehler und dass das ssh-Security Modell „tofu“ (trust on first usage) im Browser implementiert werden soll, fordert fefe schon lange…
Trotzdem ein ganz interessanter Talk, Respekt vor der Leistung „das Internet“ zu scannen. Es gab auch gleich den Hinweis, dass es in Zukunft schwieriger werden wird. Etwa, weil dank SNI jetzt hinter einer IP mehrere SSL-Zertifikate lauern können. Und mit IPv6 werden es nicht weniger Hosts, die man scannen muss. Die EFF arbeitet an einem verteilten Ansatz, damit künftig User am Scan mitwirken können und so ein regelmäßiges Update der Datenbank möglich ist. Das impliziert natürlich auch eine zeitliche Nachverfolgung der Änderungen in der Zertifikatslandschaft.

Die Techniken zur Identifizierung von Netzwerk-Protokollen sind ein statistischer Ansatz um Netzwerkverkehr zu klassifizieren. Florian hat den SPID-Algorithmus in C++ re-implementiert – die Referenzimplementierung ist in C# realisiert – und schafft es damit auf einem Plastikrouter Traffic in Echtzeit zu klassifizieren. Der Ansatz ist von daher interessant, weil er ohne die sonst üblichen Deep Packet Inspection Techniken auskommt, die Paketweises Pattern Matching betreiben. Er schaut eher auf der Metaebene (Paketgröße, Richtungswechsel, Hash der ersten 4 Bytes des Paketes) und erlangt damit für die 17 untersuchten Netzwerkprotokolle eine sehr hohe Trefferrate – auch auf einem 40 Euro Plastikrouter.

Den Rest des Tages habe ich mir gesundheitsbedingt zu hause als Stream angeschaut. Klares Highlight war Daniel J. Bernstein Vortrag „High-speed high-security cryptography: encrypting and authenticating the whole Internet„. Der Vortrag ist sehr unterhaltsam, schaut Euch die Aufzeichnung an.

Im Prinzip mixt DJB ein paar bekannte und erprobte Elemtente um eine Art VPN aufzubauen. Er will HTTP-Traffic in UDP kapseln. DIe UDP-Pakete sollen einzeln verschlüsselt und signiert sein. Dank elliptischer Kurven mit vertretbaren Aufwand. Beim Client wird im Browser ein Proxy eingestellt, der Webserver nimmt die UDP-Pakete auf Port 53 an und leiten den entschlüsselten Verkehr an den richtigen Webserver weiter. Die Public-Key infrastruktur soll über DNS realisiert werden, nur dass die Public Keys im CNAME-Feld einer Domain untergebracht werden und nicht als TXT-Records wie bei DNSSEC (über das er ziemlich hergezogen ist, mangels Fachwissen kann ich nicht beurteilen, wie viel davon FUD und wieviel davon fundierte Kritik ist).
Mein Eindruck von seiner Lösung ist, dass er sich wirklich Gedanken gemacht hat. Er möchte gerne eine Art IPSEC möglichst simpel implementieren. Allerdings ist die Vorgestellte Lösung erstmal „nur“ für HTTP tauglich. Sicher lassen sich auch andere TCP-Protokolle tunneln, aber das steigert den Aufwand auf Clientseite (installation zusätzlicher Proxies), obwohl ich mir vorstellen kann, dass ein Browser diese Verschlüsselung nativ implementieren könnte.
Nachtrag: Siehe auch fefes Artikel dazu, heise berichtet ebenfalls.

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.

27c3, Tag 0: Vorbereitungen

Morgen ist wieder Chaos Communication Congress, der 27. um genau zu sein. Ich habe gerade versucht zu rekonstruieren, seit wann ich dort hin fahre, was gar nicht so einfach war. Es waren mindestens zwei Veranstaltungen im Haus am Köllnischen Park dabei, dann wird wohl der 16C3 mein erster gewesen sein.

Ich schreibe das nicht, weil ich so ein cooler Tüp bin, der schon eeeewig dabei ist und ganz locker mit Wau gefachsimpelt hat (ich war zu schüchtern ihn anzusprechen…). Nein, ich will damit nur sagen, dass es mir ziemlich wichtig ist dort hin zufahren. Meine Familie muss in der Nachweihnachtszeit ziemlich zurückstecken während ich im BCC staunend zuhöre und zu verstehen versuche, was mir in vier Tagen ins Gehirn geprügelt wird.

Wenn man in den Fahrplan schaut, ist für jeden etwas dabei. Auf Twitter und im Wiki bahnen sich auch diverse Interessante Themen an. Ausgelöst durch einen Tweet von Joern, ist davon auszugehen, dass morgen diverse Nerds im Anzug auftauchen. Das ist eine schöne Idee, sonst sieht man auf dem Congress eher die Mehrheit im Kapuzenpulli rumschlumpfen. Der einzige Nerd, der grundsätzlich im Anzug auftaucht, ist Nick Farr 🙂 Natürlich mache ich ebenfalls mit, obwohl ich mit 0days wenig am Hut habe und ein Krawattenknoten mich in die Verzweiflung treiben kann.

Ein ganz interessanter Bug in MacOS X ist heute Abend bekannt geworden: Scheinbar crasht die Cisco WLAN Hardware alle Macs, die sich mit dem WLAN verbinden wollen.

(Foto von @robotviki)

Gerüchteweise klappt das sogar mit iOS-Geräten (ipad, ipod, iphone). Es wird schon fleissig nach dem magischen WLAN-Paket gesucht, das die Ursache ist. Da der Kongress traditionell eine recht hoche Dichte an Macs aufweist, wird es dieses Mal echt interessant. Man stelle sich das mal vor: ein WLAN-Paket und der ganze Saal 1 schreit entnervt auf 😉 Interessanter ist natürlich die Ausführung von Code auf dem angegriffenen Mac, aber ein reproduzierbarer Crash ist schon die halbe Miete. Bei Interesse an der Thematik kann man die Twitter-Hashtags #0day #27c3 verfolgen.

Ansonsten fühle ich mich ganz gut präpariert, das für den Kongress unverzichtbare VPN läuft, auf dem Smartphone ist die sehr empfehlenswerte 27c3 Anwendung von Simon Schoar installiert und der Rucksack fasst alle Weihnachtsschokolade, die ich den Kindern unter dem Vorwand „gesunde Ernährung ist wichtig“ geklaut habe. Möge der Kongress beginnen.