White paper

Analisi Model-Based dei rischi di sicurezza

Introduzione

Come si possono prevedere e mitigare i rischi di sicurezza? Gli standard industriali come ISO®/SAE® 21434 e DO-356 richiedono di rispondere a questa domanda prima di immettere nuovi prodotti sul mercato. Ciò può risultare difficile senza un processo unificato per documentare, tracciare, implementare e verificare le modifiche. In base al settore di appartenenza, questo processo può essere chiamato TARA (Threat Analysis and Risk Assessment), SRA (Security Risk Assessment) o con altri nomi. Utilizzando un framework Model-Based per la SRA (Figura 1), è possibile collegare direttamente il progetto ai requisiti di sicurezza e affidabilità attraverso una procedura guidata. Puoi anche personalizzare, ampliare o automatizzare la procedura con facilità per adattarla alle tue esigenze, sfruttando le numerose funzionalità di MATLAB®.

Diagramma che illustra il flusso del processo di analisi della sicurezza, che utilizza come input “Modelli di architettura e implementazione” e “Obiettivi di sicurezza”. Il diagramma include tre passaggi chiave nella fase di “Analisi statica”: 1) Suggerire asset, minacce e contromisure; 2) Applicare il modello di minacce e rischi; 3) Modellare gli attacchi per testare gli obiettivi di sicurezza. Le frecce collegano ciascuna fase per mostrare il workflow.

Figura 1. Framework di analisi della sicurezza Model-Based.

Contesto: robot di magazzino

Questo white paper presenta un esempio di un robot di magazzino robot di magazzino che include un operatore remoto, un’architettura software, un modello dell’impianto e un modello di telecamera (Figura 3). Un’analisi dettagliata dell’architettura software, mostrata nella Figura 4, evidenzia un modulo di scheduler di pianificazione, un modulo di pianificazione, un modulo di controllo e un modulo di stimatore della posizione.

L’analisi della sicurezza Model-Based si articola nei seguenti passaggi (come illustrato nella Figura 2):

  1. Identificazione di asset e minacce
  2. Calcolo del rischio di sicurezza
  3. Definizione, implementazione e verifica delle contromisure
Diagramma di flusso che illustra i passaggi della gestione dei rischi di sicurezza: identificazione di asset e minacce, calcolo dei rischi di sicurezza, definizione e verifica delle contromisure. Ogni sezione include domande e immagini rilevanti, come una matrice del rischio e telecamere di sicurezza.

Figura 2. Passaggi dell’analisi della sicurezza Model-Based.

Diagramma di sistema che mostra il sistema di un robot di magazzino con un centro di controllo, l’architettura software del robot e l’edificio del magazzino. Illustra il flusso di dati per il controllo, il posizionamento e la navigazione del robot.

Figura 3. Modello dell’architettura di un robot di magazzino.

Diagramma dettagliato dell’architettura del robot per le attività in magazzino che mostra il modulo di scheduler di pianificazione, il modulo di stimatore della posizione e il modulo di controllo, responsabili della gestione dei movimenti e delle attività del robot.

Figura 4. Architettura software di un robot di magazzino.

sezione

Identificazione di asset e minacce

Una domanda importante da porsi al momento di identificare asset e minacce è: “Cosa devo proteggere?” In un mondo ideale, la risposta sarebbe: tutto ciò che apporta valore al sistema. Tuttavia, complessità e costi limitano la scelta a ciò che è strettamente necessario proteggere, come le funzionalità rilevanti per la sicurezza. Queste funzionalità sono chiamate asset e ciascun asset ha una o più proprietà da proteggere, quali:

  • Disponibilità
  • Integrità
  • Autenticità
  • Riservatezza
  • Non ripudio
  • Autorizzazione

Identificazione degli asset: cosa vuoi proteggere?

Ci sono molti metodi per identificare gli asset, come valutare la loro esposizione agli utenti, analizzare i flussi di dati, rivedere una Software Bill of Materials (SBOM) o considerare il loro ruolo nelle funzionalità di sicurezza. Come regola generale, dovrebbero essere presi in considerazione tutti i componenti che ricevono input esterni.

Nell’architettura software del robot, ci sono componenti che si basano su un segnale (robotPosition) proveniente dalle telecamere a soffitto del magazzino (modello di simulazione):

  • Scheduler di pianificazione
  • Stimatore di posizione

Per l’esempio in questione, questo report si concentra sulla protezione della disponibilità, dell’integrità e dell’autenticità di tale segnale in relazione a questi asset. È importante tenere presente che esistono altre proprietà che dovrebbero essere protette e questa analisi dovrebbe essere estesa a tutti gli asset del sistema.

