PHP filesystem attack vector

Qualche giorno fa il team USH ha rilasciato una advisory, a firma di Francesco ‘ascii’ Ongaro e Giovanni ‘evilaliv3′ Pellerano, a riguardo di alcune vulnerabilità riscontrate in alcune funzioni di PHP per l’accesso al filesystem; nello specifico alle funzioni della famiglia include e require.
I problemi identificati portano un attaccante a poter gestire un Local File Inclusion in piena autonomia, bypassando filtri, prefissi o suffissi hardcoded all’interno della chiamata alla funzione.

Nel dettaglio si tratta di due scoperte distinte, che se usate in accoppiata permettono di fare truncation del path in modo da aprire un file arbitrario presente sul filesystem del sistema o all’interno della open_basedir se configurata.

Consiglio di leggere l’advisory completa e magari il thread dedicato su Full Disclosure.

 

Dopo tanto tempo

Dopo tanto tempo mi trovo a scrivere su questo spazio; è passato più di un mese dall’ultimo post pubblicato.

Causa di tutto questo gli impegni che, dalla fine dell’estate, hanno avuto un impennata esponenziale. Solo ultimamente riesco ad organizzare il (poco) tempo libero in maniera ottimale.

Nel frattempo si è svolto anche l’ESC e l’hackit_07.
Andiamo con ordine: all’ESC ho parlato di “GoogleTistic e WordPressTistic” insieme a Matteo Flora, non posso negare che è stata una bella esperienza e spero che abbia seguito a prossime manifestazioni: stay tuned. Le slides verranno pubblicate a breve.
Essendo la mia prima presenza a questa manifestazione non posso fare considerazioni, ma per quel poco che sono stato ho apprezzato l’atmosfera dell’hackIT_07: organizzazione, voglia di sperimentare e sopratutto non mi sembra di aver notato dei montati. Stando alle cronache dell’anno passato, quest’anno direi che, fortunatamente, i connotati filo-politici erano meno marcati. Vado a questo genere di eventi per parlare con amici, tecnici, smanettoni, ecc.. e la politica è bene lasciarla a casa.

Linux Day 2007Parlando invece di eventi futuri ricordo a tutti che tra poco più di una settimana si terrà il Linux Day 2007. Sabato 27 Ottobre si svolgerà in contemporanea in 106 città italiane la manifestazione nazionale articolata in eventi locali che ha lo scopo di promuovere Linux e il software libero. Il Linux Day è promosso da ILS (Italian Linux Society) e organizzato localmente dai LUG italiani e dagli altri gruppi che condividono le finalità della manifestazione.
Per il terzo anno consecutivo sto aiutando il LUG ACROS nell’organizzazione dell’evento che si svolgerà a Querceta (LU). In quella giornata terrò un seminario su Drupal: un CMS scritto in PHP rilasciato con GNU GPL.

Passando a tutt’altro argomento va un particolare ringraziamento a Feliciano Intini e Mario Fontana, che mi hanno fatto una gradita sorpresa: da pochi giorni appaio nella lista dei security blog italiani creata da Feliciano, grazie per la fiducia!

 

Buio e silenzio di Skype

Non ne ho voluto parlarne subito per poter avere degli elementi in più. Ora forse è anche troppo tardi, ma si sa, il rientro dalle ferie è sempre difficile.
Penso che in pochi non lo sappiano: dal 16 Agosto, per due giorni, c’è stato un black-out dei server di login di Skype che hanno comportato l’impossibilità di connettersi a milioni di utenti. Per la cronistoria c’è il primo avvertimento dato da skype, il suo aggiornamento e addirittura un articolo di Repubblica arrivato con la dovuta calma.

Dal comunicato ufficiale (disponibile anche in italiano) si apprende come:

The disruption was triggered by a massive restart of our users’ computers across the globe within a very short timeframe as they re-booted after receiving a routine set of patches through Windows Update.

The high number of restarts affected Skype’s network resources. This caused a flood of log-in requests, which, combined with the lack of peer-to-peer network resources, prompted a chain reaction that had a critical impact.

Questo è il grafico creato con l’aggregazione dei dati ufficiali rilasciati da Skype: Skype online-user on 16th August

Come si può vedere la discesa del numero di utenti connessi alla rete P2P (che forse non è così tanto P2P) è iniziata intorno alle 9:30AM (GMT) di Giovedì 16 Agosto.
Microsoft ha rilasciato le patch Martedì 14 Agosto, ben due giorni prima del down dei server di Skype. Mi verrebbe da pensare che essendo vicino a Ferragosto molti utenti (casalinghi per la maggior parte) abbiano installato le patch solamente il 16 Agosto scorso, ma dalle statistiche Skype si vede come il 15 Agosto erano circa 700.000 gli utenti in meno in confronto al giorno precedente. Ciò, secondo me, non può giustificare un calo improvviso di “supernodi” imputabile al riavvio dopo l’installazione delle patch. In più come fa notare un post su Security Team solo una patch, tra quelle rilasciate da Microsoft, potrebbe richiedere il riavvio del sistema.

