Esaminare le tecniche di modellazione e mitigazione delle minacce

Completato

Gli sviluppatori di Azure IoT non sono responsabili della progettazione dell'architettura di una soluzione IoT, ma è importante conoscere le minacce per una soluzione.

Architettura e sicurezza della soluzione

Quando si progetta un sistema, è importante comprendere le potenziali minacce e aggiungere le difese appropriate di conseguenza, perché il sistema è definito da una progettazione e un'architettura specifiche. È importante progettare il prodotto tenendo conto della sicurezza, perché comprendere in che modo un utente malintenzionato potrebbe compromettere un sistema aiuta ad implementare le misure appropriate fin dall'inizio.

I team di progettazione usano le tecniche di modellazione delle minacce per valutare misure correttive durante la progettazione di un sistema, anziché dopo la sua distribuzione. Questo aspetto è di fondamentale importanza, perché l'adeguamento retroattivo delle difese di sicurezza a una varietà di dispositivi non è fattibile, è soggetto a errori e mette a rischio i clienti.

Modellazione delle minacce

L'obiettivo della modellazione delle minacce consiste nel comprendere in che modo un utente malintenzionato potrebbe compromettere un sistema e, di conseguenza, nell'assicurarsi che vengano attuate le misure appropriate.

Aspetti da considerare per la modellazione delle minacce

È consigliabile considerare la soluzione nel suo complesso e concentrarsi anche sulle aree seguenti:

  • Funzionalità di sicurezza e privacy.
  • Funzionalità con errori rilevanti per la sicurezza.
  • Funzionalità che incontrano un limite di attendibilità.

Utente che esegue la modellazione delle minacce

La modellazione delle minacce è un processo come qualsiasi altro. È consigliabile considerare il documento di modellazione delle minacce come qualsiasi altro componente della soluzione e convalidarlo come team. Molti team di sviluppo svolgono un eccellente lavoro di acquisizione dei requisiti funzionali per il sistema da cui i clienti traggono vantaggio. Tuttavia, è molto più difficile identificare i modi impropri, ma non ovvi, in cui qualcuno potrebbe usare il sistema. La modellazione delle minacce può aiutare i team di sviluppo a comprendere cosa potrebbe fare un utente malintenzionato e perché.

Come eseguire la modellazione delle minacce

Il processo di modellazione delle minacce è composto da quattro passaggi, elencati di seguito:

  • Modellare l'applicazione.
  • Enumerare le minacce.
  • Mitigare le minacce.
  • Convalidare le mitigazioni.

Sicurezza in IoT

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. Il termine "accesso digitale" viene qui usato per distinguerlo da qualsiasi altra operazione che preveda l'interazione diretta con i dispositivi laddove è presente la sicurezza dell'accesso attraverso il controllo di accesso fisico (ad esempio, collocando il dispositivo in una stanza chiusa a chiave). 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.

Allo scopo di ottimizzare le procedure consigliate di sicurezza, è consigliabile suddividere una tipica architettura IoT in svariati componenti/zone come parte dell'esercizio di modellazione delle minacce. Queste zone sono:

  • Dispositivo
  • Gateway IoT Edge (un dispositivo IoT Edge usato come gateway sul campo)
  • Gateway cloud (hub IoT)
  • Servizi

Ogni zona è separata da un limite di attendibilità che rappresenta una transizione di dati/informazioni da un'origine a un'altra. Durante questa transizione, i dati potrebbe essere soggetti a spoofing, manomissione, ripudio, divulgazione di informazioni, rifiuto del servizio ed elevazione dei privilegi, semplificati dall'acronimo STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege).

È possibile usare l'architettura di riferimento di Azure IoT per illustrare come gestire la modellazione delle minacce per IoT e come affrontare le minacce identificate. Questo approccio identifica quattro aree principali di attenzione:

  • Dispositivi e origini dati.
  • Trasporto dei dati.
  • Elaborazione di dispositivi ed eventi.
  • Presentazione.

Minacce e mitigazioni comuni per la sicurezza

Per una soluzione Azure IoT, le minacce sono in genere destinate ai dispositivi fisici o a uno dei limiti di attendibilità identificati nel diagramma semplificato del modello delle minacce precedente.

