Lug 10, 2025
Modellazione delle minacce per il Web3
Cos'è il Threat Modeling?
Il threat modeling è il processo di identificazione dei punti in un protocollo in cui una violazione potrebbe portare a perdite significative. Il processo stesso non mira a identificare le vulnerabilità, ma piuttosto a evidenziare le aree critiche. Il risultato del processo di threat modeling è un documento contenente una descrizione dei risultati e la loro prioritizzazione. Questo documento viene quindi utilizzato o per aggiornare l'architettura del protocollo, se il threat modeling viene eseguito in una fase iniziale dello sviluppo, o come guida per gli auditor per concentrare i loro sforzi sulle aree specificate. Fa parte della Web3 Protocol Security Roadmap.
Comprendere il Sistema
Il prerequisito più importante per un threat modeling efficace è una comprensione completa della logica del protocollo da parte del team che conduce la procedura.
Una profonda comprensione dei principi alla base del protocollo del prodotto e della loro implementazione pratica è necessaria per una comprensione completa di COME funziona il sistema.
La partecipazione di vari membri del team al processo di threat modeling consente chiarezza da diverse prospettive di comprensione del protocollo.
Coinvolgere l'intero team nel processo
Oltre ad aggiungere contesto da diversi membri del team, la pratica di coinvolgere partecipanti da vari dipartimenti consente di esaminare i possibili vettori di attacco da diversi punti di vista. Ad esempio, i rappresentanti del dipartimento finanziario potrebbero vedere potenziali minacce in luoghi diversi da quelli che preoccupano il dipartimento di supporto utente. Il leader del processo di threat modeling dovrebbe incoraggiare punti di vista alternativi sulle caratteristiche del sistema.
Chi conduce il Threat Modeling
La procedura di threat modeling dovrebbe essere condotta da una persona con una profonda comprensione della sicurezza delle applicazioni decentralizzate. Questo ruolo può essere svolto da uno specialista interno se possiede le competenze pertinenti.
Nella maggior parte dei casi, tuttavia, si consiglia di assumere un esperto esterno con sufficiente esperienza nella conduzione del threat modeling. Un esperto esterno aiuterà ad accelerare la procedura grazie all'esperienza accumulata nella conduzione del threat modeling per altri clienti.
In quale fase viene condotto il Threat Modeling?
Il threat modeling può essere condotto in diverse fasi dello sviluppo del protocollo.
Un approccio completo alla sicurezza del protocollo dovrebbe includere la procedura di threat modeling sia in una fase iniziale dello sviluppo del progetto che nella fase di completamento dello sviluppo della codebase. Queste due procedure si completano a vicenda nello sforzo di fornire la massima protezione possibile per il protocollo dalle minacce.
Threat Modeling per il miglioramento del design del protocollo
In una fase iniziale, prima che inizi la scrittura del codice, il threat modeling mira a identificare le debolezze nell'architettura del protocollo e a valutare la fattibilità della logica di business. Il threat modeling nella fase iniziale è utile perché le carenze scoperte possono essere immediatamente utilizzate per rivedere l'architettura del protocollo, il che crea un breve ciclo di feedback e influisce positivamente sulla velocità di sviluppo del progetto.
Threat Modeling come fase preliminare dell'audit di sicurezza
Il threat modeling nelle fasi finali della scrittura del codice del protocollo mira a trovare i punti per potenziali attacchi da parte di attori malintenzionati. Il documento ottenuto come risultato di tale modellazione è di grande importanza per il successivo audit di sicurezza della codebase. Vettori di attacco chiaramente definiti e prioritizzati consentono agli auditor di concentrare la loro attenzione sulle aree più importanti. Le vulnerabilità trovate in tali luoghi avranno il livello di criticità più alto.
Metodologia
Comprendere il Sistema
Al fine di comprendere il sistema da parte di tutti i partecipanti al processo, vengono utilizzate la decomposizione e la visualizzazione. Diagrammi e schizzi vengono impiegati per rappresentare i flussi di dati, definire i componenti chiave del sistema, i processi, gli archivi dati, le dipendenze esterne e i confini di fiducia tra gli elementi del sistema.
Comprendere gli attori delle minacce
Per comprendere le potenziali minacce, è necessario formare una comprensione delle entità che interagiscono con il sistema e dei loro incentivi. Attaccanti motivati finanziariamente, bot MEV, insider, concorrenti e altri.
Definire i vettori di attacco
Nel processo di identificazione delle minacce, è necessario modellare e valutare varie opzioni di attacco per ogni componente identificato.
Prioritizzazione dei risultati
Le minacce e i vettori di attacco identificati devono essere valutati in base al grado delle possibili conseguenze, alla probabilità, allo sforzo richiesto dall'attaccante e alle azioni necessarie per prevenire o mitigare il danno.
Documento risultante
Il documento risultante viene utilizzato a seconda della fase in cui è stato condotto il threat modeling. In una fase iniziale dello sviluppo del protocollo, le vulnerabilità scoperte devono essere utilizzate nel processo di revisione dell'architettura del protocollo per ridurre il numero e la gravità delle minacce. Nella fase di completamento dello sviluppo della codebase, questo documento viene utilizzato per dirigere l'attenzione degli auditor di sicurezza durante le fasi di audit o penetration testing.