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!