OMG WTF PDF war ein prima Einstieg in den letzten Kongresstag. Julia Wolf hat vorgeführt, was mit PDF alles möglich ist. Leider ist sie so rasend zwischen den Folien hin- und her gesprungen, dass man beim Konsum der Aufzeichnung die Folien zur Hand haben sollte. Sie hat u.A. vorgeführt, wie man Dateien aufbauen muss, die gleichzeitig ZIP und PDF Dateien sind. Highlight war ein Executable vom Windows-Taschenrechner, das sie auch mit dem Acrobat Reader öffnen konnte und dieser den Inhalt korrekt dargestellt hat.
Es gab dann noch ein paar Überlegungen, was man noch machen könnte – u.A. die PDF-Engine von Druckern nutzen, um Portscans durchzuführen. Heise hat das so dargestellt, als ob das schon möglich ist, aber Julia hat lediglich gesagt „man könnte mal“. Ich bezweifle jedoch, das es so einfach möglich ist. In dem Druckern ist ja kein Acrobat Reader eingebaut, der für Sicherheitslücken und Parserfoo bekannt ist. Vielmehr nehmen Drucker das PDF nur an und wandeln es dann in ein Format, das sie nativ verstehen, also PCL i.d.R. Es würde mich stark wundern, wenn da nicht-grafische Elemente berücksichtigt werden (Javascript ect.).
Insgesamt jedoch schein PDF ein weites Feld für Experimente sein. Julia hat sich hauptsächlich den Acrobat Reader angeschaut, aber es gibt ja noch mehr PDF Interpreter auf diesem Planeten – nicht nur in Druckern 😉
Bizarr war „Cybernetics for the Masses„. Eine quirlige Dame anfang zwanzig hüpft nervös über die Bühne und erklärt, wie man sich in der eigenen Küche Implantate unter die Haut jagt. Die Materialwahl schein extrem schwierig zu sein, Rost ist ein großes Problem. Dazu gab es noch hilfreiche Tipps wie „kein Skalpell verwenden, lieber eine große Kanüle“, „Venen in den Fingern kann man prima mit einer Lampe finden“ und „nie alleine arbeiten, falls man mal das Bewusstsein verliert“.
L. hat diverse Implantate unter der Haut, z.B. Sensoren für elektromagnetische Felder. Wenn man so einen Sensor ein paar Wochen trägt, trainiert man das Gehirn so sehr an die Signale, dass der Sensor zu einem weiteren Sinnensorgan wird. Ich hatte von diesem Effekt schon mal vor 2 (?) Jahren in einem Biohacking-Talk auf dem Kongress gehört. Mir ist allerdings nicht ganz klar, was der Nutzwert so einer zusätzlichen Wahrnehmung ist.
Interessanter klang L.s aktuelles Projekt, sich einen elektrischen Kompass ins Bein zu implantieren. Gerade für solche orientierungslosen Menschen wie mich, wäre das ein prima Addon 🙂
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.
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.
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.
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 kontroversdiskutiert. 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.
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.
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.
Leider leider ist der AS/400 Talk von Sebastian ausgefallen. Ich hatte ihn schon am Vorabend zu dem Thema ausführlich befragt, aber es wäre natürlich interessant gewesen, die Live-Demos zu sehen.
Statt dessen habe ich mich dann in Saal 1 zur Wikipedia-Diskussion gesetzt. Fefe hatte es sich auf der Couch bequem gemacht, lest Euch mal den Artikel in seinem Blog durch, er hat die Diskussion ganz gut zusammengefasst.
Blackbox JTAG Reverse Engineering war auch nicht wirklich erhellend, aber vielleicht war auch meine Aufmerksamkeit am vierten Tag arg verschlissen. Ich habe mich dann noch mit ein paar älteren Herren aus dem Internet zum Aisiambiss in den Bahnhof gesetzt.
Photography and the Art of Doing it Wrong war ein interessanter Rückblick auf die Geschichte der Fotografie, außerdem gab es ein paar gute Inspirationen bewusst „falsch“ zu fotografieren und die „Fehler“ als künstlerischen Effekt einzusetzen. Ein erfrischender Kontrast zur üblichen „Eye Candy Fotografie“.
Der Jahresrückblick hat mich mal wieder darin bestärkt, dass der CCC-Mitgliedsbeitrag goldrichtig angelegt ist. Schaut Euch einfach mal die Aufzeichnung an.
Danach gab es ein Update zur DECT-Sicherheit. Die Jungs sind schon sehr weit gekommen. Der Grund, warum man den großen Knall nicht gehört hat, ist vielleicht, weil er vom noch viel größeren Knall des Platzens der GSM-Sicherheitsblase übertönt wurde. Interessantes Detail: die Zusammenarbeit mit dem DECT-Forum scheint viel angenehmer und besser zu laufen, als die Zusammenarbeit mit dem GSM-Forum, die derzeit noch nicht einmal zugeben, dass es ein Problem gibt („das was die machen ist ja Illegal, und deswegen existiert das Problem nicht“).
Der GSM-Talk von Harald Welte hiess „Using OpenBSC for fuzzing of GSM handsets“, es war aber eher ein generelles Update zu OpenBSC. Trotzdem interessant, auf welch wackeligen Füßen das ganze System steckt, es gibt nur eine Hand voll (4!) GSM-Stacks und die sind auf 4 Milliarden Geräten deployed. Wenn also ein Stack ein Problem hat, kann man das auf sehr vielen Geräten nachvollziehen.
Was mir im Zusammenhang mit GSM total neu war – und gleich auf drei Vorträgen ausführlich erwähnt wurde – ist, dass im Zuge der 911-Notrufrichtlinie in den USA die Geräte ihren Standort bestimmen können müssen. Wenn ein GPS-Chip eingebaut ist, dann kann man das relativ einfach machen. Wenn kein GPS-Chip eingebaut ist, geht das aber trotzdem. Das Telefon verstellt einfach die Empfangsfrequenz auf die GPS-Frequenz und empfängt die blanken GPS-Signale, die es zur Auswertung an den Provider schickt (GSM funkt i.dR. auf 0.9, 1.8 und 1.9 GHz, GPS liegt mit 1.2 und 1.5 GHz genau dazwischen). Zusammen mit den bekannten Standortdaten der Basisstationen und der derzeit schon vorhandenen GSM-Peilungsmöglichkeiten kommt dabei eine ausreichend genaue Standortinformation heraus.
Da keine Geräte exklusiv für den US-Markt gebaut werden, ist also davon auszugehen, dass alle Geräte, die seit 2006 in den USA verkauft werden, diese Funktion mitbringen. Die Abfrage findet auf sehr sehr tiefen Schichten des GSM-Protokolls statt und kann von der Anwendungssoftware oder dem Betriebssystem des Telefons nicht verhindert oder bemerkt werden.
Bei „Location tracking does scale up“ hat Aaron die Funktionsweise von Skyhook erklärt. Das Grundprinzip ist ja recht einleuchtend. Die Standortdaten und Empfangsfeldstärken von WLAN Beacons werden einmal erfasst und in einer Datenbank hinterlegt. Nun kann man anhand dieser Datenbank seinen Standort auch in Gebäuden bestimmen. Das Problem ist, dass die Datenbank mit der Zeit veraltet, weil WLAN AccessPoints sterben und neue hinzu kommen. Die Update-Funktion steckt aber in der Skyhook-Api selbst. Bei Standortabfragen werden alle sichtbaren ESSIDs mitgesendet, ebenfalls die GPS-Position (falls bekannt) und die Basisstation-Id, an der das Telefon angemeldet ist. Zwar funktioniert die API-Abfrage anonymisiert, aber eine Korrelation mit anderen Datensätzen ist natürlich trotzdem möglich.
One Laptop per Child: war ganz interessant, den größten Erfolg hat das Projekt derzeit scheinbar in Uruguay. Dort sind fast 400.000 Geräte ausgeliefert, jedes Kind von der 1. bis zur 6. Klasse hat eins. Es gibt Unterstützung von der Post, wenn ein Gerät kaputt ist kann man es kostenlos in jeder Postfiliale abgeben und die schicken es zur Reparatur.
Die alle Zuhörer unter den Nägeln brennende Frage – wo man als reicher Europäer einen OLPC XO kaufen kann, wurde leider nicht befriedigend beantwortet. Das sehr gute „get one, give one“-Programm, bei dem man ein Gerät kaufen und eins spenden konnte, gibt es leider nicht mehr. Man kann sich zwar als Entwickler mit einem Projekt bewerben, aber wenn man „nur“
Geräte für seine eigenen Kinder haben möchte, sieht es im Moment schlecht aus.
Ich verstehe nicht ganz, was das Problem wäre oder warum das „get one, give one“ Programm eingestell wurde. Für Faire 280 Euro würde man ein Gerät bekommen und gleichzeitig noch eins spenden. In unseren Breiten wäre das total akzeptabel. Statt dessen bekommen Schüler hier eher Netbooks von Ihren Eltern geschenkt („ist ja nicht so teuer und bringt auch sicherlich etwas für die Schule…“) und versuchen die wie normale Notebooks zu verwenden. Klar kann man sich auch die OLPC Software auf einen USB-Stick kopieren und auf einem Netbok verwenden, aber viel von dem OLPC Konzept geht dabei verloren.
Vier Fäuste für ein Halleluja war dann natürlich Pflicht. Da ich beruflich viel Unixcode sehe und gelegentlich auch schreibe, kam mir das alles natürlich sehr bekannt vor. Ich werde das Video vom Vortrag mal mit in die Firma nehmen und den Kollegen zeigen, die haben bestimmt auch ihren Spaß daran 🙂
Dann habe ich mich statt eines weiteren Vortrags in den Podcast Developer Workshop von Tim Pritlove gesetzt. Sein Problem ist, dass es im Moment keine vernünftige Software gibt, die einen Podcast Workflow vernünftig abbilden kann und man verdammt viele Schritte manuell durchführen muss, die man alle wunderbar automatisieren könnte.
Er hat also ziemlich genau seine Ideen beschrieben, was eine Software alles können muss und welche Funktionen sie bereitstellen soll. Das geht da von Terminkoordination der Teilnehmer und Erzeugung korrekter Feeds über die Integration des Chatprotokolls in die Timeline bishin zu Distributionswegen über Webplayer und BitTorrent. Das ist also ein bunter Strauß an Wünschen,
die man eigentlich unmöglich in einem Projekt erschlagen kann, außer man hat sehr viel Geld und fähige Leute.
Ergebnis war, dass es erstmal eine google Group von Podcastern gibt, die sich des Themas annimmt und versucht konkrete Teilschritte umzusetzen, die man immer weiter zu einem Stück Software zusammensetzen kann. Mich hat das ganze Stark an Pentabarf erinnert, das auch aus der Congressorganisation heraus enstanden und vollkommen von Featurebedürfnissen des realen Congressorganisators getrieben ist.
Ich habe heute statt mir Vorträge anzuhören, mich ein bisschen mehr mit Leuten aus dem Internet unterhalten. Die sind alle echt nett 😉
Interessant war „A part time scientists‘ perspective of getting to the moon„, allerdings wurde das Thema Mondflug auf schmalem Budget so dermaßen schlecht vorgetragen, dass ich nur unter Schmerzen bis zum Schluss ausgehalten habe. Klar, das Team ist im Wettbewerb mit anderen Teams, die Ebenfalls zum Mond kommen wollen, aber wenn man nur nebulös drum herumredet, ist das der Aufmerksamkeit im Publikum nicht gerade zuträglich.
Christian Bahls von Mogis hat einen ganz interessanten Ansatz vorgestellt, wie man DNS zensurfest gestalten kann: mittels einer distributed Hashtable. Die Anfragen laufen nicht mehr gegen einen potentiell zensierten DNS-Server, sondern gegen die DHT-Wolke. Voraussetzung ist natürlich, dass die DHT-Nodes letztendlich auf einen unzensierten DNS zugreifen können.
Der Vorteil des ganzen: das System ist dezentral und kann nicht zensiert werden. Nachteil: in die DHT zu schreiben ist einfach, Löschen ist jedoch unmöglich. DNS-Updates bekommt man also nicht so einfach dort rein. Aber: DNSSEC steht vor der Tür, signierte Domains könnten also schon Updates bereitstellen.
Christian hat diese Idee in ein paar Python-Scripte gegossen und hat auch schon eine kleine Wolke am Laufen, die bereits praktisch vom Iran aus genutzt wird. Ich bin gespannt auf den Release der Software.
Ein kleiner Auszug aus den Talks (wird noch ergänzt):
Sleephacking scheint auszufallen, die Vortragende ist nicht da 🙁
In der C-Base gibt es parallel zum Kongress das Multitouch Hackfest. Und einige der Talks, die auf dem Kongress abgelehnt wurden. Und eine Menge Parties 🙂
Der CCC Düsseldorf hat eine Zensurinfrastruktur aufgebaut, man kann sie versuchen auf verschiedenen Leveln zu umgehen.
Cache games ist ein Hacking Contest auf Basis von CPU Cache Timing Angriffen. Krass 🙂
wiki2beamer konvertiert Mediawiki-Syntax in Latexcode. Das ist ganz cool, wenn man mit beamer eine Präsentation bauen will, aber der Latexsyntax dafür eigentlich zu aufwändig ist, speziell für syntax highlighting. Natürlich hat man trotzdem den vollen Latex-Syntax, da wiki2beamer lediglich wie ein Preprozessor arbeitet.
Tja, das ging dann doch schneller als erwartet. Noch vor dem offiziellen Start ist der Kongress ausverkauft, das Anstehen in der Schlange hat sich gestern dann doch gelohnt.
Insgesamt ist es schade, dass jetzt viele Menschen draußen bleiben müssen. Klar, 4200 Leute waren im letzten Jahr zu viel, aber vielleicht sollte man sich überlegen, ob das BCC als Veranstaltungsort noch geeignet ist. Oder ob man nicht generell Tickets im Vorverkauf anbietet, allerdings bedient man damit dann einen gewissen Schwarzmarktanteil.
Dragons Everywhere kann nicht ausgleichen, es dieses Jahr 700 Tickets weniger gibt.
Der nächste Congress steht vor der Tür und der aktuelle Fahrplan ist schon recht vielversprechend. Ich habe mal ein paar Talks rausgesucht, die ich mir auf jeden Fall anschauen werde.
Tag 1, 13:00 Uhr: Lightning Talks. Es wird einen Talk von @p4ula zu Sleephacking geben, außerdem ist danach um 15.00 Uhr eine Q&A Session zum Thema geplant. Wer schon immer mit dem Schlafrhythmus seiner Umwelt nichts anfangen konnte, ist hier genau richtig.
Update: Oh, gerade noch via Twitter gesehen: Tim macht einen Podcasting Developer Workshop. Da muss ich hin, auch wenn mich im Moment mehr die Hardwareseite interessiert.
Bei GSM: SRSLY? müsst Ihr Euch einfach mal die Beschreibung durchlesen. Auf dem Camp wurde das A51-Projekt vorgestellt, die Leute rechnen schon eine Weile und ich denke dieses Jahr wird GSM – wie DECT im letzten Jahr – als vollständig gebrochen gelten. Dazu passend gibt es noch am Tag 3 das Update zu DECT.
In Location tracking does scale up – How skyhook wireless tracks you continously spricht Freifunkerkollege L. Aaron Kaplan über den kleinen praktischen Dienst der Lokalisierung über die WLANs in der Umgebung realisiert. Eine Schnittstelle zu Skyhook steckt in jedem Mac und iPhone. Es kann nicht schaden sich darüber schlau zu machen, vielleicht wird man öfters getrackt als einem lieb ist.
Alles in allem klingt der Fahrplan vielversprechend, ich hoffe, dass ich die vier Tage mit genug Mate durchstehe und noch ein bisschen Zeit finde darüber zu bloggen.
So, jetzt mal Hand hoch, wer ein Nokia E90 Communicator, Nokia E71, Nokia E66, Nokia E51, Nokia N95 8GB, Nokia N95, Nokia N82, Nokia N81 8GB, Nokia N81, Nokia N76, Nokia 6290, Nokia 6124 classic, Nokia 6121 classic, Nokia 6120 classic, Nokia 6110 Navigator, Nokia 5700 XpressMusic, Nokia E70, Nokia E65, Nokia E62, Nokia E61i, Nokia E61, Nokia E60, Nokia E50, Nokia N93i, Nokia N93, Nokia N92, Nokia N91 8GB, Nokia N91, Nokia N80, Nokia N77, Nokia N73, Nokia N71, Nokia 5500, Nokia 3250, Nokia N90, Nokia N72, Nokia N70, Nokia 6682, Nokia 6681, Nokia 6680 oder Nokia 6630 in der Hosentasche hat.
Aha. Na dann viel Spaß. Die Dinger können nämlich SMS vom Typ „e-Mail“ empfangen. Das sind SMS, die als erstes eine e-Mail Adresse enthalten. Das war aus Zeiten, als SMS/Mail Gateways noch populär waren. Wenn man solch eine SMS verschickt und am Anfang eine Mailadresse hinschreibt wird die beim Empfänger als eMail angezeigt (obwohl es ja eine SMS ist).
Der Buffer für die e-Mail Adresse ist 32 Zeichen lang.
Noch Fragen? Es genügt eine 33-Zeichen lange e-Mail Adresse in die SMS zu schreiben. Das Resultat ist, dass das angegriffene S60-Telefon keine einzige eingehende SMS mehr anzeigt. Egal wie viele hinterher gesendet werden. Auch nicht nach einem Reboot. Erst ein Factory-Reset hilft. Die Details stehen im Advisory. Es gibt auch ein Demo-Video:
Natürlich kann man als Operator (Vodafone, O2, t-mobile, e-plus) solche SMS filtern. Bis jetzt kann das aber nur t-mobile (vor 7 Wochen wurden die Operatoren angeschrieben). Und das funktioniert bei t-mobile auch nur für das Absenden.
Ich denke mal dieses Silvester wird lustig. „Hast Du meine SMS gar nicht bekommen?“ wird wohl häufiger gefragt werden. Und jetzt überlegt mal, wie oft die Leute die Software ihres Telefons updaten. Tja. Da wäre ja mal himmlische Ruhe in öffentlichen Verkehrsmitteln 😉
So langsam macht sich der Kongress bemerkbar, trotz konstanter Zufuhr von Mate werde ich noch nicht so richtig wach. Ich habe gestern den restlichen Abend im Hackcenter verbracht, teilweise Streams geguckt und teilweise am fonera geschraubt.
Sehr interessant war Squeezing Attack Traces und Stormfucker: Owning the Storm Botnet. Zuerst wurden konkrete Techniken gezeigt, wie man Malware analysieren kann. Die Zentrale Idee ist hier, statt eine Sandbox (Windows in einer VM) zu verwenden, die Requests unter Linux an Wine weiterzureichen. Dort kann man sich an jedem beliebigen Punkt reinhängen und die Requests der Malware auseinander nehmen. Schaut einfach mal auf die Honeytrap-Seite bzw. in die entsprechenden Aufnahmen.
In Stormfucker: Owning the Storm Botnet wurde das Storm Botnet vorgestellt und beschrieben, wie es funktioniert. Hier wurde – statt wie üblich eine Sandbox zu verwenden – der konkrete Botcode analysiert. Inzwischen scheinen die Tools auch einen großen Sprung gemacht zu haben, IDA Pro wurde schon mehrfach auf dem Kongress lobend erwähnt. Durch das Disassemblieren kam heraus, dass der Stormbot auf die Overnet-Architektur baut und als „Verschlüsselung“ lediglich XOR mit einem fixen Key verwendet. Man kann sich als Control-Server ausgeben und die Bots fernsteuern. Es wurde sogar ein Removal-Tool vorgestellt, mit dem man das Botnetz „von innen“ her säubern könnte. Da diese Aktion klar gegen deutsches Recht verstoßen würde, wurde das aber (noch) nicht durchgeführt.
Gerade habe ich mir Predictable RNG in the vulnerable Debian OpenSSL package angesehen, der Vortrag hat nochmal gut erläutert, warum eine auskommentierte Zeile Code einen so heftigen Effekt auf die Sicherheit von tausenden Servern hatte. Es wurden auch konkrete Angriffsszenarien und Gegenmaßnahmen gezeigt und der Vortragsstil war ebenfalls unterhaltsam 😉 Also einfach mal die Aufzeichnung anschauen, die Piratenbucht ist beim Auffinden der Mitschnitte sicherlich hilfsbereit.
Der fonera ist jetzt ein guter, dank der freundlichen Hilfe der Freifunker hier läuft er jetzt unter OpenWRT. Ich kämpfe noch damit, den OLSRd zum meshen zu bringen, aber das wird sicherlich noch.
Ich habe mir den Botnet-Vortrag als Stream angesehen: sehr geiler Shit wie Dennis sagen würde. Sobald der in der Piratenbucht ist, unbedingt saugen!
Auch sehr lustig, Harald Welte hat sich auf ebay eine gsm-Basisstationen gekauft und auf dem Kongress etwas rumgespielt. Wo hat man schon sonst 1000 (un)freiwillige Betatester… 😉 Die Entwicklung ist ganz spannend, wenn man sich für unter 1000 Euro + freier Software eine Basisstation hinstellen kann, ist klar, dass gsm seine bisherige Zuverlässigkeit einbüßen wird. Das Grundproblem: das Telefon muss sich gegenüber dem Netz authentifizieren. Das Netz gegenüber dem Telefon jedoch nicht und so bucht sich jedes Telefon fröhlich in das stärkste zur Verfügung stehende Netz ein.
Nettes Detail am Rande: in Ägypten (?) ist der Betrieb von GPS nicht gestattet. Jedes Telefon schaltet GPS ab (sofern vorhanden), sobald es eine Basisstation aus Ägypten „sieht“ – es muss dort nicht eingebucht sein. Wenn man also eine BST mit ägyptischer Provider-ID aufstellt, sind erstmal sämtliche Smartphones im Umkreis um die GPS-Funktion amputiert – incl. des iPhone 3G.
Die nächsten Vorträge sind nicht ganz so spannend, ich bin erstmal im Keller hocke in der Raucherhöhle. Später geht’s zu den Freifunkern, vielleicht kann mein bisher etwas nutzloser Fonera mit OpenWRT/LuCI versort werden.
Highlight gestern war der Talk Short Attention Span Security. Ben hat unter anderem auf eine sehr interessante Möglichkeit für code audits hingewiesen. Normalerweise ist die Zeit für eine tiefgreifende Analyse zu knapp. Man setzt sich also hin und grept den Code nach problematischen Statements durch oder schaut nach, was gcc auf dem höchsten Warninglevel ausspuckt.
Ben hat auf Dehydra hingewiesen. Damit kann man den abstract syntax tree von C++ in Javascript (!) analysieren. Man scriptet sich also zu den problematischen Stellen durch und macht sie auf diese Art und Weise sichtbar (signed/unsigned Zuweisungen ect…). Ok, das sagt einem auch der Compiler, aber die Möglichkeiten sind ja unbegrenzt. Ben hat vorgschlagen ein öffentliches Repository einzurichten, in dem Script-Snippets gespeichert werden, die jeweils eine bestimmte Schwachstelle aufdecken. So könnten alle Leute viel Zeit sparen. Coole Idee 🙂