Vulnerabilità PHP (e altri linguaggi) postato il 13/01/2012 11:24:45 nel forum programmazione, gdrcd, open source, hosting e modificato da blancks il 13/01/2012 11:33:21
Per i non anglofoni faccio un sunto dell'articolo, per chi volesse leggerlo per intero può trovarlo al seguente indirizzo.
http://www.phpclasses.org/blog/post/171-PHP-Vulnerability-May-Halt-Millions-of-Servers.html http://www.phpclasses.org/blog/post/171-PHP-Vulnerability-May-Halt-Millions-of-Servers.html ↗
PHP come altri linguaggi per il web pare soffrano di una vulnerabilità non poco problematica, la hash table collision.
In parole povere, senza approfondire le meccaniche di funzionamento interne di PHP, consiste in un overload della richiesta http da inviare al server di modo che vi sia una quantità impressionante di dati da mandare in pasto a PHP per lo smistamento nelle superglobali _POST, _GET, _COOKIE permettendo così ad un numero di richieste di molto inferiore a quelle necessarie per un DDoS di creare un singolo processo PHP sulla macchina che impiega il 99% della CPU rallentando il tutto fino ad un possibile arresto del sistema.
La vulnerabilità a quanto pare non è nuova e venne presentata la prima volta nel 2003 ma fu tenuta in considerazione (all'epoca) solo dai team di sviluppo di Perl e cruby, PHP e altri linguaggi odierni si trovano quindi a dover affrontare in sostanza il rimaneggiamento di un vecchio problema.
Perché il problema torna all'attenzione adesso ? PHP nel 2003 non era certamente diffuso come oggi (secondo i ricercatori, dice l'articolo, "77% of the Web servers run PHP").
I danni derivanti dal problema non sono stati del tutto risolti ma sono stati fortemente limitati grazie alle ultime patch applicate nelle release 5.3.9 RC5 e 5.4.0 RC5 di PHP, in sostanza è stato introdotto nel php.ini il valore max_input_vars, di default impostato a 1000, che indica il numero massimo di informazioni da catalogare negli array di sistema ignorando i successivi.
Più è impostato ad un valore basso meglio è, e visto che siamo in tema di gdr-online ritengo che impostarlo a non più di 100/150 (a seconda dell'applicazione) possa essere sufficiente.
Cosa succede se non si può eseguire l'upgrade di una vecchia versione di PHP a causa di una customizzazione che mi farebbe perdere del lavoro fatto ? Se sul vostro server dedicato o vps non potete effettuare l'upgrade di PHP per motivazioni varie potete ricorrere ad un utilissima estensione chiamata Suhosin sviluppata da Stefan Esser nel 2004, uno specialista in materia di sicurezza che già all'epoca non prese sottogamba la questione, e che prevede un parametro analogo a quello introdotto recentemente nel php.ini chiamato max_vars http://www.hardened-php.net/suhosin/configuration.html#suhosin.get.max_vars ↗.
Se siete su un servizio di hosting condiviso ovviamente voi non potete farci nulla in proposito, sta al provider procedere con l'upgrade se non si tutela già da se con soluzioni proprietarie (ad esempio, è pratica comune per gli hosting bloccare i siti da cui provengono richieste anomale e potenzialmente pericolose per il server).
Dovrebbe essere ovvio per uno sviluppatore tenersi informato e prendere con serietà ed urgenza simili problematiche di sicurezza, sfortunatamente (aggiunge l'articolo) non tutti i developers sono bene educati a tal fine e anche developer esperti possono talvolta lasciarsi sfuggire qualche questione: nessuno può essere a conoscenza di tutto.
Motivo (con cui concordo appieno :p) per cui mi è sembrato giusto diffondere e riassumere l'articolo ;-)
Pagine → 1
13/01/2012 14:28:20
Molto interessante! Un motivo in più per passare a sviluppare applicazioni web in python :-D
13/01/2012 15:00:02
13/01/2012 17:08:04
non si salva nessuno.. non conoscevo di tutte queste possibili falle.. davvero interessante l'articolo!!
14/01/2012 01:57:29
Uddea, non avevo letto anche di python!
Non si salva proprio nessuno?
14/01/2012 12:48:50
15/01/2012 21:37:29
stesso problema su IIS e il framework .net (e figurati se lo evitavano di finirci in mezzo =P)
16/01/2012 15:22:33 e modificato da blancks il 16/01/2012 15:35:07
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
The Coven: La quest continua...
I dati del generatore di rank sono stati aggiornati!
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
Legacy of Magic: Festa della cacciata della Perdizione
Storie di Agarthi: Piccoli ritocchini per enormi Titani
CRSED: F.O.A.D.: Corsa agli zombi!
Il gestore di Le Cronache di Raja Dunia ha risposto alla recensione di derek_ryger
Crossout → Tuffati nel mondo di Crossout, il gioco MMO d'azione post apocalittico! Costruisci le tue speciali macchine da combattimento!
Il gestore di Crystal Tokyo ha risposto alla recensione di aryamoon
La Tana del Ladro: TdL Stories - 🌑 Le Maschere Nere 🌑
dalya ha recensito Le Cronache di Raja Dunia
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita nell'arena! Ogni giocatore sarà accompagnato da armi realistiche e magie!
Age of Crystals: Evento Arrivederci Genithalia, Benvenuto Rhotyx IV
RAID Shadow Legends: Contest Grafico!
Enlisted: Foreste del Brandeburgo - Ampliamento della sede
Il portale raggiunge i 16.600 giochi catalogati! Grazie a tutti!
RAID Shadow Legends → Plasma i tuoi eroi fino a farli diventare vere e proprie armi viventi e assembla i più epici gruppi d'assalto mai visti finora!
Left to Survive - Left To Survive è un gioco FPS con un'ambientazione post-apocalittica in cui gli Zombi hanno schiavizzato la Terra e ne hanno preso il controllo!
Justice League - Suicide Squad: Kill the Justice League, tutte le ultime notizie (buone e cattive) sul titolo Rocksteady
Block Spam - Lista di 1596 domini email utilizzati da spammer e lurker! Difendiamo in nostro gioco!
Giochi di Carte - I giochi Card Game (conosciuti anche come Trading Card Game o Giochi di Carte Collezionabili) consentono di giocare in versione digitale!
Enlisted - Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Dusk - Intervista a Dusk, il play by chat Urban Fantasy ambientato nell'America rurale!
Play Therapy - L’infermiere e il potere terapeutico del gioco nei bimbi ospedalizzati
Epos Tolkeniano - Tesi sul tramonto dell'epos nell'universo mitologico di J.R.R. Tolkien