32C3: Queer Feminist Geeks Gathering und Konsolenhacks

Dieser Artikel ist Teil 3 von 5 in der Serie 32C3

Der 32. Chaos Communication Congress findet gerade in Hamburg statt und ist ein riesiges Geek-Event. Im letzten Beitrag hat Natanji euch vom Beginn des vorgestrigen „Tag 1“ erzählt: Opening Event und Keynote. Hier nun der restliche writeup zu Tag 1, der sehr hübsch feministisch wurde! :)

Tag 1: Queer Feminist Geeks Gathering

Wie in den letzten Jahren organisiert auch diesmal das Queer Feminist Geeks Assembly ein zugehöriges „Gathering“, also ein Treffen, zu dem alle Menschen die das Thema interessiert kommen können. Wo in den Vorjahren nur so drei bis fünf Dutzend Leute da waren, kommen diesmal über 110 (!) Personen in den Workshop-Saal B. Bei so vielen Queers macht eine allgemeine Vorstellungsrunde wie in den Vorjahren keinen Sinn. Stattdessen wird entschieden, dass verschiedene Gruppen gebildet werden zu Themen, die die Anwesenden gerade umtreibt. Es gibt zwar auch klassische Themen wie Verschlüsselung, aber der Großteil hat doch einen sehr klaren queeren und/oder feministischen Bezug: queere Science Fiction, Umgang mit Microaggressions und Einfordern von feministischen Interessen sowie eine Diskussion darüber, wie sich Software schreiben lässt, die zu nicht-binären Pronomen fähig ist. Eine weitere Untergruppe von 20-30 Personen, die sich bei diesen Themen noch nicht wiedergefunden hat, macht dann doch noch eine kleine Vorstellungsrunde und diskutiert im Anschluss über Männlichkeitskonstruktionen und den Sinn von Identitäten und Labels.

Es lässt sich sehr schlecht wiedergeben, wie großartig diese zwei Stunden insgesamt sind. Hier kommen Leute zusammen, die sich gegenseitig mit ihren persönlichen Erfahrungen und Perspektiven zu queerfeministischen Themen bereichern können. Einige bringen Erzählungen von ihren Projekten mit, andere überragen mit umfangreichem Background-Wissen. Und viele scheinen sich zu freuen, einen Raum von so vielen Gleichgesinnten zur Verfügung zu haben.

Ein Nebeneffekt des Gatherings: es werden in der Offline-Workshopwand des Queer Feminist Geek-Assemblies ganz viele spontane Workshops geplant. Nach dem Gathering gibt’s beispielsweise eine Nail Polish-Session, die mich sehr entzückt. Es gibt zusätzlich eine Buttonmaschine, mit der Pronomen oder gewünschtes Kommunikationsverhalten signalisiert werden können.

Tag 1: Konsolenhacking

Am nachmittag höre ich auch mal einen technischen Vortrag, es geht um den Nintendo 3DS und wie es möglich ist, die Sicherheitsvorkehrungen zu umgehen um eigene Software auszuführen. Wer mit Akronymen wie NX, Heap, ROP und Branching etwas anfangen kann, kann sich die Details im Vortrag selbst anschauen. Ich probiere es mal zusammenzufassen, aber gänzlich untechnisch geht es leider nicht, also springt zur nächsten Überschrift wenn ihr nur Bahnhof versteht.

Die Architektur des 3DS ist insgesamt ziemlich gut abgesichert, weil sämtlicher Code und alle Savegames verschlüsselt und signiert werden, wo es nur geht. Ihn zu modifizieren ist also schwierig. Es lässt sich allerdings ausnutzen, dass der Grafikchip nicht nur einen direkten Speicherzugriff (DMA) auf den Videospeicher, sondern auch auf einen Teil des allgemeinen Arbeitsspeicher hat. Mit speziell präparierten Video- und Bilddateien können in diesen Teil wohl also erst einmal beliebige Daten geschrieben werden. Zwar befindet sich im durch den Grafikchip veränderbaren Speicher nicht direkt Programmcode, der sich so modifizieren ließe – anscheinend hat Nintendo um diese Möglichkeit wohl gewusst und den Programmcode außerhalb des vom Grafikchip zugreifbaren Bereichs gelegt. Es liegt aber ein Teil des Heaps des 3DS-Hauptmenüs dort, was sich dann über die kompliziertere (aber seit vielen Jahren populäre) Technik des Return-Oriented Programming  (ROP) ausnutzen lässt, um eigenen Code unter dem Prozess des Menüs auszuführen. Das erlaubt bereits, weitere eigene Daten von der SD-Karte nachzuladen, und ist quasi der Basisschritt. Kompliziertere Programme kann man mit ROP allerdings nicht gut ausführen, weil bei dieser Technik im Wesentlichen der eigene Code aus dem des bereits geladenen Programms „zusammengeklaubt“ werden muss, etwa so, wie wenn man einen eigenen Text aus einzelnen Zeitungsschnipseln zusammensetzt.

Eulberg

Die Hacker weisen darauf hin, dass der 3DS die erste Nintendo-Konsole ist, die ein richtiges selbst geschriebenes Betriebssystem nutzt: bei früheren Konsolen liefen die Spiele einfach direkt auf der Hardware. Einzelne Prozesse wie das (bereits gehackte) Systemmenü haben beim 3DS also keinen Zugriff auf alle Systemfunktionen. Um die vollständige Kontrolle über das System zu erlangen, braucht es also eine Möglichkeit, auf den Kernel (also den Betriebssystemkern) zuzugreifen. Diesen erlangen die Hacker darüber, dass sie als normaler Prozess eine größere Menge Speicher vom System anfordern. Dieser Speicher ist in mehrere Teile (Memchunks) zerteilt und in jedem Memchunk steht ein Verweis, an welcher Speicheradresse der darauf folgende beginnt. Der Fehler von Nintendo ist, dass der Chunk zuerst an den anfordernden Prozess übergeben wird und der Kernel erst danach die Adresse des nächsten Chunks aus dem aktuellen liest. Das passiert zwar sehr kurz aufeinander, aber die Hacker können mit geschicktem Timing in der Zwischenzeit aus dem normalen Prozess den Verweis auf den nächsten Chunk mit einer beliebigen anderen Adresse überschreiben – zum Beispiel auf Speicher, der vom Kernel bereits verwendet wird. Somit gibt der Kernel dann mit dem nächsten Chunk dem Prozess der Hacker einfach mal Zugriff auf den gesamten Kernelspeicher. Von dort ist es dann nur noch ein kleiner Schritt, den gesamten Kernelprozess zu kapern.

Ich weiß nicht, wie verständlich das jetzt war, aber ich wollte es zumindest mal versuchen. Es sind noch viele weitere Tricks notwendig, und genau aus solchen Gründen schaue ich ja seit Jahren Vorträge zu Konsolen-Hacking: weil das Angriffe höchster technischer Finesse sind, die ganz nah an die Hardware rangehen. Und ich gleichzeitig immer ein bisschen mehr darüber lerne, wie Computer auf ihrer untersten Ebene so funktionieren. Und weil weil diese schwarze Hacking-Magie einfach zauberhaft ist.

Tag 1: Unbezahlbarer Kuschelhaufen

Meinen Abend lasse ich in der Chill-Area ausklingen. Das ist prinzipiell das gesamte oberste Stockwerk des CCH – auf der Seite von Saal 2 befindet sich u.A. das große, geräumige Tea House der französischen Bürgerrechtsorganisation „La Quadrature du Net„, ich finde mich dagegen in der „Lounge“ vor Saal 1 ein. Langsame elektronische Klänge, Sofas und Sitzkissen laden zum Verweilen vor der „UnbezahlBar“ ein, an der es Cocktails gibt. Liebe Menschen treffen, quatschen und flauschen ist hier die Devise; unser Kuschelhaufen zieht immer mal wieder weitere Bekannte an und vergrößert sich bis zum Aufbrauch um 3 Uhr nachts merklich. Auf den anderen Ebenen ist nun fast gar nichts mehr los, das CCH wirkt fast wie ausgestorben gegenüber dem Trubel des Tages. Die nun noch im Gebäude Anwesenden sind zu einem großen Teil noch in der Party-Area ganz unten, wo zu fetziger Musik getanzt wird. Leider ist in diesem Raum das Rauchen erlaubt, sodass ich mich gegen einen längeren Aufenthalt entscheide. Stattdessen hole ich noch etwas Twitter auf und falle gegen 5 Uhr morgens ins wohlverdiente Bett.

32c3 day 0

Auch an Tag 2 und 3 ist natürlich viel passiert. Hier gibt’s aber etwas Verzögerung, bis der Beitrag erscheint, denn es ist einfach ganz schön kompliziert, das Erlebte schnell genug zu Verschriftlichen, wenn dauernd neue Eindrücke auf einen einprasseln. Ihr habt da bestimmt Verständnis dafür. :)

PS: Die beiden Flickr-Galerien im Beitrag zeigen ein paar bunte Aufnahmen vom Congress und seiner futuristischen Einrichtung zeigen. Wundert euch nicht, dass ihr auf wenigen Fotos Menschen findet: es ist nämlich untersagt, Personen ohne ihr explizites Einverständnis zu fotografieren (ja, selbst wenn sie nur im Hintergrund zu sehen sind). Privacy wird von diesem Klientel eben sehr ernst genommen.

 

 

Weitere Artikel in dieser Serie<< 32C3: Der Anfang32C3: Kommentare aus der Hölle >>