Home News 8 miglioramenti sulla sicurezza Linux in 8 anni
8 miglioramenti sulla sicurezza Linux in 8 anni PDF Stampa E-mail
Venerdì 12 Giugno 2015 11:00

8 miglioramenti sulla sicurezza Linux in 8 anni

In questo articolo vi riproponiamo un post che è stato pubblicato qualche giorno fa sul portale InformationWeek e che mette in evidenza 8 miglioramenti apportati al sistema operativo Linux negli ultimi 8 anni.

Secondo l’autore del pezzo Charles Badcock, Linux ha iniziato a fare sul serio sulla sicurezza a partire dal 2007 e soltanto negli ultimi tre anni ha fatto passi da gigante.  Vediamo di seguito quali sono stati gli 8 miglioramenti individuati da InformationWeek.

1. Scansione del codice con Coverity dei progetti Linux

Il Dipartimento di Homeland Security nel 2006 ha stipulato un grosso contratto con il gruppo Computer Science Laboratory della Stanford University al fine di sviluppare un sistema di controllo del codice automatizzato che fosse in grado di eseguire la scansione di C, C++, C# e Java all’interno di diversi progetti open source. È stata così costituita un’azienda dal nome Coverity per capitalizzare il servizio di analisi del codice open source, non appena il contratto con il DHS era terminato.

Nasce così il progetto Coverity Static Analysis Verification Engine (SAVE). Si tratta di un servizio online che può essere utilizzato per effettuare un’analisi statica del codice (ossia del codice non in esecuzione). In particolare il servizio esamina le linee di codice una per una ed esegue differenti test allo scopo di individuare buffer overflow, broken authentication, scross-site scripting, opportunità di code injection e tantissime altre vulnerabilità che potrebbero essere sfruttate da hacker.

2. Scansioni del codice kernel di Linux

Nel luglio del 2013 Dave Jones, Linux kernel developer, ha suddiviso il grande progetto kernel in diversi gruppi di codice ed ha deciso di utilizzare proprio Coverity per la scansione. Questo modo di operare ha riprodotto un quadro chiaro dei punti del kernel dove giacevano dei problemi.

Per anni il numero di difetti introdotti nel kernel è stato sempre in continua crescita, ma a partire dal 2013 il rapporto ha subito una inversione .

3. Maggiore impegno degli sviluppatori per la sicurezza di Linux

L’individuazione tramite Coverity di bugs, difetti e vulnerabilità ha dimostrato come i metodi fino ad allora messi in pratica per aumentare la sicurezza di Linux non fossero sufficienti. Gli sviluppatori hanno impiegato del tempo a comprendere che i bug presenti nel codice non sono mai stati risolti, anzi continuavano ad aumentare.

Le scansioni tramite Coverity hanno risolto in parte il problema. La squadra di Dave Jones, dopo aver dato uno sguardo ai risultati rimandava al mittente la porzione di codice che presentava dei problemi. In tal modo ogni sviluppatore si è dovuto impegnare a risolvere il codice non sicuro. Quando gli stessi developer hanno compreso che il merito non derivava più solo dal fatto di aver contribuito allo sviluppo del codice open source, ma anche e soprattutto dall’aver consegnato codice privo di errori, le vulnerabilità riscontrate da Coverity sono diminuite.

4. Tasso di difetto in declino

In un post sul suo sito Dave Jones ha pubblicato un grafico che mostra il declino del tasso di difetto all’interno del codice kernel Linux. Il tasso di difetto di 1 su 1000 linee di codice  è considerato di alta qualità. Il kernel di Linux aveva già un tasso inferiore, pari a 0.7, ma a partire dal 2013 il suo declino ha continuato ad aumentare.

5. Maggiore velocità di individuazione e risoluzione delle vulnerabilità

Sempre a partire dal 2013 la velocità nell’individuare e risolvere difetti e vulnerabilità è aumentata notevolmente. Con scansione dei codici più volte a settimana, Dave è stato in grado di identificare fin da subito i problemi e rinviare allo sviluppatore la porzione di codice per la risoluzione immediata.

6. 20 milioni di linee di codice e pochi bug

Prima ancora dell’impiego di Coverity, la battaglia per la sicurezza di Linux aveva avuto inizio a partire dal 2007 con Andrew Morton. In quell’anno il kernel di Linux si basava su oltre 3 milioni di righe di codice, presentava oltre 400 bug e solo poco più di 200 sono stati eliminati. Nel 2012 il kernel aveva oltre 7 milioni di linee di codice, presentava poco più di 5800 bug e 5170 sono stati risolti. Nel 2013 si assiste all’inversione di marcia. Il codice kernel si basa su più di 8 milioni di righe di codice, i bug individuati sono scesi a quasi 3300 e sono stati quasi tutti risolti. Ad oggi il kernel può contare su 20 milioni di righe di codice.

7. Altri strumenti oltre a Coverity

Greg Kroah-Hartman, sviluppatore del kernel Linux, ha fatto presente alla redazione di InformationWeek, che oltre a Coverity esistono altre strumenti che aiutano a migliorare la sicurezza di Linux. Ad esempio Coccinelle che genera degli script che consentono di analizzare e correggerre porzioni di codice. Ogni settimana si ottengono nuovi script da aggiungere al Framework ha confermato Kroah-Hartman. Coccinelle viene utilizzato prima che il codice sia scansionato con Coverity.

8. Zero-day Bot

Lo stesso sviluppatore di Linux ha affermato che lo strumento Zero-day Bot, sviluppato da Intel e gestito da Fengguang Wu, attraversa tutto l’albero di sviluppo e gestisce tantissimi strumenti di analisi statica. Zero-day bot invia se riscontra dei problemi invia delle segnalazioni al committer e a volte è in grado di fornire anche delle patch automatizzate.

Tutti questi nuovi modi di operare hanno di certo migliorato la sicurezza di Linux, diminuendo i bug e le vulnerabilità all’interno del codice.

 

Tutorial

Vuoi approfondire degli argomenti specifici? Segui i miei tutorial, per dubbi o domande contattami.

Vai ai tutorial

Flickr

Guarda le mie foto su Flickr. Hai bisogno di foto particolari? Vuoi imparare a fotografare? Contattami
flickr_logo

Servizi Online

Vuoi predisporre il tuo sito web personalizzato? Hai bisogno di aiuto o consulenza?

Acquista i servizi online

Contattami

Per approfondimenti o informazioni su corsi di formazione o lavori contattami.

Richiedi uno scambio link con il mio sito.