cyber security, OT/IoT

Il device IoT e la procedura di aggiornamento automatico.

Vi condivido una breve riflessione a seguito di diversi casi reali che ho avuto modo di osservare nelle ultime settimane, ovviamente senza dare riferimenti di nessun tipo sui protagonisti. E’ per me importante condividere questo tipo di esperienza per un motivo banale: è qualcosa che può accadere a chiunque e non è detto che si abbiano gli strumenti per intercettare rapidamente alcuni indicatori di compromissione, è quindi opportuno condividere esperienze in merito al fine di essere tutti più consapevoli.

Lo scenario è oggi un grande classico ma solo un paio di anni fa, quando ne parlavo con i diretti interessati, sembrava fantascienza: un dispositivo IoT interconnesso alla rete dell’azienda con esigenza di accesso alla rete internet per conversare, anche solo dall’interno verso l’esterno, con i sistemi in cloud del fornitore e/o gestore del servizio. Nel corso dell’ultimo anno ho seguito diverse attività in ambito cyber sec. in contesti di “rete di fabbrica” ed ho avuto la fortuna di vedere in dettaglio alcune implementazioni. La banalizzo un po’ per rendere il concetto fruibile a più persone possibili, gli esperti mi perdoneranno ed eventualmente integreranno con la loro saggezza (sempre apprezzata).

Di solito abbiamo diversi dispositivi che dialogano con i sistemi di produzione per raccogliere informazioni e/o impartire istruzioni. I sistemi su cui queste informazioni vengono depositate possono essere all’interno dell’infrastruttura di rete come all’esterno. Molti player del mondo Public Cloud mettono a disposizione fantastiche piattaforme per la gestione di questi dati, non è quindi raro trovare sistemi IoT che dialogano con l’esterno della rete per atterrare sui sistemi che ospitano i servizi incaricati di elaborare i dati raccolti.

Quella che nel disegno è definita come “magic network(s)” sappiamo essere un tema complesso ma non è il focus di questo post; l’argomento segregazione delle reti in ambito IT ed OT in risposta alle esigenze di prevenzione delle minacce informatiche che hanno come target i sistemi industriali merita un capitolone dedicato. In questa occasione mi concentro sulle implicazioni di un sistema che dall’interno della rete è titolato a dialogare con un sistema all’esterno della rete di cui non abbiamo una completa gestione (visto che non è nostro) e di cui non siamo in grado di definire direttamente le politiche di sicurezza dovendo accettare, si spera dopo averle validate, quelle del fornitore.

In relazione ai dati scambiati il tema è relativamente semplice: proporzionalmente all’impatto che avrebbe la perdita, la manomissione o la sottrazione di questi dati dovremmo definire delle politiche di protezione, dalla sicurezza della comunicazione alle politiche di backup dei dati storici. Questo è un elemento che di solito trovo presidiato: si cerca di utilizzare protocolli che facciano uso della cifratura e si prediligono servizi consoni al trasferimento di informazioni. Per farla breve, c’è ancora chi spara archivi .zip via FTP ma, almeno nei contesti in cui opero io, sono decisamente pochi.

Avendo la possibilità di dialogare sempre con la propria infrastruttura cloud il dispositivo IoT viene spesso dotato di procedure di self provisioning si per le configurazioni che per le componenti software, fino a poter anche aggiornare il firmware del dispositivo stesso. E’ una scelta tecnicamente validissima in quanto da modo al fornitore di aggiornare il dispositivo senza intervenire on-site, sarà quindi il dispositivo a chiedere ai sistemi centralizzati se ci sono nuovi elementi software da installare o configurazioni da modificare. Per chi fa il mio lavoro ricorda molto il funzionamento dei C2.

Se chi gestisce la rete in cui il dispositivo viene inserito ha l’onere di assicurarsi che le policies di comunicazione siano idonee (ne parliamo in un post a parte come già detto), chi gestisce la cloud deve garantire la sicurezza delle informazioni e dei sistemi a cui i devices accedono. Un threat actor in grado di accedere ai sistemi cloud potrebbe compromettere in profondità il sistema in cloud oppure potrebbe limitarsi a manomettere il sistema al fine di far atterrare sul device IoT una componente malevola. In questo caso l’attacker avrebbe potenziale accesso a tutti i sistemi IoT che afferiscono alla cloud compromessa.

La scelta dipende ovviamente dalle funzionalità che il sistema mette a disposizione: se è possibile impartire comandi al dispositivo IoT (ci sono sistemi che lo prevedono per garantire un certo livello di amministrazione) diventa possibile eseguire azioni anche molto invasive dall’interno della rete target in un contesto tipicamente delicato come la rete di fabbrica, diventa quindi semplice eseguire attività di ricognizione a caccia di altri sistemi o informazioni utili a mettere radici.

Come intercettare il problema

Premesso che dovremmo iniziare a lavorare di prevenzione qualificando opportunamente i fornitori, è bene avere una strategia di intercettazione e gestione di questa tipologia di incident. Non avendo pertinenza sulla componente cloud ed essendo le comunicazioni necessariamente autorizzate oltre che cifrate, la detection difficilmente può avvenire a monte (non impossibile, ma difficile). Quello che possiamo sicuramente fare è lavorare sulla pertinenza locale: eventuali attività da parte dell’attacker genereranno sicuramente del traffico in rete verso destinazioni differenti dalle solite. In molti casi questi dispositivi dialogano con un numero limitato di sistemi interni, potremmo quindi insospettirci di qualsiasi comunicazione verso hosts insoliti (funzionalità disponibile in molte soluzioni di detection).

Anche il tipo di traffico è un elemento importante, questi sistemi solitamente utilizzano un set specifico di protocolli del mondo OT oltre ad HTTPS per la comunicazione con le API ed a qualche protocollo base come NTP e DNS. Proprio su questi ultimi due va fatto un focus ulteriore: esistono diverte tattiche di tunnelling basate proprio su questi protocolli, pur essendo traffico spesso legittimo è bene fare degli approfondimenti per verificare che non siano in corso azioni di exfiltration. Personalmente suggerisco di utilizzare, se disponibili, servizi interni per NTP e DNS in modo da negare il traffico verso l’esterno da questi dispositivi, ma non è sempre possibile.

Gli attacchi informatici, ce lo diciamo spesso, non sono composti da singola azioni chirurgiche. Esiste un path, un set di azioni che vengono svolte in sequenza e che inevitabilmente lasciano qualche traccia. In un contesto come quello descritto, in cui l’attacker di fatto trova un punto di accesso a causa di un problema introdotto da un terzo attore, è indispensabile essere preparati per intercettare gli effetti delle azioni di attacco più che le azioni in se in quanto potenzialmente non visibili.

Conclusioni e riflessioni

Nel prossimo periodo parlerò in più occasioni di detection e delle soluzioni e servizi che possiamo mettere in campo a tal fine. In questa occasione la riflessione che vorrei portare si riferisce ad un tema di strategia e predisposizione. E’ ovvio che le aziende debbano dotarsi di strumenti che avranno l’esigenza di dialogare con l’esterno della rete. E’ anche ovvio che le aziende non possono gestire la sicurezza informatica dei propri fornitori. Quello che è possibile fare è qualificare il fornitore definendo dei requisiti minimo di sicurezza che il fornitore deve rispettare.

Le aziende e le organizzazioni sono troppo interconnesse tra loro per non considerare questo aspetto della sicurezza informatica. E’ un tema di strategia che possiamo gestire in modo strutturato.

cyber security, OT/IoT

OT / ICS Security Workshop

Scrivo questo post il giorno prima rispetto al workshop che si terrà il 17 marzo in collaborazione con Festo Academy ma lo pubblicherò solo qualche giorno dopo. In questa occasione vorrei riassumente alcune dei temi trattati durante la sessione assieme ad Andrea Dainese con il quale ho condiviso la conduzione.

Come da titolo il tema è la sicurezza (cyber) delle infrastrutture OT più comunemente denominate “reti di fabbrica” ma che di fatto sono qualcosa di più complesso di una infrastruttura di interconnessione tra sistemi industriali. Scopo della sessione è stato l’introduzione alle possibili minacce alle quali i sistemi industriali possono essere esposti e discutere alcune specificità che rendono questi sistemi potenzialmente più facili da aggredire.

Come accennato la sessione è stata presentata in condivisione con Andrea con il quale, a staffetta, ci siamo divisi gli argomenti. In questo post sintetizzo i temi da esposti: una introduzione, più volte argomentata anche in altri contesti, in relazione al modello di business del cyber crime con alcuni esempi “famosi” per essere stati particolarmente efficaci, seguita da una sessione dedicata ad alcune peculiarità tecniche e di gestione dei device OT/ICS che, se non correttamente presidiate, possono essere veicoli per alcune tipologie di attacchi.

Il modello di business del cyber crime

Ne ho parlato in moltissime occasioni e non mi voglio ripetere in questo post (qui uno degli articoli passati) quindi mi limito a ricordare che il cyber crime è a tutti gli effetti un business digitale, è l’estensione nel cyber spazio del crimine “tradizionale”, il suo scopo è fare quattrini. Il cyber crime non centra nulla con l’attivismo e tantomeno con l’hacking e gli hacker.

Alcune delle principali minacce in ambito OT

Andiamo dritti al centro della questione tecnico-operativa sui cui abbiamo presentato uno dei focus (non è l’unico ovviamente): l’accesso e la manutenzione remota dei devices OT. Le componenti informatiche di un impianto industriale sono molto frequentemente interconnesse alla rete locale (la rete di fabbrica) per dialogare tra loro e per consentire monitoraggio e manutenzione da parte del vendor.

Nel migliore dei casi il vendor ha pensato ad una soluzione per approcciare la gestione da remoto del device ma spesso si incontrano non poche difficoltà, o peculiarità, delle reti che ospitano tali dispositivi. In questo contesto, se non normato, avviene di tutto: dai dispositivi interconnessi ai quali viene concesso di accedere alla rete internet senza uno specifico blocco o controllo così da consentire al vendor un’accesso autonomo al device tramite VPN o tunneling, fino ad esporre il device direttamente alla rete pubblica.

E’ ovvio che in qualche modo il vendor deve poter accedere al disposizioni per garantirne la manutenzione ma tale esigenza deve essere opportunamente gestita. In generale si sconsiglia di adottare metodi di accesso remoto che non siano in qualche misura controllati/presidiati dall’amministratore della rete che deve poter attivare/disattivare il tunnel e registrare l’evento di accesso al device. A tal proposito tutto ciò che in qualche misura “aggira” i controlli imposti dall’amministratore (es: Modem LTE all’interno dei dispositivi) per quanto comodo non rappresenta una buona idea dal punto di vista della sicurezza dell’infrastruttura.

Opportuno è considerare anche l’affidabilità dei sistemi informatici del personale esterno che accede ai sistemi industriali: se un dispositivo compromesso si connette al nostro impianto esiste la seria possibilità che l’attacker sfrutti questa “connessione” per accedere all’infrastruttura oggetto di manutenzione.

Particolarmente interessante è constatare l’incredibile fiducia nel prossimo che si può trovare in chi ha deciso di esporre direttamente alla rete internet sistemi ICS…

C’è poco da dire: per pubblicare un sistema industriale serve una ragione valida e viste le attuali possibilità tecnologiche a me di ragioni valide non me ne vengono.

Ultimo spunto in questa mini-sessione è relativo all’accesso fisico ai sistemi che, per questioni legate alla longevità degli impianti industriali, spesso sono costituiti da componenti che utilizzano software anche molto datati e non aggiornabili. Questa peculiarità mantiene viva la possibilità di sfruttare debolezze non più presenti nei recenti sistemi operativi o gestibili facilmente con policies di sicurezza o protezioni software.

Diventa così relativamente semplice introdurre in una organizzazione un USB drive infetto in grado di compromettere sistemi non particolarmente protetti come è possibile (anche in contesti IT a dire il vero) utilizzare armi come le USB Rubber Ducky.

Dopo il webinar…

… ci sono un paio di aspetti che mi piacerebbe approfondire, in particolare gli scenari di accesso remoto e la discovery di impianti industriali tramite Shodan o altri strumenti di semplice accesso. Su questi temi aspettatevi una live dedicata.

cyber security, OT/IoT

Sicurezza dei sistemi industriali e centralizzazione dei controlli (Rif. CVE-2021-33721)

Qualche giorno fa ho avuto modo di analizzare una CVE relativa ad un sistema di gestione delle reti appositamente creato per proteggere i sistemi che compongono una rete industriale, ovvero quel complesso aggregato di sistemi connessi da un lato alle reti IP e dall’altro alle reti OT.

La CVE in questione, datata 10 agosto, notifica la possibilità di eseguire “Command Injection” ai danni del prodotto Siemens Sinec NMS. La cosa interessante è che il prodotto è stato concepito per semplificare la gestione della sicurezza dei dispositivi OT di una rete industriale con specifiche funzionalità di firewalling, asset management, patch management, ecc…

In una rete complessa e ricca di dispositivi, nel mondo IT tanto quanto nel mondo OT, è indispensabile definire procedure e regole per l’aggiornamento e la protezione dei sistemi, se la rete è particolarmente grande o complessa è poco plausibile pensare di fare tutto a manina. Adottare strumenti di gestione centralizzati è quindi del tutto naturale oltre che auspicabile.

