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®.
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):
- Identificazione di asset e minacce
- Calcolo del rischio di sicurezza
- Definizione, implementazione e verifica delle contromisure
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:
- Soddisfare i requisiti di tracciabilità degli standard di settore;
- Svolgere un’analisi di impatto per qualsiasi modifica.
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.
| 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 EMB3D™3 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.
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.
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).
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.
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).
Figura 9. Visualizzazione del rischio.
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.
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).
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à.
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.
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.
Figura 15. Visualizzazione di un attacco con (a sinistra) e senza (a destra) contromisure.
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.
Riferimenti
MITRE Corporation, “CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™).” Consultato il 18 marzo 2025.
MITRE Corporation, “MITRE ATT&CK®.” Consultato il 18 marzo 2025.
MITRE Corporation, “MITRE EMB3D™.” Consultato il 18 marzo 2025.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)