La scorsa settimana è stato uno spartiacque per la comunità di sicurezza embedded, e di conseguenza tutti gli altri. Bloomberg ha annunciato che i chip canaglia erano stati trovati sulle schede madri dei server venduti da Super Micro Computer ad aziende come Amazon e Apple. Chiunque avesse aggiunto questi durante il processo di produzione avrebbe acquisito la capacità di controllare e accedere ai dati dai server quando quelle aziende li hanno installati. Per la prima volta, sembrava che ci fossero prove che la catena di approvvigionamento potesse essere interrotta. Ciò significava che l’hacking stava accadendo durante il processo di produzione, prima che i prodotti avessero persino lasciato la linea di produzione.
Fino ad ora, l’hacking è stato principalmente visto come ottenere codice dannoso in un dispositivo che è “pulito”, sfruttando falle di sicurezza nel suo codice. Questo è quello che è successo con ogni virus PC; attacchi come il ransomware WannaCry e attacchi sponsorizzati dallo stato come Stuxnet e il tentativo recentemente scoperto da hacker russi di infiltrarsi nell’Organizzazione per la prevenzione delle armi chimiche a L’Aia. Sebbene il concetto di hacking di un prodotto prima che sia stato spedito sia stato discusso per anni, il rapporto Bloomberg segnala che siamo passati dal dibattito accademico alla realtà.
Si discute ancora se la relazione sia corretta. Apple e Amazon negano gran parte dei dettagli, ma la sua pubblicazione ha iniziato la gente guardando più da vicino la linea di fornitura e concludendo che se o non è vero, il modo in cui progettiamo, subappaltare e produrre prodotti elettronici complessi oggi significa che è possibile. Se è vero, questo attacco era probabilmente commerciale, dove una società o uno stato voleva scoprire cosa stavano facendo le principali aziende globali. Ciò che è più preoccupante è la prospettiva di un futuro in cui gli attori statali malintenzionati prendono di mira le infrastrutture con l’obiettivo di paralizzare un paese. Il che mi porta ai contatori intelligenti.
Sono sempre stato preoccupato per la vulnerabilità dei contatori intelligenti britannici all’hacking in fase di produzione. La ragione di tale preoccupazione è che questi contatori contengono un interruttore SPENTO che consente di scollegare l’alimentazione dal fornitore di energia. Questa è una comodità per loro, in quanto non hanno più bisogno di mandare qualcuno in giro per accedere a un edificio. Tuttavia, se fosse mai violato, gli hacker potrebbero spegnere milioni di metri allo stesso tempo. Potrebbe essere usato per distruggere la rete elettrica.
Saleh Soltan, ricercatore nel Dipartimento di Ingegneria elettrica di Princeton, ha scritto una serie di buoni documenti che dimostrano come la maggior parte della rete potrebbe essere abbattuta dall’hacking che si traduce in una variazione dell ‘ 1% della domanda di elettricità. Poiché attualmente è molto costoso immagazzinare elettricità, la generazione viene accuratamente abbinata alla domanda prevista. Se tale richiesta varia rapidamente, la griglia tenterà di spegnersi per evitare danni, ma se la modifica è rapida e inaspettata, i picchi risultanti come singoli elementi si accendono e si spengono possono causare danni, che possono cascata causando blackout diffusi. Il ripristino dell’alimentazione può essere ancora più dannoso in quanto la griglia non sa cosa è collegato e acceso, quindi non può anticipare quale sarà la domanda. Ancora una volta, c’è il potenziale di danni a porzioni critiche della rete se la domanda può essere improvvisamente aumentata. Una volta superato un certo livello di danno, il compito di riparare la rete e ripristinare un’alimentazione affidabile e universale può richiedere anni
Sono sempre stato preoccupato di questo rischio; che un programmatore che lavora per un produttore di contatori potrebbe scrivere codice che causerebbe decine di milioni di metri per spegnere un certo tempo. Se un quarto dei contatori intelligenti domestici spento insieme, si potrebbe essere guardando un cambiamento domanda istantanea fino al 15%, un ordine di grandezza superiore al 1% Saleh pensa ucciderà la rete. Questo è qualcosa per cui nessuna rete elettrica è stata progettata. C’è una ragione per cui i pianificatori militari prendono di mira le centrali elettriche: rimuovere l’elettricità paralizza una nazione per anni, come abbiamo visto in Iraq. Ciò rende la griglia un obiettivo molto interessante per qualsiasi attore di stato dannoso.
Finora non sono riuscito a coinvolgere nessuno nel programma del Regno Unito per comprendere questo rischio. Il concetto di hacking dei fornitori di energia è limitato alle persone che aggirano o ingannano i singoli contatori per cercare di ridurre al minimo le loro bollette. Storicamente, il loro approccio all’hacking è stato quello di spostare i metri all’esterno. Questo non era solo per rendere più facile la lettura dei contatori, è anche perché è un disincentivo bypassare il contatore; quello che potresti fare privatamente nel tuo armadio sotto le scale è meno attraente quando sei in piena vista di tutti sulla strada. Quando ho sollevato la possibilità che un programmatore canaglia aggiungesse deliberatamente codice dannoso a uno smart meter durante il suo sviluppo, l’unica risposta è stata “Perché qualcuno dovrebbe farlo”? Sfidando che con ” Perché qualcuno dovrebbe guidare un camion in un gruppo di pedoni?”, o ” Perché qualcuno dovrebbe volare un aereo in un centro commerciale?”non sembra calcolare. Coloro che sono coinvolti nel programma di misurazione intelligente hanno difficoltà ad espandere la loro visione del mondo da un singolo studente o capofamiglia che cerca di frodarli di qualche chilo a un’organizzazione o causare il tentativo di distruggere un’economia.
Ciò che è più preoccupante è che è potenzialmente molto facile. Quindi, ecco un breve tutorial su come hackerare un contatore intelligente e uccidere la griglia.
In primo luogo, ottenere un lavoro con un produttore di contatori intelligenti. Non dovrebbe essere difficile, dato che sono piuttosto disperati. Tutto ciò di cui hai veramente bisogno è avere una conoscenza di base di ZigBee. Mi classifico solo come programmatore hobbista, ma mi sono stati offerti lavori da due società di contatori intelligenti come architetto di sistemi. (Ho rifiutato.) Quindi pensa a cosa vuoi aggiungere al codice smart meter.
Iniziamo semplice e basta aggiungere alcune righe di codice che scollegano l’alimentazione alla casa in una data predeterminata. I contatori intelligenti hanno orologi in tempo reale, che dovrebbero essere regolarmente sincronizzati, quindi non è difficile ottenere milioni di loro per spegnere all’interno dello stesso ciclo di rete. Si vuole fare in modo che una volta che hai scollegato la fornitura domestica, le aziende energetiche non possono riaccenderlo, ripristinare il contatore o caricare nuovo firmware, in modo da aggiungere un paio di righe per spegnere le comunicazioni, o semplicemente sovrascrivere le chiavi di autenticazione. Assicurati di nascondere il codice in modo che nessuno lo veda e il gioco è fatto. Poiché le specifiche di misurazione GB sono così complesse, ci sono molti posti in cui nascondere le poche righe di codice. DECC e BEIS hanno fornito un pagliaio molto grande per farvi nascondere il vostro ago. Vuoi assicurarti che il tuo codice non venga sovrascritto da alcun aggiornamento del firmware successivo, quindi probabilmente vale la pena inserirlo in qualcosa che probabilmente rimarrà statico, come la libreria del cluster o, se puoi arrivarci, il bootloader. Se si ottiene la possibilità, metterlo in ROM. Lavoro fatto.
Per ottenere le migliori possibilità di fare danni, puoi fare di meglio che scollegare l’alimentazione riaccendendola poche ore dopo e ripetendo quella sequenza alcune volte. Ciò confonderà davvero chiunque tenti di riavviare la griglia e probabilmente causerà più danni. Il governo pubblica utilmente i dati sulla domanda interna e la domanda del settore per aiutarti a capire quando farlo.
Se guardiamo alla domanda settoriale, l’uso domestico di elettricità rappresenta in media circa il 30% del consumo totale. Per il primo turn-off, si vuole trovare un momento in cui la domanda interna è alla sua massima proporzione della generazione totale per infliggere la variazione percentuale massima. Nei fine settimana, l’utilizzo industriale e commerciale sarà molto più basso, quindi un buon punto di partenza sarebbe una domenica.
Passando ai dati giornalieri sull’utilizzo domestico, la domanda di picco è compresa tra le 6 e le 8 di sera, quindi se si punta alle 7 di una domenica di gennaio, probabilmente scoprirai che la domanda interna rappresenta circa il 60% del totale. Se un quarto dei contatori intelligenti domestici si spegne a quel punto, hai il massimo botto per il dollaro con un calo istantaneo della domanda di circa il 15%. Nessuno nella storia della progettazione della griglia ha mai pianificato questo.
Dai un’altra occhiata ai dati per determinare il tuo prossimo passo, che è quello di trasformare tutti i contatori intelligenti di nuovo la mattina successiva. Gli utenti industriali e commerciali avranno provato a tornare in linea, forse un po ‘ più tardi del normale a causa delle continue interruzioni di corrente e della difficoltà che tutti avranno avuto a mettersi al lavoro, quindi ritardare la riconnessione fino alle 11.30. Se la griglia è stata ripristinata, ciò dovrebbe generare un 8% aggiuntivo molto indesiderato alla domanda. Programma alcune altre transizioni ON / OFF nei prossimi giorni e quindi disconnetti l’alimentazione e corrompi il boot loader nello smart meter. Ciò rende difficile per chiunque aggiornare manualmente il firmware del misuratore, quindi dovranno sostituirlo. Tranne che non c’è niente come abbastanza metri di ricambio per sostituire tutti quelli in muratura, così 7 milioni di case rimangono senza energia proprio come l’inverno britannico inizia a mordere
Questo è il trucco più semplice. Si programma ogni metro per passare attraverso lo stesso processo, allo stesso tempo un paio di anni in futuro. Poiché ci sono solo tre o quattro fornitori di contatori intelligenti, basta entrare e sovvertire uno dovrebbe darti il controllo di un quarto delle case, il che è più che sufficiente. È un hack dormiente che aspetterà fino al momento stabilito e paralizzerà il paese, o potrebbe essere un hack criminale, in cui il governo viene avvisato poco prima della data e ricattato per una correzione.
Ci dovrebbero essere test in atto per cercare di garantire che nulla di dannoso, o anche solo errato è stato aggiunto al codice. Non ho ancora sentito prove che questo sia stato fatto. Il test più semplice per l’hack sopra descritto è quello di impostare l’orologio in tempo reale su una data futura e lasciare i contatori in esecuzione con quel tempo falso. Se hai cinquanta metri di prova, ciascuno con la data corrente impostata a un mese di distanza e costantemente in esecuzione, questo ti avviserà di questo tipo di hack. Non penso che questo tipo di test stia accadendo. Presuppone anche che l’hacker non sia intelligente. Se decidono di giocare a cat and mouse, penseranno ai test che potresti eseguire per scoprire il codice danneggiato, tentare di rilevare quei test e disattivare l’hack mentre il test è in esecuzione. In questo caso tutto ciò che dovrebbero fare è cercare l’RTC in fase di reset. Se pensi che sia fantascienza, è esattamente quello che Volkswagen ha fatto con i loro test sulle emissioni: hanno identificato la differenza tra una corsa di prova e una guida normale e cambiato le impostazioni per il test di conformità. All’interno del settore quel tipo di tweak è tutt’altro che sconosciuto.
I contatori intelligenti hanno una connessione wireless esterna, in modo da aprire l’opportunità di un hack del firmware che potrebbe essere attivato esternamente, consentendo all’hacker di accendere o spegnere i contatori come desiderato. Questo è molto più complesso, anche perché l’elemento comms esterno si trova nell’hub di comunicazione, che quindi utilizza ZigBee per comunicare con lo strumento. Ciò avrebbe bisogno di firmware per essere violato in entrambi i dispositivi per consentire un messaggio di disconnessione da trasferire, oltre a consentire la comunicazione esterna con il modem GPRS. Se il modulo modem stesso dovesse essere violato, probabilmente non sarebbe rilevabile, poiché è probabile che nessuno vagli il codice del modem.
Ciò che il rapporto Bloomberg ha evidenziato è il fatto che questo può essere fatto. Quello che ho descritto sopra non ha bisogno di modifiche hardware complesse, ma solo di un programmatore canaglia. Ci viene costantemente detto che i nostri contatori intelligenti sono sicuri, ma anche le dichiarazioni GCHQ in tal senso parlano solo del rischio di hacking esterno, non di hacking interno durante il processo di progettazione e produzione. Ora dobbiamo considerare modelli di sicurezza che non limitino più i vettori di attacco agli hacker esterni, ma esaminino seriamente le conseguenze dell’hacking interno e come proteggersi da ciò.
In molti modi, questo è un articolo che avrei preferito non scrivere, ma nemmeno voglio essere la persona che dice “Te l’ho detto” quando le luci si spengono. Non ho dubbi che ciò che ho descritto sopra potrebbe essere fatto. Potrebbe essere già stato fatto. È altamente improbabile, ma questo è un potenziale rischio infrastrutturale che rende un no deal Brexit apparire come un nuovo giardino dell’Eden; distruggere la griglia e si è di nuovo a un’economia del terzo mondo che può probabilmente solo sostenere una popolazione di cinque milioni. Risolve il problema dell’immigrazione-saremo tutti rifugiati che cercano di entrare in Europa.
C’è una soluzione semplice: rimuovere l’opzione di disconnessione dai contatori intelligenti. È lì solo perché i fornitori di energia vogliono che la loro vita sia facile. Questo è il problema con l’intero programma di misurazione intelligente GB: è stato degradato al punto in cui avvantaggia solo i fornitori e ha gettato via i benefici più ampi, ma non il rischio e i costi per i consumatori. Il rapporto Bloomberg è ancora un altro campanello d’allarme che ci dice che è il momento di fermare l’attuale distribuzione e fare smart metering correttamente.