In un contesto operativo dove è del tutto normale strutturare sistemi di gestione centralizzati va ancor di più considerato il livello di allerta nella gestione degli asset che ci semplificano la governance in quanto un problema di sicurezza su una piattaforma centralizzata potrebbe generare fastidi e incident di una certa portata.

SINEC wiki Documentation

La CVE in oggetto è un esempio perfetto: stando alla documentazione ufficiale il software è in grado di eseguire la gestione dei sistemi OT attraverso la rete (rif. documentazione Siemens: https://assets.new.siemens.com/siemens/assets/api/uuid:4fc55df6-c6da-4fbc-8112-8a910b668e23/network-management-for-more-network-security.pdf). Vista la tipologia della vulnerabilità descritta anche in una nota del produttore (https://cert-portal.siemens.com/productcert/pdf/ssa-756744.pdf) sarebbe possibile compromettere il sistema di gestione e di conseguenza interferire sull’operatività dei dispositivi stessi.

E’ molto probabile che gli utilizzatori di queste tipologie di software siano in parte dipendenti dal buon funzionamento della piattaforma, ragion per cui il business impact potrebbe essere stato classificato come elevato. Il rilevamento di una vulnerabilità con score elevato come quella riportata in questa CVE deve quindi innescare una immediata reazione di mitigation e remediation in accordo con il piano di gestione delle vulnerabilità che tutti dovremmo avere.

Nel caso specifico la nota di Siemens segnala che non ci sono azioni di mitigation salvo valutare l’applicazione di rules per limitare l’accesso al sistema. E’ però già disponibile una versione che non presenta la falla: SINEC NMS V1.0 SP2 rilasciata il 18 maggio.

La nota di rilascio della v1.0 SP2 da un altro spunto di riflessione: l’update non era classificato come security update, si trattava infatti di un rilascio che riportava nuove funzionalità e miglioramenti al software. Spesso vengono implementati piani di patch management che tendono ad escludere o non dare nessuna priorità agli update e si tende a dar seguito al patching dei sistemi quando si presenta un fix legato alla sicurezza del sistema.

In questo caso questa condotta avrebbe portato ad una involontaria esposizione ad un rischio (anche se non noto) in quanto l’installazione della SP2 avrebbe di fatto prevenuto lo sfruttamento della vulnerabilità segnalata solo tre mesi dopo.

Patch Management e Vulnerability Management sono due procedure che possono convergere ma non sarebbe sano adottare solo una delle due.

cyber security, OT/IoT

Se il target sono i Sistemi Industriali e le Infrastrutture Critiche

Con Operation Technology (OT) ci riferiamo alle infrastrutture tecnologiche (hardwaere e software) che consentono il funzionamento di un sistema “fisico”, tipicamente in ambito industriale o di automazione e gestione di sistemi elettro-attuali. Il tema spazia dal sistema di controllo e gestione delle pompe di un acquedotto alla linea di produzione industriale completamente robotizzata. I sistemi coinvolti oggi dialogano con protocolli molto specifici (es: SCADA) e di fatto sono costituiti da Endpoint di una rete TCP/IP, tipicamente dei computer — in diverse forme — su cui vengono installate le componenti client dei software, da dei sistemi server e da una rete di sensori/rivelatori/attuatori/???ori utilizzata dai sistemi di controllo per leggere dati (telemetrie, rilevazioni, immagini, ecc.) ed eseguire azioni nel mondo fisico. Oggi le reti OT dialogano con le reti IT e spesso il confine tra questi due mondi non è ben definito in quanto l’evoluzione tecnologica li ha portati a condividere tecnologie e risorse a vari livelli.

Non è quindi una sorpresa che gli attacker prendano di mira i sistemi OT tanto quanto i sistemi IT, anzi, di fatto non vi è discriminante per attaccare l’uno o l’altro in quanto vi sono eguali opportunità di mettere in scacco una realtà produttiva (nel caso migliore) o un’infrastruttura critica (nel caso peggiore). Gli impatti sono evidenti: nel caso della realtà produttiva un fermo della produzione ha un impatto diretto sul ciclo di Business (si perdono soldi), nel caso di un’infrastruttura critica (trasporti, sistemi logistici, sistemi di comunicazione, distrubizione elettrica, ecc) vi è un impatto diretto sulla vita dei cittadini, sulle persone (in alcuni contesti si rischia di perdere vite).

Ovviamente queste evidenze massimizzano il modello di Business del criminale informatico. Quanto è disposta a pagare un’azienda per vedere sbloccati i sistemi di produzione messi fuori uso da un attacco informatico? Quanto è disposto a pagare un Ente/Governo per vedere ripristinato il traffico ferroviario nazionale manomesso da un attacker? Purtroppo il problema è reale. Purtroppo è ancora preso troppo alla leggera e l’epilogo tocca leggerlo sulle prime pagine dei giornali quando qualcosa — che si poteva evitare — va storto.

Mettiamoci il cappello bianco

La nota positiva, parlando con aziende strutturate del panorama industriale italiano, è che gli addetti ai lavori se ne sono resi conto e non da poco. La nota negativa è che il management fa ancora fatica a mettere a fuoco il tema. In questa differenza di vedute i criminali informatici prosperano.

Qualificare un’azienda come potenziale target è relativamente semplice, basta fare delle verifiche sul fatturato negli ultimi anni ed analizzare qualche dato sulla reputazione del brand per farsi un’idea. Se l’azienda piace e sta bene economicamente probabilmente ha tanto da perdere e quindi l’attacker ha tanto da guadagnare. Ragionamenti tanto banali quanto reali che si mescolano ad un tema che avevo trattato in passato legato alla “reputazione”.

Che la produzione non si debba fermare non è un’ipotesi, è una certezza. Ci sono aziende che basano il proprio modello di Business proprio sulla velocità della produzione, ovvero competono sul tempo che impiegano a trasformare l’ordine, che spesso arriva dall’e-commerce, in prodotto da consegnare. Perdere un ordine significa perdere soldi se non addirittura il cliente.

Questi sono esempi di modelli di Business che reppresentano reali opportunità per il cyber-crime, sono modelli che richiedono spesso una forte esposizione per funzionare e dove l’automazione del processo produttivo è moltissima e trasversale.

La progettazione di un attacco, in questi contesti, non è molto differente dal puro contesto IT ma lo scenario propone delle differenze: abbiamo a che fare con una rete non sempre segmentata, che interconnette sistemi spesso non aggiornabili (ambienti legacy) dove non è consentito l’utilizzo di appositi strumenti di protezione, il tutto interconnesso in qualche modo a parte dei sistemi IT e dove l’utilizzatore potrebbe non sapere nulla di informatica.

La superficie aggredibile è vastissima, ma è opinione — errata — comune che non vi siano particolari strumenti attaccabili in un rete OT. La realtà è che ogni sistema automatizzato funziona grazie ad un computer (di varie tipologie) con a bordo un sistema operativo e applicazioni anche molto datate, perfettamente funzionanti ma spesso molto vulnerabili. Esistono tecniche e vottori d’attacco studiati appositamente per il mondo OT: con il Red Team di VERSIVO abbiamo avuto modo di sperimentare alcuni vettori d’attacco specifici che mescolano tecniche di code injection e DNS tunneling, tecniche relativamente semplici da intercettare e bloccare ma che in un contesto di automazione industriale rischiano di attecchire con estrema facilità.

Piccola parentesi tecnica. Un attacco particolarmente interessante prevede la manomissione dei file di progetto dei sistemi industriali, formati proprietari che contengono le informazioni su come la macchina dovrà comportarsi per la lavorazione di un “pezzo” o di un “prodotto”. Questi file di base contengono istruzioni e alcuni formati consentono l’injection di codice arbitrario (es: javascript) o a livello scripting interpretabile poi dal software che utilizza il file in oggetto.

La tecnica è molto simile a quella utilizzata con file PDF (JS Injection) o sui file del pacchetto Office (Macro Injection) ma riportata in un contesto dove non si utilizzano né PDF né file di Word. Inoltre i formati utilizzati nel mondo OT raramente sono “compresi” dai sistemi di sendboxing, risulta quindi molto difficile verificare la presenza di codice malevolo.

Rischio elevato / Impatto elevato

Su questo fronte non possiamo non considerare l’impatto che avrebbe un Security Incident: perdere un dato è un conto, perdere il controllo di un sistema industriale o di un’infrastruttura critica è un altro paio di maniche. Non voglio fare paragoni sull’importanza a livello Business, mi riferisco all’impatto diretto e potenzialmente devastante che potrebbe avere un attacco sferrato contro un target critico. Penso il tema sia meritevo di considerazione a tutti i livelli.