L'Open Source a caccia di bachi

Nell'ultimo anno, circa 250 progetti open source sono stati setacciati dagli sviluppatori a caccia di bug e falle di sicurezza. Rispetto al 2006, si è registrata una flessione del 16% dei difetti riscontrati negli applicativi
L'Open Source a caccia di bachi
Nell'ultimo anno, circa 250 progetti open source sono stati setacciati dagli sviluppatori a caccia di bug e falle di sicurezza. Rispetto al 2006, si è registrata una flessione del 16% dei difetti riscontrati negli applicativi

Sono state più di 55 milioni le righe di codice open source analizzate nell’ultimo anno alla ricerca di bachi ed eventuali falle di sicurezza. La ricerca è stata condotta da Coverity grazie al finanziamento di 300.000 dollari su base
triennale da parte del dipartimento per la Homeland Security degli Stati Uniti proprio allo scopo di setacciare il codice aperto di numerosi progetti di software libero per individuare bug ed errori di programmazione.

La prova del nove ha riguardato circa 250 progetti open source tra cui il kernel Linux, Firefox,
il sistema di condivisione file Samba, il web server Apache, ma anche
linguaggi come PHP e Ruby. Dai risultati emerge un segnale positivo per
il software aperto: rispetto a due anni fa la qualità del codice è aumentata insieme alla sua sicurezza. C’è stata infatti una riduzione del 16% dei difetti rispetto alla precedente analisi datata 2006: da un difetto ogni 3.333
righe della ricerca di due anni fa si è scesi a un difetto ogni 4.000
linee analizzate. Un risultato di cui si dice soddisfatto anche David
Maxwell, del settore Open Source di Coverity, che in un’intervista ha dichiarato «Si nota dalle statistiche che gli sviluppatori open source sono interessati alla qualità del codice e indirizzano gli sforzi per renderlo migliore e più sicuro».

Un risultato che
abbracciando una statistica generale (Coverity non ha diffuso dati sui singoli software) si scontra con alcuni casi particolari. Dopo le falle scoperte nel kernel Linux, un altro importante problema di sicurezza ha fatto capolino nel pacchetto OpenSSL utilizzato per la creazione di connessioni protette SSL e TSL ed utilizzato dalle distribuzioni Linux Debian e Ubuntu.
Il problema riguarda un errore nella programmazione del generatore di
numeri random che permetterebbe ad un aggressore di predire le chiavi
di crittografia generate dal software difettoso. La falla è stata
corretta a poche ore dalla sua scoperta, ma fa discutere il lungo
periodo in cui le macchine equipaggiate con le due distribuzioni sono
rimaste vulnerabili: sono infatti trascorsi più di due anni tra l’introduzione del codice difettoso e la scoperta del bug. Un
periodo che paradossalmente rassicura gli utenti: una latenza così
lunga indica infatti o che nessun potenziale aggressore ne fosse a
conoscenza o che la falla fosse difficilmente sfruttabile per sferrare
un attacco.

Ulteriore contrasto tra la ricerca di Coverity e le
recenti debolezze venute a galla riguarda la tipologia dei bachi.
Secondo l’analisi il difetto più comune è il “Null pointer reference”,
e più in generale tutti gli errori nella gestione dei puntatori, un
problema che solitamente colpisce i programmatori meno esperti alle
prese con i linguaggi C e C++, largamente utilizzati soprattutto nei
progetti più corposi. Proprio riguardo i software più complessi,
la ricerca sfata un mito secondo cui il numero di bachi aumenta
esponenzialmente con la lunghezza del codice. L’analisi ha infatti
rilevato che nel 72% dei casi la correlazione tra bachi e righe di
codice è generalmente lineare
.

Coverity
è una società specializzata nell’analisi qualitativa del codice
sorgente con sede a San Francisco e fondata nel 2002 da alcuni
ricercatori dell’università di Stanford che già nel 2000 avevano
sviluppato alcuni tool automatici inizialmente utilizzati per l’analisi
del codice sorgente del kernel Linux.

Ti consigliamo anche

Link copiato negli appunti