OWASP Day IV – Milano 6 Novembre

OWASP organizza il prossimo 6 Novembre a Milano la IV edizione dell’OWASP Day. Speaker d’eccezione tratteranno le nuove tematiche di Web Application Security per una delle più rinomate e attese conferenze di Information Security sul territorio nazionale.

In questa occasione CIO, CTO, CISO, Auditor, Responsabili IT, Security Manager e responsabili della Security Governance avranno l’occasione di aggiornarsi sull’evoluzione della sicurezza applicativa e sulle nuove iniziative di Software Security presenti nel panorama internazionale.

Informazioni e pre-bopoking all’evento: http://www.owasp.org/index.php/Italy_OWASP_Day_4

Ci sarò!

 

Utilizzi impropri dell’header HTTP X-Forwarded-For

L’header X-Forwarded-For, come tutti gli header HTTP che hanno come prefisso “X-”, è un campo non definito da una RFC ma introdotto da Squid. E’ utilizzato per segnalare al server Web l’IP assegnato al client, che fa uso di un proxy.

Quando si scrive un’applicazione Web normalmente si tiene traccia o si utilizza in vari modi l’indirizzo IP del client che ha effettuato la richiesta. In tal senso è veramente semplice ottenere l’indirizzo IP tramite un qualsiasi linguaggio lato server.

Ecco come potrebbe presentarsi una tipica richiesta che passa attraverso Squid:

Host: www.example.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
X-Forwarded-For: 192.168.30.25
Proxy-Connection: keep-alive

L’header X-Forwarded-For, essendo sotto il pieno controllo del client, può essere utilizzato da un attacker per veicolare qualsiasi contenuto. Capita spesso di vedere un utilizzo completamente errato di X-Forwarded-For:

//PHP style
$ip = $_SERVER['X_FORWARDED_FOR'] ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];

oppure

// C# style
String _ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
If (_ip == "" || _ip.ToLower == "unknown")
_ip = Request.ServerVariables["REMOTE_ADDR"];

La logica del codice precedente fa in modo che se l’header X-Forwarded-For è presente viene preso il suo contenuto, senza nessun tipo di validazione, come indirizzo IP del client. In questo non è difficile creare ad arte richieste per ingannare l’applicazione:

X-Forwarded-For: 1.2.3.4

oppure

X-Forwarded-For: ‘ ; SELECT VERSION() –

La logica giusta per gestire gli indirizzi IP è quella di utilizzare il contenuto dell’header X-Forwarded-For in maniera non esclusiva e sopratutto di trattarlo come un qualsiasi user-input.

 

Month of Twitter bug

Twitter Luglio sarà il mese dei bug legati  a tutti i servizi che utilizzano le  API di Twitter: Month of Twitter Bug (MoTB per gli amici) appunto.
Ieri sono stati pubblicati diversi XSS riguardanti il servizio bit.ly utilizzato per rendere più brevi le URL. La pericolosità degli XSS sta nel fatto che nell’account di bit.ly si possono inserire i profili di Twitter in modo da postare gli aggiornamenti direttamente da quel servizio. In questo modo un XSS può permettere all’attaccante di aggiornare l’account di Twitter della vittima senza che questa se ne accorga.

Per ora non sono state ancora pubblicate i dettagli del secondo servizio coinvolto a causa del fuso orario.
Per oggi 2 Luglio è statopublicato un XSS sul servizio HootSuite che permette la gestione di più account Twitter. Leggendo i commenti del post però sembra che ci siano altri XSS sul servizio oltre a quello segnalato dal MoTB.

L’idea è venuta ad Aviv Raff, già coinvolto nel Month Of Browser Bug creato da H.D. Moore, per mettere in luce quanto sia importante la cura della sicurezza dei servizi terzi che utilizzano le API di Twitter. Non ci vorrebbe molto a scrivere un worm che, sfruttando tutte queste vulnerabilità, impatti su un gran numero di utenti di Twitter.

Sarà sicuramente interessante leggere tutte le vulnerabilità che verranno pubblicate durante il mese.

 

A riguardo dei dati trafugati del progetto Joint Strike Fighter (F-35)

La notizia è passata la scorsa settimana anche sui quotidiani italiani, ma le informazioni più interessanti le ho trovate su “Computer Spies Breach Fighter-Jet Project” del “The Wall Strett Journal”.

Alcuni passi dell’articolo risultano essere interessanti:

In the case of the fighter-jet program, the intruders were able to copy and siphon off several terabytes of data related to design and electronics systems, officials say, potentially making it easier to defend against the craft.

e poi:

Computer systems involved with the program appear to have been infiltrated at least as far back as 2007

Un accesso continuato con un furto di TB di dati sembra essere un qualcosa di premeditato e con un discreto interesse alle spalle. Non credo possibile l’ipotesi di un attacco “casuale”.
Difficile e forse inutile stabilire la vera sorgente dell’attacco; c’è chi parla già del ritorno della guerra fredda.

Da “I signori della truffa”:

C’è una guerra là fuori, amico mio. Una guerra mondiale. E non ha la minima importanza chi ha più pallottole, ha importanza chi controlla le informazioni. Ciò che si vede, si sente, come lavoriamo, cosa pensiamo, si basa tutto sull’informazione!

 

Le Webmail sono morte, viva le Webmail

Il fenomeno Webmail 2.0 è scoppiato da quando Google con la sua Gmail, ha scosso i concorrenti proponendo svariati giga per archiviare la propria posta elettronica online.
Non sempre però va tutto come dovrebbe e succede che la privacy della propria casella viene messa a rischio da vulnerabilità XSS e CSRF; evidentemente di criticità media-bassa nella svariata maggioranza di casi.
In questo caso però, grazie alla somma di più problemi un attacker può modificare le configurazioni delle caselle di posta elettronica delle vittime, impostando l’inoltro automatico di tutte le mail in arrivo verso un account e-mail da egli controllato. In tal modo è possibile violare la riservatezza delle caselle delle vittime senza ricorrere ai comuni metodi di identity stealing (cookie stealing, credential stealing), ma semplicemente inviando e-mail, preparare ad arte, alle vittime.
La pericolosità di questa tecnica è resa critica grazie a tre fattori:

  1. semplicità di exploiting (cross-browser)
  2. scarsa awareness della vittima (nessuna interazione richiesta oltre all’apertura della mail stessa)
  3. diffusione sul web (ampia diffusione della piattaforma vulnerabile e possibilità di propagazione virale)

Sia chiaro, nessuna novità nella categoria delle vulnerabilità delle Web Application, ma una dimostrazione di come l’insieme di alcune di queste può portare ad uno dei più gravi problemi mai registrati on-the-wild su Web Application. I bug scoperti sono adatti per sfruttati da quello che potrebbe essere uno dei più grandi e gravi Worm delle Web Application: numero di domini Internet coinvolti maggiore di 10 (cross-domain) e semplicità di propagazione.

Prima di scendere nei dettagli del funzionamento dell’attacco è doveroso precisare che il problema è stato corretto a tempo di record dal vendor che si è dimostrato attento alla sicurezza dei propri clienti.

(Continua…)