Categories: Articoli

C’è un buco nell’impianto!

Quando venne introdotto il SecureBoot sui PC desktop e laptop, molti hanno visto questa cosa come un inutile fastidio in più. Sul nostro PC dovremmo essere liberi di installare il sistema operativo e il bootloader che vogliamo. A parte il fatto che è comunque ancora possibile installare sistemi operativi privi di supporto UEFI, semplicemente abilitando la modalità “legacy” nel BIOS, è comprensibile una certa resistenza degli utenti a questo cambiamento. Soprattutto perché il proprio computer personale è, solitamente, ben protetto all’interno di una casa o nella propria borsa (nel caso di un portatile). Quindi la probabilità che qualche malintenzionato ci metta le mani sopra per installare un sistema operativo “non sicuro” sono piuttosto basse. E del resto se qualcuno entrare in casa nostra o ci ruba la borsa il PC potrebbe non essere nemmeno in cima alle nostre preoccupazioni. Ma per i computer accessibili al grande pubblico, invece, la questione è diversa. Pensiamo, banalmente, ai PC a disposizione di tutti nelle biblioteche. Che poi, in realtà, sono i più ovvi, ma ce ne sono altri, molto più numerosi e molto meno scontati: i vari PLC presenti in milioni di impianti in tutto il mondo. Un PLC, alla fine, non è altro che un computer come tutti gli altri, seppure progettato specificamente per manovrare apparecchi industriali, gestire l’illuminazione, attivare sistemi di sicurezza ecc. E, proprio come tutti gli altri, ha bisogno di un sistema operativo (o almeno un piccolo firmware) per fare il boot ed essere in grado di gestire tutte le periferiche di rete. Sono noti da decenni, ma il loro impiego sta aumentando, grazie alla cosiddetta “industria 4.0” e alla diffusione dell’IoT, non solo in ambito domestico ma anche pubblico e aziendale. A volte ci si dimentica che queste minuscole scatolette, che si vedono sempre di più nei quadri elettrici non solo dei capannoni industriali ma anche dei palasport, teatri, e altri edifici pubblici, possono soffrire di vulnerabilità come qualunque computer.
Ma tra la fine del 2022 e l’inizio del 2023 è arrivato un bug piuttosto importante su alcuni PLC di Siemens, azienda leader del settore, a ricordarcelo.

L’attacco di tipo brute force si basa sul fatto che è possibile collegarsi direttamente al chip crittografico e provare ripetutamente a cifrare un payload noto, fino a trovare la chiave di cifratura del firmware originale. Fonte: https://redballoonsecurity.com/siemens-discovery/

 

 

Una verifica reciproca

I sistemi embedded professionali sono solitamente dotati di un sistema di Root of Trust per il boot. Se qualcuno riuscisse a sostituire il sistema operativo sarebbe infatti piuttosto grave: i PLC solitamente sono installati in luoghi sensibili e gestiscono apparecchiature critiche. I Siemens S7-1500 sono equipaggiati con un firmware cifrato, che viene decriptato a ogni boot e caricato in memoria. La chiave per decifrare il firmware è memorizzata in un chip a parte, chiamato ATECC CryptoAuthentication. Tutto semplice, apparentemente: non si può sostituire il firmware con uno che non sia cifrato da Siemens, perché il chip crittografico (che, diversamente da quello del firmware non può essere sovrascritto) non riuscirebbe a decifrarlo e il sistema non procederebbe con il boot. Quindi gli aggiornamenti sono sempre possibili, ma solo con firmware legittimo. Il problema di questa implementazione è che tutta la sicurezza è riposta nella segretezza delle chiavi per la decifratura. Quindi tutto va bene finché l’ATECC è tamper proof, ma in caso contrario il meccanismo di sicurezza crolla. Quello che la società Red Baloon Security ha scoperto è proprio che non solo sarebbe possibile estrarre il chip ATECC dal PCB, operazione poco pratica, ma che sulla scheda è disponibile un bus I2C (con le linee serial data e serial clock) che offre l’accesso al sistema di decifrazione del firmware. Tramite questo bus si può ottenere una autenticazione sull’ATECC e utilizzarlo per un brute force. È infatti sufficiente provare tutte le combinazioni per la chiave crittografica con cui cifrare un proprio firmware malevolo, finché l’ATECC riuscirà a decifrarlo. Può essere una operazione lunga, ma il chip non ha limiti sui tentativi ripetuti, quindi il processo è completamente automatizzabile e una volta ottenuta la chiave giusta la si può usare per cifrare il proprio firmware facendolo sembrare legittimo. La Root of Trust prevede anche una verifica del processo di boot (firmware integrity check e verifica del bootloader), ma questa operazione è svolta dal firmware stesso: nella logica di Siemens, l’ATECC valida il firmware, e questo a sua volta valida l’intero processo, è una sorta di verifica mutua. Il problema è che se, come abbiamo visto, un passaggio può essere aggirato, anche l’altro viene a mancare. Sostanzialmente, una volta trovata la chiave crittografica al malintenzionato basta flashare nella memoria il proprio firmware, e ottiene il controllo sul dispositivo.

 

