- Am 11. Juni 2024 wurde bei Kia-Fahrzeugen eine Schwachstelle entdeckt, mit der sich wichtige Fahrzeugfunktionen allein über das Kennzeichen aus der Ferne steuern ließen
- Angreifer konnten unbemerkt persönliche Daten des Opfers erlangen, darunter Name, Telefonnummer, E-Mail-Adresse und physische Anschrift
- Mit dieser Schwachstelle konnten Angreifer sich selbst ohne Wissen des Besitzers als unsichtbaren zweiten Nutzer des Fahrzeugs hinzufügen
- Um die Auswirkungen der Schwachstelle zu demonstrieren, wurde ein Demo-Tool erstellt, jedoch weder veröffentlicht noch missbraucht
- Die Schwachstelle wurde inzwischen behoben, das Tool wurde nicht veröffentlicht, und das Kia-Team bestätigte, dass die Schwachstelle nie böswillig ausgenutzt wurde
Betroffene Fahrzeuge
- Betroffen waren verschiedene Kia-Modelle von 2014 bis 2025
- Je nach Modell waren Funktionen wie Fernverriegelung/-entriegelung, Fernstart/-stopp, Fernhupe/-licht und Fernkamera möglich
Details zur Schwachstelle
Vor etwa zwei Jahren haben wir Sicherheitslücken bei mehr als 12 Automobilherstellern gefunden. Wir entdeckten kritische Probleme, mit denen sich mehr als 15 Millionen Fahrzeuge aus der Ferne orten, ausschalten, entriegeln und starten ließen - Paul Roberts
- Nach längerer Zeit beschlossen wir, die Websites der Hersteller, bei denen wir zuvor Schwachstellen gefunden hatten, erneut zu untersuchen
- Das Kia-Owners-Portal und die mobile App waren interessant, weil sich darüber Fahrzeugsteuerungsbefehle über das Internet senden ließen
- Die Website leitete Befehle über einen Proxy-Server an die Backend-API weiter, während die App direkt auf die API zugriff
- Beispiel einer HTTP-Anfrage zum Entriegeln der Türen über die Owners-Website:
POST /apps/services/owners/apigwServlet.html HTTP/2 Host: owners.kia.com Httpmethod: GET Apiurl: /door/unlock Servicetype: postLoginCustomer Cookie: JSESSIONID=SESSION_TOKEN; - Der Server verwendete
JSESSIONID, um eineSid-Sitzungs-ID zu erzeugen und an die Backend-API wie folgt weiterzugeben:GET /apigw/v1/rems/door/unlock HTTP/1.1 Host: api.owners.kia.com Sid: 454817d4-b228-4103-a26f-884e362e8dee Vinkey: 3ecc1a19-aefd-4188-a7fe-1723e1663d6e Sidist das Sitzungstoken,Vinkeyeine UUID, die der Fahrgestellnummer (VIN) zugeordnet ist
Schwachstelle in der Händler-Infrastruktur
- Wir beschlossen auch, die Kia-Händler-Website zu untersuchen, weil wir wissen wollten, wie Kia Kundendaten beim Kauf eines Neuwagens verarbeitet
- Auf der Händlerseite fanden wir die URL in einer E-Mail, die Kunden zur Registrierung eines neuen Fahrzeugs erhalten:
https://kiaconnect.kdealer.com/content/kDealer/… - Die bisher unbekannte Domain
kiaconnect.kdealer.comwar interessant - In dieser URL war der Parameter
tokenein VIN-Schlüssel, also ein vom Händler erzeugtes einmaliges Zugriffstoken, mit dem sich das im Parametervinangegebene Fahrzeug ändern ließ - Beim Laden der URL wurde eine HTTP-Anfrage zum Prüfen der Token-Gültigkeit gesendet:
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1 Host: kiaconnect.kdealer.com { "token": "985a49f0-1fe5-4d36-860e-d9b93272072b", "vin": "5XYP3DHC9NG310533", "scenarioType": 3, "loginPref": null } - Auffällig war, dass die Request-URI der Händlerseite dieselbe Struktur wie auf der Owners-Seite hatte:
/apps/services/kdealer/apigwServlet.html - Daher lag die Vermutung nahe, dass es einen Proxy gab, der die Anfrage an eine interne Händler-API weiterleitete
- Beim Durchsehen des JavaScript-Codes fanden sich API-Aufrufe für mitarbeiterinterne Funktionen wie Händler-Fahrzeugabfrage, Kontenabfrage, Registrierung und Abmeldung
- Wir versuchten, mit der VIN eines Fahrzeugs in unserem Besitz auf die API-Endpunkte zuzugreifen, erhielten aber einen Fehler 401 Unauthorized. Mit einem Händler-Token funktionierte es nicht
Zugriff auf die Händler-API mit einem normalen Konto
- Also registrierten wir auf der Händler-Website ein normales Konto, erzeugten ein Zugriffstoken und versuchten damit auf die API zuzugreifen, weil die Owners-Seite und das API-Format ähnlich aussahen
- Auf der Händlerseite versuchten wir die Benutzerregistrierung auf dieselbe Weise wie auf der Owners-Seite, und es funktionierte
- Nach der Anmeldung und Ausstellung eines Zugriffstokens riefen wir die zuvor nicht zugängliche VIN-Abfrage-API auf, und die Antwort enthielt Name, Telefonnummer und E-Mail des Fahrzeughalters
- Das bedeutete, dass wir mit unserem normalen Konto das Händlerportal authentifizieren und mit modifizierten Channel-Headern auf sämtliche Händler-APIs zugreifen konnten
Unbefugter Fahrzeugzugriff
- Nach stundenlanger Analyse des JavaScript-Codes verstanden wir, wie die Endpunkte für Fahrzeugregistrierung, Abmeldung und Änderung funktionierten
- Über die folgenden vier Schritte konnten wir Zugriff auf das Fahrzeug des Opfers erhalten:
- Händler-Token erzeugen und den Wert von "token" aus dem HTTP-Response-Header extrahieren
- E-Mail-Adresse und Telefonnummer des Opfers herausfinden
- Mit der offengelegten E-Mail und der VIN die bestehenden Zugriffsrechte des Besitzers ändern
- Den Angreifer als neuen Eigentümer des Fahrzeugs hinzufügen
- Das Opfer erhielt weder eine Benachrichtigung darüber, dass auf sein Fahrzeug zugegriffen wurde, noch darüber, dass Berechtigungen geändert wurden
- Angreifer konnten über das Kennzeichen die VIN eines beliebigen Fahrzeugs herausfinden und dann per API das Opfer heimlich verfolgen sowie Befehle wie Tür öffnen, Motor starten oder Hupe betätigen senden
Erstellung eines Proof-of-Concept-Dashboards
- Um die Schwere der Schwachstelle zu zeigen, erstellten wir ein Proof-of-Concept-Dashboard, mit dem ein Angreifer (1) das Kennzeichen eines Kia-Fahrzeugs eingeben, (2) die persönlichen Daten des Halters abrufen und anschließend (3) Fahrzeugsteuerungsbefehle ausführen konnte
- Auf der Seite "Exploit" wurde unbefugter Fahrzeugzugriff versucht, auf der Seite "Garage" konnten Befehle ausgeführt und der Standort verfolgt werden
- Getestet wurde mit einem gemieteten, verschlossenen Kia-Fahrzeug. Im Video am Anfang des Blogposts ist zu sehen, wie das Fahrzeug per Smartphone gehackt und anschließend aus der Ferne verriegelt/entriegelt, gestartet/gestoppt, die Hupe ausgelöst und der Standort verfolgt wurde
Fazit
- So wie Meta während der Entwicklung versehentlich eine Codeänderung vornehmen könnte, durch die jemand euer Facebook-Konto übernehmen kann, können auch Autohersteller ähnliche Schwachstellen in Fahrzeuge einbauen
- Auch künftig werden in Autos weiterhin Schwachstellen gefunden werden
Zeitachse
- 06/07/24 16:40 UTC - Anfrage an das Kia-Team nach dem Verfahren zur Meldung der Schwachstelle
- 06/10/24 13:21 UTC - Antwort vom Kia-Team erhalten
- 06/11/24 22:41 UTC - Schwachstelle gemeldet
- 06/12/24 18:20 UTC - Wegen der Schwere eine Ticket-Benachrichtigungs-E-Mail gesendet
- 06/14/24 18:00 UTC - Antwort vom Kia-Team, dass untersucht wird
- 06/18/24 16:41 UTC - Wegen der Schwere Ticket-Benachrichtigungs-E-Mail und Screenshots des Tools gesendet
- 06/20/24 02:54 UTC - Ticket-Benachrichtigungs-E-Mail und Screenshot gesendet, der den Zugriff per Kennzeicheneingabe zeigt
- 08/12/24 12:30 UTC - Per Ticket-Benachrichtigungs-E-Mail um ein Update gebeten
- 08/14/24 17:41 UTC - Antwort vom Kia-Team, dass die Schwachstelle behoben ist und getestet wird
- 09/26/24 08:15 UTC - Nach Bestätigung der Behebung öffentlich gemacht
Meinung von GN⁺
- Ein schockierender Fall, der zeigt, dass Auto-Hacking Realität wird. Mit der zunehmenden Verbreitung vernetzter Fahrzeuge dürften solche Schwachstellen noch gravierender werden
- Dieser Vorfall zeigt deutlich das mangelnde Sicherheitsbewusstsein und die nachlässige Systemarchitektur vieler Autohersteller. Die Einführung eines Secure Software Development Lifecycle (SSDLC) mit Schwachstellenmanagement und Code-Reviews erscheint dringend notwendig
- Die Technik zur Fernsteuerung von Fahrzeugen erhöht den Komfort, vergrößert aber gleichzeitig die Angriffsfläche. Wichtig wird sein, ein Gleichgewicht zwischen Technik, Sicherheit und Privatsphäre zu finden
- Der Vorfall legt auch die Probleme von Authentifizierungsverfahren offen, die auf personenbezogenen Daten basieren. Dass sich ein Fahrzeug allein mit Kenntnis des Kennzeichens kapern lässt, ist viel zu nachlässig. Stärkere Authentifizierung wie Biometrie oder Multi-Faktor-Authentifizierung scheint notwendig
- Nutzer sollten den Sicherheitsstatus ihres Fahrzeugs kennen und kontrollieren können. Es braucht etwa Benachrichtigungen darüber, wer auf das Fahrzeug zugegriffen und welche Befehle ausgeführt hat
4 Kommentare
Uff, das ist schrecklich.
Ich finde, Fahrzeughaltern sollte unbedingt die Möglichkeit gegeben werden, die Verbindung zwischen Fahrzeug und Internet physisch zu trennen.
Ich habe mich nach dem Tarifsystem gefragt, aber offenbar lockt man Nutzer mit einem kostenlosen Basistarif für mehrere Jahre zur Anmeldung.
Meinungen auf Hacker News
Die Entscheidung von Kia, bei US-Fahrzeugen auf eine Wegfahrsperre zu verzichten, führte landesweit zu einem Problem mit Fahrzeugdiebstählen
Man könnte eine "Ride-Share"-App bauen, die eine verwundbare Kia-Fahrzeugdatenbank crawlt, nahegelegene Kia-Fahrzeuge anzeigt und sie entriegelt
Problematisch ist, dass sich jeder als Händler registrieren kann und Händler auch Informationen zu nicht verkauften Fahrzeugen abrufen können
Dem Artikel zufolge konnten ursprünglich nur Kia und Händler Fahrzeuge verfolgen, jetzt können das auch "nicht autorisierte" Personen
Problematisch ist, dass Kia viele Daten über Fahrzeuge und ihre Besitzer speichert
Der Bruder eines Kia-Besitzers leidet aufgrund von Fahrzeugdiebstahl unter negativen Auswirkungen auf seine psychische Gesundheit
Ich würde kein Fahrzeug kaufen, das aktiviert werden muss, indem man ein Online-Konto erstellt
Derzeit gibt es auf dem Markt keine neuen Fahrzeuge ohne Konnektivitätsfunktionen
Als Kia-Besitzer bin ich erleichtert, dass die Schwachstelle behoben wurde und nicht böswillig ausgenutzt wurde
Ich finde, Fahrzeuge sollten nicht mit dem Internet verbunden sein