Red Hot Cyber

Sicurezza informatica, cybercrime, hack
news, e altro ancora
  • English

Puoi prendere il controllo di un drone, sfruttando le vulnerabilità di ExpressLRS

ExpressLRS è un sistema di controllo radio sviluppato dalla comunità come progetto open source. 

È dotato di un’elevata velocità di aggiornamento dei pacchetti, fornendo una gamma impressionante di comunicazioni radio. Disponibile in due gamme di frequenza, 2,4 GHz e 900 MHz

Gli esperti del gruppo NCC riferiscono che i difetti del protocollo ExpressLRS potrebbero consentire agli hacker di assumere il pieno controllo del drone o creare problemi di controllo che potrebbero portare a conseguenze disastrose.

Tutte le vulnerabilità sono nella fase di accoppiamento del ricevitore (o del drone con il ricevitore) e del trasmettitore. 

Advertisements

Per l’associazione, ExpressLRS utilizza un metodo vincolante che assicura che il ricevitore corretto sia accoppiato con il trasmettitore corretto. In ExpressLRS, tale metodo non viene utilizzato per garantire la sicurezza, ma per la protezione dalle collisioni.

Tutti i difetti sono legati a vulnerabilità in fase di accoppiamento, che consentono di estrarre parte dell’identificatore univoco della chiave (UID) che collega ricevitore e trasmettitore. Successivamente, è possibile comprendere il resto dell’UID. Una volta trovato l’identificatore completo, l’attaccante può utilizzare il suo trasmettitore per controllare un altro drone.

Inoltre, gli esperti hanno notato altri due punti di debolezza:

  • La chiave di accoppiamento viene crittografata utilizzando MD5, un algoritmo di hashing obsoleto;
  • I pacchetti scambiati tra il ricevitore e il trasmettitore per la sincronizzazione consentono di trapelare parte dell’id utilizzato nella fase di accoppiamento.

Ognuno delle vulnerabilità rilevate, permette di scoprire 4 byte dell’UID, necessari per prendere il controllo della connessione tra ricevitore e trasmettitore:

Advertisements
  1. Il pacchetto di sincronizzazione contiene gli ultimi tre byte dell’UID. L’ultimo byte può essere ottenuto utilizzando il metodo di enumerazione;
  2. L’inizializzatore CRC utilizza gli ultimi due byte dell’UID inviato con il pacchetto di sincronizzazione, il che semplifica notevolmente il controllo CRC;
  3. Questa vulnerabilità compare durante il frequency hopping (FHSS) pseudo-casuale. A causa di difetti nel generatore di numeri casuali, i secondi 128 valori dell’ultimo byte dell’UID producono la stessa sequenza FHSS dei primi 128;

Nel bollettino, gli esperti raccomandano di non inviare UID e dati per la generazione di FHSS sul canale di controllo dei droni. 

Gli esperti hanno anche consigliato di migliorare il generatore di numeri casuali utilizzando un algoritmo più sicuro o adattando l’algoritmo esistente per funzionare con sequenze ripetute.