La sicurezza dei sistemi SCADA

Indice

Aeroporti, centrali nucleare, impianti industriali, quale sarà il futuro dei sistemi SCADA in termini di sicurezza? Vediamolo assieme.

Di cosa parliamo…

I sistemi SCADA sono quei sistemi informatici incaricati di monitorare elettronicamente i sistemi fisici. Un sistema SCADA ha la responsabilità di verificare se i valori di uno strumento all’interno di un impianto nucleare, ad esempio, siano corretti. SCADA significa Supervisory Control And Data Acquisition ed il loro ruolo è veramente importante.

I sistemi SCADA sono vitali per le attività ordinari dei più comuni impianti conosciuti: centrali elettriche, idriche, nucleari, aeroporti, sistemi di supporto vitale, impianti petroliferi, gestione gasdotti, etc…

Per lo più parliamo di sistemi di una complessità variabile ma essenzialmente “chiusi”, ossia difficili da attaccare, benché nel 2009 il famoso attacco sferrato con Stuxnet ha dimostrato la pericolosità e la vulnerabilità di questi sistemi. Vulnerabilità creata mediante un’azione di ingegneria sociale, attraverso l’immissione del virus direttamente dentro il sistema grazie alla negligenza di un operatore.

Quali sono i rischi

Il rischio che si corre è quello di compromettere il funzionamento ordinario, autorizzando il sistema SCADA ad ignorare un allarme o, ancor peggio, a procurare un problema di natura critica. Generalmente questa seconda strada è meno percorsa perchè il sistema SCADA, a sua volta, viene verificato e controllato da altri sistemi. Andiamo per gradi…

  • Ignorare un allarme. Attaccando un sistema SCADA si può programmare l’azione di ignorare eventuali allarmi. Immaginiamo lo scenario in cui venga attaccato il sistema SCADA incaricato di verificare la pressione all’interno di uno snodo di un gasdotto. Infettando tale sistema lo si potrebbe programmare per inibire la funzione di allerta in caso di pressione eccessiva. Generalmente questo tipo di attacco è il più comune. Potremmo definire questi attacchi di muting: ossia attacchi mirati a silenziare gli avvisi di sicurezza.
  • Cambiare il funzionamento del sistema. Un altro tipo di attacco consiste nel modificare il comportamento ordinario di un sistema SCADA. Ad esempio, prendendo l’esempio precedente, significa alterare i livelli di pressione che il sistema SCADA ritiene normali. Questa strada però è molto più complessa da intraprendere perchè bisognerebbe attaccare direttamente il sistema incaricato di gestire la pressione e, ovviamente, lanciare anche un attacco di muting anche sul relativo sistema di monitoraggio.

I sistemi di operatività, infatti, dovrebbero essere sempre disaccoppiati da quelli di controllo per evitare che l’errore di uno possa ripercuotersi su più funzioni.

Cosa attaccare e come

Il cuore di un sistema SCADA è il suo PLC (Programmable Logic Controller) ossia il componente che viene configurato per eseguire una determinata operazione (ad es.: leggere la temperatura e valutarla, controllare la misurazione della pressione, etc…). Generalmente la riprogrammazione non è semplice perchè per raggiungere un sistema SCADA bisogna fisicamente sedersi davanti al terminale utilizzato dall’operatore e iniettare la minaccia direttamente nel sistema. Oltretutto questa minaccia deve essere scritta specificamente per il tipo di sistema SCADA che si intende colpire, un sistema SCADA fa uso di un sistema operativo minimo che, in taluni casi, è persino difficile definire in questo modo.

L’italiano Luigi Auriemma ha rilasciato, qualche tempo fa,  un elenco di sistemi SCADA colpiti da vulnerabilità molteplici:

  • AzeoTech DAQFacstory (stack overflow)
  • Beckhoff TwinCAT ‘TCATSysSrv.exe’ (network packet denial of service)
  • Cogent DataHub (multiple vulnerabilities)
  • Measuresoft ScadaPro (multiple vulnerabilities)
  • Progea Movicon (multiple vulnerabilities)
  • Rockwell RSLogix (overflow vulnerability)

Per ciascuno di questi Auriemma ha dimostrato gli exploit a cui erano esposti ma anche indagini condotte da ditte specializzate hanno riscontrato potenziali criticità di buffer overflow nel RSLogix 5000. Questo aspetto potrebbe essere sfruttato per mandare in crash il sistema inibendolo.

Sono sistemi chiusi integrati in un ambiente di rete

Il sistema SCADA è costituito (per farla breve) da sensori collegati tramite una rete dedicata ai PLC. Di conseguenza non è facile aggredire, soprattutto dall’esterno. Si tratta di reti isolate ma i PLC sono a loro volta connessi alla rete centrale tramite il “normale” network. È proprio tramite questo che viene inoculato il virus: dal terminale si raggiunge il PLC.

 

Come difendersi

I sistemi SCADA possono essere difesi attraverso due attività: controllo e aggiornamento.

Controllo

Per controllo si intendono tutte quelle procedure effettuate con la finalità di monitorare lo stato dei sistemi. Possiamo classificare due macro-categorie:

  • Verifica degli accessi (fisici e virtuali). L’accesso ai sistemi SCADA dovrebbe essere assolutamente vietato da parte dei non autorizzati. I sistemi SCADA sono molto delicati, la minima operazione da parte di personale estraneo potrebbe causare problemi di elevata serietà.
  • Decentramento dei sistemi di controllo. Della filosofia di decentramento avevamo già parlato nei precedenti post. Il controllo di un sistema SCADA deve essere affidato alla cooperazione di più sistemi, possibilmente con differenti PLC. Questo comporterebbe, per l’hacker, l’obbligo di neutralizzare più sistemi di controllo che cooperano insieme ma con architetture diverse. La difficoltà sarebbe molto elevata.

Aggiornamento

L’aggiornamento consiste nella capacità di mantenere moderno un sistema SCADA e quindi al sicuro dalle minacce.. Fanno parte dell’aggiornamento due categorie di elementi:

  • Aggiornamento infrastrutturale. Consiste nell’ammodernamento periodico dei componenti del sistema SCADA. La difficoltà più seria per l’aggiornamento infrastrutturale è affrontare gli incendi costi dei nuovi sistemi. Tenete presente che nei sistemi più complessi ci sono sistemi SCADA che si poggiano su versioni ormai obsolete di Microsoft Windows e che permettono l’esecuzione di comandi senza richiedere l’autenticazione.
  • Aggiornamento procedurale. Le procedure su cui si basano i sistemi SCADA e le reazioni umane devono essere periodicamente testate, riviste, aggiornate, al fine di migliorare le prestazioni di reazione. Il principale ostacolo è di tipo culturale: è importante capire l’importanza di questo aggiornamento prima che sia troppo tardi e si verifichi un problema.