FireEye ha scoperto una vulnerabilità critica che da remoto può colpire milioni di dispositivi IoT che utilizzano la rete ThroughTek “Kalay” e i loro clienti. Questa vulnerabilità può consentire agli aggressori di compromettere da remoto i dispositivi IoT delle vittime. Permettendo loro di ascoltare audio dal vivo, guardare dati video in tempo reale e compromettere le credenziali del dispositivo.
A differenza della vulnerabilità pubblicata dai ricercatori di Nozomi Networks nel maggio 2021, questa invece consente agli aggressori di comunicare, controllare e eseguire comandi da remoto sui dispositivi vulnerabili. Il protocollo Kalay è implementato come un kit di sviluppo software (“SDK”) integrato nei software client e nei dispositivi IoT collegati in rete, come le foto/video-camere.
Dato il meccanismo con cui il protocollo Kalay viene integrato dai produttori (“OEM”) e dai rivenditori prima ancora che i dispositivi raggiungano i consumatori finali, FireEye non è in grado al momento di fornire un elenco completo dei prodotti e delle aziende interessate dalla vulnerabilità scoperta. A questa vulnerabilità è stato assegnato un punteggio “base” CVSS3.1 di 9,6 ed è stata censita come CVE-2021-28372 e FEYE-2021-0020. Questo blog racconta la vulnerabilità CVE-2021-28372 ad alto livello e include anche raccomandazioni di ThroughTek e Mandiant, oltre alle diverse opzioni di mitigazione.
Quali dispositivi sono interessati e (potenzialmente) quanti dispositivi sono interessati?
Le vulnerabilità descritte in questo post interessano un componente fondamentale della piattaforma Kalay. Mandiant non è stato in grado di creare un elenco completo dei dispositivi interessati. Tuttavia, il sito Web di ThroughTek riporta più di 83 milioni di dispositivi attivi sulla piattaforma Kalay al momento della stesura di questo blog.
Come viene affrontato il problema?
Mandiant ha collaborato con ThroughTek e CISA per divulgare questa vulnerabilità. Consiglia vivamente alle aziende che utilizzano la piattaforma Kalay di seguire le indicazioni fornite da ThroughTek e Mandiant. Se il numero di versione dell’SDK in uso è inferiore a 3.1.10 è necessario aggiornare la libreria alla versione 3.3.1.0 o alla versione 3.4.2.0. Oltre ad abilitare le funzionalità Authkey e Datagram Transport Layer Security (“DTLS”) fornite dalla piattaforma Kalay. Se l’SDK in uso corrisponde alla versione 3.1.10 o successive, abilitare Authkey e DTLS. Rivedere i controlli di sicurezza in atto su API o altri servizi che restituiscono gli identificatori univoci di Kalay (“UID”).
Vulnerabilità scoperta da FireEye – In che modo un aggressore sfrutterebbe queste vulnerabilità?
Un aggressore deve avere una conoscenza completa del protocollo Kalay e la capacità di generare e inviare messaggi tramite questo protocollo. L’attaccante infatti deve ottenere gli UID di Kalay tramite meccanismi come social engineering o sfruttando vulnerabilità nelle API e/o nei servizi che restituiscono gli UID di Kalay. Con queste informazioni è possible compromettere da remoto i dispositivi vulnerabili che corrispondono agli UID ottenuti.
Come faccio a sapere se un dispositivo che possiedo è interessato da questa problmatica? Come mi proteggo?
Mandiant non è stata in grado di creare un elenco completo di dispositivi che usano la piattaforma Kalay. Però incoraggia vivamente gli utenti di dispositivi IoT a mantenere aggiornati il software e le applicazioni dei loro dispositivi. E a utilizzare password complesse e univoche per tutti gli account associati a questi sistemi. I proprietari dei dispositivi dovrebbero evitare di connettersi ai dispositivi vulnerabili da reti non sicure come le reti wireless pubbliche.
Chi ha scoperto questa vulnerabilità?
I ricercatori Mandiant hanno analizzato il protocollo Kalay di ThroughTek utilizzando due diversi approcci. Innanzitutto, i ricercatori hanno scaricato e analizzato le applicazioni sia dal Google Play Store sia dall’App Store di Apple che includevano le librerie ThroughTek. Queste librerie in genere non contenevano simboli di debug, il che ha richiesto al team l’esecuzione di analisi dinamiche con strumenti come Frida, gdb e Wireshark.
Rimedi e raccomandazioni
Mandiant e ThroughTek consigliano vivamente alle aziende che utilizzano il protocollo Kalay di eseguire l’aggiornamento almeno alla versione 3.1.10 e di abilitare le seguenti funzionalità Kalay:
- DTLS per protegge i dati in transito.
- AuthKey per aggiunge un ulteriore livello di autenticazione durante la connessione del client.
Insieme, queste due funzionalità riducono il rischio relativo alla vulnerabilità CVE-2021-28372 e impediscono agli aggressori di abusare del protocollo Kalay. Le funzionalità di protezione avanzata come ASLR, PIE, NX e stack canary dovrebbero essere abilitate su tutti i file di tipo binary che elaborano i dati Kalay. Le funzioni RPC dovrebbero essere trattate come non attendibili e se gli input non sono sanitizzati in modo appropriato.
Le raccomandazioni per contrastare la vulnerabilità
Infine, Mandiant raccomanda vivamente ai produttori di dispositivi IoT di applicare rigorosi controlli sulle API Web utilizzate per ottenere UID, nomi utente e password Kalay. Così da ridurre al minimo la possibilità che un aggressore raccolga dati critici necessari per accedere ai dispositivi in remoto. La mancata protezione delle API Web che restituiscono UID Kalay validi potrebbe consentire a un aggressore di compromettere un numero elevato di dispositivi.
Le conclusioni
CVE-2021-28372 rappresenta un rischio enorme per la sicurezza e la privacy degli utenti finali e dovrebbe essere mitigato in modo appropriato. I dispositivi non protetti, come le telecamere IoT, possono essere compromesse da remoto tramite l’uso dell’UID Inoltre sono possibili ulteriori attacchi a seconda delle funzionalità esposte dai dispositivi.