Considerare le definizioni STRIDE seguenti:

  • Spoofing (S): un attacco di spoofing si verifica quando un utente malintenzionato fa finta di essere qualcuno che non è. Gli attacchi di spoofing possono verificarsi localmente. Ad esempio, un utente malintenzionato potrebbe estrarre materiale della chiave crittografica da un dispositivo, a livello di software o hardware, e quindi accedere al sistema con un diverso dispositivo fisico usando l'identità del dispositivo da cui è stata estratta la chiave.
  • Manomissione (T): gli attacchi di manomissione si verificano quando l'utente malintenzionato modifica i dati in transito (e per IoT può includere la compromissione del dispositivo fisico). Ad esempio, un utente malintenzionato può compromettere un dispositivo fisico per ottenere materiale della chiave crittografica, quindi intercettare ed eliminare i dati dal dispositivo nel percorso di comunicazione e infine usare il materiale della chiave estratto per sostituire i dati con dati falsi autenticati con il materiale della chiave rubato.
  • Ripudio (R): il ripudio si verifica quando un utente esegue un'azione e quindi sostiene di non averla effettivamente fatta. Il ripudio è in genere associato alla possibilità di tenere traccia e registrare correttamente le azioni degli utenti e per Azure IoT, questa minaccia viene mitigata dal servizio hub IoT di Azure. Il ripudio non si applica agli attacchi contro dispositivi fisici.
  • Diffusione di informazioni (I): le minacce di diffusione di informazioni sono semplici: l'utente malintenzionato può vedere dati che non dovrebbe visualizzare? Ad esempio, se si trasferiscono dati da un computer a un altro e l'utente malintenzionato può intercettare i dati in transito, il componente è soggetto a una minaccia di diffusione di informazioni.
  • Denial of Service (D): si verifica una minaccia Denial of Service quando un utente malintenzionato può ridurre la qualità del servizio per gli utenti o addirittura negarlo. Per IoT, questa riduzione della qualità del servizio include il rendere un dispositivo incapace di funzionare o comunicare. Ad esempio, una videocamera di sorveglianza per cui viene intenzionalmente interrotta l'alimentazione o la connessione di rete non è in grado di trasmettere alcun dato.
  • Elevazione dei privilegi (E): una minaccia di elevazione dei privilegi si verifica quando un utente malintenzionato riesce a ottenere privilegi che normalmente non avrebbe. Per IoT, questa minaccia potrebbe essere forzare un dispositivo a eseguire un'operazione diversa da quella prevista. Ad esempio, una valvola che è programmata per aprirsi a metà può essere indotta ad aprirsi completamente.

Minacce comuni contro i dispositivi fisici

Componente

Minaccia

Mitigazione

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 stabilire se si sta comunicando con il dispositivo giusto?

Autenticazione del dispositivo con Transport Layer Security (TLS) o IPSec. L'infrastruttura deve supportare l'uso di una chiave precondivisa (PSK) nei dispositivi che non riescono a gestire la crittografia asimmetrica completa. Usare Microsoft Entra ID o OAuth.

Dispositivo

TID

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 è possibile accertarsi che il dispositivo non sia stato manomesso.

La soluzione più efficace è una funzionalità TPM (Trusted Platform Module) che consente l'archiviazione delle chiavi in speciali circuiti su chip da cui non è possibile leggerle, ma solo usarle per le operazioni di crittografia che le adoperano, senza mai divulgarle. Crittografia della memoria del dispositivo. Gestione delle chiavi per il dispositivo. Firma del codice.

Dispositivo

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 IoT Edge (gateway sul campo)

S

Autenticazione del gateway sul campo per il 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).

Gateway IoT Edge (gateway sul campo)

TID

Proteggere il gateway sul campo da eventuali 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.

Gateway IoT Edge (gateway sul campo)

E

Meccanismo di controllo di accesso per il gateway sul campo.

