Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Briefing der Rede:

Für viele von uns ist ein Auto einer der teuersten Anschaffungen, die wir jemals tätigen werden. In einer Welt, in der alles vernetzt ist, ist es selbstverständlich, unser Auto aus der Ferne steuern zu wollen: sich daran erinnern zu lassen, wo wir es geparkt haben, nachsehen, ob wir vergessen haben, die Türen zu verriegeln, oder den Motor aus der Ferne zu starten, um den Innenraum vorzuwärmen oder zu kühlen je nach Jahreszeit.

Es gibt viele Hersteller, die optionale Alarmsysteme anbieten, die diesen Komfort und diese Sicherheit bieten. Doch wie sehr können wir den Anbietern dieser Systeme vertrauen, dass sie den Zugang zu unseren Autos im digitalen Bereich schützen? In diesem Vortrag wird Jmaxxz darüber sprechen, was er entdeckt hat, als er eines dieser Systeme untersuchte.

Jmaxxz ist bekannt für seine Arbeit mit August Smart Lock-Smart-Home-Systemen (Präsentation auf der DEFCON 24 „Backdooring The Frontdoor“). In den letzten Jahren lag sein Fokus auf IoT-Geräten. Er nahm an den Abschnitten „IoT Village Zero Day“ von DEFCON 24 und DEFCON 25 teil und entschied schließlich, dass es an der Zeit sei, ein Produkt des sekundären Automobilmarktes zu erkunden – einen Fernstarter (im Folgenden als RS bezeichnet).

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Mein Name ist also J-Max, ich bin von Beruf Programmierer und von Beruf Hacker. Ich interessiere mich für alles, was mit Schlössern zu tun hat, und in diesem Gespräch werden Sie viele Aussagen hören, die ausschließlich meine Meinung zum Ausdruck bringen und nichts mit der Meinung meiner früheren, gegenwärtigen und zukünftigen Arbeitgeber zu tun haben. Wie Sie wahrscheinlich verstanden haben, werden wir über Autos sprechen, und zwar über Fernstarter und Alarmsysteme. Beginnen wir mit einigen Hintergrundinformationen, die in diesem Zusammenhang wichtig sind, da viele solche Systeme als unnötigen Luxus betrachten.
Wo ich wohne, ist es also ziemlich kalt und mein Freund leidet an einer Krankheit namens Raynaud-Syndrom. Durch die Kälte kommt es zu einem Krampf der Blutgefäße in den Händen, die Durchblutung der Finger wird stark reduziert und es treten Erfrierungserscheinungen bis hin zu Gewebenekrosen auf. Die Folie zeigt, wie es normalerweise aussieht.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Letzten November hatte ich noch nicht entschieden, was ich ihr zu Weihnachten schenken würde. Deshalb kehrt sie verärgert vom Flughafen nach Hause zurück, weil ihr Auto auf dem Heimweg nie warm wurde. In diesem Moment wurde mir klar, dass ich ihr ein Fernstartsystem für den Motor geben würde, und begann nach der besten Option zu suchen. Es stellt sich heraus, dass der Markt für Fernstarter recht groß ist und viele Hersteller nicht ausreichend Informationen über ihr Produkt bereitstellen.

Sie sagen Ihnen nicht, wie Sie das System installieren oder welche Tools Sie zum Programmieren des Geräts verwenden müssen. Das ist für mich ein Problem, denn das ist mein Auto, mein Fernstarter und ich muss Zugriff auf diese Werkzeuge haben. Also suchte ich noch ein wenig weiter und fand ein Unternehmen aus Kanada, Fortin, das solche Starter herstellt und bereitwillig alle notwendigen Unterlagen zur Verfügung stellt. Ich entschied mich für dieses Produkt und machte mich auf die Suche nach einer geeigneten Fernbedienung. Tatsache ist, dass bei Verwendung einer Standard-Fernbedienung mit Fernstarter deren Aktionsbereich auf die Reichweite der Standard-Fernbedienung beschränkt ist. Es werden Aftermarket-Fernbedienungen angeboten, die eine Reichweite von einer halben bis anderthalb Meilen haben. Laut Verbraucherrezensionen handelt es sich hierbei um einen Werbegag, da die Entfernung in Wirklichkeit viel kürzer ist. Das ist das Problem, denn meine Freundin muss den Motor ihres Autos auf dem Flughafenparkplatz starten, sobald sie aus dem Flugzeug steigt, was etwa eine halbe Meile entfernt ist.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Es wäre also großartig, wenn sie einfach ihr Telefon herausholen, die App öffnen und auf Start drücken könnte. Ich habe ein Drittanbieterprodukt namens MyCar gefunden, das vollständig mit dem Fortin-Starter kompatibel ist. Dabei handelt es sich um einen kleinen Schlüsselanhänger mit SIM-Karte und GPS-Empfänger, den Sie in Ihr Auto einbauen und mit dem Fernstarter verbinden können. Mithilfe einer mobilen App können Sie dann den Motor aus der Ferne starten, die Schlösser entriegeln und Ähnliches.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Ich dachte, das wäre großartig: Direkt nach der Landung des Flugzeugs kann meine Freundin den Motor starten, und wenn sie am Auto ankommt, ist die Kabine bereits warm.

Lassen Sie uns ein wenig darüber sprechen, wie Fernstarter funktionieren. Dazu müssen Sie zunächst verstehen, wie ein Automotor startet. Bis etwa Mitte der Neunzigerjahre war der Anlasser eines Autos ein traditionelles mechanisches Schloss in einer Schlüssel-Schalter-Kombination. Sie mussten den Schlüssel einstecken und drehen, um den Stromkreis zu schließen. Dann wurden Schlösser mit der Bezeichnung „Wegfahrsperre“ in den Vereinigten Staaten populär. Es klingt kompliziert, aber es ist nur ein elektronisches Schloss. Sie haben also ein mechanisches Schloss, das den Schlüssel zu einem elektronischen Schloss darstellt, das wiederum ein Transponder ist und einige Informationen enthält, die gelesen werden können. Und bis Sie das elektronische Schloss öffnen, startet Ihr Auto nicht. Auf der rechten Seite der Folie sehen Sie zwei Schlüssel: Der linke ist für die Wegfahrsperre und der rechte für den normalen Zündschalter. Es betätigt lediglich die mechanischen Komponenten des Schlosses, während der linke Schlüssel das elektronische Schloss entriegelt, wodurch der Motor des Autos gestartet wird.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Warum erzähle ich Ihnen davon? Der Fernstart funktioniert über die Wegfahrsperre. Auf der nächsten Folie sehen Sie ein Diagramm zum Anschließen des Fortin EVO One-Geräts an die Wegfahrsperre – unten links sehen Sie ein Kontaktpaar mit der Bezeichnung IMO. Oben rechts im Diagramm sehen Sie zwei Linien: CAN LOW und CAN HIGH. Dabei handelt es sich um Kontakte zum Anschluss an den Automotive-CAN-Bus. Der Grund, warum Fernstarter an den CAN-Bus angeschlossen werden, besteht darin, die Installationskosten zu senken, da bei der Installation weniger Verbindungen verwendet werden. Wenn der Fernstarter Daten vom CAN-Bus lesen oder Befehle über den CAN-Bus senden kann, verkürzt sich die Installationszeit für das Fernstartsystem des Motors.