Per garantire la tracciabilità durante tutta l’analisi, è importante utilizzare i fogli di calcolo di Safety Analysis Manager in Simulink Fault Analyzer™. Per aggiungere questi asset al foglio di calcolo, vengono utilizzati gli stereotipi in System Composer™. Assegnando lo stereotipo “asset” a questi sottosistemi, saranno inseriti automaticamente nel foglio. Il foglio di calcolo tiene traccia del tipo di asset, delle proprietà protette e di qualsiasi altra informazione che si desidera registrare (Figura 5). Utilizzando Requirements Toolbox™, gli asset possono essere collegati alle minacce identificate per creare un thread digitale che collega tutta l’analisi. Questo aiuta a: 

  1. Soddisfare i requisiti di tracciabilità degli standard di settore;
  2. Svolgere un’analisi di impatto per qualsiasi modifica.
Schermata di un foglio di calcolo. Riporta due asset: “Planning Scheduler” (scheduler di pianificazione) e “Position Estimator” (stimatore di posizione), entrambi contrassegnati come processi con controlli di autenticità, integrità e disponibilità.

Figura 5. Un esempio di foglio di calcolo degli asset.

Identificazione delle minacce: cosa potrebbe andare storto?

Una volta identificati gli asset da proteggere, il passaggio successivo è individuare le minacce a cui sono esposti. Un metodo comunemente utilizzato per identificare le minacce di sicurezza software è il framework di modellazione STRIDE. Le proprietà desiderate degli asset sono associate direttamente alle minacce corrispondenti, come mostrato nella Tabella 1.

Tabella 1

Tabella che associa le minacce alle proprietà e alle relative definizioni. Fonte: (Wikipedia)

Minaccia Proprietà desiderata Definizione della minaccia
Spoofing Autenticità Fingere di essere qualcos’altro o qualcun altro
Tampering Integrità Modificare qualcosa su un disco, una rete, una memoria o altro
Ripudio Non ripudiabilità Negare di aver fatto qualcosa o di essere responsabili; può essere autentico o falso
Divulgazione di informazioni Riservatezza Ottenere informazioni senza autorizzazione
Denial of Service Disponibilità Esaurire risorse necessarie per fornire il servizio
Elevazione dei privilegi Autorizzazione Consentire a qualcuno di fare qualcosa per cui non è autorizzato

Indipendentemente dal metodo utilizzato (STRIDE o altro), è possibile scrivere una funzione MATLAB che suggerisca automaticamente le minacce a partire dalle proprietà dell’asset precedentemente identificate. Per esempio, la minaccia associata alla disponibilità è il Denial of Service. Si tratta di un termine generico e sarà necessario specificare ulteriori dati per determinare il rischio e la relativa contromisura. Cataloghi di minacce come ™1, ATT&CK®2 e EMB3D3 possono fornire informazioni più specifiche sulle possibili caratteristiche della minaccia; in questo caso, potrebbe trattarsi di un jamming del segnale dalla telecamera allo stimatore di posizione.

Una volta identificata la minaccia specifica, il foglio di calcolo delle minacce può essere aggiornato con la voce CAPEC corrispondente (es. CAPEC-601). Come per il foglio degli asset, anche il foglio delle minacce assicura tracciabilità e analisi di impatto grazie ai collegamenti con il resto dell’analisi.

sezione

Calcolo del rischio di sicurezza

Il calcolo del rischio associato a una minaccia prende in considerazione principalmente due fattori. Il primo è la fattibilità, cioè quanto è facile realizzare l’attacco. Il secondo è l’impatto, che valuta la gravità delle conseguenze.

Fattibilità: quanto è difficile l’operazione?

Il metodo Attack Potential, descritto nella norma ISO 18045, offre un framework sistematico per stimare la fattibilità di un attacco basandosi sui seguenti fattori richiesti:

  • Competenze: quali sono le abilità dell’utente malintenzionato?
  • Conoscenza: quante conoscenze specifiche sono necessarie?
  • Apparecchiature: quali strumenti o hardware sono necessari per l’attacco?
  • Tempo trascorso: quanto tempo serve per identificare una vulnerabilità e sviluppare un exploit?
  • Finestra di opportunità: quando e dove può essere eseguito l’attacco?

Il foglio di calcolo delle minacce (Figura 6) contiene una colonna per ciascuno di questi fattori e una formula MATLAB personalizzabile calcola automaticamente la fattibilità. Come detto, viene utilizzato il metodo Attack Potential, che somma i valori standardizzati di ogni fattore.

