27. Dezember 2008

25C3: Chip Reverse Engineering

Category: CCC — Christian @ 19:02

Der Saal 2 ist hoffnungslos überfüllt. Erstaunlich für einen Vortrag der sehr technisch ist und für den die meisten Anwesenden vermutlich keinen direkten Anwendungsfall finden. Aber sowohl Karsten Nohl als auch Starbug sind durch den Mifare-Hack natürlich bekannt geworden. Und Karsten verspricht sogar, nach dem Vortrag kann jeder mit Reverse Engineering beginnen … 🙂

Ok, man muss ein paar Voraussetzungen mitbringen … beispielsweise das Chip-Layout verstehen. Oder wenige µm dünne Leiter mit winzigen Nadeln anpieksen und neu verdrahten, um die entschlüsselten Daten abzugreifen. Adlerauge sei wachsam. Aber ansonsten ist das ganz einfach.

Zuerst nimmt man Aceton oder rauchende Salpetersäure (also was Karsten für gewöhnlich so im Haushalt hat) um den Kunststoff um den Chip wegzuschmelzen. Dann rubbelt man vorsichtig mit Sandpapier oder Polierpaste Mikrometer für Mikrometer von der Oberfläche weg. Am besten mit der ruhigen Hand von Starbug. Mit einem guten optischen Mikroskop (am besten ein Konfokalmikroskop, hat vermutlich auch jeder zuhause) kann man dann die Schaltkreise fotografieren. Die Fotos setzt man  zu einem Gesamtbild des Chips zusammen (so wie Google das mit den Satellitenbildern macht) und wiederholt das rubbeln, fotografieren und zusammensetzen für jede Schicht des Chips. Zur Interpretation der Fotos findet man Hilfe bei Siliconzoo.

Zuerst muss man einzelne Schaltungen wie ANDs, NORs etc. finden. Dann folgt man den Leitern der einzelnen Elemente durch die diversen Schichte bis man herausgefunden hat, wie die Elemente miteinander verknüpft sind. Das Ergebnis ist der Schaltplan. Quasi der Source Code des Chips. Um das zu erschweren, werden Dummyzellen in den Chip eingebaut, unnötige Verdrahtungen, nicht verwendete Funktionen, etc. Mit etwas Übung kann man die nutzlosen Schaltungen jedoch herausfiltern. Bei sehr großen Chips dürfte das allerdings kaum praktikabel sein.

Inzwischen haben das auch die meisten Chip-Hersteller verstanden und implementieren starke Algorithmen wie AES. Der nächste Schwachpunkt wird daher laut Karsten vermutlich die (un-)sichere Speicherung von Masterkeys in Chips werden. Masterkeys werden in Hardware verschlüsselt gespeichert und mit proprietären Algorithmen vor der Verwendung entschlüsselt. Wie man proprietäre Algorithmen analysiert haben Karsten und Starbug jedoch bereits vorgeführt.

Ich frage mich, ob das bei der Premiere-Verschlüsselung auch funktionieren würde?

7 Comments

  1. Hier lernt man echt fürs Leben.
    Wenn das so gut dokumentiert ist, wie du das machst, fühlt man sich fast so, als wenn man dabei wäre.

    Danke und weiterhin ganz viel Spaß,
    Martina

    Comment by Martina — 27. Dezember 2008 @ 20:09

  2. Du kannst ja dabei sein. Wie jedes Jahr gibt es auch einen Live Videostream aus den diversen Vortragsräumen.

    Comment by Christian — 27. Dezember 2008 @ 20:28

  3. Stimmt, Danke für den Link,
    zumindest nen Blick reinwerfen werd ich ab und zu mal.
    Gibt dann nur wieder Megastress, wenn ich den Ton anhabe:-)

    Comment by Martina — 27. Dezember 2008 @ 20:50

  4. Hmm … schon mal von Kopfhörern gehört?

    Comment by Christian — 27. Dezember 2008 @ 21:23

  5. Ja, irgendwas war da mal:-)
    Hab bloss keine da.

    Comment by Martina — 27. Dezember 2008 @ 21:45

  6. Tja, und jetzt haben auch die Geschäfte zu. Anfängerfehler.

    Comment by Christian — 27. Dezember 2008 @ 22:11

  7. Kommentare gesperrt wegen Spam

    Comment by Christian — 10. März 2009 @ 22:14

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.