Si chiama Amnesia:33 la “raccolta” di 33 vulnerabilità individuate in quattro librerie del protocollo TCP/IP utilizzate dai principali produttori di dispositivi IoT, OT e IT.
Le conseguenze impattano più di 150 vendor e potenzialmente milioni di device: smartphone, console, stampanti di rete, sensori smart e router da ufficio, fino ad apparecchiature sanitarie e componenti di sistemi di controllo industriale.
Qualora un attaccante riuscisse a sfruttare positivamente le vulnerabilità, potrebbe utilizzare tutti questi dispositivi per compromettere i sistemi a cui sono connessi e prenderne il pieno controllo.
Lo scenario peggiore può riguardare i sistemi di controllo che guidano i servizi critici per la società: l’acqua, l’energia elettrica e la gestione automatizzata degli edifici che potrebbero essere paralizzati.
Indice degli argomenti
Amnesia:33, i dettagli del bug nello stack TCP/IP
Il pacchetto di vulnerabilità Amnesia:33 è stato scoperto dai ricercatori di Forescout nell’ambito del “progetto Memoria”, durante l’analisi di sette stack TCP/IP open source che ha portato alla pubblicazione di un report di ricerca e di un white paper con i dettagli tecnici e le argomentazioni che riguardano gli studi da fare caso per caso per il contenimento e la risoluzione delle vulnerabilità.
In particolare, gli analisti di sicurezza hanno scoperto che quattro dei sette stack sono interessati dalla 33 vulnerabilità: ovvero uIP, FNET, PicoTCP e Nut/Net. Questi stack esistono in diverse varianti e sono utilizzati da diversi fornitori in diversi prodotti commerciali di consumo o usati nelle aziende nell’ambito dei dispositivi critici in ambienti OT.
Le vulnerabilità incluse in Amnesia:33 possono comportare impatti potenziali che spaziano dalla negazione del servizio (Denial of Service, DoS), all’esecuzione di codice in modalità remota e interessano diversi componenti e funzionalità degli stack, come IPv4 e v6, ICMP, TCP e DNS.
Al momento non sono state segnalate intrusioni che hanno fatto uso di queste vulnerabilità.
Tuttavia, la società di sicurezza Forescout ha allertato le autorità di sicurezza informatica statunitensi, tedesche e giapponesi, per gli interventi nei rispettivi territori ed i produttori interessati.
Di fatto, l’esistenza di simili debolezze nel software centrale di comunicazione dati per i dispositivi connessi a Internet ha spinto la Cybersecurity and Infrastructure Security Agency statunitense e altre entità a diramare un’allerta specifica con appositi bollettini: ICS-CERT advisory (icsa-20-343-01), CERT Coordination, Center advisory e BSI (German Federal Office for Information Security) statement.
Le conseguenze dello sfruttamento di Amnesia:33
Gli stack TCP/IP sono componenti critici di tutti i dispositivi connessi a Internet, inclusi IoT e OT, poiché rappresentano i costituenti base delle connessioni di rete.
Un difetto di sicurezza in uno stack TCP/IP può essere estremamente pericoloso in quanto il codice in questi componenti può essere utilizzato per intercettare e alterare ogni pacchetto di rete in ingresso al dispositivo.
Ciò significa che le vulnerabilità in uno stack TCP/IP consentono di sfruttare un dispositivo, anche quando si trova semplicemente su una rete senza eseguire un’applicazione specifica.
Molte delle vulnerabilità segnalate all’interno di AMNESIA:33 derivano da cattive pratiche di sviluppo del software, come ad esempio l’assenza di una convalida dell’input di base correlata principalmente al danneggiamento della memoria.
I problemi possono comportare interruzioni del servizio, perdite di informazioni o esecuzione di codice in modalità remota.
Infatti, lo sfruttamento delle vulnerabilità riscontrate potrebbe consentire ad un attaccante di assumere il controllo di un dispositivo, utilizzandolo così come punto di ingresso verso una rete per dispositivi connessi a Internet, effettuando movimenti laterali per permanere nella rete di destinazione o anche per sferrare un attacco “letale” (come il DoS).
Per le organizzazioni aziendali, significa un rischio potenziale alla continuità aziendale, mentre per i consumatori inconsapevoli significa che i dispositivi IoT che possiedono potrebbero diventare parte di una botnet ed essere utilizzati come parte di grandi campagne di attacco.
Il rischio aumenta con la permanenza in smart working di persone durante la pandemia, perché le reti domestiche potrebbero essere compromesse e utilizzate come canali nelle reti aziendali attraverso connessioni di accesso remoto.
Estensione potenziale delle vulnerabilità
Il problema influisce su più stack TCP/IP open source che non sono di proprietà di una singola azienda. Ciò significa che una singola vulnerabilità tende a diffondersi agevolmente e silenziosamente tra più codebase, team di sviluppo, aziende e prodotti, contribuendo a complicare l’identificazione e gestione delle patch.
I ricercatori dei Forescout Lab hanno stimato che più di 150 fornitori e milioni di dispositivi siano vulnerabili all’AMNESIA:33, ma riportano come sia difficile valutarne il reale impatto, in quanto gli stack vulnerabili sono:
- ampiamente distribuiti, mediante diversi dispositivi IoT, OT e IT in diversi vertical di mercato;
- altamente modulari, con componenti, funzionalità e impostazioni presenti in varie combinazioni e basi di codice spesso essere biforcati;
- incorporati in sottosistemi non documentati e profondamente integrati.
Quindi, per gli stessi motivi, queste vulnerabilità tendono ad essere molto difficili da eliminare.
Inoltre, poiché spetta agli stessi produttori di dispositivi il compito di riparare i difetti, potrebbe accadere che alcuni non si preoccupino di farlo dato il tempo e la spesa richiesti.
Una ulteriore complicazione risiede nel fatto che parte del codice compromesso è incorporato in un componente di un fornitore e, se nessuno lo ha documentato, il produttore stesso potrebbe non accorgersi della sua presenza e rendersi conto della presenza delle vulnerabilità.
Esempi di vulnerabilità che interessano lo stack TCP/IP di un prodotto in cui l’esatto stack non è però menzionato, includono Cisco IPS (2013), switch Huawei (2015), dispositivi di sicurezza Allen-Bradley (2017), modem Qualcomm (2018) e diversi dispositivi Mitsubishi Electric (2020) e i dispositivi Siemens (alert CISA).
Il contenimento delle vulnerabilità richiede lo studio granulare del sistema operativo, della versione del firmware e di ogni altro componente implementativo che costituisce il device mediante l’uso di impronte di rete passive e/o funzionalità attive, identificando gli stack TCP/IP e la loro superficie di rischio per poter individuare i controlli di mitigazione e gli aggiornamenti di patch da installare secondo priorità.
La CISA ha raccomandato agli utenti di adottare misure difensive suggerendo di isolare i sistemi di controllo industriale da Internet e dalle reti aziendali.
Elisa Costante, vicepresidente della ricerca di Forescout afferma in proposito che “risolvere le vulnerabilità nei dispositivi interessati è particolarmente complicato perché il software open source non è di proprietà di nessuno, e anzi tale codice è spesso mantenuto da volontari. Infatti, parte del codice TCP / IP vulnerabile, ha compiuto già due decenni e non è più supportato”.
Il commento di Marco Ramilli
“Personalmente”, commenta Marco Ramilli, CEO di Yoroi e Board Member in Cybaze S.p.a., “vedo due tematiche che mi portano a non essere affatto sorpreso di quanto individuato. Il primo elemento riguarda la velocita del Go-To-Market: il primo attore commerciale che arriva nel mercato con una nuova soluzione, oppure con una soluzione che innova un aspetto in un mercato consolidato, è colui che acquisisce il maggior numero di quote di mercato. Partendo da questa assunzione è possibile comprendere come il focus principale sia quello di arrivare alla “commercializzazione” a spese della sicurezza. Infatti, troppo spesso la sicurezza, non essendo considerata una feature, viene considerata come un rallentamento e per questo posticipata o addirittura ignorata nei casi più estremi”.
“Il secondo elemento”, continua Ramilli, “riguarda il processo di sviluppo: non tutti i produttori di oggetti IoT sono produttori di software. Alcuni sono produttori di hardware che commissionano lo sviluppo del software a contractors esterni; e alcuni di tali contractors, lavorando per più organizzazioni e non possono essere specializzati in tutti i domini. In questo caso, questi contractors “general purposes”, non hanno a disposizione i giusti strumenti né le giuste skillset per sviluppare un software (a volte firmware) specifico avendo ben chiaro che esso avrà una vasta distribuzione e che verrà utilizzato in ambienti non protetti”.
“Da questi due considerazioni che rispecchiano la realtà delle cose, nascono alcuni dei principali processi che portano alla realizzazione di oggetti connessi prodotti con un software non particolarmente attento a concetti di sviluppo di codice sicuro e pertanto spesso afflitti da vulnerabilità intrinseche”.