Alcuni ricercatori dell’ università israeliana Ben-Gurion hanno effettuato una ricerca e progettato un malware in grado di stabilire una comunicazione bidirezionale tra la rete di un’organizzazione e un attaccante , sfruttando i LED ad infrarosso utilizzati per consentire la registrazione notturna delle immagini per le telecamere di videosorveglianza.
L’obiettivo è ancora una volta quello di attaccare eventuali reti air-gapped (ovvero tutte quelle infrastrutture non connesse con l’esterno) connesse alla telecamera target, mediante l’infezione della telecamera stessa, così da riuscire ad estrarre dati dalla rete o inviare comandi al dispositivo.
È evidente che tale meccanismo abbia limitazioni notevoli, soprattutto per il bitrate molto basso (influenzato da molti fattori dipendenti anche dal dispositivo target), ma i vantaggi sono numerosi: l’impercettibilità visiva dello spettro infrarosso da parte di un essere umano e il basso costo di applicazione dell’attacco che, oltretutto, può essere effettuato anche a lunghe distanze.
Il concetto alla base di tale attacco consiste nel fatto che, nei moderni impianti di videosorveglianza, il firmware della telecamera è in grado di regolare l’intensità del fascio infrarosso emesso per meglio adattare la qualità dell’immagine catturata in relazione alle condizioni dell’ambiente circostante: in presenza di luce naturale questa viene abbassata, mentre per migliorare la visibilità in condizioni di oscurità vengono utilizzati livelli maggiori.
L’attacco può iniziare quindi con l’installazione di un malware, fase che può essere effettuata mediante le tecniche comunemente utilizzate per il deployment di un APT (Advanced Persistent Threat): compromissione della supply chain, ingegneria sociale o corruzione del personale.
Una volta installato, il malware può scansionare la rete alla ricerca di eventuali telecamere IP connesse e provvedere all’infezione delle stesse mediante, ad esempio, uno degli exploit più volte trattati anche su Punto Informatico. A questo punto, il passo per prendere il controllo del LED infrarosso è breve.
Spesso il LED può essere configurato tramite il pannello Web di gestione della telecamera; in tal caso una richiesta HTTP è sufficiente per acquisirne il controllo; in altri casi gli SDK (Software Development Kit, librerie concesse agli sviluppatori per utilizzare le telecamere nei propri software di elaborazione video) forniscono binding diretti verso le API della telecamera. Secondo quanto riportato dai ricercatori, la telecamera Sony SNC-EM602RC implementa il controllo del LED infrarosso nelle funzioni SetDayNightStatus
e SetIrIlluminatorMaxStrength
della libreria snccgiw_dotnet.dll
, che effettua una richiesta HTTP POST verso le relative API.
I ricercatori hanno descritto due scenari: intrusione ed esfiltrazione .
Nel primo caso, l’intenzione dell’attaccante è quella di prendere il controllo della rete; lo scenario ipotizzato vede quindi un attaccante che, seppure in posizione svantaggiata (ad esempio fuori da un edificio) riesce a inviare comandi a un C&C codificandoli in segnali luminosi mediante un trasmettitore NIR (Near Infra Red).
Nel secondo caso, quello di esfiltrazione, è invece il malware a inviare tali segnali, tutto ciò che deve fare l’attaccante è ottenere la visibilità ottica con il LED infrarosso, l’attaccante utilizzerà quindi un ricevitore NIR.
Considerato che, tipicamente, le telecamere poste esternamente a una struttura vengono posizionate a gruppi di due o tre, in modo da garantire un angolo di visibilità piuttosto ampio, la probabilità che la comunicazione possa avvenire è abbastanza alta.
Nello scenario di esfiltrazione è possibile effettuare l’attacco da poche decine a centinaia di metri nei casi in cui si abbia visibilità ottica con l’obiettivo, mentre nel caso di infiltrazione si arriva addirittura a distanze di svariati kilometri affinché l’attacco abbia successo. Quando invece non è garantita la visibilità, le distanze massime si aggirano intorno alle poche decine di metri.
A questo punto, affinché sia effettivamente possibile trasmettere il dato, occorre soltanto stabilire il tipo di codifica da usare; a seconda del tipo di diodo è possibile utilizzare tre approcci:
1) On off keying (OOK) , l’assenza di segnale per un certo periodo di tempo viene codificata con uno 0, mentre la presenza del segnale per lo stesso periodo di tempo viene codificata con un 1. Nello scenario attuale possiamo tenere il LED sempre acceso, ma con due livelli di intensità differenti, così da discriminare il caso in cui il segnale sia del tutto assente. Lo 0 può essere quindi codificato con un segnale LED-ACCESO INTENSITÀ0 per T 0 secondi, mentre l’1 può essere codificato con un segnale LED-ACCESO INTENSITÀ1 per T 1 secondi;
2) Frequency shift keying (FSK) , basata sui cambi di frequenza nell’emissione del segnale. Stabilendo due frequenze di riferimento, è possibile codificare il dato binario (B-FSK) analogamente al caso appena descritto;
3) Amplitude Shift Keying (ASK) , che effettua un mapping tra sequenze di bit e i diversi livelli di luminosità, inserendo tra un’emissione luminosa e l’altra un piccolo delay.
Come in ogni protocollo di comunicazione, anche in questo caso è necessario assicurarsi che i dati arrivino correttamente a destinazione. I pacchetti possono quindi essere organizzati in frame, ciascuno dei quali consiste di un preambolo, un payload e un checksum (ad esempio CRC).
La parte di data decoding è invece demandata ad un algoritmo, scritto dai ricercatori stessi, che sfrutta le librerie OpenCV per analizzare il flusso video catturato dalla telecamera al fine di calcolare l’ampiezza del segnale luminoso emesso dal LED e i relativi tempi. Il segnale infrarosso può essere infatti individuato nel video sotto forma di luce bianca; affinché rimanga nascosto è necessario che l’intensità dello stesso resti sotto determinati livelli, così da permettere che sia assorbito dallo sfondo ed impercettibile all’occhio umano.
La velocità della comunicazione, come già detto, dipende da molti fattori. Tra questi, è fondamentale considerare il tempo di transizione del LED infrarosso, dipendente dal dispositivo utilizzato; nel caso della telecamera Sony precedentemente citata il cambio di intensità del LED da un livello all’altro ha impiegato circa 50ms.
Un altro fattore fondamentale è costituito dal frame rate della telecamera. Per individuare il segnale infrarosso sono necessari circa 2 o 3 frame; la tempistica va quindi calcolata, ancora una volta, sulla base del dispositivo. Tale fattore è di fondamentale considerazione soprattutto nel caso di infiltrazione, ma l’attaccante può facilmente aggirarne il limite derivato tramite l’utilizzo di una matrice di LED.
I ricercatori, infine, hanno riconosciuto una serie di contromisure per prevenire o individuare attacchi di questo tipo, riportate nella tabella a seguire:
Ma non è tutto. Secondo un’altra ricerca dei medesimi studiosi, le reti air-gapped possono essere attaccate anche tramite i sistemi di monitoraggio degli impianti di condizionamento degli edifici (HVAC, heating ventilation and air conditioning).
Questa tipologia di attacco (battezzata HVACking ) è applicabile solo nello scenario di intrusione e non è utilizzabile direttamente per sottrarre dati (non è ovviamente escluso che eventuali data-breach possano avvenire in una fase successiva all’intrusione). Analogamente al caso appena descritto, l’attacco inizia con l’infezione di un malware di eventuali sistemi di monitoraggio connessi alla rete Internet, così da controllare il livello di temperatura in una stanza raccogliendo poi le informazioni sulle fluttuazioni termiche tramite i sensori dei PC degli ospiti di tale stanza.
Ovviamente l’attacco, che ci ricorda un po’ la serie TV Mr Robot, è più complesso, ma intrusioni simili sono state già effettuate in passato e in uno di questi casi la vittima dell’attacco fu la stessa Google .
Patrizio Tufarolo