Oben links im Diagramm befindet sich eine ganze Reihe von GPIOs, die mit der Steuerung oder dem Auslesen von Informationen über die Maschine verbunden sind. Sie möchten beispielsweise, dass die Lichter blinken oder eine Hupe ertönt, wenn Sie die Sperrtaste drücken. Solche Dinge können mit diesen GPIOs gesteuert werden. Unten links im Diagramm sehen Sie einen großen, klobigen Anschluss – das ist die Schnittstelle, die die mechanische Verriegelung umgeht. Das heißt, Sie müssen den Schlüssel nicht in das Zündschloss stecken und drehen, da diese Schnittstelle es dem Fernstartersystem-Relais ermöglicht, direkt mit dem Elektroschloss zu kommunizieren.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Die folgenden Folien zeigen die Phasen der Installation eines Fernstarters. Es besteht im Wesentlichen aus dem Entfernen der Lenksäulenabdeckung, dem Einbau und dem Anschluss der DS-Einheit. Es sieht ziemlich gruselig aus, ist aber einfach zu machen.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Die Fernbedienungen selbst stellen eine Verbindung zu einer sogenannten Datenverbindung her, wie Fortin es nennt. Das System nutzt das proprietäre physikalische Datenübertragungsprotokoll UART – einen universellen asynchronen Sender, der Daten mit einer Geschwindigkeit von 9600 Baud austauscht. Der Fortin-Fernstarter wird einfach über einen UART-Bus mit den beiden Fernbedienungen verbunden, die Sie auf der Folie sehen.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Nach dem Einbau des DS habe ich darüber nachgedacht, wie sich solche Geräte auf die Sicherheit des Autos auswirken könnten. Offensichtlich muss das DS die Wegfahrsperre umgehen. Wie sicher ist dies im Hinblick auf die Möglichkeit eines Diebstahls oder eines Abfangens der Kontrolle über das Auto? Dies gilt nicht nur für die Datenübertragung über das Mobilfunknetz, sondern auch für das Fernstartsignal selbst. Also fing ich an, im Internet nach Herstellerinformationen zum verwendeten Datenübertragungsprotokoll zu suchen und landete in Foren, in denen Leute schrieben, dass Fortin sich weigerte, dieses Protokoll bereitzustellen. Einer der Gründe: „Wir verbreiten solche Informationen nicht, weil EVO kein Spielzeug für Amateure ist, sondern für den Einsatz durch Profis gedacht.“

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Da ich eher ein Profi bin, beschloss ich, meine eigene Maschine auf dem Desktop zu bauen. Ich besorgte mir eine zweite EVO-Systemeinheit, baute eine Platine zusammen, die das Auto darstellte, fügte Schalter zur Simulation der Zündung, einen Knopf für das Bremspedal und eine ganze Reihe LEDs zur Anzeige verschiedener Zustände hinzu.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Nachdem ich das alles zusammengefügt hatte, schloss ich das Datenverbindungsüberwachungsgerät von FTI an und begann mit der Datenerfassung. Auf den ersten Blick sieht es ungefähr so ​​aus wie auf der Folie, und es ist nicht ganz klar, was hier vor sich geht. Aber wenn man genau hinschaut, kann man sagen, dass es hier durchaus eine Art Struktur gibt.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Bitte beachten Sie, dass die Nachricht, die die Antenne an meinen DS sendet, immer mit 0C beginnt und mit 0D endet, wenn ich eine Taste auf meiner Fernbedienung drücke. Wenn wir also einfach teilen, was wir erhalten, unter der Annahme, dass 0C der Anfang und 0D das Ende ist, erhalten wir am Ende so etwas.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Hier ist bereits eine Art Struktur deutlich sichtbar, sodass Sie verstehen können, was passiert. Indem ich Zeit damit verbrachte, zu verfolgen, welche Meldung nach dem Drücken einer bestimmten Taste angezeigt wurde, konnte ich eine Tabelle mit Befehlen erstellen, von denen jeder einer bestimmten Aktion entsprach. Das heißt, wenn Sie eine Taste auf der Fernbedienung drücken, sendet die Antenne einen Befehl an das Fernstartmodul, der wie folgt aussieht.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

So sieht eine typische Teamstruktur aus.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Wenn Sie eine Taste auf der Fernbedienung drücken, sendet die Antenne einen solchen Befehl an den Fernstarter. Es wird durch Byte 0C geweckt, gefolgt von 2 Bytes, die meiner Meinung nach die Übertragungsrichtung darstellen. Das ist interessant, weil der UART bereits eine Signalrichtung hat, also habe ich diese Bytes als „Müll“ markiert und sie einfach als Konstante behandelt. Darauf folgt ein einzelnes Byte, das den Befehl angibt, den der Benutzer ausführen möchte. Dies kann das Verriegeln oder Öffnen von Türen, das Ausschalten des Alarms usw. sein. Im Allgemeinen ist alles, was Sie aus der Ferne tun möchten, mit diesem Befehl verknüpft. Die FF FF F1-Nutzlast ist eine Adresse oder Kennung, die die entfernte Antenne identifiziert, von der die Nachricht kam. Wenn die DS-Einheit die Kennung nicht erkennt, wird der Befehl ignoriert. Wenn das DS die Kennung akzeptiert, beginnt ein mehrstufiger Vorgang, der die Prüfung des Vorhandenseins des Schlüssels im Zündschloss, das Ein- und Ausschalten des Motors, das Betätigen des Bremspedals usw. umfasst. Tatsächlich hat dieser Vorgang keine große Bedeutung, das Gerät lernt in diesem Moment lediglich die ID.

