- Rock it!
Rock it!
Rock it!
Rock it! - -- Intro of "You Spin Me Round (Like A Record)" by Dead Or Alive
Eines der Highlights auf dem Chaos Camp 2011 war zweifellos die "
r0ket". Die Idee dahinter ist ein "hackable" Namensschild. Dort vereint ist ein LPC1343 Microcontroller mit Cortex-M3 Kern, ein OpenBeacon Funkchip, ein Nokia 1200 Dot-Matrix Display mit einer Auflösung von 96 x 68 Pixeln und einige Erweiterungsmöglichkeiten.
Es ist ein wahres Hackerspielzeug. Für Hacker. Von Hackern.
Genauer hätte man den Punkt kaum treffen können. Die Hardware ist so ausgeklügelt, dass man sie sich nicht "kaputt flashen" kann. In Fachkreisen nennt man das auch "bricken" von "Brick" dem englischen Wort für "Stein", weil in einem solchen Fall ein solches Gerät eben nur noch als ein solcher taugt. Das bedeutet also, dass man nach Herzenslust an der Software des Gerätes rumspielen kann, was ich auch schon ab Tag 1 des Camps gemacht habe.
Die Infrastruktur, die vom "Team r0ket" mit ihrer Firmware dafür geschaffen wurde ist nicht minder beeindruckend: es wurde eine Möglichkeit zusammengehackt, kleine Programme entweder als "Nick-Display" oder eigenständiges Programm laufen zu lassen. Es ist sehr beeindruckend, wenn bedenkt, dass einem nur 8k Byte RAM und 32k Byte Flash auf dem Prozessor zur Verfügung stehen. Der Funkchip beinhaltet noch einmal 512k Byte Flash, welche als Dateisystem zur Verfügung stehen, sowohl vom Mikrocontroller aus, als auch via USB-Massstorage, um so zum Beispiel neue Fonts, Animationen oder auch neue nachladbare Software auf das Gerät zu bringen. Im Vorfeld ist ein "Space Invaders"-Clone dafür entstanden, während des Camps kamen noch "R0type" (R-Type Clone) und "r0ket Jump" (Doodle-Jump Clone) dazu. Außerdem noch einiges anderes an Software.
Andere haben neue Hardware an die r0ket gebaut, wie zum Beispiel einen Geigerzähler, den man in einem anderen Workshop selbst bauen konnte. Sehr schön war auch das ferngesteuerte Auto, in welchem eine r0ket eingebaut war, und sich so mit einer anderen r0ket fernsteuern ließ.
Dazu kam noch der Versuch, ein stabiles Mesh-Netzwerk aufzubauen, mit dem die Highscores der Spiele im Camp verbreitet werden konnten. Dieser scheiterte im Großen und Ganzen. Es gab genug Leute, die Code geschrieben haben, um ihre eigenen Pakete im Mesh zu verbreiten. Da dies zu erwarten war, gab es zwei Netzwerke: das mit der Open-Source Software, und eins, bei dem die Pakete verschlüsselt waren. Auf dieses konnte dann nur signierte Software zugreifen.
Selbstverständlich gab es ab dem Verteilen der r0kets auf dem Camp, den Versuch, diese zu pwnen. Bereits am ersten Tag ist dies auch gelungen, durch einen
Stack-Überlauf im Font-Handler. Einige andere Versuche gingen über "Social-Engineering" Komponenten: einmal wurde eine "verbesserte Version" eines Demos eingereicht, die den Flash-Speicher der CPU auf das sekundäre Flash kopiert hat. Ein anderes Mal wurde die Hardware so präpariert, dass sie nur vorgab im "Flash-Modus" zu sein, und stattdessen die Daten beim Flashen auf das sekundäre Flash geschrieben hat.
Auch wenn das Camp jetzt zu ende ist, beginnt das Thema r0ket eigentlich jetzt erst richtig. Was lässt sich aus dieser Hardware denn jetzt noch alles rausholen? Der Chaos Communication Congress am Ende des Jahres wird es zeigen.
Größter Wermutstropfen: es gab nicht genug r0kets für alle Teilnehmer. Ursprünglich wurde mit 2500 Camp-Teilnehmern gerechnet. Auf Basis dieser Angabe wurden die Produktion von 3000 r0kets veranlasst. Leider kamen mehr als 3000 Leute, so dass es zum Schluss nicht genug r0kets für alle gab. Es wurde aber auch wirklich nichts zurückgehalten, sie gingen bis zum letzten Stück weg. Auch die Entwickler haben genau ihr eines, eigenes Exemplar.
Was hier noch fehlt, sind die Videomitschnitte des Vortrags über die r0ket auf dem Camp, sowie der Abschlussveranstaltung, wo ein erstes Resümee über die r0ket gezogen wurde. Diese werden nachgereicht, sobald ich sie habe.
Kommentare