Come garantire la sicurezza end-to-end nei sistemi integrati

La vulnerabilità dei sistemi integrati ha imposto una riconsiderazione radicale delle norme di sicurezza, soprattutto da quando le strutture di comunicazione si sono globalizzate.

Dobbiamo liberare i sistemi integrati dalla percezione che li vuole facili prede di attacchi. Uno dei motivi per cui hanno la reputazione di essere facili da danneggiare è che molti si affidano a un unico e debole meccanismo di protezione per impedire l’accesso ai loro contenuti e funzioni. Quando i dispositivi integrati hanno iniziato a collegarsi a Internet in maniera continua, la debolezza di questi è diventata rapidamente evidente. Se un hacker trovasse il codice per accedere a un dispositivo, potrebbe usarlo su tutti i dispositivi dello stesso tipo. Gli hacker hanno dimostrato l’estensione di questo tipo di vulnerabilità sostituendo il firmware nei dispositivi vittima e dirottandoli su reti botnet.

Anche se ci sono molti fornitori che offrono soluzioni di sicurezza integrate, essi tendono a concentrarsi su un aspetto particolare del sistema e la vera sicurezza può essere raggiunta solo se una soluzione copre il sistema end-to-end. La sicurezza end-to-end diventa quindi responsabilità del progettista che deve pensare olisticamente per garantire che tutti gli elementi siano presi in considerazione. Un requisito fondamentale per tutti i dispositivi integrati è garantire che qualsiasi accesso alle funzioni di manutenzione sia almeno protetto da un codice unico per ogni dispositivo specifico. Tuttavia, questo è un requisito minimo assoluto. Nella pratica, progettare per garantire la sicurezza deve essere un processo capillare e stratificato, per prevenire diversi tipi di attacchi da parte di hacker.

Anti-manomissione e sicurezza dei dispositivi

I progettisti di sistemi integrati devono considerare i vari punti di attacco che potrebbero verificarsi. Da tale analisi, dovranno quindi tenere conto del miglior compromesso tra protezione, costi e consumo di energia. Gli attacchi possono essere mirati a ottenere dati per un utilizzo successivo, o per compromettere la funzionalità di un sistema per ricattare un operatore, o per causare danni diretti. Ogni tipo di attacco si concentrerà su diversi elementi del sistema generale o sul sistema dei sistemi. Gli hacker stanno implementando sempre di più strategie ibride. Ad esempio, gli hacker potranno sfruttare l’accesso fisico a uno o due dispositivi per ottenere informazioni sul funzionamento di un sistema prima di lanciare un attacco remoto su server cloud, che permetterà loro di raggiungere il loro scopo finale. La protezione contro queste minacce sempre più sofisticate coinvolge spesso diversi componenti da fornitori separati.

È sempre una questione di costi

Tutte le protezioni hanno un costo - prendiamo ad esempio la crittografia dei dati. Idealmente, i dati che un dispositivo gestisce saranno protetti da crittografia nelle sue tre fasi: quando è a riposo in una memoria flash o archiviato su cloud; quando si sta muovendo attraverso una rete o addirittura attraverso un bus interno di sistema; e quando viene utilizzato da un processore. Ogni ciclo di crittografia e decrittazione richiede potenza e aumenta i costi. Per i dati a riposo può essere allettante utilizzare chiavi crittografiche molto lunghe per proteggere il contenuto, dal momento che il tempo necessario a decifrare una chiave in caso di un attacco aumenta in maniera esponenziale rispetto alla lunghezza della chiave. Tuttavia, il valore dei dati in sé può diminuire nel tempo.

I dati transitori di misurazione della temperatura di un sensore industriale hanno un utilizzo limitato per chi attacca questo sistema, a meno che non abbia accesso all’intera cronologia, cosa che permetterà di invertire un processo di produzione. Una protezione efficace porrebbe l’accento sulla protezione dei dati a riposo in una destinazione come il cloud o in un gateway utilizzato per raccogliere i dati da un certo numero di dispositivi locali, invece di proteggere i dati su un singolo dispositivo. Sul dispositivo e per la trasmissione via Internet, la tecnologia di crittografia leggera può essere più appropriata e consentirà al dispositivo di utilizzare un processore più conveniente con un ingombro di potenza inferiore. Un gateway come FactoryCast di Schneider Electric può crittografare i dati a un livello superiore prima di trasferirli ad altri server e fornire protezione firewall per bloccare i tentativi di hacking da una posizione remota. Il tutto a con un risparmio energetico maggiore rispetto ad altre soluzioni.

La posta è più alta per dati di più alto valore

Altri dati sul dispositivo con un valore più elevato, come le informazioni personali su un utente o qualsiasi altro dato commercialmente o finanziariamente sensibile, d’altra parte, devono essere protetti più approfonditamente. Un modo per fornire una protezione capillare dei dati è utilizzando una radice hardware di fiducia. Il software da solo non è sufficiente a garantire la sicurezza su un dispositivo integrato, perché, senza una qualche forma di protezione hardware, è troppo facile per un hacker caricare il proprio software al posto del codice originale e ottenere così un maggiore controllo.

Un ‘root of trust’ fornisce la base per tutte le protezioni all’interno del dispositivo, garantendo che solo gli utenti autorizzati possano apportare modifiche critiche, sia al firmware che ai dati. Inoltre, dovrebbe contenere le chiavi di base utilizzate per crittografare i dati che il dispositivo memorizza o trasmette e che la valutazione del rischio ritiene sensibili. In nessun caso la ‘root of trust’ dovrebbe esporre le chiavi private memorizzate nella sua memoria. Il modello di utilizzo dovrebbe essere quello in cui le chiavi di sessione temporanee sono generate e fornite ad altri sottosistemi in base al fatto che, in caso di violazione, i dati che proteggono non sono più validi o utili a terzi.

Crittografia su chip

Alcuni sistemi possono fare affidamento su una ‘root of trust’ a funzione fissa, che consiste in un elemento che esegue un insieme specifico di funzioni. Un esempio è il motore sicuro implementato in alcuni dei microcontrollori della famiglia ST32 della STMicroelectronics. Ciò fornisce servizi come l’avvio sicuro e gli aggiornamenti del firmware sicuri, nonché controlli di sicurezza runtime e archiviazione delle chiavi. L’avvio sicuro sta rapidamente diventando una componente vitale della sicurezza dei sistemi integrati. Aiuta infatti a controllare i costi, consentendo l’utilizzo della memoria flash standard per l’archiviazione dei programmi, piuttosto che richiedere che tutto il codice sia contenuto in una memoria sicura, grande e costosa. Utilizzando gli hash, un bootloader sicuro controlla la validità del codice tenuto in memoria confrontandolo con le chiavi private nel componente di sicurezza. Solo se l’hash del codice è valido, l’esecuzione viene permessa. In caso di guasto, il dispositivo ritorna a una copia buona archiviata nella ROM o non riesce ad avviarsi fino a quando un’immagine firmware valida non viene ripristinata nella memoria flash. Una volta avviato, il sistema operativo può richiamare le stesse funzioni per autenticare ogni applicazione prima di potersi avviare.

Molti dispositivi basati su Arm, compresi quelli della famiglia ST32, forniscono un motore di sicurezza programmabile sotto forma di Trustzone, che consente di incorporare una serie di meccanismi di protezione, come la cifratura e la decifratura dei dati passati sul bus interno di sistema o su una connessione di rete.

Sicurezza nel cloud

Un ulteriore requisito per i dispositivi installati sul campo è la capacità di resistere ad attacchi fisici aggressivi che potrebbero compromettere la ‘root of trust’. In teoria, è possibile ottenere una ‘root of trust’per consentire l’accesso a un software illegittimo o rilasciare chiavi private forzando il sistema in modo che generi condizioni di errori imprevisti. Gli attacchi possono comportare l’interruzione della corrente e dei segnali di clock per forzare questi errori. Le implementazioni alla ‘root of trust’ possono utilizzare una serie di contromisure per evitare che questi attacchi riescano a rilasciare dati sensibili o compromettano la funzionalità.

Anche una ‘root of trust’ ben protetta su ogni dispositivo non garantisce la sicurezza nel contesto di un sistema IoT. Un hacker potrebbe, in teoria, ottenere dispositivi che imitano il funzionamento dei sistemi autentici, introdurli nella rete e fare in modo che sovvertano il funzionamento dell’applicazione IoT generale. Per questo motivo, la sicurezza della catena di fornitura dell’IoT è fondamentale. Ciò richiede un flusso di produzione e installazione che consente solo a dispositivi validi di unirsi e partecipare a un sistema se hanno le giuste credenziali. Può essere complesso creare catene di fornitura che forniscano la possibilità di emettere certificati per i dispositivi e far trasmettere le loro credenziali complementari sul cloud, in modo che possano essere controllati quando un dispositivo viene commissionato. La Trust Platform di Microchip e i meccanismi di supporto Iot Hub di Microsoft Azure consentono di configurare e controllare facilmente tali catene di fornitura.

Sebbene le minacce ai sistemi integrati continuino ad aumentare, i progettisti hanno accesso a strumenti con cui difenderli. Tuttavia, al fine di fornire il livello di difesa richiesto, essi devono scegliere saggiamente tra l’ampia selezione di tecniche, protocolli e prodotti offerti, piuttosto che basarsi su un singolo componente.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome