La vulnerabilità nell'infrastruttura Tesla ha permesso di ottenere il controllo su qualsiasi auto

divulgato informazioni su i problemi nell'organizzare la protezione nella rete Tesla, che ha permesso di compromettere completamente l'infrastruttura che interagisce con le auto di consumo. In particolare, i problemi individuati hanno permesso di accedere al server responsabile del mantenimento del canale di comunicazione con le auto e dell'invio di comandi trasmessi tramite un'applicazione mobile.

Di conseguenza, l'aggressore è riuscito a ottenere l'accesso root al sistema informativo di qualsiasi auto attraverso l'infrastruttura Tesla o a trasmettere in remoto comandi di controllo all'auto. Tra le altre cose, è stata dimostrata la capacità di inviare comandi come l'avvio del motore e l'apertura delle porte dell'auto. Per accedervi bastava conoscere il numero VIN dell'auto della vittima.

La vulnerabilità è stata identificata all'inizio del 2017 dal ricercatore di sicurezza Jason Hughes
(Jason Hughes), che informò immediatamente Tesla dei problemi e rese pubbliche le informazioni scoperte solo tre anni e mezzo dopo l'incidente. Va notato che Tesla nel 2017 ha risolto i problemi entro poche ore dalla ricezione della notifica della vulnerabilità, dopo di che ha rafforzato radicalmente la protezione della sua infrastruttura. Per aver identificato la vulnerabilità, il ricercatore ha ricevuto una ricompensa di 50mila dollari USA.

L'analisi dei problemi con l'infrastruttura Tesla è iniziata con la decompilazione degli strumenti offerti per il download dal sito web toolbox.teslamotors.com. Agli utenti delle auto Tesla con un account sul sito web service.teslamotors.com è stata data la possibilità di scaricare tutti i moduli per gli sviluppatori. I moduli sono stati crittografati nel modo più semplice e le chiavi di crittografia sono state fornite dallo stesso server.

Dopo aver decompilato i moduli risultanti in codice Python, il ricercatore ha scoperto che il codice conteneva credenziali integrate per vari servizi Tesla situati sulla rete interna dell'azienda, a cui si accedeva tramite VPN. In particolare, nel codice siamo riusciti a trovare le credenziali dell'utente di uno degli host nel sottodominio “dev.teslamotors.com” situato nella rete interna.

Fino al 2019, per connettere le auto ai servizi Tesla, veniva utilizzata una VPN basata sul pacchetto OpenVPN (successivamente sostituito da un'implementazione basata su websocket) utilizzando una chiave generata per ogni auto. La VPN è stata utilizzata per garantire il funzionamento di un'applicazione mobile, ottenere un elenco di stazioni di ricarica delle batterie e altri servizi simili. Il ricercatore ha provato a scansionare la rete accessibile dopo aver collegato la sua auto tramite VPN e ha scoperto che la sottorete accessibile ai clienti non era adeguatamente isolata dalla rete interna di Tesla. Tra l'altro era raggiungibile un host nel sottodominio dev.teslamotors.com, per il quale sono state trovate le credenziali.

Il server compromesso si è rivelato essere un nodo di gestione del cluster ed era responsabile della distribuzione delle applicazioni ad altri server. Dopo aver effettuato l'accesso all'host specificato, siamo stati in grado di ottenere parte del codice sorgente per i servizi interni di Tesla, inclusi mothership.vn e firmware.vn, che sono responsabili della trasmissione dei comandi alle auto dei clienti e della consegna del firmware. Sul server sono state trovate anche password e login per l'accesso ai DBMS PostgreSQL e MySQL. Strada facendo, si è scoperto che l'accesso alla maggior parte dei componenti può essere ottenuto senza le credenziali trovate nei moduli; si è scoperto che era sufficiente inviare una richiesta HTTP alle Web API dalla sottorete accessibile ai client.

Tra le altre cose, sul server è stato trovato un modulo, all'interno del quale si trovava un file good.dev-test.carkeys.tar con le chiavi VPN utilizzate durante il processo di sviluppo. Le chiavi specificate si sono rivelate funzionanti e ci hanno permesso di connetterci alla VPN interna dell'azienda vpn.dev.teslamotors.com.
Sul server è stato ritrovato anche il codice del servizio Mothership, il cui studio ha permesso di determinare punti di connessione a numerosi servizi di gestione. È stato riscontrato che la maggior parte di questi servizi di gestione sono disponibili su qualsiasi auto, se connessa utilizzando le chiavi VPN trovate per gli sviluppatori. Attraverso la manipolazione dei servizi è stato possibile estrarre chiavi di accesso aggiornate quotidianamente per qualsiasi vettura, nonché copie delle credenziali di qualsiasi cliente.

Le informazioni specificate hanno permesso di determinare l'indirizzo IP di qualsiasi auto con la quale è stata stabilita una connessione tramite VPN. Poiché la sottorete vpn.dev.teslamotors.com non era adeguatamente separata dal firewall, attraverso semplici manipolazioni del routing è stato possibile raggiungere l’IP del cliente e connettersi alla sua auto tramite SSH con diritti di root, utilizzando le credenziali precedentemente ottenute dal cliente.

Inoltre, i parametri ottenuti per la connessione VPN alla rete interna hanno permesso di inviare richieste a qualsiasi auto tramite la Web API mothership.vn.teslamotors.com, che sono state accettate senza ulteriore autenticazione. Ad esempio, durante i test è stato possibile dimostrare la determinazione della posizione attuale dell'auto, lo sblocco delle portiere e l'avvio del motore. Il numero VIN del veicolo viene utilizzato come identificatore per selezionare un bersaglio da attaccare.

Fonte: opennet.ru

Aggiungi un commento