Schermata di una tabella di analisi delle minacce con dettagli su rischio e fattibilità.

Figura 6. Foglio di calcolo delle minacce con fattori e fattibilità in evidenza.

Impatto: quanto può essere grave?

Ogni minaccia ha potenziali impatti o conseguenze. In questo esempio, l’impatto viene valutato in termini di effetti sulla sicurezza. A tale scopo, viene utilizzata direttamente la valutazione dell’impatto proveniente da un’analisi di sicurezza già esistente (ovvero la valutazione dei pericoli). Tenere presente che questo esempio è una semplificazione. Normalmente, l’impatto viene anche valutato per aspetti operativi, economici e di privacy.

Nella valutazione dei pericoli (Figura 7), la gravità di un guasto funzionale del sensore di posizione varia da S3 a S5. Per semplicità verrà considerato il valore più alto come impatto della minaccia di tipo Denial of Service (DoS).

Schermata della tabella di valutazione dei rischi del robot che illustra i guasti funzionali nei sensori di pianificazione e posizione, insieme a relativi effetti, gravità, probabilità di occorrenza, rischio e strategie di mitigazione.

Figura 7. Valutazione dei pericoli di un robot.

Calcolo e trattamento del rischio

Una volta valutati la fattibilità e l’impatto, il rischio può essere calcolato automaticamente con un’altra formula MATLAB. In questo esempio, il rischio è calcolato moltiplicando fattibilità e impatto.

A seconda della tua soglia di tolleranza del rischio, puoi decidere come trattarlo. Il trattamento del rischio viene mostrato nel foglio di calcolo (Figura 8) evidenziando una delle seguenti caratteristiche:

  • Avoid (Evitare): il rischio deve essere completamente evitato (es. rimuovendo la funzionalità).
  • Reduce (Ridurre): il rischio deve essere ridotto mettendo in atto contromisure tecniche.
  • Share (Condividere): il rischio viene trasferito (es. a una compagnia assicurativa, un utente o terze parti).
  • Retain (Accettare): il rischio viene accettato così com’è e non vengono eseguite ulteriori azioni.
  • Not Applicable (Non applicabile): la minaccia non esiste per il sistema in questione.

Nota: i trattamenti Avoid e Reduce comportano la necessità di definire requisiti tecnici.

Schermata di un foglio di calcolo che riporta minacce come “DoS in stimatore di posizione” e “Tampering in stimatore di posizione”, con i dettagli sulle competenze richieste per l’attacco e livello di rischio. Viene evidenziato un avviso che indica un livello di rischio troppo elevato per lo stato selezionato.

Figura 8. Trattamento del rischio nel foglio di calcolo delle minacce.

Il calcolo del rischio e la relazione tra minacce, asset e altri elementi possono essere rappresentati in un grafico, utile per capire la loro influenza sul rischio complessivo. Questo grafico mostra l’importanza relativa di ogni relazione e aiuta a dare priorità a una misura specifica. Come illustrato nella Figura 9, il DoS rappresenta una minaccia più rilevante rispetto al tampering e dovrebbe quindi essere gestito per primo (perché ha un livello di gravità maggiore: S5 contro S4).

Un diagramma visualizza le relazioni tra asset, minacce e lo stimatore di posizione nell’architettura di un robot per le attività di magazzino. Per le minacce sono indicate le relative priorità, con “DoS nello stimatore di posizione” contrassegnato come priorità 1 e “Tampering dello stimatore di posizione” come priorità 2.

Figura 9. Visualizzazione del rischio.

sezione

Definizione, implementazione e verifica delle contromisure

Per mitigare il rischio di jamming del segnale (DoS) dalla telecamera allo stimatore di posizione, è possibile ridurre la fattibilità o mettere in atto una contromisura. In questo caso, l’impatto viene ridotto aggiungendo un freno di emergenza. È possibile risalire a questa misura nel foglio di calcolo delle minacce grazie a un collegamento indicato nel foglio delle contromisure (Figura 10). Ogni contromisura conduce a un obiettivo di sicurezza, espresso come almeno un requisito derivato. In questo caso, il requisito è che il robot si fermi entro un secondo dal rilevamento del jamming, requisito che è anch’esso collegato per garantire la tracciabilità e l’analisi dell’impatto.

Schermata di una tabella contenente una valutazione del rischio relativa a diverse minacce, con dettagli su competenze richieste per l’attacco, fattibilità e livelli di rischio. Una freccia collega una contromisura etichettata come “Freno di emergenza per rilevare e fermare la rotazione” alla relativa minaccia, evidenziando il legame tra i due elementi.

