Così come accaduto lo scorso anno, oltre trenta organizzazioni internazionali che si occupano di sicurezza, si sono sedute attorno ad un tavolo per stilare la lista dei 25 errori di programmazione più pericolosi. Si tratta di “leggerezze” che sono considerate particolarmente gravi perché possono esporre le applicazioni sviluppate ad attacchi esterni favorendo, ad esempio, attività criminali e sottrazione di dati.
Il documento che illustra gli errori di programmazione più deleteri è consultabile facendo riferimento a questa pagina. Ogni errore è stato commentato, valutato in termini di criticità e suddiviso in categorie.
Nella sezione “insecure interaction” sono raccolti gli errori che possono condurre all’iniezione di codice dannoso, nell’area “risky resource management” sono esposte problematiche di programmazione che possono portare ad attacchi di tipo buffer overflow o risultati non validi mentre nella sezione “porous defenses” vengono affrontate le “falle” nelle procedure di autenticazione o crittografia.
Per ciascun errore, viene indicata anche la semplicità nell’individuazione dello stesso, i costi per la risoluzione del problema, la frequenza di attacchi ed il livello di conoscenza generale del problema da parte degli aggressori.
In testa alla classifica, per gravità del problema, ci sono sempre le vulnerabilità che espongono un sito web ad attacchi “cross-site scripting” (XSS); al secondo posto la mancata “pulizia”, effettuata dal programmatore, delle stringhe ricevute in ingresso dall’utente ed utilizzate all’interno delle interrogazioni SQL. Seguono, al terzo e quarto posto, le classiche vulnerabilità di “buffer overflow” (la copia di un dato ricevuto in input senza verificarne la corretta dimensione) e le “cross-site request forgery” (CSRF).
Appena un paio degli errori descritti nel documento di pubblica consultazione, sarebbero responsabili – secondo le stime – di quasi due milioni di attacchi sferrati nei confronti di siti web.