Vulnerabilità SCADA: insicurezze nei sistemi di controllo industriali; autopsia degli attacchi
- KillForTheThrill

- 14 apr 2020
- Tempo di lettura: 4 min
Aggiornamento: 17 giu 2021

In molti avranno sentito parlare di Stuxnet o Industroyer. Questi non sono altro che malware studiati e creati appositamente per colpire i sistemi di monitoraggio e controllo industriale, ovvero i sistemi SCADA, e metterli fuori uso.
Un sistema SCADA (Supervisory Control and Data Acquisition) è un'architettura centralizzata che prende vita da Hardware, Software adibiti al monitoraggio di tutti i processi automatizzati e non, e Network. E' un tipo di ICS (industrial Control System).
L'Hardware è composto da:
- RTU (Remote Terminal Unit), dispositivi non programmabili, che eseguono solo operazioni in logica Booleana
- PLC (Programmable Logic Controller) che sono dispositivi programmabili per l'acquisizione dati delle macchine dello stabilimento. - HMI (Human-Machine Interface), ovvero uno schermo sul quale l'operatore umano può leggere tutti i dati raccolti dai precedenti devices ed analizzati.
Il Software si interfaccia tra RTU, PLC e Mainframe centralizzato.
In sostanza, un software SCADA è adibito a 2 obiettivi, tramite 2 tipi diversi:
- CMMS (Computerised Maintenance Management System): il monitoraggio del sistema industriale, che permette l'utilizzo da remoto delle macchine che controlla;
- CM (Corrective Maintenance) aiutato dal CMMS: acquisizione dati, per valutare la funzionalità corretta dei vari apparati e/o identificare e localizzare eventuali guasti e malfunzionamenti.
Tramite la Network, è possibile gestire in remoto macchinari, processi, leggere statistiche e analisi dati ed intervenire per riparare alcuni guasti, ma anche ricevere attacchi, in caso di vulnerabilità presenti nel sistema. E' dunque tramite la Network che vengono sfruttate insicurezze nel Software, per mettere fuori uso anche l'Hardware.

ANALISI DELLE VULNERABILITA' IN UN SISTEMA SCADA
In generale, ci sono delle differenze sostanziali tra la sicurezza IT e OT [Operational Technology]. Nell'IT si utilizzano protocolli ormai standardizzati e sicuri per le comunicazioni, come il TCP/IP, mentre nei sistemi industriali vengono adottati i protocolli riferiti alla casa produttrice dei dispositivi [es. PLC], le strutture di rete sono molto più scarne e il Software è strettamente legato all'Hardware. Non è possibile, ad esempio, aggiornare il software di un PLC senza adeguare anche l'hardware, quindi ci si trova in presenza di architetture obsolete. Il controllo di una HMI è poi esposto a una moltitudine di attacchi, come Man in the Middle, attacchi Replay (o Playback) o multi-threats, come il Malware Proxy.
Vulnerabilità Hardware:
buffer overflow a causa della scarsità in memoria e capacità di elaborazione delle RTU.
Vulnerabilità Software:
intercettazione ed interruzione o modifica dei dati tramite malware (Virus, Worm, Trojan, etc.); exploit che sfruttano le insicurezze del Sistema Operativo (RTOS se è in tempo reale, maggiormente attaccabile) e nel Firewall; Denial of Service; sfruttamento insicurezze nelle modalità di autenticazione nei protocolli più datati e meno sofisticati, backdoors negli account Admin e hardcoded nella gestione delle credenziali; attacchi brute force con buona probabilità di esito positivo per l'attaccante (assenza timeout di password), Advanced Persistent Threats (APTs), ovvero attacchi multifase che perdurano per molto tempo nascosti nel sistema.
Vulnerabilità nei collegamenti delle comunicazioni:
MitM (Man in the Middle), Eavesdropping, Hijacking, etc., ovvero intercettazioni di informazioni, conversazioni, dati sensibili o in qualche modo importanti per assicurarsi l'accesso al sistema. Communication Systems network outage, ovvero interruzione della rete elettrica per ottenere del tempo per lanciare l'attacco.
Vulnerabilità delle autorizzazioni/Attacchi umani:
Insider Threats (Internal Employee incidents), Data/Information Leakage è possibile che un dipendente o una persona che per qualche motivo si trovi a lavorare in quell'impianto cerchi di entrare in possesso di dati sensibili o informazioni importanti per garantirsi dei privilegi nel sistema dello stabilimento.
Ogni componente del sistema SCADA presenta potenziali vulnerabilità sfruttabili, che è possibile riassumere in questo modo:
Files Eseguibili | Buffer overflow
Webserver | Path/Directory trasversal
Webapp | Cross-site scripting
HMI | Sql injection
Active X | Port attack
Porte specifiche (TCP e UDP) | Privilege Escalation
Librerie .DLL | Overwrite information

