Zranitelnost v infrastruktuře Tesly umožnila získat kontrolu nad jakýmkoli autem.

Odhaleno informace o problémy v organizaci ochrany v síti Tesla, což umožnilo zcela kompromitovat infrastrukturu, která interaguje se spotřebitelskými vozy. Identifikované problémy umožnily zejména získat přístup k serveru odpovědnému za udržování komunikačního kanálu s automobily a zasílání příkazů přenášených prostřednictvím mobilní aplikace.

Díky tomu se útočníkovi podařilo získat root přístup k informačnímu systému libovolného vozu prostřednictvím infrastruktury Tesla nebo na dálku přenášet ovládací příkazy do vozu. Mimo jiné byla předvedena možnost posílat do vozu příkazy jako nastartování motoru a odemknutí dveří. K získání přístupu bylo zapotřebí pouze znalost čísla VIN vozu oběti.

Zranitelnost byla identifikována na začátku roku 2017 bezpečnostním výzkumníkem Jasonem Hughesem
(Jason Hughes), který o problémech okamžitě informoval Teslu a zveřejnil informaci, kterou zjistil až tři a půl roku po incidentu. Je třeba poznamenat, že Tesla v roce 2017 opravila problémy během několika hodin po obdržení oznámení o zranitelnosti, načež radikálně posílila ochranu své infrastruktury. Za identifikaci zranitelnosti byla výzkumníkovi vyplacena odměna 50 tisíc amerických dolarů.

Analýza problémů s infrastrukturou Tesla začala dekompilací nástrojů nabízených ke stažení z webu toolbox.teslamotors.com. Uživatelé vozů Tesla s účtem na webu service.teslamotors.com dostali možnost stáhnout si všechny moduly pro vývojáře. Moduly byly zašifrovány tím nejjednodušším způsobem a šifrovací klíče byly přiděleny stejným serverem.

Po dekompilaci výsledných modulů do kódu Python výzkumník zjistil, že kód obsahuje vložená pověření pro různé služby Tesla umístěné v interní síti společnosti, ke které se přistupuje přes VPN. Konkrétně se nám v kódu podařilo najít uživatelské přihlašovací údaje jednoho z hostitelů v subdoméně „dev.teslamotors.com“ umístěné ve vnitřní síti.

Do roku 2019 se pro připojení vozů ke službám Tesla používala VPN založená na balíčku OpenVPN (později nahrazená implementací na bázi websocket) pomocí klíče vygenerovaného pro každé auto. VPN sloužila k zajištění provozu mobilní aplikace, získání seznamu nabíjecích stanic baterií a dalších podobných služeb. Výzkumník se pokusil oskenovat síť přístupnou po připojení jeho auta přes VPN a zjistil, že podsíť přístupná zákazníkům nebyla dostatečně izolována od vnitřní sítě Tesly. Mimo jiné byl dosažitelný hostitel v subdoméně dev.teslamotors.com, pro který byly nalezeny přihlašovací údaje.

Ukázalo se, že kompromitovaný server je uzel správy clusteru a byl zodpovědný za doručování aplikací na jiné servery. Po přihlášení do zadaného hostitele jsme byli schopni získat část zdrojového kódu pro interní služby Tesla, včetně mothership.vn a firmware.vn, které jsou zodpovědné za přenos příkazů do vozů zákazníků a dodání firmwaru. Na serveru byla také nalezena hesla a přihlašovací údaje pro přístup k PostgreSQL a MySQL DBMS. Cestou se ukázalo, že přístup k většině komponent lze získat i bez přihlašovacích údajů nalezených v modulech, ukázalo se, že stačí odeslat HTTP požadavek do webového API z podsítě přístupné klientům.

Na serveru byl mimo jiné nalezen modul, uvnitř kterého byl soubor good.dev-test.carkeys.tar s VPN klíči použitými při vývoji. Zadané klíče se ukázaly být funkční a umožnily nám připojení k interní VPN společnosti vpn.dev.teslamotors.com.
Na serveru byl také nalezen kód služby mateřské lodi, jehož studium umožnilo určit body připojení k mnoha službám správy. Bylo zjištěno, že většina těchto služeb správy je dostupná na jakémkoli voze, pokud je připojen pomocí nalezených klíčů VPN pro vývojáře. Prostřednictvím manipulace se službami bylo možné získat denně aktualizované přístupové klíče pro jakýkoli vůz a také kopie přihlašovacích údajů jakéhokoli klienta.

Zadané informace umožnily zjistit IP adresu jakéhokoli vozu, se kterým bylo navázáno spojení přes VPN. Vzhledem k tomu, že podsíť vpn.dev.teslamotors.com nebyla správně oddělena firewallem, bylo možné pomocí jednoduchých manipulací se směrováním dosáhnout IP klienta a připojit se k jeho vozu přes SSH s právy root pomocí dříve získaných přihlašovacích údajů klienta.

Získané parametry pro připojení VPN k vnitřní síti navíc umožnily přes webové API mothership.vn.teslamotors.com zasílat do libovolných vozů požadavky, které byly akceptovány bez dodatečné autentizace. Během testů bylo například možné předvést určení aktuální polohy vozu, odemknout dveře a nastartovat motor. Číslo VIN vozidla se používá jako identifikátor pro výběr cíle útoku.

Zdroj: opennet.ru

Přidat komentář