Ranljivost v infrastrukturi Tesle je omogočila prevzem nadzora nad katerim koli avtomobilom

Razkrito informacije o težave pri organizaciji zaščite v omrežju Tesla, kar je omogočilo popolno ogrožanje infrastrukture, ki je v interakciji s potrošniškimi avtomobili. Zlasti ugotovljene težave so omogočile dostop do strežnika, odgovornega za vzdrževanje komunikacijskega kanala z avtomobili in pošiljanje ukazov, posredovanih prek mobilne aplikacije.

Posledično je napadalcu uspelo pridobiti korenski dostop do informacijskega sistema katerega koli avtomobila prek infrastrukture Tesla ali na daljavo prenesti nadzorne ukaze v avto. Med drugim je bila prikazana sposobnost pošiljanja ukazov, kot sta zagon motorja in odklepanje vrat avtomobila. Za dostop je bilo potrebno le poznati VIN številko žrtvinega avtomobila.

Ranljivost je v začetku leta 2017 odkril varnostni raziskovalec Jason Hughes
(Jason Hughes), ki je Teslo nemudoma obvestil o težavah in javno objavil informacije, ki jih je odkril šele tri leta in pol po incidentu. Opozoriti je treba, da je Tesla leta 2017 odpravila težave v nekaj urah po prejemu obvestila o ranljivosti, nato pa je radikalno okrepila zaščito svoje infrastrukture. Za odkritje ranljivosti je raziskovalec prejel nagrado v višini 50 tisoč ameriških dolarjev.

Analiza težav z infrastrukturo Tesla se je začela z dekompilacijo orodij, ponujenih za prenos s spletne strani toolbox.teslamotors.com. Uporabniki avtomobilov Tesla z računom na spletni strani service.teslamotors.com so dobili možnost prenosa vseh modulov za razvijalce. Moduli so bili šifrirani na najpreprostejši način, šifrirne ključe pa je podal isti strežnik.

Po dekompilaciji nastalih modulov v kodo Python je raziskovalec odkril, da koda vsebuje vdelane poverilnice za različne storitve Tesla, ki se nahajajo v notranjem omrežju podjetja, do katerega se dostopa prek VPN-ja. Zlasti v kodi smo lahko našli uporabniške poverilnice enega od gostiteljev v poddomeni »dev.teslamotors.com«, ki se nahaja v notranjem omrežju.

Do leta 2019 se je za povezovanje avtomobilov s storitvami Tesla uporabljal VPN, ki je temeljil na paketu OpenVPN (kasneje ga je nadomestila implementacija na podlagi spletne vtičnice) z uporabo ključa, ustvarjenega za vsak avto. VPN je bil uporabljen za zagotavljanje delovanja mobilne aplikacije, pridobivanje seznama polnilnih postaj in druge podobne storitve. Raziskovalec je poskušal skenirati omrežje, ki je bilo dostopno po povezavi njegovega avtomobila prek VPN-ja, in ugotovil, da podomrežje, dostopno strankam, ni bilo ustrezno izolirano od Teslinega notranjega omrežja. Med drugim je bil dosegljiv gostitelj v poddomeni dev.teslamotors.com, za katerega so bile najdene poverilnice.

Izkazalo se je, da je ogroženi strežnik vozlišče za upravljanje gruče in je odgovoren za dostavo aplikacij drugim strežnikom. Po prijavi v navedenega gostitelja smo lahko pridobili del izvorne kode za interne Tesline storitve, vključno z mothership.vn in firmware.vn, ki sta odgovorni za prenos ukazov avtomobilom strank in dostavo vdelane programske opreme. Na strežniku so našli tudi gesla in prijave za dostop do DBMS PostgreSQL in MySQL. Spotoma se je izkazalo, da je dostop do večine komponent mogoče pridobiti brez poverilnic, ki jih najdemo v modulih, izkazalo se je, da je dovolj, da Web API-ju pošljemo zahtevo HTTP iz podomrežja, dostopnega odjemalcem.

Med drugim je bil na strežniku najden modul, znotraj katerega je bila datoteka good.dev-test.carkeys.tar s ključi VPN, uporabljenimi v procesu razvoja. Izkazalo se je, da navedeni ključi delujejo in so nam omogočili povezavo z internim VPN podjetja vpn.dev.teslamotors.com.
Na strežniku je bila najdena tudi koda storitve mothership, katere študija je omogočila določitev povezovalnih točk do številnih storitev upravljanja. Ugotovljeno je bilo, da je večina teh storitev upravljanja na voljo v katerem koli avtomobilu, če je povezan z najdenimi ključi VPN za razvijalce. Z manipulacijo storitev je bilo mogoče izluščiti dostopne ključe, ki so se dnevno posodabljali za vsak avtomobil, kot tudi kopije poverilnic katere koli stranke.

Navedeni podatki so omogočili določitev naslova IP vsakega avtomobila, s katerim je bila vzpostavljena povezava prek VPN. Ker podomrežje vpn.dev.teslamotors.com ni bilo pravilno ločeno s požarnim zidom, je bilo s preprostimi manipulacijami usmerjanja mogoče doseči odjemalčev IP in se povezati z njegovim avtomobilom prek SSH s korenskimi pravicami, z uporabo odjemalčevih predhodno pridobljenih poverilnic.

Poleg tega so pridobljeni parametri za povezavo VPN z internim omrežjem omogočili pošiljanje zahtev poljubnim avtomobilom prek spletnega API-ja mothership.vn.teslamotors.com, ki so bile sprejete brez dodatne avtentikacije. Med preizkusi je bilo na primer mogoče dokazati določitev trenutne lokacije avtomobila, odklepanje vrat in zagon motorja. Številka VIN vozila se uporablja kot identifikator za izbiro cilja napada.

Vir: opennet.ru

Dodaj komentar