I 25 errori di programmazione più pericolosi

di Tullio Matteo Fanti

scritto il

I maggiori esperti in sicurezza hanno stilato la lista dei 25 errori di programmazione più comuni e al contempo più pericolosi, nella speranza che ciò possa aiutare a creare codice più sicuro

Non sembrava una impresa facile, eppure gli oltre 30 esperti nel campo della sicurezza, riuniti per volontà del SANS Institute e di MITRE, non sembrano aver avuto dubbi nello stilare la classifica dei 25 errori di programmazione più comuni e al contempo più pericolosi per la sicurezza dei sistemi informatici.

Il killer numero uno della sicurezza informatica trova la sua identificazione nelle parole “Improper Input Validation“, ovvero la mancata verifica del tipo e della quantità dei dati inseriti. Al secondo posto, la voce “Improper Encoding or Escaping of Output“, alla base di molti attacchi basati sulla iniezione di codice.

Al terzo posto, “Failure to Preserve SQL Query Structure“, ovvero l’incapacità di proteggere la comunicazione con il proprio database SQL, offrendo ai cybercriminali una porta per generare le famigerate SQL Injection. Le prime due falle elencate, avrebbero nel 2008 permesso la contaminazione di oltre 1.500.000 siti Web.

Gli errori sono quindi evidenti, ben conosciuti e nella maggior parte dei casi facilmente evitabili; la lista dei principali 25 errori vuole quindi divenire una sorta di vademecum per i programmatori, da consultare e tenere sempre in considerazione per focalizzare l’attenzione su di quei bug che troppo frequentemente sono solamente causati da distrazione o pigrizia.

Secondo l’Office of the Director of National Intelligence, l’integrità del software e dell’hardware è un elemento critico per la sicurezza del cyberspazio. Creare software sicuro è un aspetto fondamentale, poiché l’infrastruttura governativa dipenderebbe in gran parte da prodotti commerciali.

Una lista completa degli errori, con tanto di dettagli su frequenza, conseguenze, rimedi etc., è disponibile qui.