Billige Verschlüsselung knacken

Seite 4: Attacke

Inhaltsverzeichnis

Die Einheitsmatrix für 64-Bit-Funktionen besteht aus 64 mal 64 Bits. Deren 64 Zeilenwerte in Hexadezimalschreibweise ergeben sich analog dem 8-Bit-Beispiel. Die Einheitsmatrix lässt sich mit einem Binäreditor wie bvi oder einem kurzen Perl-Programm in eine Datei schreiben. Per dd befördern wir diese auf die per SATA angeschlossene Festplatte:

# dd if=/tmp/unitymatrix.bin of=/dev/sda bs=1K seek=244193758

Nach dem Einbau ins S325 stehen in Block 1001 des geschützten Laufwerks in Reih und Glied die entschlüsselten Zeilen der Matrix A-1. Hier die ersten insgesamt der 64 Zeilenwerte:

0000000000000100
0000000000000004
0000000000008000
0000000000000080
0000000000000040
0000000000000200
0000000000000002
0000000000000010
00000000000009ef
0000000000000400
0000000000000020
...

Zusammen mit dem Matrixmultiplikationsprogramm von Harald Bögeholz, der bereits über eine GStor-Festplatte mit einer solchen Verschlüsselung stolperte, ergibt diese Matrix schon den kompletten Entschlüsselungsalgorithmus. Einzig dessen Byte-Reihenfolge (Endianess) beim sequenziellen Lesen und Schreiben der 64-Bit-Werte per fread() und fwrite() mussten wir noch an die der Zeilenwerte unserer Einheitsmatrix angleichen.

Dass die Matrix vorwiegend aus Nullen besteht, ist nicht nur ein Indiz dafür, dass unsere Vermutung goldrichtig war, sondern auch dafür, dass die Verschlüsselungsfunktion selbst für eine lineare Abbildung äußerst primitiv ist. Möglicherweise haben die Raidon-Ingineure einen hochkomplizierten Algorithmus mit Dutzenden oder hunderten Zeilen Code ersonnen, doch aufgrund seines linearen Verhaltens ist er durch die ermittelte Matrix vollständig beschrieben.

Nun können wir ohne Probleme per dd ein Image der verschlüsselten Partition erstellen, mit dem Programm entschlüsseln und per cloop mounten. Die Verschlüsselung ist somit vollständig geknackt.

Auf unsere Erkenntnisse angesprochen zeigte sich der Hersteller Raidon kooperativ und vor allem auskunftsfreudig. Von ihm erfahren wir zunächst, dass der Verschlüsselungsalgorithmus von der eingelegten Festplatte abhängig ist – vermutlich anhand der Seriennummer oder der Typenkennung. Mit einer anderen Festplatte ist die Entschlüsselungsmatrix leicht verändert, sodass man den Angriff für jede Festplatte neu durchführen muss.

Raidon teilt uns außerdem mit, dass das Gehäuse Staray S125, das per Windows-Software statt PIN-Pad entsperrt wird, mit demselben Verschlüsselungsalgorithmus arbeitet. Da die Verschlüsselung kein Hindernis mehr darstellt, ist die Zeit reif, sich mit den Verwaltungsinformationen des Controllers zu beschäftigen, die sich offensichtlich irgendwo auf der Festplatte befinden.

Da zwischen dem Ende der ersten Partition und dem verschlüsselten MBR nur ein Paar Nullen zu finden waren, liegen die Verwaltungsinformationen vermutlich am Ende der Festplatte. Also beginnen wir mit dem Auslesen nach der zweiten Partition und verlassen uns wiederum auf die komprimierende Darstellung von hexdump:

# dd if=/dev/sda bs=1K skip=488375936 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0095c010 d8 00 00 00 31 32 33 34 35 00 00 00 00 00 00 00 |....12345.......|
0095c020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
...

Oh weh! Gleich der erste Treffer ist die verwendete PIN im Klartext. Staray S125 erleidet damit Totalschaden.

Angespornt von diesem Erfolg wagen wir gleich noch einen Blick in die entsprechende Region der Festplatte unter dem S325-Regime. Doch hier steht die PIN nicht im Klartext. Kleine Änderungen der PIN führen zu völlig unterschiedlichen Daten in dem fraglichen Bereich. Vermutlich implementiert das S325 also eine bessere Kodierung, deren Analyse nach deutlich mehr Arbeit aussieht. Aufgrund der geknackten Verschlüsselung ist das S325 in unseren Augen jedoch keinen weiteren Aufriss mehr wert.

Es bleibt somit leider bei dem alten Fazit: Billige Hardware macht billige Verschlüsselung. Der Markt der USB-Speicher ist übersättigt mit günstigen Produkten, und wenn dort ein Hersteller mit einer Speicherlösung mit Hardwareverschlüsselung Fuß fassen will, muss er möglichst billig produzieren. Gespart wird offenbar aber gerne an der falschen Stelle, nämlich der Verschlüsselung. Die Entwicklung eines sicheren Verschlüsselungsystems kostet Geld und bei den Controller-Chips mit ihrer begrenzten Rechenleistung ist ein Kompromiss zwischen Herstellungskosten, Datendurchsatz und Sicherheit zu finden.

Einerseits vermögen zwar auch die Staray-S-Produkte Gelegenheitsfinder vom unbefugten Datenzugriff abhalten, aber das geht genau so gut und billiger mit einer kostenlosen Software wie TrueCrypt. Deren Verschlüsselungsalgorithmen gelten sogar nach allen Regeln der Kunst bisher als unknackbar, wenn das verwendete Passwort sicher ist.

[1] Christiane Rütten, Verschusselt statt verschlüsselt, Krypto-Festplattengehäuse ausgehebelt

[2] Harald Bögeholz, Windige Festplattenverschlüsselung, Excelstors GStor-Plus-Festplatte gehackt (cr)