Am Ende der Nachricht gibt es ein Byte mit einer Prüfsumme und ein Byte, das das Ende des Befehls anzeigt. Nachdem wir nun verstanden haben, wie das Protokoll funktioniert, was können wir dagegen tun? Ich habe ein paar Videos zu diesem Thema. Leider ist das Video aus irgendeinem Grund ohne Ton, daher werde ich Ihnen sagen, was auf dem Bildschirm passiert. Links neben der Lenksäule am Gehäuse der Instrumententafel befindet sich ein weißer Kasten, der Elektronik mit Particle.IO-Firmware enthält, die das Fortin-Protokoll versteht. Der Draht mit der blauen Spitze ist die Antenne. Mit diesem Ding kann ich vom Auto aus mit der Fernstartereinheit interagieren und sehen, was auf dem Laptop-Bildschirm passiert.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Also sende ich den Befehl zum Entriegeln des Schlosses an das Auto, aber es funktioniert nicht, weil der DS nichts von dieser Antenne weiß. Wie ich bereits erwähnt habe, handelt es sich lediglich um einen UART, dessen Eigenschaft darin besteht, die sogenannte Zwei-Wege-Kommunikation zu unterstützen, dank derer Sie aus der Ferne Informationen über den Status des Fahrzeugs erhalten können. Wenn beispielsweise der Motor physisch gestartet oder gestoppt wurde, sendet die DS-Einheit eine entsprechende Nachricht an die Fernbedienungsantenne. In diesem Fall enthält die Nachricht die Adresse genau dieser Antenne.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Das Problem besteht darin, dass die Kommunikation über das UART-Protokoll erfolgt und jeder, der eine Verbindung zum UART-Bus herstellt, die Adresse sehen kann, an die eine bestimmte Nachricht gesendet wird. Daher hat meine Firmware die Möglichkeit, die Adresse einer vorhandenen Antenne zu klonen, was ich auch tue mit dem entsprechenden Befehl.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Um eine Nachricht zu generieren, müssen Sie lediglich die Autotür öffnen. Wie Sie sehen, sendet der DS eine Nachricht an die Antenne, dass die Tür geöffnet war, und der Alarm schaltet sich sofort ein.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Um den Alarm auszuschalten, sende ich den Befehl „Entriegeln“, woraufhin der Alarmton ausgeschaltet und das Auto entriegelt wird. Sie müssen sich auf mein Wort verlassen, da es uns nicht gelungen ist, dieses Video mit Ton abzuspielen. Versuchen wir noch einmal, das Video abzuspielen.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Nun, der Ton erschien (Anmerkung des Übersetzers: Auf dem Bildschirm wird das gleiche Video mit Ton abgespielt). Sie haben also gesehen, wie ich den DS-Befehl gesendet und den Alarm eingeschaltet habe, alles ohne Schlüssel. Versuchen wir nun, das Auto auf die gleiche Weise zu starten; schauen Sie sich dazu das folgende Video an.

Normalerweise funktioniert es nicht, wenn Sie einfach „Start“ eingeben und versuchen, den Motor zu starten. Der Grund dafür ist, dass es sich um ein Auto mit Schaltgetriebe handelt und Fernstartersysteme über ein spezielles Verfahren für solche Autos verfügen. In diesem Fall müssen Sie den Fernstarterknopf drücken, während der Schlüssel im Zündschloss steckt und der Motor läuft. Dann können Sie den Schlüssel herausziehen, aus dem Auto aussteigen, die Tür schließen, woraufhin der DS den Motor abstellt und die Tür verriegelt. Dies geschieht, um zu verhindern, dass das Auto während der Fahrt auf den Fernstart des Motors reagiert, da dies gefährlich ist. Hierbei handelt es sich jedoch nicht um eine vollständige Sicherheitsfunktion. Dies lässt sich ganz einfach anhand der EVO-Fernstartereinheit nachweisen. Sie sehen dieses gelbe Schleifenkabel, das für den Betrieb mit einem Schaltgetriebe ausgelegt ist. Wenn er geschnitten ist, kann dieser Block für ein Auto mit Automatikgetriebe verwendet werden. Durch diese Konstruktion des Geräts können Sie beim Einbau des DS in Fahrzeuge mit unterschiedlichen Getriebetypen keine besonderen Einstellungen vornehmen.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Das System hat also nicht auf den „Start“-Befehl reagiert, also werde ich diesen Block wieder anbringen und einfach diesen Draht durchschneiden, um die Verbindung zu unterbrechen. Wenn Sie nun den „Start“-Befehl wiederholen, ertönt ein akustisches Signal und die Statusanzeigen der Fahrzeugsysteme leuchten auf der Instrumententafel auf, wie es beim Einstecken eines Schlüssels in das Schloss der Fall ist.

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 1