Figura 10. Collegamento delle contromisure alle minacce.

Verifiche di coerenza e completezza

Finora in questo white paper abbiamo identificato le minacce, valutato i rischi e definito le contromisure per i casi in cui il rischio era troppo elevato. Il passo successivo è sviluppare le contromisure. Prima di passare agli obiettivi di sicurezza, assicurati che il modello di minacce e rischi sia valido verificando quanto segue:

  • Per ogni asset è stata identificata almeno una minaccia (completezza);
  • Tutte le minacce sono state esaminate;
  • Laddove il rischio era troppo elevato, sono state assegnate le relative contromisure;
  • I requisiti (es. obiettivi di sicurezza) sono stati creati e collegati alle contromisure;
  • Non ci sono collegamenti mancanti tra minacce, asset, modelli e analisi di sicurezza.

Con una singola chiamata di funzione è possibile validare tutti questi aspetti e generare un grafico (Figura 11).

Grafico a barre intitolato “Validazione del modello di minacce e rischi” che mostra il numero di risultati nelle diverse schede di analisi. Il grafico utilizza il verde, l’arancione e il rosso per indicare lo stato degli asset, le minacce, le contromisure e la valutazione dei pericoli del robot.

Figura 11. Validazione del modello di minacce e rischi.

Implementazione delle contromisure

Una volta definite, le contromisure devono essere implementate nel modello. Nel modello Simulink® del controller, viene utilizzato MATLAB per aggiungere un blocco funzione (Figura 12), collegato al requisito per garantirne la tracciabilità.

Diagramma che illustra l’implementazione di un sistema di freno di emergenza con i componenti safetyLock ed emergencyBrake. Il pannello a destra mostra un riepilogo e la descrizione della funzione del freno di emergenza, con un collegamento evidenziato a “Freno di emergenza attivo”.

Figura 12. Implementazione di un freno di emergenza con relativo requisito collegato.

Verifica e validazione

Dopo l’implementazione, è necessario modellare l’attacco e verificare il funzionamento della contromisura. A questo scopo è possibile utilizzare Simulink Fault Analyzer, che consente di modellare e simulare l’attacco. La Figura 13 mostra le impostazioni utilizzate per modellare l’attacco.

Finestra di dialogo per aggiungere un guasto a un elemento del modello, con altri dettagli come nome e comportamento del guasto. Il guasto è impostato per attivarsi a un tempo di simulazione specificato, con il comportamento “Stuck-at-Ground” (bloccato a terra).

Figura 13. Finestra di dialogo del guasto con il trigger in evidenza.

Una volta attivato il guasto ed eseguito il modello, è possibile analizzare i segnali con Simulation Data Inspector (SDI) come mostrato nella Figura 14. In alternativa, è possibile visualizzare le risposte all’attacco con Navigation Toolbox™, come mostrato nella Figura 15. Questi strumenti consentono di verificare visivamente che la contromisura funzioni come previsto. Il workflow può essere scalato con il framework di Simulink Test Manager per garantire che tutte le funzionalità siano state correttamente verificate.

Schermata di un’analisi grafica che mostra un attacco DoS allo stimatore di posizione di un robot. Il grafico superiore indica il momento in cui viene iniettato l’attacco, mentre il grafico centrale mostra quando il robot si ferma.

Figura 14. Simulink Data Inspector che mostra il punto in cui viene iniettato l’attacco.

Figura 15. Visualizzazione di un attacco con (a sinistra) e senza (a destra) contromisure.

sezione

Conclusione

Un framework di analisi della sicurezza Model-Based offre un workflow con tracciabilità integrata, personalizzabile per soddisfare i requisiti di conformità e con la possibilità di automatizzare i processi, garantendo coerenza tra progettazione e analisi. Accelera le fasi di verifica e validazione anticipandole nel processo di progettazione grazie a questo workflow semplificato, riducendo tempi e costi di sviluppo. Dall’individuazione delle potenziali minacce alla quantificazione e valutazione dei rischi, fino alla definizione e simulazione dell’efficacia delle contromisure, questo approccio end-to-end assicura una gestione completa del processo di analisi della sicurezza.

sezione

Riferimenti

  1. MITRE Corporation, “CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™).” Consultato il 18 marzo 2025.

  2. MITRE Corporation, “MITRE ATT&CK®.” Consultato il 18 marzo 2025.

  3. MITRE Corporation, “MITRE EMB3D™.” Consultato il 18 marzo 2025.