Architettura di sicurezza per le soluzioni IoT
Quando si progetta e si idea una soluzione IoT, è importante comprendere le potenziali minacce e includere difese appropriate. Comprendere in che modo un utente malintenzionato potrebbe compromettere un sistema consente di assicurarsi che le mitigazioni appropriate siano applicate fin dall'inizio.
Modellazione delle minacce
Come parte della progettazione della soluzione IoT, Microsoft consiglia di utilizzare un processo di modellazione delle minacce. Se non si ha familiarità con la modellazione delle minacce e il ciclo di vita di sviluppo sicuro, vedere:
Sicurezza in IoT
Come parte dell'esercizio di modellazione delle minacce, è utile dividere l'architettura IoT in varie zone:
- Dispositivo
- Gateway sul campo
- Gateway cloud
- Service
Ogni zona spesso contiene dati e requisiti di autenticazione e autorizzazione specifici. È anche possibile usare le zone per isolare i danni e limitare l'impatto delle zone a bassa attendibilità nelle zone con attendibilità superiore.
Ogni zona è separata da un limite di attendibilità, illustrato sotto forma di linea rossa punteggiata nel diagramma seguente. Il limite rappresenta una transizione di dati da un'origine a un'altra. Durante questa transizione, i dati potrebbero essere soggetti alle minacce seguenti:
- Spoofing
- Manomissione
- Ripudio
- Diffusione di informazioni
- Denial of Service
- Elevazione dei privilegi
Per altre informazioni, vedere il modello STRIDE.
È possibile utilizzare STRIDE per modellare le minacce a ogni componente all'interno di ogni zona. Le sezioni seguenti introducono ciascuno dei componenti, oltre ai problemi di sicurezza specifici e alle soluzioni che devono essere implementate.
Nella parte restante di questo articolo vengono illustrate in modo più dettagliato le minacce e le mitigazioni per queste zone e componenti.
Area del dispositivo
L'ambiente del dispositivo è lo spazio intorno al dispositivo in cui è possibile accedere fisicamente e digitalmente alla rete locale. Si presume che una rete locale sia distinta e isolata dalla rete internet pubblica, ma potenzialmente collegata a quest'ultima. L'ambiente del dispositivo include qualsiasi tecnologia radio wireless a corto raggio che consente la comunicazione peer-to-peer tra i dispositivi. Non prevede alcuna tecnologia di virtualizzazione di rete, che crei l'illusione di una rete locale di questo tipo. Non include reti dell'operatore pubblico che richiedono che due dispositivi comunichino attraverso lo spazio di rete pubblico, se intendono entrare in una relazione di comunicazione peer-to-peer.
Zona gateway sul campo
Un gateway sul campo è un dispositivo o un software per server di uso generico che agisce come componente che abilita la comunicazione e, potenzialmente, come sistema di controllo dei dispositivi e hub di elaborazione dei dati dei dispositivi. La zona di un gateway sul campo include il gateway stesso e tutti i dispositivi collegati a esso. I gateway sul campo agiscono all'esterno di strutture di elaborazione dati dedicate, sono in genere associati alla posizione, sono potenzialmente soggetti a intrusioni fisiche e offrono una ridondanza operativa limitata. Un gateway sul campo è, solitamente, un elemento che un utente malintenzionato potrebbe sabotare fisicamente se ha ottenuto l'accesso fisico.
Un gateway sul campo è diverso da un router del traffico in quanto ha un ruolo attivo nella gestione dell'accesso e del flusso di informazioni. Il gateway sul campo ha due distinte superfici di attacco: Il primo è rivolto verso i dispositivi a esso collegati e rappresenta l'interno della zona. L'altro è rivolto verso tutte le parti esterne e rappresenta la zona perimetrale.
Zona del gateway cloud
Un gateway cloud è un sistema che consente la comunicazione remota da e verso dispositivi o gateway di campo distribuiti in più siti. Il gateway cloud consente, in genere, un sistema di controllo e analisi dei dati basato sul cloud o una federazione di tali sistemi. In alcuni casi, un gateway cloud può immediatamente facilitare l'accesso ai dispositivi per scopi specifici dai terminali, ad esempio tablet o telefoni. Nella zona del gateway cloud, le misure operative impediscono l'accesso fisico mirato e non sono necessariamente esposte a un'infrastruttura cloud pubblica.
Un gateway cloud può essere mappato a una sovrapposizione di virtualizzazione rete per isolare da qualsiasi altro traffico di rete il gateway cloud e tutti i relativi dispositivi o gateway sul campo allegati. Il gateway cloud stesso non è un sistema di controllo del dispositivo o una struttura di elaborazione o archiviazione per i dati del dispositivo; tali strutture si interfacciano con il gateway cloud. La zona di gateway cloud include il gateway cloud stesso assieme a tutti i gateway sul campo e ai dispositivi direttamente o indirettamente a esso collegati. La zona perimetrale è un'area di superficie distinta attraverso cui tutte le parti esterne comunicano.
Zona Servizi
In questo contesto, un servizio rappresenta qualsiasi componente software o modulo che si interfaccia con i dispositivi tramite un campo o un gateway cloud. Un servizio può raccogliere dati dai dispositivi e dai comandi e controllare tali dispositivi. Un servizio è un mediatore che agisce sotto la propria identità verso i gateway e altri sottosistemi per:
- Esplorare e analizzare i dati
- Eseguire i comandi ai dispositivi in base alle informazioni dettagliate sui dati o alle pianificazioni
- Esporre le informazioni e le funzionalità di controllo agli utenti finali autorizzati
Dispositivi IoT
I dispositivi IoT costituiscono spesso dispositivi speciali che vanno da semplici sensori di temperatura a linee di produzione di fabbrica complesse con migliaia di componenti all'interno di essi. Le funzionalità dei dispositivi IoT di esempio includono:
- Misurazione e segnalazione delle condizioni ambientali
- Rotazione delle valvole
- Controllo dei servocomandi
- Allarmi acustici
- Accensione o spegnimento delle luci
Lo scopo di questi dispositivi determina la progettazione tecnica e il budget disponibile per il loro funzionamento di produzione e durata pianificata. La combinazione di questi fattori vincola il budget operativo disponibile per l'energia, il footprint fisico e le funzionalità di archiviazione, calcolo e sicurezza disponibili.
Le situazioni che possono andare in tilt con un dispositivo IoT automatizzato o controllato a distanza includono:
- Difetti fisici
- Difetti della logica di controllo
- Intrusioni e manipolazioni non autorizzate.
Le conseguenze di questi guasti potrebbero essere gravi, come la distruzione di lotti di produzione, l'incendio di edifici, lesioni e morte. Pertanto, i dispositivi che consentono di muovere le cose o che riportano i dati dei sensori che si traducono in comandi che fanno spostare le cose sono soggetti a un'elevata soglia di sicurezza.
Interazioni tra controllo del dispositivo e dati del dispositivo
I dispositivi per scopi specifici connessi tra loro sono caratterizzati da un numero significativo di potenziali superfici di attacco e di modelli di interazione, tutti da prendere in considerazione nel fornire un framework per la protezione dell'accesso digitale agli stessi. L'accesso digitale si riferisce alle operazioni eseguite tramite software e hardware, anziché tramite l'accesso fisico diretto al dispositivo. Ad esempio, l'accesso fisico può essere controllato inserendo il dispositivo in una stanza con una serratura sulla porta. Nonostante non sia possibile negare l'accesso fisico usando software e hardware, è però possibile adottare misure preventive per far sì che l'accesso fisico non conduca a intromissioni nel sistema.
Quando si esplorano i modelli di interazione, il controllo dei dispositivi e i dati del dispositivo richiedono lo stesso livello di attenzione. Il controllo dei dispositivi fa riferimento a tutte le informazioni fornite a un dispositivo con l'intenzione di modificarne il comportamento. Per dati del dispositivo si intende qualsiasi informazione emessa da un dispositivo a qualsiasi altra parte riguardo il suo stato e lo stato osservato del relativo ambiente.
Modellazione delle minacce per l'architettura di riferimento di Azure IoT
Questa sezione utilizza l'architettura di riferimento di Azure IoT per illustrare come gestire la modellazione delle minacce per IoT e come affrontare le minacce identificate:
Il diagramma seguente fornisce una visualizzazione semplificata dell'architettura di riferimento usando un modello di diagramma del flusso di dati:
L'architettura separa le funzionalità del dispositivo e del gateway sul campo. Questo approccio consente di usare dispositivi gateway sul campo più sicuri. I dispositivi gateway sul campo possono comunicare con il gateway cloud utilizzando protocolli sicuri, che in genere richiedono una potenza di elaborazione maggiore rispetto a ciò che un dispositivo semplice, ad esempio un termostato, può fornire autonomamente. Nella zona dei servizi di Azure nel diagramma il servizio hub IoT di Azure è il gateway cloud.
In base all'architettura descritta in precedenza, le sezioni seguenti illustrano alcuni esempi di modellazione delle minacce. Gli esempi si concentrano sugli elementi principali di un modello di rischio:
- Processi
- Comunicazione
- Storage
Processi
Ecco alcuni esempi di minacce nella categoria processi. Le minacce vengono classificate in base al modello STRIDE:
Spoofing: un utente malintenzionato potrebbe estrarre chiavi crittografiche da un dispositivo, a livello di software o hardware. L'attacco utilizza quindi queste chiavi per accedere al sistema da un dispositivo fisico o virtuale diverso, usando l'identità del dispositivo originale.
Denial of Service: un dispositivo potrebbe essere messo fuori uso o reso incapace di comunicare tramite interferenza con le frequenze radio o taglio dei cavi. Ad esempio, una videocamera di sorveglianza a cui sia stata intenzionalmente interrotta l'alimentazione o la connessione di rete non segnala alcun dato.
Manomissione: un utente malintenzionato potrebbe sostituire parzialmente o completamente il software nel dispositivo. Se le chiavi crittografiche del dispositivo sono disponibili per il codice degli utenti malintenzionati, può quindi utilizzare l'identità del dispositivo.
Manomissione: una telecamera di sorveglianza che mostra un'immagine dello spettro visibile di un corridoio vuoto potrebbe essere rivolta a una fotografia di tale corridoio. Un sensore di fumo o antincendio potrebbe segnalare una persona che tiene un accendino acceso al di sotto dello stesso. In entrambi i casi, il dispositivo potrebbe essere attendibile dal punto di vista tecnico nei confronti del sistema, ma segnali informazioni manipolate.
Manomissione: un utente malintenzionato potrebbe usare chiavi crittografiche estratte per intercettare e eliminare i dati inviati dal dispositivo e sostituirli con falsi dati autenticati con le chiavi rubate.
Diffusione di informazioni: se nel dispositivo viene eseguito un software manipolato, questo potrebbe potenzialmente far trapelare dati a parti non autorizzate.
Divulgazione di informazioni: un utente malintenzionato potrebbe usare chiavi crittografiche estratte per inserire codice nel percorso di comunicazione tra il gateway del dispositivo e il gateway sul campo o il gateway cloud per disattivare le informazioni.
Denial of Service: il dispositivo può essere spento o disattivato in una modalità in cui la comunicazione non è possibile, il che è intenzionale in molte macchine industriali.
Manomissione: il dispositivo può essere riconfigurato in modo da operare in uno stato sconosciuto al sistema di controllo, al di fuori dei parametri di calibrazione noti, e quindi offrire dati che possono essere interpretati erroneamente.
Elevazione dei privilegi: è possibile forzare un dispositivo che esegue una funzione specifica a eseguire un'altra operazione. Ad esempio, una valvola che è programmata per aprirsi a metà può essere indotta ad aprirsi completamente.
Spoofing/Manomissione/Ripudio: se un dispositivo non è protetto, condizione che si verifica assai raramente con i telecomandi di consumo, un utente malintenzionato può manipolarne lo stato in maniera anonima. Un buon esempio è rappresentato da un telecomando che può spegnere qualsiasi televisione.
La tabella seguente illustra le mitigazioni di esempio per queste minacce. I valori nella colonna delle minacce sono abbreviazioni:
- Spoofing (S)
- Manomissione (T)
- Ripudio (R)
- Diffusione di informazioni (I)
- Denial of Service (D)
- Elevazione dei privilegi (E)
Componente | Minaccia | Strategia di riduzione del rischio | Rischio | Implementazione |
---|---|---|---|---|
Dispositivo | S | Assegnazione dell'identità al dispositivo e autenticazione del dispositivo | Sostituzione del dispositivo o di parte dello stesso con un altro dispositivo Come si fa a sapere che si sta comunicando con il dispositivo corretto? | Autenticazione del dispositivo con Transport Layer Security (TLS) o IPSec. L'infrastruttura deve supportare l'uso della chiave precondivisa (PSK) in tali dispositivi che non possono gestire la crittografia asimmetrica completa. Usare Microsoft Entra ID, OAuth. |
TRID | Applicare meccanismi a prova di manomissione al dispositivo, ad esempio rendendo molto difficile, se non impossibile, estrarre chiavi e altro materiale crittografico dal dispositivo. | Il rischio esiste se un utente sta manomettendo il dispositivo (intromissione fisica). Come si è certi che nessuno abbia manomesso il dispositivo? | La mitigazione più efficace è un modulo TPM (Trusted Platform Module). Un TPM archivia le chiavi, ma non consente la lettura. Tuttavia, il TPM stesso può usare le chiavi per le operazioni di crittografia. Crittografia della memoria del dispositivo. Gestione delle chiavi per il dispositivo. Firma del codice. | |
E | Avere il controllo di accesso del dispositivo. Schema di autorizzazione. | Se il dispositivo consente di eseguire singole azioni in base ai comandi da un'origine esterna o persino a sensori compromessi, l'attacco può eseguire operazioni non altrimenti accessibili. | Avere uno schema di autorizzazione per il dispositivo. | |
Gateway sul campo | S | Autenticazione del gateway sul campo al gateway cloud (basata sul certificato, PSK o basata su attestazione). | Se qualcuno riesce a effettuare lo spoofing del gateway sul campo, questo potrà presentarsi come qualsiasi dispositivo. | TLS RSA/PSK, IPSec, RFC 4279. Tutti gli stessi principali problemi di archiviazione e attestazione dei dispositivi in generale: il miglior caso è l'uso di TPM. Estensione 6LowPAN per IPSec per supportare le reti WSN (Wireless Sensor Network). |
TRID | Proteggere il gateway sul campo da manomissioni (TPM) | Gli attacchi di spoofing che inducono il gateway cloud a pensare di essere in comunicazione con il gateway sul campo potrebbero causare la diffusione di informazioni e la manomissione dei dati | Crittografia della memoria, TPM, autenticazione. | |
E | Meccanismo di controllo di accesso per il gateway sul campo |
Comunicazione
Ecco alcuni esempi di minacce nella categoria di comunicazione. Le minacce vengono classificate in base al modello STRIDE:
Denial of Service: i dispositivi vincolati sono in genere sotto minaccia DoS, quando restano attivamente in ascolto delle connessioni in ingresso o dei datagrammi non richiesti in una rete. Un utente malintenzionato può aprire molte connessioni in parallelo e non gestirle o farlo lentamente, oppure inondare il dispositivo con traffico non richiesto. In entrambi i casi, il dispositivo può essere effettivamente reso inutilizzabile sulla rete.
Spoofing, divulgazione di informazioni: i dispositivi vincolati e quelli speciali offrono spesso funzionalità di sicurezza uniche, come la protezione tramite password o PIN. A volte si affidano completamente alla fiducia nella rete e concedono l'accesso alle informazioni a qualsiasi dispositivo che si trovi sulla stessa rete. Se la rete è protetta da una chiave condivisa che viene divulgata, un utente malintenzionato può controllare il dispositivo o osservare i dati trasmessi.
Spoofing: un utente malintenzionato potrebbe intercettare o parzialmente sostituire la trasmissione e rubare l'identità dell'iniziatore.
Manomissione: un utente malintenzionato potrebbe intercettare o sostituire parzialmente la trasmissione e inviare informazioni false.
Divulgazione di informazioni: un utente malintenzionato potrebbe intercettare una trasmissione e ottenere informazioni senza autorizzazione.
Denial of Service: un utente malintenzionato potrebbe bloccare il segnale di trasmissione e negare la distribuzione delle informazioni.
La tabella seguente illustra le mitigazioni di esempio per queste minacce:
Componente | Minaccia | Strategia di riduzione del rischio | Rischio | Implementazione |
---|---|---|---|---|
Dispositivo - Hub IoT | TID | (D)TLS (PSK/RSA) per crittografare il traffico | Intercettazione o interferenza nella comunicazione tra il dispositivo e il gateway | Sicurezza a livello di protocollo. Con i protocolli personalizzati, è necessario capire come proteggerli. Nella maggior parte dei casi, la comunicazione avviene dal dispositivo all'hub IoT (connessione avviata dal dispositivo). |
Da dispositivo a dispositivo | TID | (D) TLS (PSK/RSA) per crittografare il traffico. | Lettura dei dati in transito tra i dispositivi. Manomissione dei dati. Sovraccarico del dispositivo con nuove connessioni | Sicurezza a livello di protocollo (MQTT/AMQP/HTTP/CoAP). Con i protocolli personalizzati, è necessario capire come proteggerli. La soluzione per la minaccia Denial of Service consiste nell'eseguire il peering dei dispositivi attraverso un gateway cloud o sul campo e far sì che agiscano solo da client verso la rete. Dopo che il gateway brokera il peering, è possibile stabilire una connessione diretta tra i peer. |
Entità esterna - dispositivo | TID | Associazione complessa dell'entità esterna al dispositivo | Intercettazione della connessione al dispositivo. Interferenza nella connessione al dispositivo | Associazione sicura dell'entità esterna al dispositivo NFC/Bluetooth LE. Controllo del pannello operativo del dispositivo (fisico). |
Gateway sul campo - Gateway cloud | TID | TLS (PSK/RSA) per crittografare il traffico. | Intercettazione o interferenza nella comunicazione tra il dispositivo e il gateway | Sicurezza a livello di protocollo (MQTT/AMQP/HTTP/CoAP). Con i protocolli personalizzati, è necessario capire come proteggerli. |
Dispositivo - Gateway cloud | TID | TLS (PSK/RSA) per crittografare il traffico. | Intercettazione o interferenza nella comunicazione tra il dispositivo e il gateway | Sicurezza a livello di protocollo (MQTT/AMQP/HTTP/CoAP). Con i protocolli personalizzati, è necessario capire come proteggerli. |
Storage
La tabella seguente illustra le mitigazioni di esempio per le minacce all'archiviazione:
Componente | Minaccia | Strategia di riduzione del rischio | Rischio | Implementazione |
---|---|---|---|---|
Archiviazione nel dispositivo | TRID | Crittografia di archiviazione, firma dei log | Lettura dei dati dall'archiviazione, manomissione dei dati di telemetria. Manomissione dei dati di controllo del comando in coda o memorizzati nella cache. La manomissione di pacchetti di configurazione o aggiornamento del firmware memorizzati nella cache o in coda in locale può compromettere il sistema operativo e/o i componenti del sistema | Crittografia, codice di autenticazione messaggi (MAC) o firma digitale. Laddove possibile, un controllo di accesso complesso attraverso elenchi di controllo di accesso (ACL) o autorizzazioni. |
Immagine del sistema operativo del dispositivo | TRID | Manomissione del sistema operativo/sostituzione dei componenti del sistema operativo | Partizione del sistema operativo di sola lettura, immagine del sistema operativo firmata, crittografia | |
Archiviazione Gateway sul campo (accodamento dei dati) | TRID | Crittografia di archiviazione, firma dei log | Lettura dei dati dall'archiviazione, manomissione dei dati di telemetria, manomissione dei dati di controllo dei comandi in coda o memorizzati nella cache. La manomissione di pacchetti di configurazione o aggiornamento del firmware (destinati ai dispositivi o al gateway sul campo) memorizzati nella cache o in coda in locale può compromettere il sistema operativo e/o i componenti del sistema | BitLocker |
Immagine del sistema operativo Gateway sul campo | TRID | Manomissione del sistema operativo/sostituzione dei componenti del sistema operativo | Partizione del sistema operativo di sola lettura, immagine del sistema operativo firmata, crittografia |
Passaggi successivi
Per altre informazioni sulla sicurezza IoT, vedere: