Pillole di Pentration Testing: Un altro punto di vista sulle vulnerabilità: CWE
- Andrea Tassotti
- Visite: 11455
Pillole di #penetrationtest
MITRE Corporation, con il supporto governativo (US-CERT e la Divisione Nazionale di Sicurezza Cyber del Dipartimento di Sicurezza interna) ha definito un sistema di classificazione per le debolezze e vulnerabilità dei software, nel senso del codice sorgente, ossia osservando e classificando quegli errori introdotti durante la fase di progettazione e sviluppo che portano alle conseguenti vulnerabilità note e individuabili mediante CVE.
Questo sistema è il Common Weakness Enumeration (CWE), anche questo covernato da un sistema numerico, benché non inteso come puro ordinale.
L'intento del sistema è supportare tutti quei metodi (anche automatici) per il controllo e la prevenzione di questi errori nei software: si tratta invero di strumenti e metodi collegati all'attività di Code Review, ma da pentester dobbiamo saper maneggiare questo ulteriore sistema di classificazione quando vogliamo comunicare la fonte della vulnerabilità e supportare gli sviluppatori nella fase di soluzione. Il sistema è alla versione 3.2 dal 2019 e contiene oltre 800 categorie di debolezze e vulnerabilità software (https://cwe.mitre.org)
Prendendo spunto da alcune delle debolezze prese dalla classifica le Top25 del 2019 redatta sempre dal Mitre, possiamo portare un esempio dell'importanza del CWE nel nostro lavoro nell'individuare le cause delle più note vulnerabilità (Buffer Overflow, XSS e SQL Injection e path traversal). Lo standard indica le seguenti debolezze: CWE-119 (Impropria Limitazione delle Operazioni all'interno dei Limiti di un Buffer di Memoria - Buffer Overflow), CWE-79 (Impropria Neutralizzazione dell'Input Durante la Generazione della Pagina Web - XSS), CWE-89 (Impropria Neutralizzazione di Elementi Speciali utilizzati in un Comando SQL - SQL Injection), CWE-22 (Impropria Limitazione dei Nomi di Percorso in una Directory Specifica - Path Traversal).
Quindi, come si evince da questo breve esempio, dopo aver individuato una vulnerabilità (CVE) se da questa è deducibile un CWE, mediante questo potrà essere definita una strategia per la fase di remediation.