· 5 minuti di lettura.
A cosa serve uno schema di attacco
CAPEC fornisce un vocabolario comune da descrivere come un attacco funziona, indipendentemente dal prodotto preso di mira. Ciascuna voce fornisce i prerequisiti dell'aggressore, le fasi di esecuzione, le competenze richieste, i punti deboli sfruttati e le contromisure conosciute.
Per un team difensivo, è uno strumento di modellazione delle minacce: ogni debolezza identificata nel codice si associa a modelli di attacco documentati e quindi a difese che puoi identificare senza doverle inventare.
Uno schema passo dopo passo: CAPEC-66, SQL injection
Una voce CAPEC si legge come un playbook. Ecco CAPEC-66 riassunto in quattro passaggi:
- Esplora. L'aggressore invia una singola virgoletta in ogni campo del modulo e controlla i messaggi di errore. Un errore di sintassi SQL mostrato sullo schermo è già una risposta.
- Sonda. Inseriscono una condizione sempre vera per vedere se la query si comporta diversamente, quindi misurano i tempi di risposta quando non viene visualizzato alcun messaggio.
- Sfruttare. Concatenano una seconda query per estrarre la struttura del database, quindi il suo contenuto.
- Persistere. A seconda dei privilegi dell'account del database, scrivono un file sul server o creano un account dell'applicazione.
La debolezza sfruttata è CWE-89. Le contromisure elencate nella voce sono standard ed efficaci: dichiarazioni preparate, rigorosa convalida dell'input, un account del database con privilegi minimi, messaggi di errore che non rivelano nulla al client. Questa continuità, dalla mossa dell'aggressore alla riga di codice da scrivere, è ciò che rende prezioso il catalogo.
Alcuni modelli comuni
| CAPEC | Modello di attacco | Debolezza sfruttata |
|---|---|---|
CAPEC-66 | Iniezione SQL | CWE-89 |
CAPEC-63 | Scripting tra siti | CWE-79 |
CAPEC-1 | Esclusione del controllo accessi | CWE-284 |
CAPEC-100 | Overflow del buffer | CWE-120 |
CAPEC-242 | Iniezione di codice | CWE-94, CWE-917 |
Il catalogo completo ha più di 600 modelli. È pubblicato da MITRE su capec.mitre.org.
Tre livelli di astrazione
I modelli esistono su diverse scale e la confusione dei livelli è la principale fonte di malintesi:
- Meta: una strategia generale, ad esempio “iniettare”. Utile per strutturare un workshop sulla modellazione delle minacce.
- Norma: una tecnica identificabile, ad esempio SQL injection. Questo è il livello con cui puoi lavorare giorno per giorno.
- Dettagliato: un'implementazione precisa, legata a CWE specifici. Questo è il livello del test di penetrazione.
Parti dal generale e scendi nello specifico: un workshop che inizia dal Dettagliato il livello si perde nei casi limite prima di coprire le famiglie principali.
CAPEC o MITRE ATT&CK?
Entrambi i cataloghi provengono dallo stesso editore e sono spesso confusi. Descrivono momenti diversi:
| CAPEC | MITRE ATT&CK | |
|---|---|---|
| Descrive | Come viene sfruttata una debolezza | Come opera un avversario una volta dentro |
| Livello | Applicazione, vulnerabilità | Operativo, campagna |
| Usato per | Progettare e codificare in modo più sicuro | Rilevamento e risposta |
Un team di sviluppo lavora con CAPEC; un centro operativo di sicurezza funziona con ATT&CK. I due si incontrano al primo accesso, ovvero l'ultimo capitolo del primo e il primo capitolo del secondo.
Cosa significa per te, in pratica
CAPEC non è un catalogo da monitorare giorno per giorno: non cambia molto. È utile in due momenti: quando si progetta una funzionalità sensibile (autenticazione, caricamento di file, chiamata a un servizio di terze parti), elencando i modelli noti che la prendono di mira; e quando scrivi l’ambito di un penetration test, nominando i pattern da coprire invece di chiedere “un pentest”.
Domande frequenti
Quanti modelli CAPEC ci sono?
Oltre 600, che coprono la maggior parte delle tecniche di sfruttamento di applicazioni, reti, hardware e ingegneria sociale. Il catalogo è pubblicato e versionato da MITRE.
CAPEC è utile a una squadra difensiva?
Sì, e questo è in realtà il suo utilizzo principale. Ogni voce elenca le contromisure associate a un pattern: è una libreria di difese indicizzate in base al modo in cui vieni attaccato.
Dovresti monitorare CAPEC nel modo in cui monitori CVEs?
No. CVEs arriva ogni giorno e necessita di monitoraggio; CAPEC è un catalogo stabile da consultare durante la progettazione o il test. Trattarlo come un feed di avviso fa perdere tempo e non aggiunge nulla.