Comprendere l'importanza sempre maggiore della sicurezza hardware nelle tecnologie IoT

La sicurezza rappresenta una preoccupazione crescente nel settore dell'Internet of Things (IoT), di conseguenza si sta ponendo sempre maggiore attenzione alla sicurezza hardware, che sembra essere estremamente promettente nel contribuire a proteggere i dispositivi dagli attacchi informatici. In questo articolo, esamineremo alcuni esempi di sicurezza hardware esistenti e vedremo come vengono utilizzati per proteggere i dispositivi IoT.

L'ascesa della sicurezza hardware

 

La proliferazione di dispositivi e soluzioni IoT ha creato molte opportunità per lo sviluppo tecnologico, compresi i dati per l'addestramento dell'intelligenza artificiale e la possibilità di monitorare e controllare i processi da remoto. Tuttavia, le tecnologie IoT sono un'arma a doppio taglio, poiché forniscono anche delle opportunità ai criminali informatici che possono ricorrere ad attacchi DDoS (Distributed Denial of Service) di massa, furto di dati, hacking di rete e violazione della privacy. Alcuni di questi attacchi possono essere evitati con l'uso della sicurezza basata su software, ma questa non è in grado di garantire protezione da qualsiasi tipo di aggressione.

 

Ad esempio, un dispositivo IoT potrebbe essere utilizzato per la trasmissione sicura di dati, ma se l'hardware del dispositivo viene attaccato fisicamente, nessuna routine software può fornire protezione. È qui che entra in gioco la sicurezza hardware che sta diventando sempre più popolare con SoC, microcontroller e microprocessori. Tradizionalmente, la sicurezza hardware è sempre stata costituita da hardware in grado di rafforzare la sicurezza del software come i motori di crittografia, ma i progettisti stanno andando oltre e iniziano a creare sistemi che proteggono il metallo stesso.

 

Tipi di attacchi hardware

 

Gli attacchi hardware non compaiono spesso nelle notizie, probabilmente perché ottenere accesso fisico a un dispositivo può essere difficile. Ad esempio, la violazione di un account di posta elettronica può avvenire in molti modi tramite una connessione Internet, ma il furto di un laptop per accedere alle e-mail archiviate nel sistema è un'altra questione. Tuttavia, quando è possibile ottenere fisicamente un dispositivo, di solito non è necessaria una particolare abilità per avere accesso a tutti i dati che vi sono archiviati.

 

Attacco side-channel

 

Un attacco side-channel è un attacco in cui un sistema molto sicuro viene attaccato indirettamente attraverso sottosistemi non sicuri che si trovano al di fuori del sistema sicuro. Ad esempio, è facile accedere ai file di un account utente protetto da password su Windows se il disco rigido viene rimosso e collegato a un altro computer. L'aggressore deve semplicemente "assumere la proprietà" della cartella e improvvisamente tutti i file sono resi accessibili. La password per l'account dell'utente, che è sicuro, non viene più richiesta e il sistema sicuro viene così facilmente aggirato.

 

Attacco Rowhammer

 

L'attacco Rowhammer è un particolare exploit che si applica alla DRAM ad alta densità. Grazie all'aumento del numero di transistor e alle dimensioni della riduzione delle funzioni sui wafer di silicio, le celle di memoria di un moderno chip DRAM sono incredibilmente vicine tra loro. In effetti, le celle DRAM sono oramai così vicine tra loro che hanno una minima possibilità di cambiare il valore delle celle vicine.

 

Un attacco Rowhammer sfrutta questo problema e può essere utilizzato per modificare il valore delle righe di memoria "protette" alterando il valore del contenuto della memoria nelle righe adiacenti. La capacità di un aggressore di inserire valori negli spazi protetti, a cui non ha accesso, può in teoria essere utilizzata per aggirare i sistemi di sicurezza e inserire parti di codice dannoso in applicazioni che possono avere privilegi a livello di kernel.

 

Esempi di sicurezza hardware

 

Per proteggere i dispositivi dagli attacchi hardware, i progettisti possono implementare nel silicio stesso delle misure di sicurezza hardware che vengono eseguite al di fuori dell'ecosistema software. Quindi, quali esempi di sicurezza esistono attualmente nell'ambito dell'hardware?

 

Accelerazione della crittografia

 

