Eine Schwachstelle in der Infrastruktur von Tesla ermöglichte es, die Kontrolle über jedes Auto zu erlangen.

Offengelegt Information über Probleme bei der Organisation des Schutzes im Tesla-Netzwerk, was es ermöglichte, die Infrastruktur, die mit Verbraucherautos interagiert, vollständig zu kompromittieren. Die identifizierten Probleme ermöglichten insbesondere den Zugriff auf den Server, der für die Aufrechterhaltung eines Kommunikationskanals mit Autos und das Senden von Befehlen verantwortlich ist, die über eine mobile Anwendung übertragen werden.

Dadurch gelang es dem Angreifer, sich über die Tesla-Infrastruktur Root-Zugriff auf das Informationssystem eines beliebigen Autos zu verschaffen oder Steuerbefehle aus der Ferne an das Auto zu übertragen. Unter anderem wurde die Fähigkeit demonstriert, Befehle wie das Starten des Motors und das Entriegeln von Türen an das Auto zu senden. Um Zugang zu erhalten, war lediglich die Kenntnis der VIN-Nummer des Autos des Opfers erforderlich.

Die Schwachstelle wurde Anfang 2017 vom Sicherheitsforscher Jason Hughes entdeckt
(Jason Hughes), der Tesla sofort über die Probleme informierte und die von ihm entdeckten Informationen erst dreieinhalb Jahre nach dem Vorfall öffentlich machte. Es wird darauf hingewiesen, dass Tesla die Probleme im Jahr 2017 innerhalb weniger Stunden nach Erhalt der Benachrichtigung über die Sicherheitslücke behoben und anschließend den Schutz seiner Infrastruktur radikal verstärkt hat. Für die Identifizierung der Schwachstelle erhielt der Forscher eine Belohnung von 50 US-Dollar.

Die Analyse von Problemen mit der Tesla-Infrastruktur begann mit der Dekompilierung der auf der Website zum Download angebotenen Tools toolbox.teslamotors.com. Nutzer von Tesla-Autos mit einem Konto auf der Website service.teslamotors.com hatten die Möglichkeit, alle Module für Entwickler herunterzuladen. Die Module wurden auf einfachste Weise verschlüsselt und die Verschlüsselungsschlüssel wurden vom selben Server bereitgestellt.

Nachdem der Forscher die resultierenden Module in Python-Code dekompiliert hatte, entdeckte er, dass der Code eingebettete Anmeldeinformationen für verschiedene Tesla-Dienste enthielt, die sich im internen Netzwerk des Unternehmens befanden, auf das über VPN zugegriffen wurde. Insbesondere konnten wir im Code die Benutzeranmeldeinformationen eines der Hosts in der Subdomäne „dev.teslamotors.com“ im internen Netzwerk finden.

Um Autos mit Tesla-Diensten zu verbinden, wurde bis 2019 ein VPN verwendet, das auf dem OpenVPN-Paket basierte (später durch eine Websocket-basierte Implementierung ersetzt) ​​und einen für jedes Auto generierten Schlüssel nutzte. VPN wurde verwendet, um den Betrieb einer mobilen Anwendung sicherzustellen, eine Liste von Batterieladestationen zu erhalten und andere ähnliche Dienste bereitzustellen. Der Forscher versuchte, das zugängliche Netzwerk zu scannen, nachdem er sein Auto über VPN verbunden hatte, und stellte fest, dass das für Kunden zugängliche Subnetz nicht ausreichend vom internen Netzwerk von Tesla isoliert war. Unter anderem war ein Host in der Subdomain dev.teslamotors.com erreichbar, für den Anmeldeinformationen gefunden wurden.

Es stellte sich heraus, dass der kompromittierte Server ein Cluster-Verwaltungsknoten war und für die Bereitstellung von Anwendungen an andere Server verantwortlich war. Durch die Anmeldung beim angegebenen Host konnten wir einen Teil des Quellcodes für interne Tesla-Dienste erhalten, darunter mothership.vn und Firmware.vn, die für die Übermittlung von Befehlen an Kundenautos und die Bereitstellung von Firmware verantwortlich sind. Auf dem Server wurden auch Passwörter und Logins für den Zugriff auf das PostgreSQL- und MySQL-DBMS gefunden. Dabei stellte sich heraus, dass der Zugriff auf die meisten Komponenten ohne die in den Modulen enthaltenen Anmeldeinformationen möglich ist; es stellte sich heraus, dass es ausreichte, eine HTTP-Anfrage an die Web-API aus dem für Clients zugänglichen Subnetz zu senden.

Unter anderem wurde auf dem Server ein Modul gefunden, in dem sich eine Datei good.dev-test.carkeys.tar mit VPN-Schlüsseln befand, die während des Entwicklungsprozesses verwendet wurden. Es stellte sich heraus, dass die angegebenen Schlüssel funktionierten und uns die Verbindung zum internen VPN des Unternehmens vpn.dev.teslamotors.com ermöglichten.
Auf dem Server wurde auch der Mutterschiff-Dienstcode gefunden, dessen Untersuchung es ermöglichte, Verbindungspunkte zu vielen Verwaltungsdiensten zu ermitteln. Es wurde festgestellt, dass die meisten dieser Verwaltungsdienste auf jedem Auto verfügbar sind, wenn die Verbindung über die gefundenen VPN-Schlüssel für Entwickler erfolgt. Durch Manipulation der Dienste war es möglich, täglich aktualisierte Zugangsschlüssel für jedes Auto sowie Kopien der Anmeldeinformationen jedes Kunden zu extrahieren.

Die angegebenen Informationen ermöglichten es, die IP-Adresse jedes Autos zu ermitteln, mit dem eine Verbindung über VPN hergestellt wurde. Da das Subnetz vpn.dev.teslamotors.com nicht ordnungsgemäß durch die Firewall getrennt war, war es durch einfache Routing-Manipulationen möglich, die IP des Clients zu erreichen und sich über SSH mit Root-Rechten mit seinem Auto zu verbinden, wobei die zuvor erhaltenen Anmeldeinformationen des Clients verwendet wurden.

Darüber hinaus ermöglichten die gewonnenen Parameter für die VPN-Verbindung zum internen Netzwerk, über die Web-API mothership.vn.teslamotors.com Anfragen an beliebige Autos zu senden, die ohne zusätzliche Authentifizierung akzeptiert wurden. Bei Tests konnte beispielsweise die Ermittlung des aktuellen Standorts des Fahrzeugs, das Entriegeln der Türen und das Starten des Motors demonstriert werden. Die VIN-Nummer des Fahrzeugs wird als Identifikator für die Auswahl eines Angriffsziels verwendet.

Source: opennet.ru

Kommentar hinzufügen