Ecco alcuni esempi di minacce per i dispositivi fisici:

  • Spoofing: un utente malintenzionato potrebbe estrarre materiale della chiave crittografica da un dispositivo, a livello di software o hardware, e successivamente accedere al sistema con un diverso dispositivo fisico o virtuale assumendo l'identità del dispositivo da cui è stata estratta la chiave.
  • 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 interamente o in parte il software in esecuzione nel dispositivo, consentendo potenzialmente al software sostituito di usare l'identità autentica del dispositivo se il materiale della chiave o le strutture crittografiche che lo contengono sono disponibili per il programma illecito.
  • Manomissione: una telecamera di sorveglianza che mostra l'immagine dello spettro visibile di un corridoio vuoto potrebbe essere puntata su una foto dello stesso 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, è possibile che il dispositivo sia totalmente attendibile dal punto di vista tecnico nei confronti del sistema, ma segnali informazioni manipolate.
  • Manomissione: un utente malintenzionato potrebbe usare il materiale della chiave estratto per intercettare ed eliminare i dati dal dispositivo nel percorso di comunicazione e sostituirli con dati falsi che vengono autenticati con il materiale della chiave trafugato.
  • Manomissione: un utente malintenzionato potrebbe sostituire completamente o in parte il software in esecuzione nel dispositivo, consentendo potenzialmente al software sostituito di usare l'identità autentica del dispositivo se il materiale della chiave o le strutture crittografiche che lo contengono sono disponibili per il programma illecito.
  • Diffusione di informazioni: se nel dispositivo viene eseguito un software manipolato, questo potrebbe potenzialmente far trapelare dati a parti non autorizzate.
  • Diffusione di informazioni: un utente malintenzionato potrebbe usare il materiale della chiave estratto per inserirsi nel percorso di comunicazione tra il dispositivo e un controller oppure un gateway sul campo o un gateway cloud per trafugare informazioni.
  • Denial of Service: il dispositivo potrebbe essere spento oppure commutato in una modalità in cui la comunicazione non è possibile, il che è intenzionale in molti macchinari 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.

Minacce comuni per le comunicazioni

Componente

Minaccia

Mitigazione

Rischio

Implementazione

Da dispositivo a hub IoT

TID

(D) TLS (PSK/RSA) per crittografare il traffico.

Intercettazione o interferenza nelle comunicazioni 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. Il peering può comportare una connessione diretta tra i peer dopo che è stata negoziata dal gateway.

Da entità esterna a dispositivo

TID

Associazione complessa dell'entità esterna al dispositivo

Intercettazione della connessione al dispositivo. Interferenza nelle comunicazioni con il dispositivo.

Associazione sicura dell'entità esterna al dispositivo NFC/Bluetooth LE. Controllo del pannello operativo del dispositivo (fisico).

Da gateway IoT Edge a gateway cloud

TID

TLS (PSK/RSA) per crittografare il traffico.

Intercettazione o interferenza nelle comunicazioni tra il dispositivo e il gateway.

Sicurezza a livello di protocollo (MQTT/AMQP/HTTP/CoAP). Con i protocolli personalizzati, è necessario capire come proteggerli.

Dal dispositivo al gateway cloud

TID

TLS (PSK/RSA) per crittografare il traffico.

Intercettazione o interferenza nelle comunicazioni tra il dispositivo e il gateway.

Sicurezza a livello di protocollo (MQTT/AMQP/HTTP/CoAP). Con i protocolli personalizzati, è necessario capire come proteggerli.

Ecco alcuni esempi di minacce per le comunicazioni:

  • Denial of Service: i dispositivi limitati sono in genere a rischio Denial of Service quando restano attivamente in attesa di connessioni in ingresso o datagrammi non richiesti in una rete, perché un utente malintenzionato può aprire molte connessioni in parallelo non rendendole disponibili oppure rallentandole o ancora il dispositivo può essere inondato da traffico non richiesto. In entrambi i casi, il dispositivo può essere effettivamente reso inutilizzabile sulla rete.
  • Spoofing, Diffusione di informazioni: i dispositivi limitati e con scopi specifici spesso prevedono funzionalità di sicurezza universali, come la protezione con PIN o password, oppure dipendono interamente dall'attendibilità della rete, ovvero consentono l'accesso alle informazioni quando un dispositivo si trova nella stessa rete, che spesso è protetta solo da una chiave condivisa. Ciò significa che quando viene divulgato il segreto condiviso al dispositivo o alla rete, è possibile controllare il dispositivo oppure osservare i dati inviati dal dispositivo.
  • 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.
  • Diffusione di informazioni: un utente malintenzionato potrebbe spiare una trasmissione e ottenere informazioni senza autorizzazione.
  • Denial of Service: un utente malintenzionato potrebbe danneggiare il segnale di trasmissione e negare la distribuzione di informazioni.