L’importanza di un efficiente piano di cyber security delle infrastrutture critiche è risultata evidente in seguito all’integrazione tra Information e Operational Technologies (IT/OT), in seguito alla quale oggetti che prima si trovavano all’interno di un perimetro fisico, ben definito e spesso ben protetto, sono stati esposti all’accesso diretto degli attaccanti.
Per avere un quadro preciso delle minacce e delle contromisure è importante partire dalla comprensione di quali sono i rischi e di come avviene un attacco.
È quindi opportuno procedere all’identificazione delle tecnologie allo stato dell’arte ed al loro inquadramento rispetto alle criticità del sistema che vogliamo proteggere. Non tutti gli strumenti, infatti, possono essere utilizzati sotto le stesse condizioni.
Indice degli argomenti
Cyber security delle infrastrutture critiche: l’attacco
Si dice spesso che la sicurezza in senso assoluto sia un obiettivo irraggiungibile. Forse questo non è vero in assoluto, ma è probabilmente corretto quando ci riferiamo a sistemi su larga scala come un impianto industriale: la probabilità che il sistema sia inviolabile è inversamente proporzionale alla sua complessità.
In tal senso, la sicurezza deve essere intesa come un gioco a due con un ipotetico attaccante che, razionalmente, è disposto a pagare il costo di un attacco solo se questo porta ad un guadagno superiore.
Sfortunatamente, le infrastrutture di grandi dimensioni sono spesso quelle che offrono migliori opportunità di guadagno. Inoltre, sono anche “bersagli molli” quando si parla di cyber warfare.
Di conseguenza, è sempre ragionevole aspettarsi che anche i deterrenti più efficaci possano non riuscire a dissuadere attaccanti fortemente motivati e di alto profilo tecnico.
Anche se non è sempre semplice caratterizzare l’attività di un attaccante, è pratica comune identificare sette fasi comuni ad ogni attacco cyber.
- Ricognizione. Attaccare un sistema sconosciuto è quasi, se non del tutto, impossibile. La conoscenza del bersaglio è fondamentale per progettare un attacco efficace. Per questo motivo il primo passo consiste sempre nel raccogliere il maggior numero di informazioni. Queste informazioni includono per esempio le macchine accessibili dalla rete, i software e i servizi esposti, ma anche dettagli sul personale, sui ruoli e sui processi. In questa fase sono comuni operazioni di scanning remoto dei sistemi e profilazione dei dipendenti, magari per mezzo di mail di phishing. Il risultato finale è la comprensione della superficie d’attacco su cui è possibile operare.
- Predisposizione. Sulla base delle informazioni raccolte al passo precedente, l’attaccante pianifica un attacco. Per metterlo in pratica ha bisogno di realizzare alcuni strumenti come pagine web e malware.
- Consegna. Utilizzando gli strumenti predisposti in precedenza, viene lanciato l’attacco vero e proprio. Per esempio in questa fase possono essere mandate le mail dirette a uno specifico dipendente (whaling).
- Exploitation. Questa è la fase centrale dell’attacco. Adesso l’attaccante sta raccogliendo informazioni tramite gli strumenti predisposti nelle fasi precedenti. Utilizza queste informazioni per espandere la sua conoscenza dell’infrastruttura ed allargare la superficie d’attacco. Ogni operazione che permette all’attaccante di accedere a nuovi sottosistemi viene chiamato movimento laterale.
- Installazione. Fino a questo punto l’accesso al sistema bersaglio è avvenuto tramite precise operazioni dell’attaccante. Non c’è garanzia che queste operazioni siano ripetibili in futuro (ad esempio a causa di aggiornamenti e cambi di configurazione). Per rendere la propria presenza permanente l’attaccante modifica il sistema. Queste modifiche includono installazione di malware, predisposizione di backdoor e acquisizione di privilegi di alto livello.
- Comando e controllo. A questo punto l’attaccante ha accesso diretto e privilegiato a sottosistemi critici. In altre parole può operare sul sistema inviando dati artefatti e comandi che superano i controlli di autenticazione. Per esempio potrebbe essere in grado di accedere a caselle mail di dirigenti o inviare comandi ad una shell remota su una macchina che partecipa ad una linea di produzione.
- Raggiungimento degli obiettivi. A questo punto l’attaccante è ben radicato nell’infrastruttura e può controllarne parzialmente il comportamento. Tutto questo è stato fatto con lo scopo di raggiungere degli obiettivi (che variano con il tipo di attaccante). Una volta raggiunti questi obiettivi l’attaccante potrebbe anche interrompere le sue attività. In generale, però, la fine dell’attacco non è necessariamente una buona notizia: infatti l’attaccante ha compromesso il sistema in vari modi, ad esempio disseminando backdoor e vulnerabilità, che espongono il sistema a nuovi e maggiori rischi.
Molte delle fasi descritte sopra richiedono all’attaccante di agire attivamente sul sistema.
Queste operazioni possono essere osservate e individuate, ma quasi sempre questo equivale a cercare un ago in un pagliaio: quello delle operazioni legittimamente eseguite dal sistema.
Per questo motivo esiste una forte intersezione tra le tecniche di identificazione degli attacchi e le metodologie di analisi di big data.
Cyber security delle infrastrutture critiche: la difesa
Un’altra considerazione comune riguarda la prioritizzazione degli asset da proteggere.
Si dice spesso che la triade della sicurezza IT “CIA” (Confidentiality, Integrity e Availability) nei sistemi OT deve essere rimpiazzata con “AIC”, per indicare che la disponibilità e continuità del servizio erogato è molto più critica della confidenzialità delle informazioni.
Il classico esempio è la scelta delle password: una password di quattro cifre è inadeguata per l’account dell’amministratore di un sito web, ma potrebbe essere perfettamente sensata per il terminale di un ingegnere che deve poter accedere rapidamente ai controlli di una turbina che si sta surriscaldando.
Questo argomento non è del tutto corretto in generale per alcuni motivi.
Il primo è che la triade “CIA” non denota necessariamente una priorità degli obiettivi: l’importanza di garantire maggiormente la confidenzialità dei dati piuttosto che l’integrità del sistema è dipendente dal contesto specifico.
Il secondo e forse più importante è sicuramente l’interdipendenza tra i tre elementi. Molto spesso, compromettere la confidenzialità di certe informazioni può avere effetti diretti o indiretti sull’integrità del sistema e sulla disponibilità di un servizio e viceversa.
Il motivo per cui integrità e continuità del servizio sono spesso gli obiettivi di un attacco (mentre la violazione della confidenzialità è solo un mezzo per colpire gli altri due) è puramente legato alla remunerazione dell’attaccante (o, dualmente, al danno subito dal difensore). Per esempio, minacciare lo shutdown di un reattore nucleare è un forte incentivo per spingere qualcuno a pagare un riscatto entro poco tempo.
Per quanto riguarda l’esempio precedente del pin, può sembrare ragionevole utilizzare un codice di 4 cifre per il terminale che controlla una turbina perché, implicitamente, stiamo pensando che quel terminale si trovi all’interno di un perimetro di sicurezza tale da rendere ridondante l’uso di un codice di accesso (per esempio il terminale si trova in una control room videosorvegliata a cui si accede solo con un tesserino magnetico).
Se il terminale fosse esposto in rete come l’interfaccia di amministrazione di un sito web la password 1234 sarebbe comunque inadeguata.
In definitiva, è sempre importante ricordare che, nell’ambito di un piano di cyber security delle infrastrutture critiche, la sicurezza è soprattutto un processo. Tale processo passa necessariamente dalla comprensione dell’oggetto che si intende difendere e delle minacce a cui è esposto.
Purtroppo il livello di comprensione e conoscenza cala con la complessità dei sistemi e gli impianti industriali sono tra i sistemi più complessi in assoluto.
Questo ci riporta al punto di partenza: la complessità e la mancanza di comprensione come (inevitabili) fattori di rischio.
Inoltre, non dobbiamo pensare che la complessità e la difficoltà di conoscere nel dettaglio un sistema possa anche essere uno strumento di difesa: un attaccante non ha bisogno di comprendere il funzionamento generale di un sistema per comprometterlo.
Molto spesso è sufficiente l’identificazione e lo studio di un solo sottosistema critico. Questa sostanziale asimmetria tra attaccante e difensore è sicuramente uno degli aspetti più critici.
Fortunatamente esistono molti strumenti a disposizione dei difensori per identificare e neutralizzare gli attacchi.
Intrusion detection: riconoscere l’attività malevola
Gli strumenti di intrusion detection (IDS) hanno lo scopo di riconoscere l’attività di un attaccante che sta interagendo con il sistema bersaglio.
Questo tipo di strumenti possono essere molto utili soprattutto nelle prime fasi di un attacco (ricognizione e predisposizione). In queste fasi, infatti, l’attaccante deve sondare macchine e servizi accessibili da remoto.
Questa attività può essere identificata in alcuni casi. Nella maggior parte dei casi l’identificazione avviene per mezzo di firme (signature) del traffico di rete. In breve una firma rappresenta una sequenza di messaggi che sono tipici di una attività malevola di qualche tipo. Per esempio il traffico generato da un malware.
Un IDS è uno strumento fondamentale per la protezione di un sistema su larga scala, ma l’utilizzo di tali strumenti non è semplice.
Un problema comune è la mole dei dati processati che richiede processazioni complesse, potenzialmente onerose e il supporto di analisti esperti.
Un’altra questione è come reagire agli incidenti segnalati da un IDS. Se l’IDS non è correttamente integrato in un processo di gestione delle emergenze di sicurezza la reazione potrebbe essere inadeguata.
Intrusion prevention: bloccare i tentativi di intrusione
Questa tipologia di soluzioni ha lo scopo di impedire l’intrusione da remoto attraverso la chiusura totale o parziale delle connessioni verso la rete.
In linea teorica, l’intrusion prevention supera in efficacia la detection. Tuttavia, è possibile applicare questa tecnica solo sotto precise condizioni.
In particolare è necessario che il sistema sia strutturato in modo da poter lavorare in completo isolamento dalla rete pubblica. Non serve menzionare il fatto che molte tecnologie allo stato dell’arte non sono compatibili con questo requisito.
Per esempio, il monitoraggio e l’assistenza da remoto, così come le tecnologie che sfruttano il cloud per l’analisi dei big data, non possono essere integrati con semplicità. La distribuzione degli aggiornamenti software può invece essere eseguita permettendo la connettività in maniera programmata (ad esempio solo una volta ogni N giorni).
Chiaramente questo tipo di metodologia può avere un serio impatto sui costi di realizzazione e manutenzione dell’infrastruttura, ma in taluni casi può essere pienamente giustificata. Per esempio, l’impiego di tecnologie di intrusion prevention può riguardare infrastrutture molto sensibili o sottosistemi ben circoscritti e di particolare criticità.
Infine, è bene ricordare che, anche se la rete è sicuramente il canale principale, alcuni vettori d’attacco non necessitano di connettività o possono sfruttare canali alternativi come, ad esempio, un impiegato che inserisce una chiavetta usb infetta in un terminale.
Anomaly detection: un approccio conservativo
L’anomaly detection segue un approccio sostanzialmente duale all’intrusion detection.
Infatti, l’individuazione di una intrusione parte dal presupposto che tutto il traffico monitorato sia legittimo a meno che non venga identificato come malevolo (default:allow). Invece le anomalie vengono identificate come variazioni sul comportamento atteso del sistema.
In altre parole, tutto il traffico che non viene riconosciuto come “normale” viene segnalato come anomalo (default:deny).
In breve l’anomaly detection è un approccio più conservativo ed offre alcuni vantaggi. Tra questi il principale è sicuramente la capacità di prevenire attacchi di tipo 0-day. Il motivo è che non ci si concentra sull’attacco (che essendo 0-day non è facilmente identificabile), ma sugli effetti che questo ha sul comportamento del sistema in condizioni normali (normal behavior).
Le metodologie di anomaly detection hanno comunque bisogno di una quantità non trascurabile di informazione iniziale per comprendere quale sia il comportamento “normale” del sistema.
Molte di queste tecniche, per esempio, richiedono un periodo di osservazione e apprendimento durante il quale viene generato un modello di riferimento del comportamento.
Questa fase è cruciale e comporta due rischi.
Da una parte, se il modello generato non include alcune operazioni legittime (che non sono avvenute nel periodo di osservazione) queste saranno considerate anomalie.
Dualmente, se un attaccante sta operando sul sistema durante la generazione del modello, le sue azioni potrebbero essere considerate parte del comportamento normale e, quindi, non segnalate in futuro.
Conclusioni
La sicurezza dei sistemi è un processo la cui complessità dipende in buona misura dal nostro grado di comprensione degli oggetti che vogliamo proteggere.
Le moderne infrastrutture sono spesso complicate e inclusive di molti componenti e sottosistemi eterogenei tra loro.
Per proteggere efficacemente tali sistemi è necessario sviluppare processi adeguati integrando gli strumenti a disposizione. Non sembra plausibile che uno strumento, in isolamento, possa garantire un livello di sicurezza adeguato.
Tuttavia, l’opportuna composizione delle tecniche di cyber security delle infrastrutture critiche allo stato dell’arte può, in molti casi, contrastare o mitigare le minacce cyber.