Data del post Gennaio 17, 2019 In Cyber security, headline Con 257 Visualizzazioni

Come rubare una Tesla in 3 secondi

di Riccardo Colombo

Quello dell’automotive è senza dubbio uno dei settori che più di tutti ha integrato un gran numero di innovazioni tecnologiche nel corso degli ultimi anni. Se da un lato queste migliorie riescono a rendere l’esperienza di guida più comoda e piacevole, dall’altro introducono punti critici e problematiche del tutto nuove. Seicento euro di attrezzatura radio, infatti, è tutto quello di cui un team di ricercatori dell’università KU Leuven ha avuto bisogno per bypassare il sistema di keyless entry di una Tesla Model S, riuscendo non solo ad aprirla ma anche ad avviarla e guidarla.

Passive Keyless Entry and Start

La Tesla model S, come la maggior parte delle automobili di alta e media fascia, implementa un sistema di passive keyless entry and start (i.e., PKES) che permette al guidatore di aprire ed avviare il veicolo senza dover utilizzare alcuna chiave, semplicemente tenendo il telecomando a breve distanza.

Il PKES utilizzato dalla model S, ed analizzato dai ricercatori, prevede che il veicolo trasmetta periodicamente il proprio codice identificativo, in forma non criptata, al fine di segnalare la propria presenza. Il telecomando, una volta ricevuto il codice della vettura a cui è abbinato, invia una risposta comunicando al veicolo di essere pronto a passare alla fase successiva.

In questa fase il veicolo invia un “indovinello matematico” (i.e., challenge) al telecomando e a cui è possibile rispondere correttamente soltanto utilizzando una chiave crittografica segreta. In altre parole, soltanto il telecomando corrispondente sarà in grado di rispondere correttamente all’indovinello, effettivamente dimostrando al veicolo di esserne il legittimo proprietario. Questa procedura di autenticazione viene ugualmente eseguita sia per aprire il veicolo che per avviarlo.

Recuperare la Chiave

Per riuscire a rispondere correttamente al challenge proposto dal veicolo, e quindi poterlo aprire ed avviare, è necessario riuscire ad ottenere la chiave segreta.

Il sistema di PKES implementato nella Tesla model S, e fornito da Pektron, impiega il cipher DST40 ed utilizza chiavi segrete lunghe 40 bit. In particolare, questo sistema invia un challenge lungo 40 bit al telecomando e prevede una risposta di 24 bit. Essendo la risposta più corta rispetto al challenge (24bit vs 40bit), più di una chiave (2^16 per la precisione) genererà la stessa risposta ad un determinato challenge.

Un metodo elementare per trovare la chiave corretta sarebbe quello di utilizzare un approccio di bruteforcing. Semplicemente, si dovrebbero provare tutte le 2^40 possibili chiavi (più di mille miliardi), una alla volta, fino a quando non si “capita” con quella corretta. Chiaramente questo metodo è molto dispendioso sia in termini di risorse che in termini di tempo. I ricercatori infatti hanno calcolato che servirebbero più di 777 anni di calcoli per riuscire a sbloccare il veicolo in questa maniera utilizzando un Raspberry Pi 3B+ (lo stesso mini computer che hanno impiegato nel loro esperimento).

Per ridurre al minimo il numero di calcoli necessari durante il “furto”, i ricercatori hanno deciso di pre-computare, con un supercomputer e per ognuna delle 2^40 possibili chiavi, la risposta ad uno specifico challenge (0x636f736963). 5.4 TB di risposte sono state organizzate in una struttura dati, raggruppando tutte le chiavi che hanno generato la stessa risposta in un unico file.

A questo punto, inviando il challenge prescelto (0x636f736963) al telecomando e confrontando la risposta con la struttura dati creata in precedenza è possibile identificare il gruppo di 2^16 chiavi che genera quella risposta. Avendo ridotto lo spazio delle possibili chiavi a poco più di 65mila (2^16), un approccio bruteforce impiega circa 2 secondi di calcoli su un Raspberry Pi 3 B+ a trovare la chiave corretta.

La Strategia

La strategia utilizzata dai ricercatori, e dimostrata in questo video, consiste in cinque passi:

  1. L’hacker si avvicina alla Tesla scelta come obiettivo, utilizzando l’apparecchiatura radio ne riceve il segnale e ne cattura il codice identificativo.
  2. L’hacker si avvicina al proprietario del veicolo. Con il codice id appena ottenuto instaura la comunicazione con il telecomando, invia due challenge e ne registra le risposte.
  3. Confrontando la risposta del primo challenge (0x636f736963) con la struttura dati identifica il gruppo di 2^16 chiavi candidate.
  4. Tramite bruteforcing del secondo challenge sullo spazio delle chiavi candidate identifica la chiave corretta.
  5. Utilizzando la chiave appena trovata può aprire ed avviare il veicolo.

Responsible Disclosure

Sebbene in questo caso si tratti più di una grossolana svista ingegneristica che di una sofisticata vulnerabilità, la complessità e dimensione dei sistemi impiegati in questo ambito porta l’obiettivo di sviluppare una soluzione infallibile ad assumere le sembianze di un desiderio utopico.

A questo punto, quindi, è importante predisporre e gestire con intelligenza programmi di bug bounty e canali di responsible disclosure[1], in modo da far assumere alla scoperta di nuove vulnerabilità il ruolo di miglioramento del prodotto anziché di danno all’azienda. I ricercatori di KU Leuven hanno infatti ricevuto 10.000€ per aver comunicato la vulnerabilità a Tesla nell’Agosto 2017 ed aver aiutato Tesla a rendere più sicuro il proprio prodotto.

Grazie alla capacità dell’azienda di inviare aggiornamenti automatici (Over The Air updates) alla propria flotta di veicoli è ora possibile scegliere di escludere le funzionalità di PKES per aprire la propria Tesla, o di inserire un pin addizionale per poterla avviare. Altre soluzioni comprendono l’acquisto di una custodia schermata per il telecomando o l’upgrade al nuovo telecomando che utilizza un sistema crittografico più robusto.

[1] https://www.tesla.com/about/security

Tags : , , , ,

Informazioni su

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi