Intervista al bug-hunter di Apache. I server web sono sicuri?

Un server è un computer accessibile attraverso una rete. Il sito Internet che state visitando (IlSoftware.
Intervista al bug-hunter di Apache. I server web sono sicuri?

Un server è un computer accessibile attraverso una rete. Il sito Internet che state visitando (IlSoftware.it) è situato su un server che si incarica di proporre il nostro sito a chiunque digiti l’indirizzo www.ilsoftware.it sul proprio browser (sia esso Internet Explorer, Opera, Netscape o Mozilla…).
Su ogni server è installato un software – denominato web server – che si incarica, essenzialmente, di proporre a ciascun visitatore che lo richieda attraverso l’uso del suo Internet browser, le pagine web che compongono il sito.
In particolare, il web server si incarica di processare pagine ASP (nel caso di IIS di Microsoft) o PHP (ad esempio Apache). Le pagine ASP e PHP sono dette “dinamiche” perché integrano, al loro interno, oltre al “classico” codice HTML per la “formattazione” delle pagine web, anche delle porzioni di codice che vengono elaborate proprio da parte del server prima di inviarne il risultato al browser web del “navigatore”.
Nel caso di ASP, il web server che s’incarica di elaborare e gestire le pagine dinamiche è di solito IIS di Microsoft (incluso nelle versioni Server di Windows 2000 e nelle versioni Professional di Windows 2000 e di Windows XP con alcune limitazioni).
Nel caso di pagine PHP è invece, solitamente, il web server Apache che richiama il “motore” di PHP (PHP Engine) affinché quest’ultimo effettui un’elaborazione specifica del codice prima che la pagina venga trasmessa al browser web dell’utente.
I linguaggi come ASP e PHP permettono di gestire in modo più semplice ed efficiente qualunque sito web, sia esso un sito aziendale oppure un sito editoriale.
Anticipando gli articoli sull’argomento programmazione che provvederemo a “pubblicare” nel prossimo futuro, abbiamo avuto modo di scambiare quattro chiacchiere con uno dei più famosi bug-hunter italiani. Luigi Auriemma (ved. sito web), Security Researcher per PivX.com (ved. sito web www.pivx.com
Per chi non la conoscesse, ricordiamo che PivX.com è una delle più conosciute società a livello mondiale che si occupa, in particolare, di consulenze in materia di sicurezza informatica. Proprio PivX.com mantiene, pressoché unica nel suo genere, una lista dei bug di sicurezza – non ancora patchati – di Internet Explorer.

Apache è, al momento, il server web più utilizzato a livello mondiale. Una indagine condotta dall’autorevole Netcraft Web Survey indica che nel mese di Agosto 2002 il 63,5% dei siti Internet usano Apache (il 25,4% server Microsoft (IIS); il 2,1% Zeus; l’1,3% iPlanet).
Nei giorni scorsi è stato scoperto, proprio da parte dell’italiano Luigi Auriemma, un pericoloso bug all’interno del pacchetto Apache 2.0 che consentirebbe ad un hacker remoto di causare seri danni al server e mettere a nudo dati sensibili.
L’esistenza di tale bug è stata ufficialmente confermata da parte del team di sviluppo di Apache ed interessa le installazioni di Apache effettuate su piattaforme non-Unix, quindi Windows, OS2 e NetWare. Va sottolineato come sia stata rilasciata a tempo di record una nuova versione di Apache (la 2.0.40) per risolvere il problema.

Abbiamo quindi deciso di scambiare qualche parola con Luigi Auriemma, il bug-hunter esperto di problematiche di sicurezza relative ai più famosi server web. Abbiamo chiesto a Luigi il suo parere sullo scenario odierno relativo al mondo dei server web e qualche parola in più sul bug di sicurezza da lui scoperto.
Luigi ci ha gentilmente rilasciato il commento che vi proponiamo di seguito.

[Luigi Auriemma]Apache è senza dubbio un ottimo web server e questa sua qualità è anche dovuta al fatto che essendo software OpenSource può essere migliorato e corretto da chiunque, visto che i suoi sorgenti sono distribuiti liberamente.
Inoltre il bug che ho trovato è dovuto più che altro ad una "svista" da parte dei programmatori in quanto Apache è protetto contro certi attacchi, e difatti per attuare l'attacco utilizzo due directory "esterne", ossia error e cgi-bin, bypassando il controllo del webserver.
Questo ci può far capire che qualsiasi server non può essere sicuro perché ci sono troppi fattori di cui tener conto e quindi l'unico modo è affidarsi alla comunità di bug researcher che cerca di pensare a cosa possa aver dimenticato il programmatore durante la stesura del codice.

Dopo aver scoperto il directory traversal bug in Apache ho voluto vedere, per curiosità, se ci fossero anche altri webserver vulnerabili ad un attacco simile e sono rimasto davvero sorpreso da quanti ne siano vulnerabili. Comunque nei prossimi giorni, dopo che i webserver che ho controllato saranno patchati, renderò note tutte queste vulnerabilità ed altre che ho trovato durante queste brevi verifiche.

Al momento comunque oltre al già citato bug per vedere od eseguire files sui server remoti ci sono molte altre "piaghe" per i webserver e naturalmente non solo per loro. In pratica dei problemi che sono dovuti non solo ad una distrazione da parte del programmatore ma proprio dovuti alle API dei sistemi operativi (in pratica come vengono gestite alcune operazioni, ad esempio la semplice apertura di un file).
Trovare un bug è qualcosa di grandioso ed entusiasmante ma sapere che moltissimi server (parliamo in questo caso di webserver) soffrano dello stesso problema è a dir poco sconfortante.

Ritornando al nostro caro Apache, senza dubbio raggiunge un buon livello di sicurezza su qualsiasi piattaforma (quindi non solo Unix-like) proprio grazie al fatto che essendo il più diffuso webserver al mondo è anche il "bersaglio" preferito dei ricercatori di bug.

Non dimentichiamoci però di tutti gli altri webserver che esistono e che meritano la stessa attenzione. In particolare i progetti più piccoli su cui l'autore ha un maggiore controllo ed è anche "affettivamente" più legato e che sono delle valide alternative.
Esistono webserver più veloci, altri che hanno una gestione più semplice, altri che - proprio perché implementano meno funzioni - sono leggermente più sicuri.

I grandi prodotti commerciali attualmente presenti sul mercato sono mastodontici: tanto più un programma è grande e complesso tanto più e vulnerabile.
La sicurezza di un prodotto non è data in proporzione ai soldi sborsati per averlo, anzi secondo me è vero il contrario semplicemente perché "sono in pochi a mettersi a configurare di tutto punto un server costoso su macchine anche loro costose e con sistemi operativi ancora più costosi (Sun, HP ecc..) SOLTANTO per effettuare del bug researching".
E naturalmente non ci sarebbe nessuno che rischierebbe di bloccare per giorni la sua attività solo per effettuare dei test su macchine di produzione o spendere altri soldi per un piccolo ambiente di testing.

L’advisory completo a proposito del bug scoperto in Apache (contiene numerosi dettagli tecnici in proposito) è reperibile sul sito web di Luigi Auriemma direttamente in questa pagina.

Per prelevare Apache 2.0.40, la versione del server web non affetta dal bug illustrato nell’advisory, fate riferimento a questa pagina.

Ti consigliamo anche

Link copiato negli appunti