Come indicato in precedenza, questa è una delle prime forme di sicurezza hardware e si tratta più propriamente di una difesa delle periferiche che dell'hardware. Con il termine "accelerazione crittografica" si intende l'hardware che esegue funzioni di crittografia all'interno dell'hardware anziché nel software e ciò non solo accelera le applicazioni, ma fornisce all'hardware anche dei sistemi che non possono essere sfruttati nel software.

 

Ad esempio, una versione software dello standard AES può essere soggetta a code injection, per cui il risultato crittografato sarà facilmente reversibile da parte dell'aggressore, ma una versione hardware di AES è immutabile e non può essere attaccata.

 

Generatore di veri numeri casuali

 

Sebbene un generatore di numeri casuali possa essere considerato come un'accelerazione crittografica, è abbastanza importante da avere una propria categoria. Quasi tutte le forme di crittografia si basano su numeri casuali e più un numero è casuale, migliore sarà la crittografia che utilizza tale numero. I generatori di numeri casuali integrati nel software utilizzano quasi sempre il tempo come seme e quindi possono essere attaccati facilmente da un aggressore.

 

Un esempio di una situazione in cui i numeri casuali sono stati utilizzati in modo errato si è verificato quando due esperti di sicurezza sono riusciti ad hackerare a distanza una Jeep e ad assumere il pieno controllo del veicolo. L'attacco è stato messo a segno creando un collegamento al sistema multimediale dell'auto e utilizzando tale connessione per inviare messaggi sul bus CAN dell'auto. Ciò ha consentito agli hacker di assumere il controllo di sterzo, freni e acceleratore del veicolo.

 

Questo attacco è stato possibile solo grazie al metodo con cui era stata generata la password Wi-Fi dell'auto, che doveva essere "casuale". Di fatto, tale password era stata generata in base alla data e all'ora in cui il sistema multimediale dell'auto era stato acceso per la prima volta. Normalmente, questo metodo sarebbe sicuro, ma poiché la data e l'ora di fabbricazione di un'auto possono essere facilmente determinate in base all'anno e al mese, un aggressore deve provare solo con 15 milioni di combinazioni. Se è possibile risalire correttamente all'ora, rimangono solo 7 milioni di possibilità e 7 milioni di password Wi-Fi possono essere attaccate con la forza bruta in appena un'ora. Se fossero stati utilizzati dei veri numeri casuali, questa password Wi-Fi sarebbe stata molto difficile da individuare, ma, poiché era basata su elementi non casuali, è stato facile aggirarla.

 

Crittografia della memoria

 

La crittografia dei dati risale a migliaia di anni fa, quando già si utilizzavano i cifrari per nascondere informazioni a occhi indiscreti. Lo stesso vale per le informazioni di tipo informatico, i cui dati vengono spesso crittografati prima di essere inviati. Tuttavia, questo metodo di crittografia sta iniziando a prendere piede per l'archiviazione dei dati in memoria, con ROM e RAM che dispongono ora di opzioni di crittografia. La scelta di questo approccio consente ai progettisti di garantire che, se un aggressore ottiene il contenuto della RAM o della ROM, le informazioni restano comunque illeggibili senza accesso all'hardware corretto.

 

La protezione della memoria in sé non è una novità, poiché molti microcontroller includono bit di protezione dalla lettura che impediscono ad altri di clonare il firmware. Anche la crittografia della memoria flash non è niente di nuovo, dato che molti FPGA supportano la crittografia della memoria flash di configurazione. Tuttavia, questa nuova ondata di crittografia della memoria avviene al volo e consente velocità di accesso quasi identiche.

 

Avvio sicuro

 

Uno dei principali problemi per quasi tutti i processori è avere la certezza che il codice avviato sia autentico e non dannoso. Mentre è impossibile verificare l'autenticità del codice di avvio principale di un sistema, è possibile eseguire tale verifica su altre fasi di avvio e la maggior parte degli aggressori tenterà un'operazione di code injection nel codice di avvio principale o nell'applicazione caricata subito dopo.

 

Per evitare ciò, i progettisti hanno introdotto dei metodi di avvio sicuro nei processori che iniziano eseguendo un codice di avvio immutabile e quindi immune agli attacchi basati su code injection. Questo codice di avvio esamina quindi l'applicazione che sta per essere caricata e ne controlla l'integrità del codice. Se viene rilevato del codice iniettato, il sistema può essere eseguito in uno stato limitato oppure fornire avvisi a un sistema operativo, indicando che sono stati rilevati problemi di integrità del codice.

 

Zone di fiducia

 