Metasploit fornisce dei moduli per ottenere un elenco di exploit (ca. una 70ina) che riguardano componenti SCADA (una 30ina), con dettagli importanti, quali il CVE (Common Vulnerability Enumeration).
Dal CVE, secondo lo standard NIST, è possibile stilare delle scale di gravità della minaccia, conseguenze ed elementi coinvolti, riassumendo così il costo di ogni exploit. Gli attacchi più gravi, con score di 10 punti sono:
Hardcoded credential
Sql Injection
Multi-Vulnerability
Privilege Escalation
Overwrite Information
Le conseguenze, con score 0.7:
Esecuzione di codice arbitrario
Service change configuration
Denial of Service
Overwrite Information
Accesso a informazioni
Gli elementi più facilmente coinvolti, con uno score di 10 sono:
Hardware (RTU, PLC, Sensori)
Modbus
HMI
E con uno score 8:
File .EXE/Active X
Webserver e Webapp
Gateway Server
Porte TCP/UDP

Utilizzando Shodan, il grande motore di ricerca dove sono presenti tutti i dispositivi di una rete connessa a internet, è possibile utilizzare dei filtri di ricerca, in particolare utilizzando l'API per CVE si ottiene questa query:
https://www.shodan.io/search?query=NomeSW/Numero versione-o-CVE
Ed in particolare:
screenshot.label: “ics / SCADA”
otterremo una lista di HMI, molte delle quali a cui si può accedere senza autenticazione, con programmi di Desktop remoto come VNC Viewer ed altri, causando anche gravi danni al sistema. Si tratta perlopiù di interfacce software che governano valvole termoidrauliche, relé elettrici, ma anche attivazione/disattivazione allarmi e controllo totale dei sistemi. Potrebbero essere lanciati attacchi contro i sistemi d'amministrazione, contro gli attuatori, contro i sensori, contro le interfacce o contro i database.
PREVENZIONE DEGLI ATTACCHI E MITIGAZIONE DELLE MINACCE
Abbiamo visto che è possibile, in molti casi senza troppi sforzi, penetrare all'interno di un sistema di monitoraggio e controllo industriale, con conseguenze anche di cruciale importanza. E' quindi indispensabile mettere in atto delle politiche di Risk Management, volte a limitare il numero e la gravità delle minacce.
Alcune di queste possono essere:
Controlli sulle modalità di autenticazione (ma soprattutto abilitare un'autenticazione!)
Corretta gestione delle credenziali d'accesso
Chiara assegnazione e suddivisione di compiti e diritti al personale
Inaccessibilità ad account con privilegi speciali
Controlli sui punti deboli di un sistema operativo e dispositivi di sicurezza, quali: Firewall, IDS/IPS, Watchdog, storage di password, etc.
Sviluppo di applicazioni sicure tramite attuazione del Secure Coding

Esistono poi progetti di sicurezza di gestione degli impianti basati su Machine Learning e reti neurali, hidden Markov models, etc. E' anche doveroso citare il progetto Conpot, ovvero un honeypot interattivo lato server per Industrial Control Systems, installabile via Docker da: https://github.com/mushorg/conpot
e SCADA Intrusion Detection System Test Framework, per sviluppare un ambiente di test controllabile per penetration test in real-time e monitoraggio del comportamento dell'IDS.
A livello di normative che garantiscono la sicurezza relativa agli stabilimenti industriali esistono alcuni standard. I più diffusi sono:
ISA/IEC 62443 Standard per la cybersecurity di reti industriali
NIST 800-82 Guida ai sistemi di controllo industriale
ISO 27000 Sistemi di gestione della sicurezza delle informazioni
IEEE P1711 Standard protocollo crittografico per la sicurezza di comunicazioni seriali tra sottostazioni (di energia elettrica)
ANSI/ISA 99 Sicurezza dei sistemi di automazione e di controllo industriali
AGA 12 Part 1 Protezione crittografica delle comunicazioni SCADA


Commenti