Übersicht
Fast alle Autos sind derzeit mit einem Schlüsselanhänger ausgestattet, mit dem Sie die Türen öffnen und das Auto starten können. Wenn Sie ein Auto kaufen, ist der Komfort das überzeugende Merkmal. Sie können den Schlüsselanhänger in Ihrer Tasche lassen und sich nie wieder Sorgen machen, einen physischen Schlüssel zu haben. Es klingt großartig.
Die implizite Annahme, die Sie machen, ist, dass das Schlüsselanhänger-System sicher ist und dass eine zufällige Person mit $ 50 Hardware nicht mit Ihrem Auto losfahren kann. Sie haben keine wirkliche Möglichkeit zu sagen, ob die Autofirma mit ihrem System einen vernünftigen Job gemacht hat, also müssen Sie ihnen vertrauen. Leider ist dieses Vertrauen nicht immer gerechtfertigt. Und erst wenn die Leute versuchen, diese Systeme zu hacken, kommen die Probleme heraus. Probleme, die weniger gewissenhafte Menschen möglicherweise bereits ausgenutzt haben.
Ihr Auto Schlüssel Fob
Es gibt viele verschiedene schlüssel fob systeme. Wir beginnen mit einem Blick auf den Schlüsselanhänger für meinen Prius 2006. Schlüsselanhänger verwenden ein sogenanntes Remote Keyless System (RKS). In den USA arbeiten diese bei 315 MHz, +/- 2,5 MHz. Mein Prius-Schlüssel lag bei 312.590 MHz.Die Schlüsselanhänger sind alle in der FCC-Datenbank aufgeführt. Das Aufpassen auf neue Einträge ist eine der Möglichkeiten, wie Menschen erkennen können, wann neue Automodelle herauskommen. Diese werden lange vor der offiziellen Ankündigung erscheinen.
Sie können herausfinden, auf welcher Frequenz Ihr Schlüsselanhänger mit Ihrem SDR sendet, und GQRX oder SDR # verwenden, um das Spektrum zu überwachen. Wenn Sie einen Knopf am Fob drücken, sollten Sie einen kurzen Sprung im Spektrum sehen. Möglicherweise müssen Sie das Frequenzband um einige MHz nach oben oder unten verschieben, um das Signal zu finden, meins war fast 2.5 MHz niedrig.
Ein Wort der Vorsicht. Lassen Sie sich nicht zu sehr davon mitreißen, den Knopf zu drücken! Das RKS-System verwendet einen rollierenden pseudo-zufällig generierten Code. Sowohl der Schlüsselanhänger als auch das Auto bleiben synchron, so dass das Auto den nächsten Code erkennt. Wenn der Schlüsselanhänger jedoch in der Sequenz zu weit voraus ist (100s Tastendruck), erkennt das Auto ihn nicht. Das macht den Schlüssel (und das Auto) deutlich weniger nützlich!
Wenn wir das Signal erfassen, wird das Ergebnis unten angezeigt
Die Gesamtbreite des Diagramms beträgt 10 Sekunden, sodass Sie sehen können, dass kurz nach 2 Sekunden ein Tastendruck und kurz nach 5 Sekunden ein weiterer erfolgt.
Wenn wir 100 ms ab 2 Sekunden zeichnen, können wir das gesuchte digitale Signal sehen:
Wenn wir auf die ersten paar Bits zoomen, erhalten wir
Die Bits sind leicht zu identifizieren. Eine Entscheidungsschwelle von 15 ergibt eine nahezu perfekte Erkennung. Wenn wir dies tun und dann den ersten Teil der digitalen Daten für die beiden Tastendrücke plotten, erhalten wir Folgendes
Obwohl die beiden gleich beginnen, gehen sie schnell auseinander. Das ist ein Glück, denn wenn das Signal jedes Mal das gleiche wäre, hätten Sie genug Informationen, um mein Auto jetzt zu stehlen!
Die Daten sind wieder On-Off-Keying (OOK). Es ist auch fast sicher Split Phase (oder Manchester) Codierung. Anstatt dass eine „1“ hoch und eine „0“ niedrig ist, wird die Information beim Übergang von hoch zu niedrig oder niedrig zu hoch codiert. Das bedeutet, dass ein „0“ -Bit ein steigender Übergang und ein „1“ -Bit ein fallender Übergang ist. Eine gute Möglichkeit, die Split-Phase-Codierung zu erkennen, besteht darin, dass Sie nur ein oder zwei Low- oder High-Segmente hintereinander haben können. Das Schöne an der Manchester-Codierung ist, dass jedes Symbol einen Übergang hat, und diese sind leichter zu finden, wenn das Signal für mehrere Intervalle hoch oder niedrig war.
Dieses beispiel ist OOK, die ist die häufigste für auto fernbedienungen. Einige verwenden Frequency-Shift-Keying (FSK), bei dem jedes Bit als eine andere Frequenz übertragen wird und die Hüllkurve konstant ist.
Angriffe auf Autofernbedienungen
Es gibt viele verschiedene Angriffe, die gegen Autofernbedienungen verwendet werden können, je nachdem, wie sie funktionieren und nach welcher Art von Zugriff Sie suchen. Am einfachsten können Sie das Auto öffnen. Gründlichere Angriffe geben Ihnen die vollständige Kontrolle, indem Sie die Fernbedienung grundsätzlich klonen.
Die meisten Schlüsselanhänger verwenden einen Rollschlüssel. Dies erzeugt eine neue Wellenform, die von der ID des Schlüsselanhängers, einem zufälligen Startwert und der Häufigkeit des Tastendrucks abhängt. Das Auto verfolgt den letzten Code, den es erhalten hat, und weiß, was die nächsten hundert Codes sein könnten. Wenn es einen der erwarteten zukünftigen Codes erkennt, öffnet es das Auto. Wenn es einen zuvor verwendeten Code erhält, reagiert es nicht mehr auf den Schlüsselanhänger. Für den Prius müssen Sie den „Chicken Dance“ machen, damit er wieder funktioniert, vorausgesetzt, Sie haben einen anderen funktionierenden Schlüsselanhänger. Andernfalls müssen Sie den Händler das Auto für viele hundert Dollar umrüsten lassen. Ich musste das jetzt ein paar Mal machen (aus anderen Gründen).
Es gibt mehrere Angriffslinien. Man zeichnet einfach die Schlüsselanhängerausgabe für ein paar Tastendrücke auf, wenn es nicht im Auto ist oder das Auto eingeklemmt wird. Mit aufgezeichneten unbenutzten Codes können Sie das Auto öffnen.
Eine andere Möglichkeit besteht darin, die RKS-Sequenz zurückzuentwickeln. Im Allgemeinen sollte dies extrem schwierig sein. Es gab jedoch mehrere Situationen, in denen dies sehr einfach ist.
Schließlich gibt es Autos, die sich öffnen, wenn sich der Besitzer dem Auto nähert. Dies basiert auf einem Low-Power-Signal, das nur empfangen werden kann, wenn der Schlüsselanhänger sehr nahe ist. Dies kann durch Verstärkung dieser kleinen Signale besiegt werden.
Es gibt viel mehr Angriffe, und diese werden sich weiter vermehren, wenn Autos komplexer werden und mehr eingebettete Computersysteme haben. Sie können sich einige davon für die nächste Woche ansehen.
Replay-Angriffe
Der älteste und einfachste Ansatz bestand darin, die Wellenform, die ein Schlüsselanhänger ausgibt (mit Ihrem rtl-sdr), aufzuzeichnen und dann wiederzugeben. Dies funktioniert gut für ältere Garagentoröffner, die einen einzigen festen Schlüssel verwendeten. Es gibt immer noch Autos da draußen, die Schlüsselanhänger haben, die auf diese Weise funktionieren (einige Mercedes vor 2000 zum Beispiel).
Für Schlüsselanhänger, die einen rollenden Schlüssel verwenden, können Sie weiterhin einen Replay-Angriff verwenden. Wenn Sie auf den Schlüsselanhänger zugreifen können, wenn er nicht im Auto ist, und mehrere Tastendrücke aufzeichnen, können Sie diese wiederholen, um das Auto zu öffnen.
Wenn Sie keinen Zugriff auf den Schlüsselanhänger erhalten, besteht ein zweiter Ansatz darin, ein Gerät zu erstellen, das die Ausgabe des Schlüsselanhänger aufzeichnet, wenn er verwendet wird, und gleichzeitig das Auto blockiert. Eine Standardmethode, dies zu tun, besteht darin, die Übertragung des Schlüsselanhängers abzuhören und dann mit dem Jammen zu beginnen, wenn die Fehlerkorrekturbits am Ende übertragen werden. Auf diese Weise verklemmst du dich nicht. Das Auto erkennt das Paket nicht, aber Sie können die Fehlerkorrekturbits neu erstellen und die Wellenform später erneut übertragen.
Schließlich verhindert ein Störsender selbst, dass die Fernbedienung das Auto verriegeln kann. Wenn der Fahrer nicht aufmerksam ist, kann er vom Auto weggehen und es offen lassen.
Retransmission Devices
All dies hängt von Ihrer Fähigkeit ab, HF zu senden und zu empfangen. Ihre rtl-SDRs sind nur Empfänger und leisten hervorragende Arbeit bei der Erfassung von Signalen. Es gibt viele Möglichkeiten zur Übertragung. Es gibt eine Reihe von USB-Dongles, die auf den TI CC111X-Chips basieren, die in Schlüsselanhängern wie diesem verwendet werden
Ein interessanter, flexiblerer Ansatz verwendet Ihren Raspberry PI, um RF zu generieren, indem er eine sorgfältig gestaltete Datensequenz an den GPIO-Port sendet. Dies wird ausführlich beschrieben, mit Videos und Links zum Code hier:
Raspberry PI sender
Mit diesem, sie können erzeugen so ziemlich jede digitale paket wellenform sie möchten. Die Leistungsstufen sind mehr als ausreichend, um einen Schlüsselanhänger zu emulieren. Die rtl-SDRs werden auch auf dem Raspberry PI gut unterstützt, so dass die beiden zusammen ein komplettes Key-Fob-Hacking-System für etwa 50 US-Dollar bieten, wie wir in Kürze sehen werden.
> Passive Keyless Entry und Start (PKES) Systeme
Viele High-End-Autos verwenden ein passives System zum Öffnen des Autos, wenn sich der Fahrer nähert. Ein Low-Power-Signal wird vom Auto als Herausforderung übertragen. Der Schlüsselanhänger antwortet dann mit einer Authentifizierung. Da die Leistung so gering ist, geht das Auto davon aus, dass sich der Fahrer in unmittelbarer Nähe befinden muss, wenn er eine Antwort erhält.
Diese Systeme können durch den Bau eines Repeaters gehackt werden, die in der Nähe des Autos platziert. Es fängt das Signal des Autos ein und überträgt es mit höherer Leistung erneut. Die fernbedienung kann überall mit in ein paar hundert meter, und es wird immer noch hören das signal. Die Fernbedienung antwortet, und das wird erneut vom Repeater erfasst und erneut übertragen. Das Auto denkt, dass der Schlüsselanhänger in der Nähe ist und öffnet das Auto.
Das Schöne an diesem Ansatz ist, dass Sie nichts über den Schlüsselanhänger wissen müssen, außer seiner Frequenz. Sie müssen das verwendete Protokoll nicht zurückentwickeln, Sie verwenden tatsächlich nur den echten Schlüssel!
Hier ist ein Video von einigen Pflegedieben, die einen Tesla mit diesem Ansatz stehlen
Passiver Fernangriff, Tesla Model 3
Wie können Sie dieses Risiko reduzieren?
Angriff auf das Rolling-Key-System
Die nächsten Angriffe folgen dem Rolling-Key-System selbst. Dies funktioniert im Allgemeinen so, dass der Schlüsselanhänger eine ID sendet, zusammen mit einem Zähler, wie oft eine Taste gedrückt wurde. Dies wird verschlüsselt und an das Auto übertragen, wenn Sie die Taste drücken.
Wenn die Verschlüsselung stark ist, ist es extrem schwierig herauszufinden, was die Benutzer-ID und der Zähler sind. Es gibt mehrere interessante Fälle. Einer ist für die 20 Jahre von VW (und Audi, Porsche usw.), die wir uns hier ansehen werden. Ein anderer ist für Subarus, den Sie sich diese Woche für Ihren Auftrag ansehen können.
Eine Beschreibung des VW RKS-Systems finden Sie hier
VW Hack
Dies verweist auf einen Wired-Artikel (der sich derzeit hinter einer Paywall befindet) und enthält ein technisches Papier, in dem ausführlich beschrieben wird, wie es funktioniert. Die Autoren des Fachbeitrags haben sich die VW RKS-Systeme der letzten 20 Jahre angesehen.
Für die neuesten Systeme war die Verschlüsselung relativ stark, was einem 90-Bit-Schlüssel entspricht. Es stellt sich jedoch heraus, dass sie in jedem Auto den gleichen Schlüssel verwendet haben! 100 Millionen davon!
Die Herausforderung besteht dann darin, herauszufinden, was der Schlüssel ist und was der Verschlüsselungsalgorithmus ist. Das Auto selbst hilft Ihnen, dieses Problem zu lösen. Wenn die Taste gedrückt wird, empfängt das Auto das Signal und dekodiert es dann im Bordcomputer (ECU). Der Schlüssel und der Algorithmus sind in der ECU-Firmware gespeichert. Die Autoren kauften einige Steuergeräte bei eBay, luden die Firmware herunter und entwickelten die Verschlüsselung zurück (dies sind normalerweise ziemlich einfache bitweise Operationen, die leicht zu identifizieren sind). Mit diesem Wissen können nach dem Erfassen des Signals von einem einzigen Tastendruck die Benutzer-ID und der Zähler decodiert und der Schlüsselanhänger geklont werden, wodurch die vollständige Kontrolle über das Fahrzeug erhalten wird.
Hier gibt es ein paar interessante Dinge. Indem Sie also die Ausführung Ihres Steuergeräts überwachen, können Sie die Benutzer-ID und den Zähler für alle Autos in Ihrer Umgebung finden. Es gibt Berichte von Leuten, die solche Systeme benutzen, um auch andere Automarken zu stehlen.
Der Grund, warum nur Ihr Auto auf Ihre Fernbedienung reagiert, ist, dass Ihr Auto eine „Liste zulassen“ der Schlüsselanhänger-IDs hat, auf die es reagiert. Das ist, was gesetzt wird, wenn Sie das Auto neu starten.
Das klingt alles ziemlich alarmierend. Aber es wird noch schlimmer, wie wir nächste Woche sehen werden.
Zuordnung
Sie haben diese Woche mehrere Optionen für Ihren Auftrag. Generieren Sie für jedes Thema etwa 5 Folien, um Ihre Gedanken oder Ergebnisse zu beschreiben. Melden Sie sich hier an
Melden Sie sich hier an
und laden Sie Ihre Folien hier hoch:
Woche 5 Folien
1. Dieser Artikel betrifft das Subaru RKS-System. Lesen Sie es, sehen Sie sich die Videos an und beschreiben Sie, was Sie finden.
Subaru RKS
2. Haben Sie sich jemals gefragt, wie diese Hotelschlüsselkarten funktionieren? Dieser Artikel beschreibt einen Nicht-RF-Hack, der die gleichen Ideen wie die Key Fob-Angriffe ausnutzt.
Hotel Schlüssel Karten
3. Warum ein Auto stehlen, wenn Sie einen Bulldozer haben können! Lesen Sie diesen Artikel und sehen Sie sich das Video an, um zu sehen, wie dies funktioniert.
Hacken von Industriemaschinen
4. Es gibt viele andere Auto-Hacks da draußen. Sehen Sie, ob Sie etwas Interessantes finden können, und beschreiben Sie es. Suchen Sie nach Geschichten, in denen Sie herausfinden können, wie es funktioniert. Entertainment-Systeme sind eine gemeinsame Art des Zugriffs (überprüfen Sie die Uconnect Hack für Jeeps). Tesla und Hacker haben ein langes Katz-und-Maus-Spiel. Es gibt viele interessante Beispiele hier
5. Wenn Sie einen Raspberry Pi haben, prüfen Sie, ob er ein Signal übertragen kann. Dies sollte ziemlich einfach sein. Verwenden Sie den obigen Link. Ich werde dir einen Raspberry Pi schicken, wenn du das ausprobieren möchtest.
Wenn Sie es noch nicht getan haben, senden Sie mir bitte eine E-Mail, wie der Kurs für Sie abläuft. Ich freue mich, Ihre Gedanken zu hören. Vielen Dank!