Entità della vulnerabilità

Per poter sfruttare questa vulnerabilità è necessario accedere al bus I2C, il che richiede una manomissione fisica del dispositivo. Si potrebbe obiettare che chi ha accesso fisico a un dispositivo potrebbe anche pensare di sostituirlo in toto con un altro dispositivo malevolo. Ma non è la stessa cosa: a parte il fatto che la rete potrebbe avere qualche meccanismo di protezione, per esempio una whitelist di indirizzi MAC, e quindi rifiutare un dispositivo sconosciuto, è molto probabile che qualcuno si accorga della sostituzione semplicemente passando davanti al pannello. Se, invece, si modifica solo internamente il PLC legittimo è decisamente più difficile che qualcuno si accorga del problema. La modifica è tutto sommato veloce e una tantum, quindi tutto quello che serve a un criminale è una piccola finestra di tempo in cui accedere indisturbato al pannello, e può sostituire il firmware del PLC. Sostituire il firmware potrebbe permettere a un malintenzionato di ottenere l’accesso a una rete, o distruggere delle apparecchiature causando danni enormi e potenzialmente ferendo delle persone. E questo anche molto tempo dopo l’iniziale manomissione, rendendo difficili le indagini.

 

I chip ATECC sono disponibili anche per uso hobbistico e, come si vede, sono tutti programmabili tramite interfaccia I2C. Fonte: https://learn.adafruit.comi

La soluzione

Siemens non prevede di rilasciare alcun aggiornamento, anche perché la falla è insita nell’architettura dei PLC, quindi è difficile che un semplice aggiornamento firmware possa risolvere le cose. Senza contare che i dispositivi coinvolti in tutto il mondo sono migliaia e migliaia, aggiornarli in blocco non è fattibile. L’unica soluzione che viene proposta è assicurarsi che i dispositivi siano ben protetti da accessi non autorizzati. Cosa che però non è sempre possibile: spesso i PLC vengono installati in semplici cassette elettriche prive di chiave, quindi sarebbe difficile notare eventuali manomissioni. Chi sa di avere un Siemens S7-1500 nella propria azienda o, soprattutto, in qualche edificio pubblico, dovrebbe assicurarsi di mettere i PLC sotto chiave. Naturalmente, non è che una cassetta in plastica con una piccola serratura possa davvero proteggere il dispositivo, e del resto non c’è mai una completa protezione dai vandali, però permette di capire se la cassetta sia stata forzata. Alla fine, il problema di questa vulnerabilità non è tanto la sostituzione del firmware, quello può comunque accadere soprattutto con altri sistemi che non hanno nemmeno una root of trust per il boot, ma il fatto che questo possa accedere senza che nessuno se ne renda conto. Anche grazie al falso senso di sicurezza generato dal fatto che chi acquista un dispositivo venduto come “sicuro” tende a dimenticare che la sicurezza non è un bene materiale che si può comprare, ma una condizione che si deve mantenere.

 

A cura di Luca Tringali


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

hj_backdoor

Share
Published by
hj_backdoor

Recent Posts

Percorsi di formazione per accrescere le competenze digitali

Il progetto che ha formato 180 donne, tra i 18 e i 50 anni, con…

2 giorni ago

KDE Neon 6 è disponibile!

KDE neon è stato aggiornato con KDE Frameworks 6, Plasma 6 e con tutte le…

3 giorni ago

Malware per il mobile banking in crescita

Secondo Kaspersky negli ultimi 12  mesi si è registrato un aumento significativo di malware per…

6 giorni ago

L’aspiratutto del Web!

Preleva i video da YouTube, Soundcloud, Vimeo, Dailymotion… e ne estrae l’audio. Ecco come fare

1 settimana ago

Blink presenta una videocamera compatta per uso interno ed esterno

La nuova Blink Mini 2 è dotata di notifiche intelligenti abilitate alla visione computerizzata, tra…

1 settimana ago

CrowdStrike presenta una nuova ed evoluta soluzione di threat hunting per Microsoft Azure

Durante la RSA Conference 2024, evento di rilievo nel settore della sicurezza informatica, CrowdStrike ha…

2 settimane ago

Abbonati ad Hackerjournal per un anno a 33,90 € con digitale in omaggio anziché 46,90 €!

CLICCA QUI PER ABBONARTI!