Vulnerabilità nei droni DJI, possibile rischio per gli account

DiMarco Nisticò

PUBBLICATO IL 9 Nov 2018 ALLE 12:13 - AGGIORNATO IL 4 Aprile 2020 ALLE 17:57 #sicurezza

Nelle ultime ore l’azienda Check Point® Software Technologies Ltd., leader nel campo della cybersicurezza, ha individuato una falla nei droni DJI, che avrebbe potuto permettere di rubare gli account dei proprietari.

DJI è sicuramente una delle aziende leader nel settore dei droni professionali. Utilizzati sia da amatori che esperti di monitoraggio, i droni DJI sono sinonimo di qualità e resistenza. Recentemente, però, DJI e Check Point hanno individuato una falla nel sistema di gestione dei droni, che avrebbe permesso a possibili malintenzionati di prendere possesso degli account proprietari dei dispositivi di volo. Tale vulnerabilità sfruttava il sistema di autenticazione necessario per accedere al forum DJI, dedicato proprio ai prodotti distribuiti dall’azienda. Inoltre si è scoperto che le piattaforme DJI sfruttano un token (codice identificativo) per rilevare gli utenti registrati in un dato momento. Questo token poteva essere sfruttato per poter accedere agli account degli utenti e di conseguenza anche ai loro dati personali.

Nel breve video che trovate qui in alto, pubblicato dalla stessa Check Point, viene spiegato brevemente come un possibile hacker avrebbe potuto accedere ad un drone di un qualsiasi utente. Praticamente l’hacker, attraverso il token di un utente, entrerebbe nel Forum DJI e sarebbe in grado di rubare i dati di login della DJI FlightHub, permettendogli di controllare in tempo reale le riprese effettuate dal drone. In questo modo potrebbe rubare eventuali filmati e audio riservati. Basti pensare che i droni DJI vengono utilizzati anche da organizzazioni militari o multinazionali. Per cui immaginate quanto sarebbe la portata dei danni nel caso di una fuga di informazioni così delicate. Fortunatamente allo stato attuale la vulnerabilità è stata risolta tramite patch. Di seguito uno schema semplificato dell’attacco:

vulnerabilita dji

La vulnerabilità poteva essere sfruttata anche per eseguire l’accesso all’app per mobile. Vediamo nel dettaglio come funzionava l’attacco.

Come funzionava la falla nel dettaglio

Come già detto, la falla sfruttava il sistema di autenticazione di DJI. I portali di DJI generano dei cookie, durante la navigazione, che un possibile hacker può sfruttare per generare il già citato token, sfruttabile per accedere alle varie piattaforme tramite l’account di un altro utente. Da qui il malintenzionato poteva accedere a qualunque servizio di DJI, dal forum all’app per smartphone fino al sistema di controllo del drone.

Per capire nel dettaglio come funzionasse l’attacco, Check Point ha analizzato inizialmente il funzionamento del sistema di login di DJI e come un utente venisse identificato, tramite i parametri generati dai cookie. Analizzando il traffico generato verso i vari sottodomini di DJI, come account.dji.com, forum.dji.com e store.dji.com, si è scoperto che il login sfrutta un sistema di auteticazione OAuth. Inoltre il file mobile.php, responsabile dell’accesso su smartphone, forniva informazioni piuttosto sensibili, come usernamemember_uidtoken e tanto altro. Da qui la ricerca di Check Point di capire come fosse possibile che un utente fosse identificato unicamente con un singolo ID. Dall’analisi dei cookie si è finalmente arrivati ad un dato interessante, chiamato meta-key, responsabile dell’identificazione dell’utente.

A questo punto, Check Point non ha fatto altro che creare un finto payload, che potesse essere iniettato nell’account del malcapitato. Tale payload non poteva essere bloccato poiché risiedeva nel codice JavaScript del sito DJI stesso, quindi non sfruttava nessuno script. Ora bisognava semplicemente creare un post nel forum DJI, con un link che puntasse direttamente al payload, in maniera tale che il token dell’utente sarebbe passato nelle mani degli hacker. Una volta ottenuto il token, che nel sito principale viene etichettato come mkc, è possibile accedere a qualunque portale DJI. Il funzionamento era piuttosto semplice:

  • Creare un finto account DJI.
  • Effettuare il login, dando luogo alla richiesta di autenticazione initData.do, sostituendo il token dell’account fasullo con quello dell’utente attaccato.
  • Proseguire nel login, accedendo al profilo dell’utente.

Di seguito come si presenta la richiesta initData.do:

Attacco all'account DJI

Per quanto riguarda il caso mobile, l’unico scoglio è stato superare le restrizioni di protezione date dall’app stessa. Ma una volta bypassate, Check Point ha avuto modo di ottenere due parametri fondamentali:

  • cookie-key: codice di accesso ottenuto mediante l’operazione di login.
  • token: codice identificativo dell’utente, ottenuto dalla richiesta nel file mobile.php.

Ricapitolando, l’hacker invia il meta-key al file mobile.php, ricevendo in risposta il token corrispondente. Successivamente nella fase di login sostituisce i cookie-key e il token generati con quelli in suo possesso, avendo accesso completo all’account.

Fortunatamente questa falla è ormai risolta, ma ricordate di fare molta attenzione a chi fornite i vostri dati personali riguardo i droni DJI. Per ulteriori informazioni più tecniche, vi invitiamo a leggere l’articolo ufficiale di Check Point.

CONSIGLIO PER L’ACQUISTO: Il DJI Mavic Pro è uno dei droni più completi sul mercato. Lo potete trovare direttamente su Amazon.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.