*Vorspannmusik*
Herald: RFID-Transponder... sind etwas
sie werden sehr verbreitet eingesetzt. Ich denke fast jeder von Euch
nutzt für das ein oder andere solche Transponder
und besonders beliebt sind sie ja auch gerne mal als Zugangssystem.
Wir hören jetzt einen Vortrag über den Hitag S,
der eigentlich eingesetzt werden soll für unkritische Systeme
wie Logistik oder Wäscherei-Automatisierung.
Spannende Themen. Aber der ein oder andere, wie das so gerne ist, denkt sich:
Ach was dafür super funktioniert, ey dafür mach‘ ich auch mein Zugriffskontrollsystem
oder Zutrittskontrollsystem, dass Leute in meine Räume können.
Das ist natürlich ein bisschen mutig.
Und was unsere Speaker (Sprecher) hier gemacht haben,
ist mal zu gucken, ob sie nicht auch diese Systeme angreifen können;
von bereits geknackten Systemen das mal übertragen
und das werden sie uns heute zeigen und erklären, was sie gemacht haben.
Und dass es vielleicht doch nicht so eine gute Idee ist,
den Hitag S für das Zugriffssystem zu benutzen.
Also heißt sie willkommen mit einem schönen Applaus,
unsere Speaker Ralf Spenneberg und Oguzhan Cicek!
*Applaus*
Ralf: Ja hallo, ich freu‘ mich hier sein zu dürfen.
Mein Name ist Ralf Spenneberg.
Das ist Oguzhan, der dritte der hier auf der Folie steht, ist leider erkrankt
und konnte deswegen nicht mitkommen. Aber mit dreien hier auf der Bühne
wär‘s vielleicht auch ein wenig lächerlich gewesen bei nur 30 Minuten...
Aber wir hätten uns dann irgendwie aufgeteilt; aber schauen wir mal.
Was machen wir? Wir machen Widerstandsanalysen etc.,
das ist die einzige Folie zur Werbung.
Ansonsten haben wir uns halt mit RFID-Systemen beschäftigt.
Warum mit RFID-Systemen? Was gibt‘s an RFID-Systemen?
Vielleicht kurz ein, zwei Sachen zum Hintergrund.
Die von euch, die eben diese Transponder kennen
die man so am Schlüsselbund teilweise hat, oder die in der Mensa damit bezahlen
mit solchen Scheckkarten, die also drahtlos bezahlen,
die verwenden üblicherweise immer irgendeine Art von Transpondertechnologie.
Es gibt dort in Abhängigkeit von der Frequenz die diese Transponder sprechen
drei Bereiche, die üblicherweise eingesetzt werden.
Es gibt die Low-Frequency-Transponder, die High-Frequency-Transponder und
und die Ultra-High- Frequency-Transponder.
Wir beschäftigen uns hier nur mit den Low-Frequency-Transpondern.
Die Low-Frequency-Transponder werden eingesetzt in erster Linie eben,
wo ich einen sehr engen Kontakt herstellen kann
oder auch herstellen möchte oder herstellen muss.
Ihre Reichweite ist relativ gering. Darüber hinaus
können sie leider Gottes auch häufig nur sehr wenig Energie transferieren.
Wenn ich also einen passiven Transponder einsetze,
kann er nur recht gering angeregt werden und kann damit keine
großartigen mathematischen Operationen durchführen,
was bei den High-Frequency- Transpondern ein wenig anders ist.
Bei den Low-Frequency-Transpondern kann man das letzte Problem
eigentlich nur dadurch beheben, dass ich einen aktiven Transponder verwende,
der über eine eigene Batterie verfügt.
Low- und High-Frequency- werden eingesetzt in Schließanlagen,
da werde ich am Ende nochmal wieder darauf zurückkommen.
Ultra-High-Frequency wird verwendet vor allem in der Logistik,
wo ich noch größere Reichweiten brauche, wenn ich also eine Palette
aus einer größeren Entfernung auslesen möchte.
Ansonsten werden Low- und High-Frequency-Transponder
eben für alles Mögliche eingesetzt, in Büchereien, in Wäschereien, allgemein Logistik, etc.
Der Hitag S ist ein 125kHz-Transponder.
Es gibt ihn in 3 verschiedenen Varianten. Die Varianten mit 256 bit und 2048 bit
verfügen über einen eingebauten Authentifizierungsmechanismus.
Dieser Authentifizierungsmechanismus verwendet einen 48bit-Schlüssel,
d.h. grundsätzlich ist er per Brute Force brechbar,
das ist im Grunde inzwischen trivial geworden. Er hat darüber hinaus
noch ein 24bit-Passwort, was in dem Transponder gespeichert wird,
mit dem der Transponder sich dann selbst wieder authentifizieren kann,
dazu gleich mehr, und verwendet dabei einen bisher nicht dokumentierten
Verschlüsselungs-Cypher. Das heißt der Hitag S gilt offiziell
bis heute als ungebrochen oder als sicher.
Es sind weitere Transponder aus der Hitag-Familie
in der Vergangenheit gebrochen worden und wir haben uns eben angeschaut,
ob man nicht diese Angriffe tatsächlich auf den Hitag S übertragen kann, denn...
Warum machen wir das Ganze überhaupt?
Wir haben bei uns in unserem eigenen Gebäude
eine RFID-basierte Schließanlage. Die habe ich irgendwann mal
2007 eingeführt und ich hatte immer ein ungutes Gefühl dabei.
Und wir haben uns mit dieser Schließanlage beschäftigt,
wir haben diese Schließanlage ziemlich böse gebrochen.
Wir haben Kontakt zum Hersteller aufgenommen,
der Hersteller hat es inzwischen gefixt, und zum 01.01.2016 werden wir
das entsprechende Advisory veröffentlichen in dem dann nachlesbar ist,
was alles kaputt war und dass man eben entsprechend seine Firmware updaten muss.
Von daher kann ich da jetzt noch nichts drüber sagen, weil ich mich dem Hersteller
gegenüber verpflichtet habe, tatsächlich bis zum 01.01. zu warten.
Wir haben dann nach einer Alternative gesucht und wir haben uns Demosysteme
verschiedener Hersteller zeigen lassen, u.a. ein System was den Hitag S verwendete.
Ich hätte es besser wissen müssen, aber der Hersteller hat eben unter anderem
die Tatsache, dass der Hitag S als noch nicht gebrochen gilt
als eine besondere Eigenschaft beworben. Und dann haben wir uns den Hitag S
ein wenig genauer angeschaut. Ganz kurz zu Schließanlagen:
Schließanlagen gibt es in 2 Varianten: es gibt Schließanlagen die online arbeiten.
D.h. ihr haltet euren Transponder an ein Lesegerät,
das Lesegerät kommuniziert irgendwo mit einem zentralen Server,
der zentrale Server sagt, ob dieser Transponder die Berechtigung aufweist,
die Tür zu öffnen oder nicht zu öffnen.
In solchen Fällen wird üblicherweise
nur die Identifikation des Transponders ausgelesen.
D.h. in dem Moment wo ich den Transponder emulieren kann, oder
in dem Moment wo ich einen Transponder kaufen kann, dessen Identifikationsnummer
– die wird üblicherweise vom Hersteller reingeschrieben, ist üblicherweise
eindeutig vom Hersteller garantiert – in dem Moment wo ich einen Transponder
bauen kann indem ich diese Identifikationsnummer ändern kann,
habe ich einen Schlüsselklon und verfüge über genau dieselben Schließberechtigungen.
Teilweise gibt es dort aber auch inzwischen Schließanlagen,
gerade bei den High-Frequency- Transpondern, wenn sie die verwenden
die dann auch zusätzlich noch die Authentifizierung des Transponders mitbenutzen und dann
z.B. einen Mifare, Desfire oder ähnliches einsetzen.
Offline-Schließanlagen – das sind die, die wir bei uns z.B. haben und die
jetzt auch in diesem Fall eingesetzt wurde, die wir uns angeschaut haben –
speichern die Schließberechtigung auf dem Transponder selbst drauf.
D.h. wenn ich in der Lage bin, den Transponder auszulesen,
möglicherweise selbst zu beschreiben und die Informationen,
die Schließberechtigungen, nicht besonders gesichert sind gegen Manipulation,
bin ich sogar in der Lage, die Schließberechtigungen zu ändern.
Ist bei vielen Schließanlagen tatsächlich der Fall.
Dort sind ganz grobe Schnitzer gemacht worden teilweise
in der Art und Weise, wie die Daten drauf gespeichert werden. Wie gesagt, am 01.01.
gibt‘s ein Advisory dazu. In einigen Fällen wird aber zusätzlich auch noch
eine Authentifizierung durchgeführt und das ist eben beim Hitag S auch der Fall.
In dem Moment, wo ich einen derartigen Transponder aber auslesen kann
und emulieren kann, habe ich eine Schlüsselkopie hergestellt.
Und jetzt ist das Problem bei den Transpondern, dass das ja häufig einfach
im Vorbeigehen passieren kann. Ich sitze in der Straßenbahn, habe meinen
Transponder in der Tasche, habe nicht so ein RFID-Shield wie man‘s hier kaufen
kann auf dem C3 und jemand setzt sich neben mich mit ‘nem Rucksack und liest aus
30cm Entfernung meinen Transponder aus. Und hat dann eine Schlüsselkopie.
Und das sollte so ein Transponder verhindern
und das haben wir uns halt ein wenig angeschaut. Und jetzt übergebe ich
an Oguzhan der ein bisschen was zu den technischen Details erzählen wird.
Oguzhan: Ja, danke Ralf. Das erste was wir gemacht haben ist: wir haben uns mal
die Authentifizierung angeguckt. Wie wird zwischen dem Lese-Schreibe-Gerät
und dem Transponder authentifiziert? Das sieht so aus, dass als erstes
allen Transpondern in der Reichweite die UID abgefragt wird.
Daraufhin antworten alle Transponder mit ihrer eindeutigen 32 bit UID,
dann schickt das Lese-Schreibe-Gerät einen sogenannten Select-Befehl
und wählt einen dieser Transponder aus, mit dem es kommunizieren möchte.
Dieser ausgewählte Transponder schickt dann seine Konfiguration Byte 0..2
dem Lese-Schreibe-Gerät; und aus diesen Bytes kann man alles über den Transponder
entnehmen, was man benötigt. Also: welche Speichergröße hat dieser Transponder,
möchte der sich überhaupt authentifizieren, welche Seiten darf ich überhaupt lesen,
welche darf ich beschreiben. Dann kommt noch hinzu: welche Modulation muss ich
verwenden, mit welchen Geschwindigkeiten. Dies kann ich alles aus diesen
Konfigurations-Bytes herausnehmen.
Falls jetzt gelesen wurde „es möchte sich authentifizieren“,
dann geht das Lese-Schreibe-Gerät hin und bestimmt ‘ne 32bit-Zufallszahl.
Mit dieser Zufallszahl wird sogenannte Secret-Data berechnet, 32bit lang.
Und diese Kombination dieser, auch „Challenge“ genannt, dem Transponder
übermittelt. Wenn der Transponder nun auch auf dieselbe Secret-Data schließt,
wird impliziert, dass das Lese-Schreibe- Gerät diesen geheimen Key kennen muss.
Jetzt geht der Transponder hin und verschlüsselt seine 3 Passwort-Bytes
und ein Byte der Konfiguration und schickt‘s dem Lese-Schreibe-Gerät.
Wenn der diese entschlüsselt und das richtige Passwort ausliest,
sind beide gegenseitig authentifiziert. Danach kann die unverschlüsselte
Datenübertragung zwischen diesen Komponenten stattfinden.
Die nächste Frage ist natürlich: womit wurde da diese Secret-Data berechnet
und wie wird verschlüsselt und entschlüsselt.
Wenn man sich das Memory-Layout vom Hitag S mal genauer anschaut und es
mit dem bereits gebrochenen Transponder vom Hitag 2 mal vergleicht,
dann erkennt man sehr große Unterschiede, insbesondere da, wo die
Konfigurations-Bytes sich befinden und wo der Key und das Passwort gespeichert sind.
Zudem wird im Datenblatt erwähnt, dass ein Lese-Schreibe-Gerät, das sich
authentifizieren möchte, einen ganz be- stimmten Co-Prozessor implementieren muss.
Und zwar den Philips HT RC130. Dieser wird von allen Transpondern der Hitag-Familie
verwendet und wir haben uns diesen mal genauer angeschaut, und zwar das Kommando-
Interface; welche Kommandos kann man da überhaupt senden, auf diesen Co-Prozessor.
Und da erkennt man ziemlich schnell, es gibt spezifische Kommandos, um das
Hitag 1, 2 und S Verschlüsselung anzustoßen. Aber es gibt keine
Hitag-S-spezifischen Kommandos um die Daten ins EPROM zu speichern.
Daraus kann man schließen, dass dort ähnliche Parameter verwendet wurden
wie bei den anderen Transpondern.
Zudem kommt noch die Tatsache hinzu, dass ein Co-Prozessor, der bei drei
verschiedenen Transpondern verwendet wird, sehr unwahrscheinlich drei komplett
verschiedene Cypher implementiert.
Unter diesen Annahmen haben wir einfach behauptet, die Annahme getroffen,
dass dieser Cypher vom Hitag S ähnlich oder gleich des Hitag 2 ist.
Der Hitag-2-Cypher ist schon seit knapp 10 Jahren bekannt, den hat der Herr C. Wiener
reverse-engineered und publiziert. Der sieht so aus.
Der besteht im Grunde aus 2 Dingen: Einer nichtlinearen, zweistufigen
Überführungsfunktion f() und einem 48bit-Schieberegister.
Eine Eigenschaft dieses Cyphers werden wir für die folgenden Angriffe benötigen.
Und zwar: wenn man sich die Initialisierung dieses Cyphers anschaut,
dann erkennt man, dass die OUT-Bits erst verwendet werden können,
wenn dieser Cypher initialisiert wurde. Also wir müssen in diesem 48bit-
Schieberegister einen sogenannten Initial-Zustand erreichen.
Das wird so gemacht, dass dort die 32bit-UID des Transponders und die
hinteren 16bit des Keys genommen werden, und damit wird der Cypher initialisiert.
Erstmal. Also das Schieberegister wird damit initialisiert.
Dieses wird nun 32mal ge-shifted, und beim Shiften wird die Neustelle ganz rechts
immer aufgefüllt. Und wenn ich 16bit des Keys in ein 48bit Schieberegister stecke,
und dann 32mal shifte, dann fallen diese ja nicht raus, in diesem Initialzustand.
Sondern die befinden sich weiterhin in der ersten Position.
Was wir jetzt mit diesem Cypher gemacht haben, ist: wir haben den Proxmark
genommen – das ist ein RFID-Tool, darauf komme ich gleich noch zu sprechen –
und haben das Hitag-S-Cypher implementiert mit diesem Cypher des Hitag 2.
Und damit haben wir erstmal einen Hitag-S- Transponder in den Authentifizierungsmodus
versetzt mit einem uns bekannten Key. Und damit war es tatsächlich möglich,
bei dem Hitag S sich zu authentifizieren. Damit ist die Annahme erstmal bestätigt
worden, dass dort derselbe Cypher verwendet wurde den Sie hier sehen können.
Der wird zwar nicht exakt für das gleiche verwendet, der Cypher an sich, ist aber
derselbe. Bevor wir jetzt mit den Angriffen starten, brauchen wir erstmal
ein bisschen Hardware und Software. Als Hardware haben wir den sogenannten
Proxmark – wie gesagt – genommen. Das ist ein General-Purpose-RFID-Tool.
Der kann eben sowohl im Low- als auch im High-Frequency-Bereich alle möglichen
Daten empfangen und senden. Da haben wir einige Software dazu geschrieben,
z.B. ein Lese- und Schreibe-Gerät, um für den Transponder zu lesen und zu
beschreiben natürlich. Und einen Emulator, um anschließend, wenn ich diesen Key
erstmal gebrochen habe, auch mal so einen Transponder emulieren zu können.
Jetzt bevor wir überhaupt zu den komplizierteren Angriffen kommen, erstmal
die einfachen. Und zwar ein Replay-Angriff ist möglich. Vielleicht hat‘s der eine
oder andere schon gesehen: und zwar in der Authentifizierung haben wir nur eine
einzige Zufallsvariable und die wird vom Lese-Schreibe-Gerät bestimmt.
Wenn ein Angreifer also diese komplette Kommunikation mitschneidet, z.B. mit
dem Proxmark, dann kann er diese Challenge-Nachricht erneut dem Transponder
schicken. Und das einzige was dem übrigbleibt, ist, zu implizieren, dass ich
den Key kennen muss. Weil ich kann ja natürlich als Angreifer seine Antwort
darauf nicht entschlüsseln, um seine Passwort-Bytes auszulesen.
Aber die interessieren mich ja nicht. Weil ich kann hiernach, also nach
einem einfachen Replay-Angriff, dieselben Befehle ausführen
wie ein echtes Lese-Schreibe-Gerät.
Dann hat der Ralf das schon kurz erwähnt:
Brute-Force-Angriffe. Ist nur 48bit-Key, der Cypher ist nicht wirklich komplex.
Wenn man da paar Server nimmt, kann man den Key bereits in einigen Wochen brechen.
Dann gibt‘s einen weiteren Angriff.
Und zwar das ist ein Angriff gegen den Hitag 2, der wurde vor knapp 4 Jahren
veröffentlicht. In dem Paper „Gone in 360 seconds“ auf der Usenix.
Der benötigt 150 Challenges, also 150 verschiedene Authentifizierungen.
Und wenn ich die aber erstmal habe, brauche ich für diesen Angriff
nur 5 Minuten. Das ist ein rein mathematischer Angriff, der eine andere
Schwachstelle des Cyphers ausnutzt auf die wir jetzt nicht weiter eingehen werden.
Dann gibt‘s noch ‘nen – das ist eher ein
Design-Fehler von ihrer Seite – und zwar
wenn man sich die Konfigurations-Bits mal anschaut, dann gibt‘s 3 Bits, die
interessieren uns besonders. Das OUT-Bit – wenn das gesetzt ist, möchte
der Transponder sich authentifizieren. Wenn das LCON-Bit gesetzt ist, dann kann
ich die Konfiguration nicht mehr bearbeiten,
und das „Locked Key and Password“ schützt meinen Key und mein Passwort vor lesenden
und schreibenden Zugriffen. Das Problem hier ist, ich kann die getrennt setzen.
Also die sind komplett unabhängig. Ich kann also Transponder verkaufen, die
sich authentifizieren wollen, und die auch die richtigen Speicherbereiche schützen,
aber wo ich einfach die Konfiguration wieder neu schreiben kann.
Davor ist der Transponder leider nicht geschützt. Ein weiterer Angriff,
der besonders effektiv ist, ist ein sogenannter SAT-Solver.
Was ist ein SAT-Solver? Ja, SAT-Solver wie der MiniSat oder der CryptoMiniSat 4 sind
mathematisch optimierte Algorithmen, die versuchen, Formeln zu lösen.
Also die Erfüllbarkeit zu beweisen. Die Formeln sind meistens in der
Konjugierten Normalform und bei diesen Beispielen hier, die Sie hier sehen können
würden SAT-Solver jetzt versuchen, eine Belegung für A, B und C zu finden,
so dass das Ganze den Wahrheitswert TRUE ergibt.
SAT-Solver kommen ursprünglich eigentlich aus der Elektrotechnik, wo ich eine
logische Schaltung verifizieren möchte. Aber ich kann damit jedes Problem lösen,
wenn ich das Problem in eine Formel umwandeln kann.
Und genau das möchten wir machen.
Wir wollen sagen: so sieht der Cypher aus, diese Bits habe ich als Angreifer
mitgelesen, baue mir bitte eine Formel und löse das.
Bevor wir diese Formel erstmal aufbauen, brauchen wir erstmal die Keystream-Bits.
Wie kommen wir an die Keystream-Bits ran? Ja, ganz einfach: dieses Secret Data, das
sind die ersten 32 bit, und zwar negiert. Wenn ich die also zurück-negiere,
erhalte ich die ersten 32bit.
Dann – es kommen 2 Bit, einmal verschlüsselt, einmal nicht verschlüsselt
geschickt. Wenn ich die also wieder XOR rechne, habe ich die nächsten 8 Bits.
Das bedeutet ich kann pro Authentifizierung genau 40 Keystream-Bits herausbekommen.
Das ist ein Problem. Weil ich suche ja einen Initialzustand, einen 48bit-
Initialzustand, womit ich diese Bits berechnen kann.
Und je weniger Bits ich habe, desto höher ist die Wahrscheinlichkeit, dass dieser
Initialzustand falsch ist. Und bei 40 Bits tritt das leider schon auf.
Beim Hitag 2 hat man dieses Problem nicht. Weil beim Hitag 2 wird auch die
Datenübertragung verschlüsselt, also da komme ich an viel mehr als 40 Bits ran.
Wie lösen wir das beim Hitag S? Wir nehmen 2 Cypher, also 2 verschiedene
Verschlüsselungen und lesen dort die Keystream-Bits aus. Wie oben beschrieben.
Sozusagen finden wir einen Initialzustand dafür und einen Initialzustand dafür.
Und dann verwenden wir die Eigenschaft von der Folie vorher, wo wir gesagt haben,
der Initialzustand ist ja in den ersten 16 Bit... die ersten 16 Bit vom Key, und
der ändert sich ja nicht, wenn ich mich zweimal authentifiziere.
Also füge ich die Nebenbedingung hinzu: Diese 2 Initialzustände, die du suchen
sollst, sollen in den ersten 16 Bit gleich sein.
Diese Formel erstelle ich mir dann, die wird dann mit den SAT-Solvern innerhalb
von, ja unter 5 Tagen meistens, gelöst und das Ergebnis ist ein Initialzustand.
Das bedeutet 16 Bit vom Key. Ja, wie komme ich an die restlichen Daten ran?
Also, der Key ist ja 48bit lang und ich habe ja erst 16.
Natürlich: brute-forcen, weil die restlichen 32bit ist keine große Zahl,
das muss ich keinem jetzt, glaube ich, erwähnen.
Und ich kann einen sogenannten Rollback ausführen. Was ist ein Rollback?
Ja, der Initialzustand ist ja quasi das Ergebnis der Initialisierung.
Und in die Initialisierung fließen 3 Parameter ein: Die Zufallszahl, die UID
und der Key. Ich kenne das Ergebnis, den Initialzustand, die UID und die Zufallszahl
aus der Authentifizierung. Dann kann ich die einzige Unbekannte natürlich mit einer
XOR-Operation wieder herausrechnen. Das bedeutet ich rechne Schritt-für-Schritt
den vorigen Zustand hervor – also von dem aktuellen Zustand zu dem vorigen und
bekomme immer einen weiteren Key. Das geht so fort, das sind nur 32 Operationen.
Und wenn ich den Key erstmal habe, das heißt noch nicht direkt, dass ich den
kompletten Transponder lesen kann. Weil, wie gesagt, da gibt‘s ein LKP-Bit,
der schützt Key und Passwort. Den Key kenne ich und das Passwort, das wurde ja
verschlüsselt in der Authentifizierung übertragen. Das kann ich wieder
entschlüsseln. Weil ich jetzt ein Angreifer bin, der den Cypher
und den Key kennt. Wenn ich natürlich jetzt den kompletten Inhalt
des Transponders habe und ich weiß wie der Cypher aussieht, wie das Protokoll
aussieht, kann ich so einen Transponder auch natürlich emulieren.
Was kann man als Hardware nehmen? Wie wir, den Proxmark oder RFIDler, oder
in dem Frequenzbereich kann man auch sich selber was zusammenbauen, ist relativ
einfach. Der Angriff besteht aus drei Teilen. Also einmal die Trace, also die
Authentifizierung zu sammeln und den Key zu brechen. Das ist abhängig davon,
welchen Angriff man nimmt. Krypto- analytischer Angriff oder SAT-Solver
um den Transponder komplett auszulesen und die Emulation zu starten.
Das geht sofort.
Ralf: Gut. D.h. wenn ich jetzt eine Schließanlage habe, die den Hitag-S-
Transponder einsetzt – und ich komme gleich noch einmal dazu, wo es sowas
möglicherweise geben kann – dann besteht tatsächlich die Gefahr, dass jemand
während ich z.B. den Schlüssel ins Schloss reinstecke oder während ich meinen
Transponder davorhalte, mit einer entsprechenden Antenne diese
Authentifizierungsvorgänge mitliest. Ich brauche von einem Schlüssel, wie wir
gesehen haben, beim SAT-Solver 2 Challenges, also 2 Austausche des
Schlüssels mit dem Schloss bzw. wenn ich einen krypto-analytischen Angriff fahren
möchte, 150, das ist sicherlich ein wenig schwieriger so irgendwie zu machen.
Dafür müsste ich schon kurzzeitig Zugang zu dem Schlüssel haben, ich müsste ihn in
meine eigene Gewalt bringen, dann dahin gehen, um diese 150 Challenges auszulesen.
Und kann damit den Key brechen, der von diesem Schlüssel verwendet wird und
anschließend eben auch sämtliche andere Daten, die dieser Schlüssel besitzt,
auslesen bzw. ableiten. D.h. ich bin in der Lage, tatsächlich einen Klon herzustellen.
Wenn darüber hinaus möglicherweise bei der einen oder anderen Schließanlage die Daten
auf dem Schlüssel nicht richtig gesichert sind, kann ich vielleicht sogar
die Schließberechtigungen erweitern. D.h. ich kann aus den Schließberechtigungen
eines Praktikanten die Schließberechtigungen des Geschäftsführers machen.
Auch das haben wir tatsächlich bei einer gewissen Anlage gesehen. Das war aber
nicht eine Anlage die auf Hitag S basierte. Wir haben uns dann umgeschaut
und haben geschaut, was gibt es sonst noch an Low-Frequency-Transpondern.
Und alle anderen Low-Frequency- Transponder, die wir gefunden haben,
waren entweder schon gebrochen oder verwenden Verfahren, die wahrscheinlich
genauso einfach zu brechen sind wie jetzt dieses Verfahren vom Hitag S. D.h.
die Low-Frequency-Transponder verfügen grundsätzlich nicht über genügend Energie
– unserer Ansicht nach – um sichere Verfahren wie ein AES-Verfahren
oder etwas ähnliches einzusetzen. D.h. ich brauche tatsächlich, wenn ich
Schließanlagen sicher implementieren möchte, Zutritts-Kontroll-Systeme
sicher implementieren möchte, High-Frequency-Transponder.
High-Frequency-Transponder heißt aber jetzt nicht grundsätzlich,
meine Schließanlage ist sicher, weil auch dort gibt es z.B. auch Sachen wie
den Mifare Classic. Und dass der Mifare Classic gebrochen ist, weiß glaube ich
inzwischen jeder. Wenn man sich die Hersteller anschaut, die dann eben z.B.
auch den Desfire unterstützen, stellt man fest, dass ich in deren Schließanlagen
aber ohne weiteres auch weiterhin ein Mifare Classic verwenden kann.
D.h. die Schließanlagen sind rückwärts kompatibel. Und wenn die Schließanlage
vielleicht auch schon 5, 6, 7, 8 Jahre im Einsatz ist, besteht auch
eine große Gefahr, dass möglicherweise noch so ein klassischer
Mifare-Classic-Transponder irgendwo im Einsatz ist. Weil man den damals
gekauft hat und vielleicht nicht ersetzt hat. D.h. die moderneren Verfahren
können sicher sein, müssen aber nicht sicher sein.
Wir haben dann einfach mal geschaut, welche Hersteller tatsächlich
Low-Frequency-Transponder einsetzen, oder sogar den Hitag S einsetzen.
Und es gibt eine Vielzahl von Schließ- Systemen. Das heißt jetzt nicht
automatisch, dass wenn Ihr Hersteller auf dieser Liste ist, Ihr Schließsystem
kaputt ist. Weil einige Hersteller haben eben auch Alternativen dazu.
D.h. z.B. bei Uhlmann & Zacher, dort wird eben auch die Schließanlage mit
High-Frequency-Transpondern angeboten. Und ich kann dort auch den Desfire einsetzen.
Wenn Sie aber eine Low-Frequency-Anlage gekauft haben, können Sie dort nur
den Hitag – ich glaube der Hitag 1 ist es dort, oder war es der Hitag 2 –
und irgendwie einen EM4450, der noch weniger Schutz bietet
und bei dem tatsächlich das Klonen dieser Transponder dann trivialst einfach ist.
Sie müssen sich im Grunde nur ein Stück Hardware bauen für vielleicht 20..30 Euro
und Sie haben eine Kopie des Schlüssels, der sich genauso verhält
wie der Originalschlüssel. Und wenn dann eben nachts um 3 Uhr
eingebrochen wird und Sie schauen in Ihrer Schließanlage nach – das ist ja einer der
großen Vorteile dieser Schließanlagen, sie protokollieren ja genau, wer die Tür
geöffnet hat – dann sehen Sie dass der Geschäftsführer die Tür nachts um 3 Uhr
geöffnet hat. Und es ist keine Möglichkeit nachzuvollziehen, wer es wirklich war.
Wenn man dann die Hersteller konfrontiert – das vielleicht noch so zum Abschluss –
und sie fragt, wie sie denn so ein Schließsystem verkaufen können,
dann wird einem entweder geantwortet, „Ja das war vor 7 Jahren state-of-the-art“
oder „Wir sehen keinen Grund, den Kunden zu informieren, dass das vielleicht heute
nicht mehr der Fall ist“ oder man kriegt als Antwort „Wir haben nie behauptet,
dass das sicher ist!“ – „Wir machen keine Sicherheitssysteme, wir machen
Zutrittskontroll- oder Zutrittsorganisations-Systeme!“
Und dann geht man hin und sucht auf der Web-Seite des Herstellers nach dem Wort
„Sicherheit“, und es taucht zumindest in dem Bereich nicht einmal auf.
Und dann fragt man sich, ob der Hersteller das nicht vielleicht schon lange weiß,
und einen die ganze Zeit für dumm verkaufen will. Weil...
wo überall sind diese Systeme? Krankenhäuser, Behörden etc.
Damit möchte ich schließen,... Fragen?
Und danke für die Aufmerksamkeit! *Applaus*
Herald: Vielen Dank! Also ich hab‘ gelernt ich werde jetzt auf jeden Fall genauer auf
Herstellerseiten lesen, wenn ich damit zu tun habe. Was da so steht und was nicht.
Wir haben noch 5 Minuten für Fragen. Wenn ihr Fragen stellen möchtet, geht bitte
zu einem der 6 Mikrofone, die hier in den Gängen stehen. Und natürlich auch an alle
die uns in den Streams folgen: es gibt die Möglichkeit im IRC Fragen zu stellen,
die dann nette Engel hier uns vor Ort vorlesen.
An Mikrofon 3, sehe ich da ‘ne Frage?
Frage: Ja, eine Frage: Kann man dann ohne Besitz des Transponders
Paare sammeln von Challenge und vom Reader generierter Response,
wenn man einfach zum Leser hingeht?
Ralf: Nein. Der Punkt ist ja, ich brauche, der Leser muss glauben, dass er mit
dem Transponder spricht und muss dem Transponder eben Daten schicken.
Also was man machen kann, wenn du Zugang hast zu dem Transponder, also die ID
des Transponders irgendwie anders aus größerer Entfernung auslesen kannst,
kannst du natürlich einen Emulator bauen, der erstmal behauptet, diese ID zu sein.
Damit kannst du dann zu dem Lesegerät hingehen. Das Lesegerät wird dir dann die
Challenge schicken. Weil es ja diesen Transponder aktivieren möchte.
D.h. so ja, aber ich muss einmal eine gültige ID ausgelesen haben.
Wobei es kommt ein bisschen auf das Schließsystem an. Wir haben auch
ein Schließsystem gesehen, wo die Hardware IDs nicht wirklich intern sich merkt.
D.h. das arbeitet ein bisschen anders. Also da kann man wahrscheinlich sogar
mit einer beliebigen ID dahin gehen und man bekommt ein Challenge
von dem Lesegerät geschickt. Frage: OK, danke.
Herald: Gut, die nächste Frage von Mikrofon Nr. 5 da hinten!
Frage: Ich habe zuletzt c‘t gelesen, da war so ein schöner Artikel
über Mercedese die über Relay-Angriffe geöffnet werden.
Habt ihr sowas auch ausprobiert? Sprich, einer fährt mit der Straßenbahn
und dem Schlüsselhalter mit und der andere steht an der Tür.
Ralf: Wir haben‘s nicht direkt ausprobiert aber trivial einfach mit dem Transponder.
Frage: Also keine Timing-Geschichten? Ralf: Nein.
Herald: Gut. Mikrofon Nr. 4?
Frage: Ja, meine Frage ist: Werden Sie die Proxmark-Sourcen releasen?
Ralf: Ich denke schon, ja. Also zumindest Teile davon, ja.
Frage: Okay. Ralf: Also... ja.
Ralf: Also... ja. Nee, NXP ist übrigens... also NXP ist der Hersteller dahinter...
ursprünglich hat Philips das Ding gebaut, NXP ist kontaktiert worden von uns vor...
das erste Mal vor 4 oder 5 Monaten, da hatten wir keine Antwort. Dann nochmal
vor irgendwie 60 Tagen, oder 45..50 Tagen, NXP ist informiert und hat eben auch
seine Kunden angeschrieben. Also wenn hier ein Kunde drin sitzen sollte, der
diese Transponder einsetzt, in eigenen Applikationen: Verlassen Sie sich nicht,
eben, mehr auf die Identität des Transponders... also wenn die Identität
des Transponders wichtig ist für die Sicherheit Ihrer Applikation...
sorry Ihrer Applikation, dann ist die Applikation kaputt. Schließsysteme
– nebenbei – bestehen häufig aus 500..1000 oder mehreren Schlössern und so
10000 Transponder die ich da tauschen muss in größeren Gebäuden. Schwer zu tauschen.
Herald: Dann schließe ich noch mal mit... Haben wir noch ‘ne Frage? Ah, hier kommt
noch eine Frage aus dem Internet. Gut, für eine haben wir noch Zeit. Bitte!
Signal Angel: Könnte man, wenn man diese Kommunikation aufzeichnen will bei 125kHz
auch Soundkarten einsetzen dafür?
Ralf: Gute Frage. Keine Ahnung. Haben wir nicht gemacht, wir haben Oszilloskope
eingesetzt um uns das anzuschauen, was da übertragen wird. Aber wenn die Soundkarte
die 125kHz auflösen kann, dann wäre das wahrscheinlich sogar machbar...
dort das zu machen. Man muss sich dann eben ein wenig mit der Modulation
und ähnlichem beschäftigen. Das ist nicht ganz trivial bei den Transpondern.
Herald: Gut, dann nochmal einen herzlichen Applaus und vielen Dank
für diesen wundervollen Talk! *Applaus*
*Abspannmusik*
Untertitel erstellt von c3subtitles.de im Jahr 2016. Unterstütze uns!