Il 17 Agosto è comparso su un sito di sicurezza Russo (http://en.securitylab.ru/poc/extra/301419.php) un exploit che prometteva un DoS verso i server di Skype passando da riga di comando un numero di telefono arbitrario direttamente al client. Grazie anche all’ottima analisi di ascii si è capito che tale codice non era altro che un fake.
Ciò non significa che l’exploit non esista proprio, magari era stato rilasciato da qualcuno che ne aveva sentito parlare “nell’ambiente” ma che non ha avuto le capacità per riprodurlo.

Guarda caso, sempre il 17 Agosto, è stata rilasciata anche una nuova versione di Skype: 3.5.0.214.

Nel primo comunicato, Skype, ha ammesso che oltre ad essersi presentata una situazione particolare nella propria rete P2P, era emerso un bug finora non conosciuto:

Normally Skype’s peer-to-peer network has an inbuilt ability to self-heal, however, this event revealed a previously unseen software bug within the network resource allocation algorithm which prevented the self-healing function from working quickly.

Nel secondo comunicato è stato chiarito che è stata migliorata la resilienza del software stesso:

The parameters of the P2P network have been tuned to be smarter about how similar situations should be handled. Once we found the algorithmic fix to ensure continued operation in the face of high numbers of client reboots, the efforts focused squarely on stabilising the P2P core.

Ognuno tragga le proprie conclusioni, perchè dalle spiegazioni generiche che ha dato Skype, si capisce solo che non gradiscono la full-disclosure. Vedo che anche zen la pensa come me.

 

Net&System Security 2007: analisi e vulnerabilità dei sistemi informatici

Net and System security@Systemgroup, una collaborazione tra @System e Bitflow, organizza il V Convegno Net&System Security – analisi e vulnerabilità dei sistemi informatici. L’evento avrà luogo il 27 Novembre 2007 presso il Palazzo dei Congressi di Pisa, e vedrà la partecipazione di alcuni esperti e delle maggiori aziende leader del settore della sicurezza informatica.

Nell’ambito del convegno si terra’ la seconda edizione del Call For Paper, per cui sono previste due categorie di partecipazione; “Professional” e “Student”.

Tutti i paper selezionati saranno inseriti negli atti del convegno ed avranno il valore di una pubblicazione scientifica. Inoltre, agli autori dei migliori elaborati sara’ data la possibilità di presentarli durante l’evento.

Al vincitore di ogni categoria sarà assegnato il riconoscimento come “Best Paper Award”, e per l’autore dell’elaborato piu’ meritevole della categoria “Student” è prevista l’assegnazione di un celluare Linux-Based “Neo1973 Advanced Edition” .

La partecipazione al CfP è gratuita. Maggiori informazioni sono disponibili alla sezione dedicata presente sulla pagina web del convegno.

 

Windows indicato come sistema operativo più sicuro

La notizia proviene dall’undicesimo Symantec Internet Security Threat Report. L’analisi rilasciata da Symantec prende in esame le vulnerabilità (inclusi quelli dei sistemi operativi) degli ultimi sei mesi del 2006.
Durante questo periodo 39 vulnerabilità, 12 delle quali gravi, sono state scoperte in Microsoft Windows. Il tempo medio impiegato per il rilascio di patch, da parte di Microsoft, è di 21 giorni. Nel primo semestre 2006 le vulnerabilità segnalate sono state 22 con 13 giorni medi per il rilascio delle patch.
Al secondo posto della classifica si trova Red Hat Linux con 208 vulnerabilità, di cui 2 gravi e 58 giorni di media per il rilascio dei fix. Nella prima metà del 2006 il numero dei bug segnalati in RHL sono stati 42 con 13 giorni medi per il fix.
La classifica continua con Mac OS X e HP-UX.

Sono sicuro che gli investimenti di Microsoft, fatti negli utlimi anni, abbiano contribuito a rendere più sicuri prodotti come Windows XP (SP2) e Windows Vista.
Da una ricerca fatta da Jeff Jones, rilasciata il giorno dopo quella di Symantec, Vista si è dimostrato più sicuro nei 90 giorni successivi al lancio sul mercato rispetto a XP.
Anche in questo documento viene messo a confronto Windows con sistemi come Red Hat Linux (Workstation 4), Ububtu (6.06 TLS), SUSE (Desktop 10) e altri.
Le ricerche di Symantec e di Jones non riportano la lista delle vulnerabilità prese in esame per le loro statistiche, così ho deciso di percorrere a ritroso la lista su Secunia, per Ubuntu le parti interessate sono: mono, gdm, kernel, ruby, gpg, ecc…
Nella lista di Windows XP Pro si trovano (sempre in ordine cronologico inverso): CSRSS (kernel), NetrWkstaUserEnum (kernel), CSRSS (kernel), Outlook Expres, CSRSS (kernel), ecc…

Non ci vuole molte a capire che il tipo di vulnerabilità dei due sistemi operativi sono completamente differenti; nella prima lista sono presenti maggiormente funzionalità non facenti parte del Kernel essendo applicazioni di terze parti, la seconda lista invece riporta problemi relativi al kernel di Windows.
Com’è possibile mettere a confronto un sistema operativo, come Ubuntu, che fornisce nativamente circa 10.000 pacchetti con uno come Windows che ne fornisce si e no 20?

In questa gara non ci sono vincitori, ma solo vinti.