7 Punkte von GN⁺ 2024-09-27 | 4 Kommentare | Auf WhatsApp teilen
  • 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 eine Sid-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  
    
  • Sid ist das Sitzungstoken, Vinkey eine 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.com war interessant
  • In dieser URL war der Parameter token ein VIN-Schlüssel, also ein vom Händler erzeugtes einmaliges Zugriffstoken, mit dem sich das im Parameter vin angegebene 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:
    1. Händler-Token erzeugen und den Wert von "token" aus dem HTTP-Response-Header extrahieren
    2. E-Mail-Adresse und Telefonnummer des Opfers herausfinden
    3. Mit der offengelegten E-Mail und der VIN die bestehenden Zugriffsrechte des Besitzers ändern
    4. 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

 
aer0700 2024-09-28

Uff, das ist schrecklich.

 
unsure4000 2024-09-27

Ich finde, Fahrzeughaltern sollte unbedingt die Möglichkeit gegeben werden, die Verbindung zwischen Fahrzeug und Internet physisch zu trennen.

 
bbulbum 2024-09-30

Ich habe mich nach dem Tarifsystem gefragt, aber offenbar lockt man Nutzer mit einem kostenlosen Basistarif für mehrere Jahre zur Anmeldung.

 
GN⁺ 2024-09-27
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

    • Dadurch stiegen die Fahrzeugdiebstähle in Städten wie Milwaukee und Chicago stark an
    • Man konnte Fahrzeuge einfach mit einem verbogenen USB-Kabel stehlen
  • 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

    • Ein Mitarbeiter eines Autohauses könnte das zum Stalking missbrauchen
  • Dem Artikel zufolge konnten ursprünglich nur Kia und Händler Fahrzeuge verfolgen, jetzt können das auch "nicht autorisierte" Personen

    • Es stellt sich die Frage, warum es in Ordnung sein soll, wenn Unternehmen Fahrzeuge verfolgen, es aber problematisch ist, wenn andere das tun
  • Problematisch ist, dass Kia viele Daten über Fahrzeuge und ihre Besitzer speichert

    • Diese Schwachstelle wurde bereits behoben, das Datenproblem besteht jedoch weiter
  • 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

    • Ein früherer Kia, den ich besaß, verbrauchte schon vor 100.000 Meilen alle 1.000 Meilen einen Quart Öl
  • Derzeit gibt es auf dem Markt keine neuen Fahrzeuge ohne Konnektivitätsfunktionen

    • Ich frage mich, ob es möglich wäre, nicht vernetzte Fahrzeuge zu bauen
  • Als Kia-Besitzer bin ich erleichtert, dass die Schwachstelle behoben wurde und nicht böswillig ausgenutzt wurde

    • Kia muss sich jedoch weiterhin deutlich verbessern
  • Ich finde, Fahrzeuge sollten nicht mit dem Internet verbunden sein