Im Moment haben wir ein Auto, das wir aus der Ferne starten können, ohne dass der Schlüssel im Zündschloss steckt, aber das DS-Modul ist nicht alles, was wir brauchen. Unter normalen Umständen wird es Ihnen immer noch nicht gelingen, mit einem ferngesteuerten Auto loszufahren, aber versuchen wir es trotzdem.

Um die Lenkradsperre zu deaktivieren, müssen Sie einen normalen Schlüssel in das Zündschloss stecken, das über keinen Transponder verfügt. Wie Sie sehen, reicht es aus, den Schlüssel in die Position vor dem Starten des Motors zu bringen, und das Lenkrad des Subaru Impreza beginnt sich völlig frei zu drehen.

Wenn Sie jedoch keinen Schlüssel haben, bleibt das Auto beim Betätigen des Bremspedals stehen. Es ist ganz einfach, diese Einschränkung zu umgehen. Sie müssen herausfinden, wie das Auto dem Fernstarter mitteilt, dass die Bremse betätigt ist. Auf der Rückseite des EVO-Modulgehäuses sehen Sie mehrere mehrfarbige Anschlüsse – hier wird das Kabel vom CAN-Bus angeschlossen. Es reicht aus, dieses Kabel einfach von der DS-Einheit zu entfernen, nachdem das Auto aus der Ferne gestartet wurde, und es reagiert nicht auf das Drücken des Bremspedals. Da sich diese Einheit unter der Lenksäulenabdeckung befindet, gebe ich über meinen Laptop den „Start“-Befehl, das Auto startet, ich öffne die Tür, steige aus dem Auto und ziehe den CAN-Bus-Stecker von der EVO-Einheit ab. Wie Sie sehen, läuft der Automotor, aber wir haben noch keinen Schlüssel im Zündschloss.

Wenn Sie nun das Bremspedal betätigen, passiert nichts, da der EVO nicht weiß, dass es gedrückt wurde. Danach kann ich mich ans Steuer setzen, die Bremse betätigen, den Schaltknüppel in die Position „Fahren“ bewegen und schon setzt sich das Auto in Bewegung. Das alles geschieht ohne Schlüssel.

21:40

Konferenz DEFCON 27. Dein Auto ist mein Auto. Teil 2

Einige Anzeigen 🙂

Vielen Dank, dass Sie bei uns geblieben sind. Gefallen Ihnen unsere Artikel? Möchten Sie weitere interessante Inhalte sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder an Freunde weiterempfehlen. Cloud-VPS für Entwickler ab 4.99 $, ein einzigartiges Analogon von Einstiegsservern, das von uns für Sie erfunden wurde: Die ganze Wahrheit über VPS (KVM) E5-2697 v3 (6 Kerne) 10 GB DDR4 480 GB SSD 1 Gbit/s ab 19 $ oder wie teilt man sich einen Server? (verfügbar mit RAID1 und RAID10, bis zu 24 Kerne und bis zu 40 GB DDR4).

Dell R730xd 2-mal günstiger im Equinix Tier IV-Rechenzentrum in Amsterdam? Nur hier 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbit/s 100 TV ab 199 $ in den Niederlanden! Dell R420 – 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2 x 960 GB SSD 1 Gbit/s 100 TB – ab 99 $! Lesen über Wie baut man ein Infrastrukturunternehmen auf? Klasse mit dem Einsatz von Dell R730xd E5-2650 v4 Servern im Wert von 9000 Euro für einen Cent?

Source: habr.com

Kommentar hinzufügen