WEBVTT
00:00:00.399 --> 00:00:09.410
Vorspannmusik
00:00:09.410 --> 00:00:13.219
Herald: RFID-Transponder...
sind etwas
00:00:13.219 --> 00:00:18.699
sie werden sehr verbreitet eingesetzt.
Ich denke fast jeder von Euch
00:00:18.699 --> 00:00:22.949
nutzt für das ein oder andere
solche Transponder
00:00:22.949 --> 00:00:28.650
und besonders beliebt sind sie ja
auch gerne mal als Zugangssystem.
00:00:28.650 --> 00:00:32.430
Wir hören jetzt einen
Vortrag über den Hitag S,
00:00:32.430 --> 00:00:36.300
der eigentlich eingesetzt werden
soll für unkritische Systeme
00:00:36.300 --> 00:00:40.930
wie Logistik oder
Wäscherei-Automatisierung.
00:00:40.930 --> 00:00:45.970
Spannende Themen. Aber der ein oder
andere, wie das so gerne ist, denkt sich:
00:00:45.970 --> 00:00:49.680
Ach was dafür super funktioniert, ey dafür
mach‘ ich auch mein Zugriffskontrollsystem
00:00:49.680 --> 00:00:54.210
oder Zutrittskontrollsystem,
dass Leute in meine Räume können.
00:00:54.210 --> 00:00:56.960
Das ist natürlich ein bisschen mutig.
00:00:56.960 --> 00:01:01.310
Und was unsere Speaker
(Sprecher) hier gemacht haben,
00:01:01.310 --> 00:01:04.569
ist mal zu gucken, ob sie nicht auch
diese Systeme angreifen können;
00:01:04.569 --> 00:01:07.830
von bereits geknackten
Systemen das mal übertragen
00:01:07.830 --> 00:01:12.100
und das werden sie uns heute zeigen
und erklären, was sie gemacht haben.
00:01:12.100 --> 00:01:15.269
Und dass es vielleicht
doch nicht so eine gute Idee ist,
00:01:15.269 --> 00:01:20.910
den Hitag S
für das Zugriffssystem zu benutzen.
00:01:20.910 --> 00:01:26.480
Also heißt sie willkommen
mit einem schönen Applaus,
00:01:26.480 --> 00:01:31.950
unsere Speaker Ralf Spenneberg
und Oguzhan Cicek!
00:01:31.950 --> 00:01:38.960
Applaus
00:01:38.960 --> 00:01:42.510
Ralf: Ja hallo,
ich freu‘ mich hier sein zu dürfen.
00:01:42.510 --> 00:01:43.900
Mein Name ist Ralf Spenneberg.
00:01:43.900 --> 00:01:47.170
Das ist Oguzhan, der dritte der hier
auf der Folie steht, ist leider erkrankt
00:01:47.170 --> 00:01:51.200
und konnte deswegen nicht mitkommen.
Aber mit dreien hier auf der Bühne
00:01:51.200 --> 00:01:54.740
wär‘s vielleicht auch ein wenig lächerlich
gewesen bei nur 30 Minuten...
00:01:54.740 --> 00:01:58.909
Aber wir hätten uns dann irgendwie
aufgeteilt; aber schauen wir mal.
00:01:58.909 --> 00:02:02.050
Was machen wir?
Wir machen Widerstandsanalysen etc.,
00:02:02.050 --> 00:02:04.400
das ist die einzige Folie
zur Werbung.
00:02:04.400 --> 00:02:08.539
Ansonsten haben wir uns halt
mit RFID-Systemen beschäftigt.
00:02:08.539 --> 00:02:11.510
Warum mit RFID-Systemen?
Was gibt‘s an RFID-Systemen?
00:02:11.510 --> 00:02:15.530
Vielleicht kurz ein,
zwei Sachen zum Hintergrund.
00:02:15.530 --> 00:02:17.739
Die von euch,
die eben diese Transponder kennen
00:02:17.739 --> 00:02:21.319
die man so am Schlüsselbund teilweise hat,
oder die in der Mensa damit bezahlen
00:02:21.319 --> 00:02:28.450
mit solchen Scheckkarten,
die also drahtlos bezahlen,
00:02:28.450 --> 00:02:31.930
die verwenden üblicherweise immer
irgendeine Art von Transpondertechnologie.
00:02:31.930 --> 00:02:37.150
Es gibt dort in Abhängigkeit von der
Frequenz die diese Transponder sprechen
00:02:37.150 --> 00:02:40.060
drei Bereiche, die
üblicherweise eingesetzt werden.
00:02:40.060 --> 00:02:43.489
Es gibt die Low-Frequency-Transponder,
die High-Frequency-Transponder und
00:02:43.489 --> 00:02:45.489
und die Ultra-High-
Frequency-Transponder.
00:02:45.489 --> 00:02:48.730
Wir beschäftigen uns hier nur mit
den Low-Frequency-Transpondern.
00:02:48.730 --> 00:02:54.890
Die Low-Frequency-Transponder werden
eingesetzt in erster Linie eben,
00:02:54.890 --> 00:02:58.690
wo ich einen sehr engen Kontakt
herstellen kann
00:02:58.690 --> 00:03:01.829
oder auch herstellen möchte
oder herstellen muss.
00:03:01.829 --> 00:03:04.840
Ihre Reichweite ist relativ gering.
Darüber hinaus
00:03:04.840 --> 00:03:08.919
können sie leider Gottes auch häufig
nur sehr wenig Energie transferieren.
00:03:08.919 --> 00:03:10.499
Wenn ich also einen
passiven Transponder einsetze,
00:03:10.499 --> 00:03:16.339
kann er nur recht gering angeregt werden
und kann damit keine
00:03:16.339 --> 00:03:19.089
großartigen mathematischen
Operationen durchführen,
00:03:19.089 --> 00:03:22.099
was bei den High-Frequency-
Transpondern ein wenig anders ist.
00:03:22.099 --> 00:03:24.729
Bei den Low-Frequency-Transpondern
kann man das letzte Problem
00:03:24.729 --> 00:03:27.639
eigentlich nur dadurch beheben,
dass ich einen aktiven Transponder verwende,
00:03:27.639 --> 00:03:31.729
der über eine eigene
Batterie verfügt.
00:03:31.729 --> 00:03:34.230
Low- und High-Frequency- werden
eingesetzt in Schließanlagen,
00:03:34.230 --> 00:03:38.009
da werde ich am Ende nochmal
wieder darauf zurückkommen.
00:03:38.009 --> 00:03:41.229
Ultra-High-Frequency wird verwendet
vor allem in der Logistik,
00:03:41.229 --> 00:03:44.159
wo ich noch größere Reichweiten brauche,
wenn ich also eine Palette
00:03:44.159 --> 00:03:46.349
aus einer größeren Entfernung auslesen möchte.
00:03:46.349 --> 00:03:48.509
Ansonsten werden Low- und
High-Frequency-Transponder
00:03:48.509 --> 00:03:55.709
eben für alles Mögliche eingesetzt, in Büchereien,
in Wäschereien, allgemein Logistik, etc.
00:03:55.709 --> 00:03:58.379
Der Hitag S ist ein 125kHz-Transponder.
00:03:58.379 --> 00:04:03.519
Es gibt ihn in 3 verschiedenen Varianten.
Die Varianten mit 256 bit und 2048 bit
00:04:03.519 --> 00:04:06.799
verfügen über einen eingebauten
Authentifizierungsmechanismus.
00:04:06.799 --> 00:04:11.609
Dieser Authentifizierungsmechanismus
verwendet einen 48bit-Schlüssel,
00:04:11.609 --> 00:04:15.169
d.h. grundsätzlich ist er
per Brute Force brechbar,
00:04:15.169 --> 00:04:18.680
das ist im Grunde inzwischen trivial geworden.
Er hat darüber hinaus
00:04:18.680 --> 00:04:22.370
noch ein 24bit-Passwort, was in dem
Transponder gespeichert wird,
00:04:22.370 --> 00:04:26.120
mit dem der Transponder sich dann
selbst wieder authentifizieren kann,
00:04:26.120 --> 00:04:29.590
dazu gleich mehr, und verwendet dabei
einen bisher nicht dokumentierten
00:04:29.590 --> 00:04:34.620
Verschlüsselungs-Cypher.
Das heißt der Hitag S gilt offiziell
00:04:34.620 --> 00:04:39.240
bis heute als ungebrochen
oder als sicher.
00:04:39.240 --> 00:04:41.280
Es sind weitere Transponder
aus der Hitag-Familie
00:04:41.280 --> 00:04:45.150
in der Vergangenheit gebrochen worden
und wir haben uns eben angeschaut,
00:04:45.150 --> 00:04:48.720
ob man nicht diese Angriffe tatsächlich auf
den Hitag S übertragen kann, denn...
00:04:48.720 --> 00:04:52.270
Warum machen wir das Ganze überhaupt?
00:04:52.270 --> 00:04:54.929
Wir haben bei uns
in unserem eigenen Gebäude
00:04:54.929 --> 00:04:58.920
eine RFID-basierte Schließanlage.
Die habe ich irgendwann mal
00:04:58.920 --> 00:05:03.590
2007 eingeführt und ich hatte
immer ein ungutes Gefühl dabei.
00:05:03.590 --> 00:05:05.969
Und wir haben uns mit dieser
Schließanlage beschäftigt,
00:05:05.969 --> 00:05:09.789
wir haben diese Schließanlage
ziemlich böse gebrochen.
00:05:09.789 --> 00:05:11.670
Wir haben Kontakt zum Hersteller aufgenommen,
00:05:11.670 --> 00:05:17.199
der Hersteller hat es inzwischen gefixt,
und zum 01.01.2016 werden wir
00:05:17.199 --> 00:05:20.680
das entsprechende Advisory veröffentlichen
in dem dann nachlesbar ist,
00:05:20.680 --> 00:05:25.060
was alles kaputt war und dass man eben entsprechend
seine Firmware updaten muss.
00:05:25.060 --> 00:05:28.189
Von daher kann ich da jetzt noch nichts
drüber sagen, weil ich mich dem Hersteller
00:05:28.189 --> 00:05:31.810
gegenüber verpflichtet habe, tatsächlich
bis zum 01.01. zu warten.
00:05:31.810 --> 00:05:34.419
Wir haben dann nach einer Alternative gesucht
und wir haben uns Demosysteme
00:05:34.419 --> 00:05:39.129
verschiedener Hersteller zeigen lassen,
u.a. ein System was den Hitag S verwendete.
00:05:39.129 --> 00:05:42.430
Ich hätte es besser wissen müssen, aber
der Hersteller hat eben unter anderem
00:05:42.430 --> 00:05:46.389
die Tatsache, dass der Hitag S
als noch nicht gebrochen gilt
00:05:46.389 --> 00:05:49.439
als eine besondere Eigenschaft beworben.
Und dann haben wir uns den Hitag S
00:05:49.439 --> 00:05:52.360
ein wenig genauer angeschaut.
Ganz kurz zu Schließanlagen:
00:05:52.360 --> 00:05:57.539
Schließanlagen gibt es in 2 Varianten: es
gibt Schließanlagen die online arbeiten.
00:05:57.539 --> 00:06:00.949
D.h. ihr haltet euren
Transponder an ein Lesegerät,
00:06:00.949 --> 00:06:03.719
das Lesegerät kommuniziert irgendwo
mit einem zentralen Server,
00:06:03.719 --> 00:06:08.430
der zentrale Server sagt, ob dieser
Transponder die Berechtigung aufweist,
00:06:08.430 --> 00:06:10.030
die Tür zu öffnen oder nicht
zu öffnen.
00:06:10.030 --> 00:06:13.620
In solchen Fällen
wird üblicherweise
00:06:13.620 --> 00:06:16.280
nur die Identifikation
des Transponders ausgelesen.
00:06:16.280 --> 00:06:19.400
D.h. in dem Moment wo ich den
Transponder emulieren kann, oder
00:06:19.400 --> 00:06:22.900
in dem Moment wo ich einen Transponder
kaufen kann, dessen Identifikationsnummer
00:06:22.900 --> 00:06:26.090
– die wird üblicherweise vom Hersteller
reingeschrieben, ist üblicherweise
00:06:26.090 --> 00:06:29.750
eindeutig vom Hersteller garantiert – in
dem Moment wo ich einen Transponder
00:06:29.750 --> 00:06:33.110
bauen kann indem ich diese
Identifikationsnummer ändern kann,
00:06:33.110 --> 00:06:37.899
habe ich einen Schlüsselklon und verfüge
über genau dieselben Schließberechtigungen.
00:06:37.899 --> 00:06:40.219
Teilweise gibt es dort aber auch
inzwischen Schließanlagen,
00:06:40.219 --> 00:06:44.560
gerade bei den High-Frequency-
Transpondern, wenn sie die verwenden
00:06:44.560 --> 00:06:48.949
die dann auch zusätzlich noch die Authentifizierung
des Transponders mitbenutzen und dann
00:06:48.949 --> 00:06:53.729
z.B. einen Mifare, Desfire
oder ähnliches einsetzen.
00:06:53.729 --> 00:06:57.900
Offline-Schließanlagen – das sind die,
die wir bei uns z.B. haben und die
00:06:57.900 --> 00:07:02.080
jetzt auch in diesem Fall eingesetzt
wurde, die wir uns angeschaut haben –
00:07:02.080 --> 00:07:04.729
speichern die Schließberechtigung
auf dem Transponder selbst drauf.
00:07:04.729 --> 00:07:10.389
D.h. wenn ich in der Lage bin,
den Transponder auszulesen,
00:07:10.389 --> 00:07:12.919
möglicherweise selbst zu
beschreiben und die Informationen,
00:07:12.919 --> 00:07:16.919
die Schließberechtigungen, nicht besonders
gesichert sind gegen Manipulation,
00:07:16.919 --> 00:07:20.529
bin ich sogar in der Lage, die
Schließberechtigungen zu ändern.
00:07:20.529 --> 00:07:23.319
Ist bei vielen Schließanlagen
tatsächlich der Fall.
00:07:23.319 --> 00:07:26.780
Dort sind ganz grobe Schnitzer
gemacht worden teilweise
00:07:26.780 --> 00:07:31.139
in der Art und Weise, wie die Daten drauf
gespeichert werden. Wie gesagt, am 01.01.
00:07:31.139 --> 00:07:35.620
gibt‘s ein Advisory dazu. In einigen
Fällen wird aber zusätzlich auch noch
00:07:35.620 --> 00:07:39.199
eine Authentifizierung durchgeführt und
das ist eben beim Hitag S auch der Fall.
00:07:39.199 --> 00:07:43.939
In dem Moment, wo ich einen derartigen
Transponder aber auslesen kann
00:07:43.939 --> 00:07:49.710
und emulieren kann, habe ich
eine Schlüsselkopie hergestellt.
00:07:49.710 --> 00:07:54.090
Und jetzt ist das Problem bei den
Transpondern, dass das ja häufig einfach
00:07:54.090 --> 00:07:58.370
im Vorbeigehen passieren kann. Ich
sitze in der Straßenbahn, habe meinen
00:07:58.370 --> 00:08:02.840
Transponder in der Tasche, habe nicht
so ein RFID-Shield wie man‘s hier kaufen
00:08:02.840 --> 00:08:07.639
kann auf dem C3 und jemand setzt sich
neben mich mit ‘nem Rucksack und liest aus
00:08:07.639 --> 00:08:13.510
30cm Entfernung meinen Transponder aus.
Und hat dann eine Schlüsselkopie.
00:08:13.510 --> 00:08:16.659
Und das sollte so ein
Transponder verhindern
00:08:16.659 --> 00:08:20.529
und das haben wir uns halt ein wenig
angeschaut. Und jetzt übergebe ich
00:08:20.529 --> 00:08:23.120
an Oguzhan der ein bisschen was zu
den technischen Details erzählen wird.
00:08:23.120 --> 00:08:27.199
Oguzhan: Ja, danke Ralf. Das erste was wir
gemacht haben ist: wir haben uns mal
00:08:27.199 --> 00:08:29.639
die Authentifizierung angeguckt. Wie wird
zwischen dem Lese-Schreibe-Gerät
00:08:29.639 --> 00:08:33.650
und dem Transponder authentifiziert?
Das sieht so aus, dass als erstes
00:08:33.650 --> 00:08:40.039
allen Transpondern in der Reichweite die
UID abgefragt wird.
00:08:40.039 --> 00:08:45.480
Daraufhin antworten alle Transponder
mit ihrer eindeutigen 32 bit UID,
00:08:45.480 --> 00:08:48.200
dann schickt das Lese-Schreibe-Gerät
einen sogenannten Select-Befehl
00:08:48.200 --> 00:08:52.020
und wählt einen dieser Transponder aus,
mit dem es kommunizieren möchte.
00:08:52.020 --> 00:08:56.640
Dieser ausgewählte Transponder schickt
dann seine Konfiguration Byte 0..2
00:08:56.640 --> 00:08:59.910
dem Lese-Schreibe-Gerät; und aus diesen
Bytes kann man alles über den Transponder
00:08:59.910 --> 00:09:04.080
entnehmen, was man benötigt. Also: welche
Speichergröße hat dieser Transponder,
00:09:04.080 --> 00:09:07.490
möchte der sich überhaupt authentifizieren,
welche Seiten darf ich überhaupt lesen,
00:09:07.490 --> 00:09:11.040
welche darf ich beschreiben. Dann kommt
noch hinzu: welche Modulation muss ich
00:09:11.040 --> 00:09:14.160
verwenden, mit welchen Geschwindigkeiten.
Dies kann ich alles aus diesen
00:09:14.160 --> 00:09:17.020
Konfigurations-Bytes herausnehmen.
00:09:17.020 --> 00:09:20.460
Falls jetzt gelesen wurde „es
möchte sich authentifizieren“,
00:09:20.460 --> 00:09:24.730
dann geht das Lese-Schreibe-Gerät hin
und bestimmt ‘ne 32bit-Zufallszahl.
00:09:24.730 --> 00:09:29.550
Mit dieser Zufallszahl wird sogenannte
Secret-Data berechnet, 32bit lang.
00:09:29.550 --> 00:09:33.450
Und diese Kombination dieser, auch
„Challenge“ genannt, dem Transponder
00:09:33.450 --> 00:09:37.920
übermittelt. Wenn der Transponder nun
auch auf dieselbe Secret-Data schließt,
00:09:37.920 --> 00:09:41.630
wird impliziert, dass das Lese-Schreibe-
Gerät diesen geheimen Key kennen muss.
00:09:41.630 --> 00:09:45.730
Jetzt geht der Transponder hin und
verschlüsselt seine 3 Passwort-Bytes
00:09:45.730 --> 00:09:49.920
und ein Byte der Konfiguration und
schickt‘s dem Lese-Schreibe-Gerät.
00:09:49.920 --> 00:09:54.760
Wenn der diese entschlüsselt und
das richtige Passwort ausliest,
00:09:54.760 --> 00:09:58.980
sind beide gegenseitig authentifiziert.
Danach kann die unverschlüsselte
00:09:58.980 --> 00:10:03.990
Datenübertragung zwischen
diesen Komponenten stattfinden.
00:10:03.990 --> 00:10:07.680
Die nächste Frage ist natürlich: womit
wurde da diese Secret-Data berechnet
00:10:07.680 --> 00:10:11.080
und wie wird verschlüsselt
und entschlüsselt.
00:10:11.080 --> 00:10:14.000
Wenn man sich das Memory-Layout vom
Hitag S mal genauer anschaut und es
00:10:14.000 --> 00:10:18.530
mit dem bereits gebrochenen Transponder
vom Hitag 2 mal vergleicht,
00:10:18.530 --> 00:10:21.690
dann erkennt man sehr große
Unterschiede, insbesondere da, wo die
00:10:21.690 --> 00:10:25.970
Konfigurations-Bytes sich befinden und wo
der Key und das Passwort gespeichert sind.
00:10:25.970 --> 00:10:30.520
Zudem wird im Datenblatt erwähnt,
dass ein Lese-Schreibe-Gerät, das sich
00:10:30.520 --> 00:10:33.990
authentifizieren möchte, einen ganz be-
stimmten Co-Prozessor implementieren muss.
00:10:33.990 --> 00:10:38.900
Und zwar den Philips HT RC130. Dieser wird
von allen Transpondern der Hitag-Familie
00:10:38.900 --> 00:10:46.070
verwendet und wir haben uns diesen mal
genauer angeschaut, und zwar das Kommando-
00:10:46.070 --> 00:10:50.500
Interface; welche Kommandos kann man da
überhaupt senden, auf diesen Co-Prozessor.
00:10:50.500 --> 00:10:54.150
Und da erkennt man ziemlich schnell, es
gibt spezifische Kommandos, um das
00:10:54.150 --> 00:10:58.520
Hitag 1, 2 und S Verschlüsselung
anzustoßen. Aber es gibt keine
00:10:58.520 --> 00:11:03.120
Hitag-S-spezifischen Kommandos um
die Daten ins EPROM zu speichern.
00:11:03.120 --> 00:11:06.540
Daraus kann man schließen, dass dort
ähnliche Parameter verwendet wurden
00:11:06.540 --> 00:11:08.040
wie bei den anderen Transpondern.
00:11:08.040 --> 00:11:11.610
Zudem kommt noch die Tatsache hinzu,
dass ein Co-Prozessor, der bei drei
00:11:11.610 --> 00:11:15.730
verschiedenen Transpondern verwendet
wird, sehr unwahrscheinlich drei komplett
00:11:15.730 --> 00:11:17.680
verschiedene Cypher implementiert.
00:11:17.680 --> 00:11:22.240
Unter diesen Annahmen haben wir einfach
behauptet, die Annahme getroffen,
00:11:22.240 --> 00:11:26.860
dass dieser Cypher vom Hitag S
ähnlich oder gleich des Hitag 2 ist.
00:11:26.860 --> 00:11:31.820
Der Hitag-2-Cypher ist schon seit knapp 10
Jahren bekannt, den hat der Herr C. Wiener
00:11:31.820 --> 00:11:35.830
reverse-engineered und publiziert.
Der sieht so aus.
00:11:35.830 --> 00:11:40.950
Der besteht im Grunde aus 2 Dingen:
Einer nichtlinearen, zweistufigen
00:11:40.950 --> 00:11:46.050
Überführungsfunktion f() und
einem 48bit-Schieberegister.
00:11:46.050 --> 00:11:49.950
Eine Eigenschaft dieses Cyphers werden
wir für die folgenden Angriffe benötigen.
00:11:49.950 --> 00:11:56.770
Und zwar: wenn man sich die
Initialisierung dieses Cyphers anschaut,
00:11:56.770 --> 00:12:01.730
dann erkennt man, dass die OUT-Bits
erst verwendet werden können,
00:12:01.730 --> 00:12:05.020
wenn dieser Cypher initialisiert wurde.
Also wir müssen in diesem 48bit-
00:12:05.020 --> 00:12:08.670
Schieberegister einen sogenannten
Initial-Zustand erreichen.
00:12:08.670 --> 00:12:15.340
Das wird so gemacht, dass dort die
32bit-UID des Transponders und die
00:12:15.340 --> 00:12:19.870
hinteren 16bit des Keys genommen werden,
und damit wird der Cypher initialisiert.
00:12:19.870 --> 00:12:22.340
Erstmal. Also das Schieberegister
wird damit initialisiert.
00:12:22.340 --> 00:12:26.900
Dieses wird nun 32mal ge-shifted, und beim
Shiften wird die Neustelle ganz rechts
00:12:26.900 --> 00:12:34.740
immer aufgefüllt. Und wenn ich 16bit des
Keys in ein 48bit Schieberegister stecke,
00:12:34.740 --> 00:12:38.360
und dann 32mal shifte, dann fallen diese
ja nicht raus, in diesem Initialzustand.
00:12:38.360 --> 00:12:40.810
Sondern die befinden sich
weiterhin in der ersten Position.
00:12:40.810 --> 00:12:44.190
Was wir jetzt mit diesem Cypher gemacht
haben, ist: wir haben den Proxmark
00:12:44.190 --> 00:12:47.440
genommen – das ist ein RFID-Tool, darauf
komme ich gleich noch zu sprechen –
00:12:47.440 --> 00:12:53.080
und haben das Hitag-S-Cypher implementiert
mit diesem Cypher des Hitag 2.
00:12:53.080 --> 00:12:57.310
Und damit haben wir erstmal einen Hitag-S-
Transponder in den Authentifizierungsmodus
00:12:57.310 --> 00:13:02.210
versetzt mit einem uns bekannten Key.
Und damit war es tatsächlich möglich,
00:13:02.210 --> 00:13:06.560
bei dem Hitag S sich zu authentifizieren.
Damit ist die Annahme erstmal bestätigt
00:13:06.560 --> 00:13:10.480
worden, dass dort derselbe Cypher
verwendet wurde den Sie hier sehen können.
00:13:10.480 --> 00:13:14.430
Der wird zwar nicht exakt für das gleiche
verwendet, der Cypher an sich, ist aber
00:13:14.430 --> 00:13:18.710
derselbe. Bevor wir jetzt mit den
Angriffen starten, brauchen wir erstmal
00:13:18.710 --> 00:13:21.610
ein bisschen Hardware und Software. Als
Hardware haben wir den sogenannten
00:13:21.610 --> 00:13:25.100
Proxmark – wie gesagt – genommen.
Das ist ein General-Purpose-RFID-Tool.
00:13:25.100 --> 00:13:28.440
Der kann eben sowohl im Low- als auch im
High-Frequency-Bereich alle möglichen
00:13:28.440 --> 00:13:33.610
Daten empfangen und senden. Da haben
wir einige Software dazu geschrieben,
00:13:33.610 --> 00:13:36.860
z.B. ein Lese- und Schreibe-Gerät, um
für den Transponder zu lesen und zu
00:13:36.860 --> 00:13:40.300
beschreiben natürlich. Und einen Emulator,
um anschließend, wenn ich diesen Key
00:13:40.300 --> 00:13:43.810
erstmal gebrochen habe, auch mal so
einen Transponder emulieren zu können.
00:13:43.810 --> 00:13:46.780
Jetzt bevor wir überhaupt zu den
komplizierteren Angriffen kommen, erstmal
00:13:46.780 --> 00:13:49.880
die einfachen. Und zwar ein Replay-Angriff
ist möglich. Vielleicht hat‘s der eine
00:13:49.880 --> 00:13:57.020
oder andere schon gesehen: und zwar in
der Authentifizierung haben wir nur eine
00:13:57.020 --> 00:14:01.900
einzige Zufallsvariable und die wird
vom Lese-Schreibe-Gerät bestimmt.
00:14:01.900 --> 00:14:05.660
Wenn ein Angreifer also diese komplette
Kommunikation mitschneidet, z.B. mit
00:14:05.660 --> 00:14:10.410
dem Proxmark, dann kann er diese
Challenge-Nachricht erneut dem Transponder
00:14:10.410 --> 00:14:14.640
schicken. Und das einzige was dem
übrigbleibt, ist, zu implizieren, dass ich
00:14:14.640 --> 00:14:19.710
den Key kennen muss. Weil ich kann ja
natürlich als Angreifer seine Antwort
00:14:19.710 --> 00:14:21.920
darauf nicht entschlüsseln, um
seine Passwort-Bytes auszulesen.
00:14:21.920 --> 00:14:25.690
Aber die interessieren mich ja nicht.
Weil ich kann hiernach, also nach
00:14:25.690 --> 00:14:28.070
einem einfachen Replay-Angriff,
dieselben Befehle ausführen
00:14:28.070 --> 00:14:30.060
wie ein echtes Lese-Schreibe-Gerät.
00:14:34.640 --> 00:14:37.190
Dann hat der Ralf das schon kurz erwähnt:
00:14:37.190 --> 00:14:48.070
Brute-Force-Angriffe. Ist nur 48bit-Key,
der Cypher ist nicht wirklich komplex.
00:14:48.070 --> 00:14:52.770
Wenn man da paar Server nimmt, kann man
den Key bereits in einigen Wochen brechen.
00:14:52.770 --> 00:14:54.770
Dann gibt‘s einen weiteren Angriff.
00:14:54.770 --> 00:14:57.860
Und zwar das ist ein Angriff gegen den
Hitag 2, der wurde vor knapp 4 Jahren
00:14:57.860 --> 00:15:02.290
veröffentlicht. In dem Paper „Gone
in 360 seconds“ auf der Usenix.
00:15:02.290 --> 00:15:07.210
Der benötigt 150 Challenges, also 150
verschiedene Authentifizierungen.
00:15:07.210 --> 00:15:10.870
Und wenn ich die aber erstmal habe,
brauche ich für diesen Angriff
00:15:10.870 --> 00:15:13.660
nur 5 Minuten. Das ist ein rein
mathematischer Angriff, der eine andere
00:15:13.660 --> 00:15:18.690
Schwachstelle des Cyphers ausnutzt auf die
wir jetzt nicht weiter eingehen werden.
00:15:18.690 --> 00:15:22.460
Dann gibt‘s noch ‘nen
– das ist eher ein
00:15:22.460 --> 00:15:24.750
Design-Fehler von ihrer Seite – und zwar
00:15:24.750 --> 00:15:28.270
wenn man sich die Konfigurations-Bits
mal anschaut, dann gibt‘s 3 Bits, die
00:15:28.270 --> 00:15:31.670
interessieren uns besonders. Das
OUT-Bit – wenn das gesetzt ist, möchte
00:15:31.670 --> 00:15:36.250
der Transponder sich authentifizieren.
Wenn das LCON-Bit gesetzt ist, dann kann
00:15:36.250 --> 00:15:38.170
ich die Konfiguration
nicht mehr bearbeiten,
00:15:38.170 --> 00:15:42.320
und das „Locked Key and Password“ schützt
meinen Key und mein Passwort vor lesenden
00:15:42.320 --> 00:15:45.940
und schreibenden Zugriffen. Das Problem
hier ist, ich kann die getrennt setzen.
00:15:45.940 --> 00:15:48.690
Also die sind komplett unabhängig.
Ich kann also Transponder verkaufen, die
00:15:48.690 --> 00:15:53.310
sich authentifizieren wollen, und die auch
die richtigen Speicherbereiche schützen,
00:15:53.310 --> 00:15:55.850
aber wo ich einfach die Konfiguration
wieder neu schreiben kann.
00:15:55.850 --> 00:16:02.470
Davor ist der Transponder leider nicht
geschützt. Ein weiterer Angriff,
00:16:02.470 --> 00:16:05.660
der besonders effektiv ist, ist ein
sogenannter SAT-Solver.
00:16:05.660 --> 00:16:10.470
Was ist ein SAT-Solver? Ja, SAT-Solver wie
der MiniSat oder der CryptoMiniSat 4 sind
00:16:10.470 --> 00:16:15.320
mathematisch optimierte Algorithmen,
die versuchen, Formeln zu lösen.
00:16:15.320 --> 00:16:18.600
Also die Erfüllbarkeit zu beweisen.
Die Formeln sind meistens in der
00:16:18.600 --> 00:16:21.810
Konjugierten Normalform und bei diesen
Beispielen hier, die Sie hier sehen können
00:16:21.810 --> 00:16:25.180
würden SAT-Solver jetzt versuchen,
eine Belegung für A, B und C zu finden,
00:16:25.180 --> 00:16:28.260
so dass das Ganze den
Wahrheitswert TRUE ergibt.
00:16:28.260 --> 00:16:31.490
SAT-Solver kommen ursprünglich eigentlich
aus der Elektrotechnik, wo ich eine
00:16:31.490 --> 00:16:35.180
logische Schaltung verifizieren möchte.
Aber ich kann damit jedes Problem lösen,
00:16:35.180 --> 00:16:37.590
wenn ich das Problem in eine
Formel umwandeln kann.
00:16:37.590 --> 00:16:39.550
Und genau das möchten wir machen.
00:16:39.550 --> 00:16:42.630
Wir wollen sagen: so sieht der Cypher
aus, diese Bits habe ich als Angreifer
00:16:42.630 --> 00:16:46.530
mitgelesen, baue mir bitte
eine Formel und löse das.
00:16:46.530 --> 00:16:52.170
Bevor wir diese Formel erstmal aufbauen,
brauchen wir erstmal die Keystream-Bits.
00:16:52.170 --> 00:16:56.850
Wie kommen wir an die Keystream-Bits ran?
Ja, ganz einfach: dieses Secret Data, das
00:16:56.850 --> 00:17:00.850
sind die ersten 32 bit, und zwar negiert.
Wenn ich die also zurück-negiere,
00:17:00.850 --> 00:17:03.280
erhalte ich die ersten 32bit.
00:17:03.280 --> 00:17:06.300
Dann – es kommen 2 Bit, einmal
verschlüsselt, einmal nicht verschlüsselt
00:17:06.300 --> 00:17:11.069
geschickt. Wenn ich die also wieder XOR
rechne, habe ich die nächsten 8 Bits.
00:17:11.069 --> 00:17:15.190
Das bedeutet ich kann pro Authentifizierung
genau 40 Keystream-Bits herausbekommen.
00:17:15.190 --> 00:17:19.810
Das ist ein Problem. Weil ich suche ja
einen Initialzustand, einen 48bit-
00:17:19.810 --> 00:17:23.750
Initialzustand, womit ich diese Bits
berechnen kann.
00:17:23.750 --> 00:17:27.069
Und je weniger Bits ich habe, desto höher
ist die Wahrscheinlichkeit, dass dieser
00:17:27.069 --> 00:17:29.970
Initialzustand falsch ist. Und bei 40 Bits
tritt das leider schon auf.
00:17:29.970 --> 00:17:33.570
Beim Hitag 2 hat man dieses Problem nicht.
Weil beim Hitag 2 wird auch die
00:17:33.570 --> 00:17:37.780
Datenübertragung verschlüsselt, also da
komme ich an viel mehr als 40 Bits ran.
00:17:37.780 --> 00:17:43.720
Wie lösen wir das beim Hitag S? Wir nehmen
2 Cypher, also 2 verschiedene
00:17:43.720 --> 00:17:48.840
Verschlüsselungen und lesen dort die
Keystream-Bits aus. Wie oben beschrieben.
00:17:48.840 --> 00:17:52.390
Sozusagen finden wir einen Initialzustand
dafür und einen Initialzustand dafür.
00:17:52.390 --> 00:17:56.090
Und dann verwenden wir die Eigenschaft von
der Folie vorher, wo wir gesagt haben,
00:17:56.090 --> 00:18:01.440
der Initialzustand ist ja in den ersten
16 Bit... die ersten 16 Bit vom Key, und
00:18:01.440 --> 00:18:03.740
der ändert sich ja nicht, wenn ich mich
zweimal authentifiziere.
00:18:03.740 --> 00:18:07.320
Also füge ich die Nebenbedingung hinzu:
Diese 2 Initialzustände, die du suchen
00:18:07.320 --> 00:18:11.030
sollst, sollen in den
ersten 16 Bit gleich sein.
00:18:11.030 --> 00:18:14.880
Diese Formel erstelle ich mir dann, die
wird dann mit den SAT-Solvern innerhalb
00:18:14.880 --> 00:18:20.210
von, ja unter 5 Tagen meistens, gelöst
und das Ergebnis ist ein Initialzustand.
00:18:20.210 --> 00:18:26.280
Das bedeutet 16 Bit vom Key. Ja, wie komme
ich an die restlichen Daten ran?
00:18:26.280 --> 00:18:30.360
Also, der Key ist ja 48bit lang und ich
habe ja erst 16.
00:18:30.360 --> 00:18:33.370
Natürlich: brute-forcen, weil die
restlichen 32bit ist keine große Zahl,
00:18:33.370 --> 00:18:35.610
das muss ich keinem jetzt, glaube ich,
erwähnen.
00:18:35.610 --> 00:18:39.720
Und ich kann einen sogenannten Rollback
ausführen. Was ist ein Rollback?
00:18:39.720 --> 00:18:44.680
Ja, der Initialzustand ist ja quasi
das Ergebnis der Initialisierung.
00:18:44.680 --> 00:18:50.510
Und in die Initialisierung fließen 3
Parameter ein: Die Zufallszahl, die UID
00:18:50.510 --> 00:18:54.760
und der Key. Ich kenne das Ergebnis, den
Initialzustand, die UID und die Zufallszahl
00:18:54.760 --> 00:18:58.830
aus der Authentifizierung. Dann kann ich
die einzige Unbekannte natürlich mit einer
00:18:58.830 --> 00:19:02.640
XOR-Operation wieder herausrechnen. Das
bedeutet ich rechne Schritt-für-Schritt
00:19:02.640 --> 00:19:07.440
den vorigen Zustand hervor – also von dem
aktuellen Zustand zu dem vorigen und
00:19:07.440 --> 00:19:12.270
bekomme immer einen weiteren Key. Das
geht so fort, das sind nur 32 Operationen.
00:19:12.270 --> 00:19:16.150
Und wenn ich den Key erstmal habe, das
heißt noch nicht direkt, dass ich den
00:19:16.150 --> 00:19:19.820
kompletten Transponder lesen kann.
Weil, wie gesagt, da gibt‘s ein LKP-Bit,
00:19:19.820 --> 00:19:24.750
der schützt Key und Passwort. Den Key
kenne ich und das Passwort, das wurde ja
00:19:24.750 --> 00:19:27.430
verschlüsselt in der Authentifizierung
übertragen. Das kann ich wieder
00:19:27.430 --> 00:19:30.650
entschlüsseln. Weil ich jetzt ein
Angreifer bin, der den Cypher
00:19:30.650 --> 00:19:35.190
und den Key kennt. Wenn ich natürlich
jetzt den kompletten Inhalt
00:19:35.190 --> 00:19:38.120
des Transponders habe und ich weiß wie
der Cypher aussieht, wie das Protokoll
00:19:38.120 --> 00:19:40.920
aussieht, kann ich so einen Transponder
auch natürlich emulieren.
00:19:40.920 --> 00:19:45.680
Was kann man als Hardware nehmen?
Wie wir, den Proxmark oder RFIDler, oder
00:19:45.680 --> 00:19:49.110
in dem Frequenzbereich kann man auch sich
selber was zusammenbauen, ist relativ
00:19:49.110 --> 00:19:52.920
einfach. Der Angriff besteht aus drei
Teilen. Also einmal die Trace, also die
00:19:52.920 --> 00:19:56.790
Authentifizierung zu sammeln und den
Key zu brechen. Das ist abhängig davon,
00:19:56.790 --> 00:20:00.940
welchen Angriff man nimmt. Krypto-
analytischer Angriff oder SAT-Solver
00:20:00.940 --> 00:20:05.440
um den Transponder komplett auszulesen
und die Emulation zu starten.
00:20:05.440 --> 00:20:08.170
Das geht sofort.
00:20:08.170 --> 00:20:14.030
Ralf: Gut. D.h. wenn ich jetzt eine
Schließanlage habe, die den Hitag-S-
00:20:14.030 --> 00:20:17.030
Transponder einsetzt – und ich komme
gleich noch einmal dazu, wo es sowas
00:20:17.030 --> 00:20:24.020
möglicherweise geben kann – dann besteht
tatsächlich die Gefahr, dass jemand
00:20:24.020 --> 00:20:28.470
während ich z.B. den Schlüssel ins Schloss
reinstecke oder während ich meinen
00:20:28.470 --> 00:20:32.880
Transponder davorhalte, mit einer
entsprechenden Antenne diese
00:20:32.880 --> 00:20:37.800
Authentifizierungsvorgänge mitliest. Ich
brauche von einem Schlüssel, wie wir
00:20:37.800 --> 00:20:42.100
gesehen haben, beim SAT-Solver 2
Challenges, also 2 Austausche des
00:20:42.100 --> 00:20:46.290
Schlüssels mit dem Schloss bzw. wenn ich
einen krypto-analytischen Angriff fahren
00:20:46.290 --> 00:20:51.590
möchte, 150, das ist sicherlich ein wenig
schwieriger so irgendwie zu machen.
00:20:51.590 --> 00:20:54.920
Dafür müsste ich schon kurzzeitig Zugang
zu dem Schlüssel haben, ich müsste ihn in
00:20:54.920 --> 00:20:58.600
meine eigene Gewalt bringen, dann dahin
gehen, um diese 150 Challenges auszulesen.
00:20:58.600 --> 00:21:03.150
Und kann damit den Key brechen, der
von diesem Schlüssel verwendet wird und
00:21:03.150 --> 00:21:07.490
anschließend eben auch sämtliche andere
Daten, die dieser Schlüssel besitzt,
00:21:07.490 --> 00:21:13.370
auslesen bzw. ableiten. D.h. ich bin in der
Lage, tatsächlich einen Klon herzustellen.
00:21:13.370 --> 00:21:16.990
Wenn darüber hinaus möglicherweise bei der
einen oder anderen Schließanlage die Daten
00:21:16.990 --> 00:21:20.620
auf dem Schlüssel nicht richtig gesichert
sind, kann ich vielleicht sogar
00:21:20.620 --> 00:21:24.150
die Schließberechtigungen erweitern. D.h.
ich kann aus den Schließberechtigungen
00:21:24.150 --> 00:21:27.700
eines Praktikanten die Schließberechtigungen
des Geschäftsführers machen.
00:21:27.700 --> 00:21:31.160
Auch das haben wir tatsächlich bei einer
gewissen Anlage gesehen. Das war aber
00:21:31.160 --> 00:21:35.770
nicht eine Anlage die auf Hitag S
basierte. Wir haben uns dann umgeschaut
00:21:35.770 --> 00:21:38.790
und haben geschaut, was gibt es sonst
noch an Low-Frequency-Transpondern.
00:21:38.790 --> 00:21:40.870
Und alle anderen Low-Frequency-
Transponder, die wir gefunden haben,
00:21:40.870 --> 00:21:46.650
waren entweder schon gebrochen oder
verwenden Verfahren, die wahrscheinlich
00:21:46.650 --> 00:21:51.640
genauso einfach zu brechen sind wie
jetzt dieses Verfahren vom Hitag S. D.h.
00:21:51.640 --> 00:21:56.460
die Low-Frequency-Transponder verfügen
grundsätzlich nicht über genügend Energie
00:21:56.460 --> 00:22:00.230
– unserer Ansicht nach – um
sichere Verfahren wie ein AES-Verfahren
00:22:00.230 --> 00:22:04.750
oder etwas ähnliches einzusetzen.
D.h. ich brauche tatsächlich, wenn ich
00:22:04.750 --> 00:22:07.740
Schließanlagen sicher implementieren
möchte, Zutritts-Kontroll-Systeme
00:22:07.740 --> 00:22:10.810
sicher implementieren
möchte, High-Frequency-Transponder.
00:22:10.810 --> 00:22:13.010
High-Frequency-Transponder
heißt aber jetzt nicht grundsätzlich,
00:22:13.010 --> 00:22:16.270
meine Schließanlage ist sicher, weil
auch dort gibt es z.B. auch Sachen wie
00:22:16.270 --> 00:22:19.510
den Mifare Classic. Und dass der Mifare
Classic gebrochen ist, weiß glaube ich
00:22:19.510 --> 00:22:22.840
inzwischen jeder. Wenn man sich die
Hersteller anschaut, die dann eben z.B.
00:22:22.840 --> 00:22:27.030
auch den Desfire unterstützen, stellt man
fest, dass ich in deren Schließanlagen
00:22:27.030 --> 00:22:30.130
aber ohne weiteres auch weiterhin ein
Mifare Classic verwenden kann.
00:22:30.130 --> 00:22:34.370
D.h. die Schließanlagen sind rückwärts
kompatibel. Und wenn die Schließanlage
00:22:34.370 --> 00:22:37.809
vielleicht auch schon 5, 6, 7, 8 Jahre
im Einsatz ist, besteht auch
00:22:37.809 --> 00:22:40.100
eine große Gefahr, dass möglicherweise
noch so ein klassischer
00:22:40.100 --> 00:22:43.370
Mifare-Classic-Transponder irgendwo im
Einsatz ist. Weil man den damals
00:22:43.370 --> 00:22:46.940
gekauft hat und vielleicht nicht ersetzt
hat. D.h. die moderneren Verfahren
00:22:46.940 --> 00:22:48.730
können sicher sein, müssen
aber nicht sicher sein.
00:22:48.730 --> 00:22:53.250
Wir haben dann einfach mal geschaut,
welche Hersteller tatsächlich
00:22:53.250 --> 00:22:56.820
Low-Frequency-Transponder einsetzen,
oder sogar den Hitag S einsetzen.
00:22:56.820 --> 00:23:01.090
Und es gibt eine Vielzahl von Schließ-
Systemen. Das heißt jetzt nicht
00:23:01.090 --> 00:23:04.040
automatisch, dass wenn Ihr Hersteller
auf dieser Liste ist, Ihr Schließsystem
00:23:04.040 --> 00:23:09.790
kaputt ist. Weil einige Hersteller
haben eben auch Alternativen dazu.
00:23:09.790 --> 00:23:16.150
D.h. z.B. bei Uhlmann & Zacher, dort
wird eben auch die Schließanlage mit
00:23:16.150 --> 00:23:22.260
High-Frequency-Transpondern angeboten. Und
ich kann dort auch den Desfire einsetzen.
00:23:22.260 --> 00:23:27.220
Wenn Sie aber eine Low-Frequency-Anlage
gekauft haben, können Sie dort nur
00:23:27.220 --> 00:23:32.220
den Hitag – ich glaube der Hitag 1
ist es dort, oder war es der Hitag 2 –
00:23:32.220 --> 00:23:37.820
und irgendwie einen EM4450,
der noch weniger Schutz bietet
00:23:37.820 --> 00:23:45.420
und bei dem tatsächlich das Klonen dieser
Transponder dann trivialst einfach ist.
00:23:45.420 --> 00:23:50.200
Sie müssen sich im Grunde nur ein Stück
Hardware bauen für vielleicht 20..30 Euro
00:23:50.200 --> 00:23:53.330
und Sie haben eine Kopie des
Schlüssels, der sich genauso verhält
00:23:53.330 --> 00:23:56.090
wie der Originalschlüssel. Und
wenn dann eben nachts um 3 Uhr
00:23:56.090 --> 00:23:59.300
eingebrochen wird und Sie schauen in Ihrer
Schließanlage nach – das ist ja einer der
00:23:59.300 --> 00:24:01.220
großen Vorteile dieser Schließanlagen,
sie protokollieren ja genau, wer die Tür
00:24:01.220 --> 00:24:04.010
geöffnet hat – dann sehen Sie dass der
Geschäftsführer die Tür nachts um 3 Uhr
00:24:04.010 --> 00:24:09.390
geöffnet hat. Und es ist keine Möglichkeit
nachzuvollziehen, wer es wirklich war.
00:24:09.390 --> 00:24:13.559
Wenn man dann die Hersteller konfrontiert
– das vielleicht noch so zum Abschluss –
00:24:13.559 --> 00:24:18.450
und sie fragt, wie sie denn so ein
Schließsystem verkaufen können,
00:24:18.450 --> 00:24:23.620
dann wird einem entweder geantwortet,
„Ja das war vor 7 Jahren state-of-the-art“
00:24:23.620 --> 00:24:27.880
oder „Wir sehen keinen Grund, den Kunden
zu informieren, dass das vielleicht heute
00:24:27.880 --> 00:24:33.720
nicht mehr der Fall ist“ oder man kriegt
als Antwort „Wir haben nie behauptet,
00:24:33.720 --> 00:24:37.489
dass das sicher ist!“ – „Wir machen
keine Sicherheitssysteme, wir machen
00:24:37.489 --> 00:24:40.719
Zutrittskontroll- oder
Zutrittsorganisations-Systeme!“
00:24:40.719 --> 00:24:44.530
Und dann geht man hin und sucht auf der
Web-Seite des Herstellers nach dem Wort
00:24:44.530 --> 00:24:50.229
„Sicherheit“, und es taucht zumindest
in dem Bereich nicht einmal auf.
00:24:50.229 --> 00:24:53.570
Und dann fragt man sich, ob der Hersteller
das nicht vielleicht schon lange weiß,
00:24:53.570 --> 00:24:58.260
und einen die ganze Zeit für dumm
verkaufen will. Weil...
00:24:58.260 --> 00:25:03.740
wo überall sind diese Systeme?
Krankenhäuser, Behörden etc.
00:25:03.740 --> 00:25:08.760
Damit möchte ich schließen,...
Fragen?
00:25:08.760 --> 00:25:18.240
Und danke für die Aufmerksamkeit!
Applaus
00:25:18.240 --> 00:25:21.520
Herald: Vielen Dank! Also ich hab‘ gelernt
ich werde jetzt auf jeden Fall genauer auf
00:25:21.520 --> 00:25:25.990
Herstellerseiten lesen, wenn ich damit zu
tun habe. Was da so steht und was nicht.
00:25:25.990 --> 00:25:30.530
Wir haben noch 5 Minuten für Fragen. Wenn
ihr Fragen stellen möchtet, geht bitte
00:25:30.530 --> 00:25:38.760
zu einem der 6 Mikrofone, die hier in den
Gängen stehen. Und natürlich auch an alle
00:25:38.760 --> 00:25:43.429
die uns in den Streams folgen: es gibt die
Möglichkeit im IRC Fragen zu stellen,
00:25:43.429 --> 00:25:48.060
die dann nette Engel hier
uns vor Ort vorlesen.
00:25:48.060 --> 00:25:51.960
An Mikrofon 3, sehe ich da ‘ne Frage?
00:25:51.960 --> 00:25:57.059
Frage: Ja, eine Frage: Kann man
dann ohne Besitz des Transponders
00:25:57.059 --> 00:26:01.740
Paare sammeln von Challenge und
vom Reader generierter Response,
00:26:01.740 --> 00:26:04.770
wenn man einfach zum Leser hingeht?
00:26:04.770 --> 00:26:11.270
Ralf: Nein. Der Punkt ist ja, ich brauche,
der Leser muss glauben, dass er mit
00:26:11.270 --> 00:26:15.040
dem Transponder spricht und muss dem
Transponder eben Daten schicken.
00:26:15.040 --> 00:26:21.040
Also was man machen kann, wenn du Zugang
hast zu dem Transponder, also die ID
00:26:21.040 --> 00:26:24.040
des Transponders irgendwie anders aus
größerer Entfernung auslesen kannst,
00:26:24.040 --> 00:26:27.850
kannst du natürlich einen Emulator bauen,
der erstmal behauptet, diese ID zu sein.
00:26:27.850 --> 00:26:31.260
Damit kannst du dann zu dem Lesegerät
hingehen. Das Lesegerät wird dir dann die
00:26:31.260 --> 00:26:37.220
Challenge schicken. Weil es ja diesen
Transponder aktivieren möchte.
00:26:37.220 --> 00:26:42.860
D.h. so ja, aber ich muss einmal
eine gültige ID ausgelesen haben.
00:26:42.860 --> 00:26:45.230
Wobei es kommt ein bisschen auf das
Schließsystem an. Wir haben auch
00:26:45.230 --> 00:26:52.830
ein Schließsystem gesehen, wo die Hardware
IDs nicht wirklich intern sich merkt.
00:26:52.830 --> 00:26:57.360
D.h. das arbeitet ein bisschen anders.
Also da kann man wahrscheinlich sogar
00:26:57.360 --> 00:26:59.690
mit einer beliebigen ID dahin gehen
und man bekommt ein Challenge
00:26:59.690 --> 00:27:03.200
von dem Lesegerät geschickt.
Frage: OK, danke.
00:27:03.200 --> 00:27:08.700
Herald: Gut, die nächste Frage von
Mikrofon Nr. 5 da hinten!
00:27:08.700 --> 00:27:12.460
Frage: Ich habe zuletzt c‘t gelesen,
da war so ein schöner Artikel
00:27:12.460 --> 00:27:17.090
über Mercedese die über
Relay-Angriffe geöffnet werden.
00:27:17.090 --> 00:27:21.260
Habt ihr sowas auch ausprobiert? Sprich,
einer fährt mit der Straßenbahn
00:27:21.260 --> 00:27:24.809
und dem Schlüsselhalter mit
und der andere steht an der Tür.
00:27:24.809 --> 00:27:30.060
Ralf: Wir haben‘s nicht direkt ausprobiert
aber trivial einfach mit dem Transponder.
00:27:30.060 --> 00:27:33.519
Frage: Also keine Timing-Geschichten?
Ralf: Nein.
00:27:33.519 --> 00:27:36.810
Herald: Gut. Mikrofon Nr. 4?
00:27:36.810 --> 00:27:41.520
Frage: Ja, meine Frage ist: Werden
Sie die Proxmark-Sourcen releasen?
00:27:41.520 --> 00:27:45.430
Ralf: Ich denke schon, ja. Also
zumindest Teile davon, ja.
00:27:45.430 --> 00:27:49.780
Frage: Okay.
Ralf: Also... ja.
00:27:49.780 --> 00:27:52.560
Ralf: Also... ja. Nee, NXP ist übrigens...
also NXP ist der Hersteller dahinter...
00:27:52.560 --> 00:27:57.070
ursprünglich hat Philips das Ding gebaut,
NXP ist kontaktiert worden von uns vor...
00:27:57.070 --> 00:28:00.520
das erste Mal vor 4 oder 5 Monaten, da
hatten wir keine Antwort. Dann nochmal
00:28:00.520 --> 00:28:07.980
vor irgendwie 60 Tagen, oder 45..50 Tagen,
NXP ist informiert und hat eben auch
00:28:07.980 --> 00:28:11.100
seine Kunden angeschrieben. Also wenn
hier ein Kunde drin sitzen sollte, der
00:28:11.100 --> 00:28:16.100
diese Transponder einsetzt, in eigenen
Applikationen: Verlassen Sie sich nicht,
00:28:16.100 --> 00:28:19.750
eben, mehr auf die Identität des
Transponders... also wenn die Identität
00:28:19.750 --> 00:28:22.730
des Transponders wichtig ist für die
Sicherheit Ihrer Applikation...
00:28:22.730 --> 00:28:30.930
sorry Ihrer Applikation, dann ist die
Applikation kaputt. Schließsysteme
00:28:30.930 --> 00:28:36.160
– nebenbei – bestehen häufig aus 500..1000
oder mehreren Schlössern und so
00:28:36.160 --> 00:28:45.340
10000 Transponder die ich da tauschen muss
in größeren Gebäuden. Schwer zu tauschen.
00:28:45.340 --> 00:28:48.670
Herald: Dann schließe ich noch mal mit...
Haben wir noch ‘ne Frage? Ah, hier kommt
00:28:48.670 --> 00:28:52.480
noch eine Frage aus dem Internet. Gut,
für eine haben wir noch Zeit. Bitte!
00:28:52.480 --> 00:28:57.809
Signal Angel: Könnte man, wenn man diese
Kommunikation aufzeichnen will bei 125kHz
00:28:57.809 --> 00:29:01.230
auch Soundkarten einsetzen dafür?
00:29:01.230 --> 00:29:07.330
Ralf: Gute Frage. Keine Ahnung. Haben wir
nicht gemacht, wir haben Oszilloskope
00:29:07.330 --> 00:29:14.060
eingesetzt um uns das anzuschauen, was da
übertragen wird. Aber wenn die Soundkarte
00:29:14.060 --> 00:29:19.929
die 125kHz auflösen kann, dann wäre das
wahrscheinlich sogar machbar...
00:29:19.929 --> 00:29:24.059
dort das zu machen. Man muss sich dann
eben ein wenig mit der Modulation
00:29:24.059 --> 00:29:29.250
und ähnlichem beschäftigen. Das ist nicht
ganz trivial bei den Transpondern.
00:29:29.250 --> 00:29:32.489
Herald: Gut, dann nochmal einen
herzlichen Applaus und vielen Dank
00:29:32.489 --> 00:29:36.760
für diesen wundervollen Talk!
Applaus
00:29:36.760 --> 00:29:40.530
Abspannmusik
00:29:40.530 --> 00:29:46.900
Untertitel erstellt von c3subtitles.de
im Jahr 2016. Unterstütze uns!