Le zone di fiducia sono in qualche modo una novità per i microcontroller, anche se sono una tecnica adottata già da molto tempo per i processori. Le zone di fiducia contribuiscono a risolvere il problema dei processori che non sono in grado di stabilire se il codice che eseguono è dannoso.

 

Ora, vale la pena notare che non tutte le istruzioni della CPU sono intrinsecamente pericolose. Tuttavia alcune possono esserlo e queste possono includere l'accesso all'hardware, allo stack pointer o a sistemi critici. Di conseguenza, i processori moderni sono dotati di diversi livelli di privilegi in base ai quali il sistema operativo viene eseguito con i privilegi più elevati e ha accesso a tutte le istruzioni, mentre ai processi eseguiti dal sistema operativo vengono riservati dei privilegi inferiori. Questi processi non possono accedere a istruzioni sensibili e hanno quindi minori possibilità di causare danni o attaccare sistemi critici su un processore.

 

Oggi, molti SoC e microcontroller stanno introducendo queste zone nei loro core per cui un sistema operativo verrà eseguito su un core mentre i processi verranno eseguiti sullo stesso core con meno privilegi o su un core secondario con alcune funzionalità rimosse.

 

Pin antimanomissione

 

I pin antimanomissione sono una funzionalità hardware molto utile, poiché sono difficili da individuare ed evitare. Alcuni attacchi hardware richiedono che l'aggressore rimuova fisicamente alcune parti per ottenere l'accesso a ingressi/uscite come porte di debug e canali di memoria. A seconda del dispositivo, un pin antimanomissione è in grado di rilevare se si è verificato un evento meccanico esterno, come l'apertura di un alloggiamento. Se rileva tale evento, il pin antimanomissione può indicare al processore di eseguire una determinata routine, che si tratti di un semplice riavvio per impedire che i dati sensibili vengano letti o di un'azione più drastica come la cancellazione completa della memoria. I pin antimanomissione possono essere utilizzati anche su pin oscuri che potrebbero sembrare inutili all'aggressore e quindi passare inosservati.

 

Sicurezza hardware avanzata: bus monitor

 

Tutti gli esempi di sicurezza hardware che abbiamo visto finora sono spesso combinati in un unico pacchetto e forniscono agli utenti una gamma di opzioni di sicurezza. Tuttavia, esiste un nuovo tipo di sicurezza hardware che si sta diffondendo lentamente e che porta la sicurezza a un modello completamente nuovo: i bus monitor.

 

I bus monitor sono sistemi di sicurezza altamente avanzati che vengono integrati direttamente nel SoC di un microcontroller e funzionano indipendentemente dal sistema. I bus monitor sono collegati a più bus e connessioni interni, inclusi pin I/O, registrazioni, bus dati interni e porte di programmazione. Durante il funzionamento nominale, le connessioni interne del die creano uno stato stabile da cui il bus monitor apprende. Quando viene iniettato codice dannoso o quando si verifica un attacco hardware su un pin, lo stato stabile del bus monitor viene disturbato. Ciò fa sì che il bus monitor adotti delle misure per contrastare l'anomalia. A seconda del bus monitor, in alcuni casi possono essere sollevate eccezioni per il sistema operativo, mentre, in altri casi, viene avviata una reimpostazione del sistema. Alcuni bus monitor possono persino deviare le richieste di registrazione potenzialmente dannose dal processore e restituire valori nulli durante la registrazione del tentativo di attacco.

 

Conclusione

 

Sebbene l'implementazione della sicurezza hardware renderà il silicio più costoso, i vantaggi di una sicurezza basata su hardware faranno sì che i progetti diventino più sicuri. La sicurezza software può garantire protezione solo fino a un certo punto e un sistema interamente basato sulla sicurezza software sarà un bersaglio facile per un aggressore, mentre i sistemi che integrano anche la sicurezza hardware saranno significativamente più robusti.

 

Di certo, la capacità di crittografare la memoria al volo aiuta a proteggere i dispositivi a lungo termine e offre comodità a coloro che vogliono smaltire l'elettronica senza perdite di informazioni. Tecnologie come i bus monitor daranno origine a sistemi di sicurezza più intelligenti in grado di apprendere informazioni sugli attacchi e di prevenire le aggressioni future riconoscendo i segnali riconducibili a un determinato pattern.

 

Nel complesso, la sicurezza hardware diventerà lo standard nelle pratiche di sicurezza e i dispositivi che non integrano tali funzionalità saranno limitati alle operazioni e alle attività più elementari.

 

 

Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy