Virus informatici, attacchi di phishing e altri inconvenienti relativi al web possono creare problemi online. L'aspetto più sottile, e forse meno apprezzato, è che siamo spesso circondati da dispositivi connessi e integrati che solo pochi anni fa erano considerati fantascienza. I minuscoli chip wireless sono così economici che vengono comunemente impiegati in dispositivi fisici banali come le lampadine.
Con questa rete di dispositivi connessi sempre presente, si pensi a come un hacker potrebbe utilizzare una flotta di dispositivi (potenzialmente non protetti) per scopi illeciti, magari per prendere il controllo della rete dell'utente o per far parte di una botnet. Sebbene si possa sperare che gli utenti finali impostino i propri dispositivi in modo sicuro, gli ingegneri e i progettisti di sistemi non devono dare per scontato che ciò avvenga.
La sicurezza dei dispositivi deve quindi essere integrata in essi fin dall'inizio. Ciò è particolarmente importante in un mondo in cui gli hacker possono accedere all'intelligenza artificiale e ad altri strumenti avanzati, creando potenzialmente nuovi vettori di attacco o migliorando le tecniche esistenti.
In questo articolo esamineremo cinque concetti critici che ci aiuteranno a implementare la sicurezza dei dispositivi OEM.
1 La sicurezza è un viaggio continuo che abbraccia l'intero ciclo di vita del prodotto.
Quando un dispositivo connesso viene spedito al cliente, gli ingegneri hanno presumibilmente eseguito la due diligence per garantirne la sicurezza. Mentre un singolo team di ingegneri può essere concentrato sulla sicurezza, che dire del team successivo? Come può un'organizzazione grande e complessa garantire che le pratiche di sicurezza siano adottate e implementate in modo uniforme da gruppi diversi o interfunzionali? Cosa succede quando, nel corso del ciclo di vita del prodotto, emergono ulteriori minacce alla sicurezza che devono essere affrontate?
È un compito arduo che viene affrontato dalla guida Microsoft Security Development Lifecycle. Microsoft delinea cinque principi di sicurezza che sono essenziali per garantire le best practice di progettazione a livello aziendale e sono riportati di seguito.
- Requisiti: definire il compito da svolgere e i requisiti di sicurezza intrinseci
- Progettazione: progettare software/firmware per soddisfare i requisiti di sicurezza indicati
- Implementazione: scrivere il codice secondo le specifiche del progetto
- Verifica: analizzare il codice alla ricerca di errori e falle di sicurezza
- Rilascio: rilasciare gli aggiornamenti in modo incrementale, in modo da poter correggere rapidamente eventuali difetti immediati
Sebbene Microsoft sia nota soprattutto per le offerte e i servizi software e cloud, nell'era dei dispositivi connessi sempre più intelligenti, gli stessi concetti possono essere applicati e adattati alla sicurezza degli OEM.
A questi principi fondamentali si aggiungono la formazione continua (per garantire che anche il capitale umano sia aggiornato) e la risposta, in cui vengono attuate le contromisure individuate in precedenza.
Infine, anche se un produttore potrebbe non essere direttamente coinvolto nello smaltimento dell'hardware alla fine del ciclo di vita del prodotto, è necessario considerare cosa succede a un dispositivo OEM dopo la dismissione. La documentazione che indica all'utente finale di distruggere correttamente i dati sensibili è valida, tuttavia le istruzioni possono non essere seguite. L'ideale sarebbe disporre di meccanismi per eliminare le informazioni superflue quando non sono più critiche per il processo.
2 Autenticazione sicura bidirezionale
In un mondo IoT perfetto, non ci sarebbe bisogno di sicurezza e i dati potrebbero essere semplicemente trasferiti da un dispositivo all'altro. Purtroppo non è così. Gli hacker cercano modi per compromettere reti grandi o piccole. Le violazioni della sicurezza si presentano in molte forme e dimensioni, ma la mancanza di un'autenticazione sicura bidirezionale sia a livello di dispositivi integrati sia di singoli computer o persino di cloud, è uno dei motivi principali delle violazioni della sicurezza.
Tecniche come SSL (Secure Socket Layer) o TLS (Transport Security Layer) utilizzano chiavi pubbliche e private per garantire che le informazioni trasferite siano adeguatamente protette. Qualsiasi dato crittografato che venga intercettato sarà semplicemente una massa di caratteri confusi, irriconoscibili per chiunque non abbia la chiave.
Tali precauzioni devono essere adottate sia dal mittente che dal destinatario, garantendo che le informazioni sensibili non vengano inviate o ricevute senza crittografia. Se ciò non viene fatto correttamente e un utente malintenzionato riesce a impersonare un dispositivo autentico, è facile comprendere come questo possa comportare violazioni della sicurezza.
I dispositivi incorporati sono spesso trascurati nel quadro generale della sicurezza e dell'autenticazione. Uno dei modi migliori per combattere questa minaccia è che gli OEM creino funzionalità di autenticazione sicura direttamente sul dispositivo. I progetti integrati nella sicurezza possono essere facilitati con secure element forniti dai principali fornitori di silicio. Arrow offre diversi starter kit di sicurezza (SSK), tra cui soluzioni di calcolo gateway ed edge e soluzioni di nodi finali wireless, che possono essere utilizzati come progetti di riferimento per iniziare prontamente.
3 Qual è la funzione dell'avvio sicuro?
Un modo in cui gli hacker hanno tentato di attaccare i dispositivi IoT e altri dispositivi distribuiti è attraverso attacchi al firmware. L'avvio sicuro assicura che il firmware sia legittimo e provenga dal produttore prima di eseguirlo su un dispositivo distribuito sul campo. Questo processo viene eseguito utilizzando una combinazione di chiavi private e pubbliche.
Al produttore, il processore viene masterizzato con chiavi di root con hash, generate da un certificato in un processo di programmazione una tantum. La chiave privata è conservata in modo sicuro dal produttore. La chiave pubblica non può essere modificata una volta programmata inizialmente, il che significa che non può essere modificata da codice dannoso. Poiché la chiave pubblica è matematicamente accoppiata alla chiave privata, può risiedere in modo sicuro sui dispositivi distribuiti. All'avvio, il sistema operativo controlla la firma e le chiavi per verificare che il codice non sia stato manomesso.
Per aggiungere ulteriore sicurezza, il codice di avvio sicuro viene memorizzato sul dispositivo, in genere in una posizione programmabile una tantum (OTP) che viene bloccata in modo da non poter essere alterata.
Sebbene l'avvio sicuro possa migliorare la sicurezza, comporta alcuni inconvenienti. In primo luogo, anche se il sistema operativo può provenire da una fonte nota, ciò non significa che gli altri software/firmware in esecuzione su un sistema siano sicuri o privi di vulnerabilità. È inoltre del tutto possibile che vengano individuate vulnerabilità nel sistema operativo verificato stesso. Ciò può richiedere aggiornamenti sul campo. In secondo luogo, se la chiave privata viene persa, il dispositivo sul campo non può più ricevere gli aggiornamenti del firmware per mantenere il dispositivo aggiornato. Se la chiave privata viene compromessa, può essere compromessa anche la catena di sicurezza del dispositivo.
4 OTA sicuro: perché è importante disporre di questa funzione?
Gli aggiornamenti OTA, o over-the-air, sono utilizzati per mantenere aggiornati i dispositivi wireless. Questi dispositivi variano per complessità, dalle lampadine collegate alle automobili, dalle apparecchiature mediche ai sistemi HVAC (Heat, Ventilation, Air Conditioning, riscaldamento, ventilazione, aria condizionata), fino alle infrastrutture critiche delle città.
La sicurezza OTA è fondamentale. Consideriamo le lampadine collegate: l'assenza localizzata (o la presenza involontaria) di illuminazione potrebbe non rappresentare una minaccia immediata per la sicurezza. Tuttavia, se una di esse fosse compromessa, sarebbe possibile ottenere sempre ulteriori privilegi su questo "semplice" dispositivo, compromettendo alla fine l'intera rete. Su scala più ampia, se il firmware errato viene installato su un'automobile, sussiste un pericolo chiaro e immediato per gli occupanti. Come nel caso della lampadina collegata, è possibile che i problemi si propaghino a un'ampia gamma di altri sistemi.
La domanda, soprattutto se si considera un prodotto critico per la sicurezza come un'automobile, diventa: "Questo prodotto dovrebbe avere funzionalità OTA?". In un mondo perfetto, in cui il software, il firmware e persino i sistemi meccanici sono sicuri e affidabili fin dalla catena di montaggio, si potrebbe argomentare a favore dei soli aggiornamenti fisici. Tuttavia, nell'attuale mondo dei sistemi critici per la sicurezza e della nascente guida autonoma, gli aggiornamenti sono una complicazione necessaria. Inoltre, i consumatori e i professionisti desiderano la comodità e la tempestività degli aggiornamenti OTA.
Purtroppo, i dispositivi sul campo possono realisticamente essere compromessi dagli hacker e presentare bug critici che devono essere risolti. Gli aggiornamenti del firmware sono necessari per mantenere i dispositivi sicuri e pienamente utili per tutto il loro ciclo di vita. Poiché tutti i prodotti diventano sempre più dipendenti dal software, gli aggiornamenti OTA dovranno essere disponibili, affidabili e sicuri. Utilizzando tecniche di crittografia adeguate, una volta che il firmware raggiunge il dispositivo, il processo di avvio sicuro può verificare l'aggiornamento del firmware durante l'avvio per confermarne la legittimità.
5 Sicurezza a livello di dispositivo e sicurezza a livello di cloud
Sebbene il mondo sia passato a un'infrastruttura basata sul cloud per molte funzioni informatiche, abbiamo ancora bisogno di dispositivi fisici dotati di memoria e potenza di calcolo. Può trattarsi di uno smartphone o di un sistema di controllo industriale che gli ingegneri potrebbero anche non considerare un obiettivo legittimo. La protezione dei dispositivi fisici, dei dati e dell'IP che contengono richiede un certo impegno. Se da un lato il trasferimento delle risorse informatiche nel cloud può eliminare alcuni problemi, dall'altro aggiunge la necessità di proteggere i dati dell'utente e quelli dei clienti in transito e a riposo.
Procedure ben note come l'uso di una password forte, il tenere i dispositivi chiusi a chiave quando non sono in uso e il non lasciarli in aree non sorvegliate dove possono essere fisicamente rubati sono strategie di sicurezza ovvie. Per i dispositivi distribuiti su edge o gateway a cui sono connessi, i dati personali, i dati aziendali e altri IP devono essere protetti con una crittografia adeguata.
È importante anche proteggere la memoria. In alcuni casi, è necessario utilizzare un'enclave sicura o una zona di fiducia all'interno dei dispositivi al silicio dei sistemi integrati. È fondamentale utilizzare il silicio di fornitori che progettano i componenti tenendo conto della sicurezza. I dispositivi edge possono essere molto più efficienti, sicuri e robusti se i progettisti scelgono componenti elettronici con caratteristiche di sicurezza come gli acceleratori di crittografia basati su hardware e i generatori di numeri casuali utilizzati negli algoritmi di sicurezza.
Inoltre, garantire una configurazione corretta, pratiche di archiviazione adeguate e persino lo scarto dei dati che non devono essere conservati possono essere utili per mitigare il rischio. Nel caso dei sistemi di controllo industriale, si potrebbe persino creare un collegamento sicuro tra gli elementi di interfaccia e mettere in atto politiche che impediscano la condivisione dei dettagli dell'infrastruttura con gruppi esterni o internamente con gruppi che non hanno bisogno di accedervi.
Per quanto riguarda la sicurezza del cloud, si può essere tentati di pensare che la salvaguardia del sistema sia responsabilità del provider cloud. Anche se un provider cloud dovrebbe avere una sicurezza solida, possono comunque verificarsi violazioni. Secondo IBM, nel 2019 l'86% dei record violati è stato causato da asset mal configurati. Gli utenti devono assicurarsi che le loro configurazioni cloud siano sicure, poiché a differenza delle risorse locali, le risorse cloud devono essere intrinsecamente accessibili da Internet.
Si consideri quali dati vengono archiviati localmente e quali devono essere archiviati nel cloud, nonché quali devono essere crittografati o eliminati. Le risorse del cloud devono essere inventariate per garantire che lo storage non diventi un deposito in continua espansione di dati inutilizzati e potenzialmente sensibili. A differenza dell'archiviazione locale, che richiede un'infrastruttura fisica per funzionare, l'aumento dell'archiviazione e della potenza di calcolo nel cloud è a pagamento.
Che i dati siano in locale o nel cloud, in ultima analisi sei responsabile delle tue informazioni e di quelle dei tuoi clienti. Sfrutta le funzioni di sicurezza del provider cloud. Queste funzioni sono progettate per proteggere il parco dispositivi e per intervenire rapidamente in caso di violazione, consentendoti di spegnere un dispositivo edge o un gateway compromesso o di rilasciare un nuovo aggiornamento OTA da distribuire su scala. Controlli regolari sulle pratiche di sicurezza dei provider cloud, su ciò che memorizzano per te e su come sono configurati i dispositivi ti aiutano a ridurre i rischi.
La sicurezza OEM è fondamentale
In qualità di OEM, i tuoi clienti devono avere la certezza che hai fatto tutto il possibile per prevenire le violazioni della sicurezza e che sei pronto a rispondere rapidamente, e con danni minimi, se si verifica una violazione. Contribuisci a creare questa fiducia osservando le pratiche e le idee che trovi qui, insieme ad altre adatte al tuo settore. Infine, mantieni aggiornate le procedure di sicurezza con una diligenza costante per essere sempre all'avanguardia rispetto ai potenziali hacker.
Per saperne di più sulle soluzioni di sicurezza, scarica oggi stesso l'e-book sulle soluzioni di sicurezza incorporate di Arrow.