di  -  lunedì 2 marzo 2009

Lunedì scorso Jeremiah Grossman ha pubblicato le Top Ten Web Hacking Techniques of 2008, ovvero una selezione delle 10 migliori pubblicazioni in fatto di (in)sicurezza Web rilasciate durante il 2008, tra le 70 sottoposte all’attenzione della giuria composta da Rich Mogull, Chris Hoff, H D Moore e Jeff Forristal. E’ utile dare un’occhiata a queste tecniche per comprendere dove si sta dirigendo e dove si è giunti sin ora nel campo della sicurezza Web, sicuramente il settore più in fermento e mutevole del IT security.

Al primo posto si è qualificato un gruppo di famosi ricercatori composto da Billy Rios, Nathan McFeters, Rob Carter e John Heasman con quello che viene chiamato attacco GIFAR.

Il nome deriva dall’unione degli acronimi GIF + JAR, l’attacco consiste infatti nel prendere due differenti tipi di file come appunto un’immagine GIF (ma anche una JPG o un DOC) e un archivio Java JAR e combinarli tra loro (per esempio sotto Windows con il comando copy a.gif + b.jar c.gifar). Il file risultante sarà trattato come un’immagine GIF dalla maggior parte delle Web applications e dei browser ma come un file JAR da Java, e poiché molti siti permettono l’upload di immagini ma non di archivi JAR proprio per ragioni di sicurezza, un’attaccante sarà ora in grado di superare questo ostacolo e caricare sul sito codice Java potenzialmente malevolo per chi dovesse visualizzarlo.

La Sun e Google sono stati i primi grossi soggetti ad aver sistemato la vulnerabilità nei loro prodotti (Java e Picasa).

Al secondo posto troviamo Yair Amit con Breaking Google Gears’ Cross-Origin Communication Model.

Google Gears è un plug-in che gira su molti browser e ha il compito di estendere le funzionalità del browser stesso al fine di gestire applicazioni Web molto più potenti ed innovative in particolare per quanto riguarda i contenuti off-line. Viene utilizzato in diversi prodotti e siti Web come Google Docs, Google Reader, Picasa, MySpace, Zoho Writer e WordPress.

L’attacco permette di violare l’importantissima same origin policy dei browser che dovrebbe garantire una necessaria disparità di trattamento tra ciò a cui possono accedere script residenti sullo stesso dominio del sito che si sta visitando ed eventuali script esterni. Immaginate che un attaccante, facendovi visitare un link innocente, riesca a carpire il contenuto dello storage locale del vostro blog WordPress o dati ancora più sensibili; certo non fa piacere.

Al terzo posto c’è Nitesh Dhanjani con la Safari Carpet Bomb che permetteva a qualsiasi sito Web di scaricare eventuali file malevoli sul computer dell’utente senza bisogno del suo consenso qualora egli utilizzasse il browser della Mela. Dopo un’iniziale disinteresse, la Apple ha corretto questa falla.

Al quarto posto troviamo uno dei temi caldi del 2008: il Clickjacking. Questo particolare e abbastanza coreografico attacco, ideato da Jeremiah Grossman e Robert Hansen, consiste nell’indurre un utente ad effettuare uno o più click sua una pagine Web apparentemente innocua ma che in realtà ne nasconda un’altra attraverso un frame e che è la vera destinataria dei click. Uno dei primi esempi di questo attacco permetteva il controllo a distanza video e audio di un utente (ipotizzandolo provvisto di webcam e microfono, come quindi tutti i portatili degli ultimissimi anni) tramite la riconfigurazione involontaria del proprio plugin Flash. Un video siginificativo è reperibile a questo indirizzo.

Al quinto posto troviamo un italiano, Stefano Di Paola, che ha messo in luce alcune interessanti vulnerabilità del browser Opera tra cui un cross-site scripting nella cronologia e la possibilità per un attaccante di sniffare l’intero traffico Web della vittima. Tutto per colpa di un click.

Al sesto posto troviamo un altro italiano, Alberto Trivero, cioè me. La mia pubblicazione, Abusing HTML 5 Structured Client-side Storage, riguarda alcuni attacchi realizzabili contro le tre nuove metodologie di storage lato client che sono state introdotte nelle bozze del futuro standard HTML 5 e che quasi tutti i browser hanno già iniziato, almeno in parte, a supportare. Grazie a questi attacchi è possibile rubare i dati che un sito che utilizzi queste tecnologie avesse salvato sul computer dell’utente, parliamo di anche diversi MegaByte; oppure è possibile realizzare veri e propri attacchi di SQL injection lato client, invece che lato server come si è sempre visto.

Al settimo posto ci sono Chris Evans e Michal Zalewski con Cross-domain leaks of site logins via Authenticated CSS, dove descrivono come sia possibile, in molti browser, caricare codice CSS proveniente da un dominio diverso da quello del sito che si sta visitando. Le implicazioni per la sicurazza sono variabili, nella loro demo i ricercatori si sono limitati a dimostrare come sia possibile capire da un qualsiasi sito se un utente sia loggato a MySpace o no.

All’ottavo posto ci sono Glenn Wilkinson, Marco Slaviero e Haroon Meer con Tunneling TCP over HTTP over SQL Injection. I ricercatori hanno sviluppato un tool, reDuh, in grado di creare qualsiasi tipo di connessione TCP facendola passare su semplici richieste HTTP. Se un attaccante sarà in grado di uppare o creare una pagina JSP/PHP/ASP su un server, gli sarà perciò anche possibile connettersi agli host dietro quel server con facilità, visto che peraltro il traffico HTTP è quasi sempre consentito dai firewall.

Al nono posto troviamo Haroon Meer con ActiveX Repurposing, in cui vengono descritte alcune interessanti vulnerabilità logiche in un controllo ActiveX che sarebbero impossibili da individuare tramite le classiche tecniche di analisi statica del codice o di fuzzing e che permettono di eseguire codice arbitrario sul computer della vittima.

Infine, al decimo posto, troviamo Yuval Baror, Ayal Yogev, e Adi Sharabani con Flash Parameter Injection, dove i tre ricercatori mostrano cinque tecniche con cui è possibile iniettare parametri globali all’interno di oggetti Flash, col risultato di modificare in maniera arbitraria il comportamento dell’oggetto stesso.

10 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    lakar
     scrive: 

    Interessante articolo.
    Ma queste vulnerabilità sono pericolose per tutti gli os?
    O forse meno per certi?

  • # 2
    Alberto Trivero (Autore del post)
     scrive: 

    Per lakar:
    La maggior parte delle vulnerabilità descritte non dipendono dal sistema operativo, bensì soprattutto dai browser (e molte falle riguardano praticamente tutti i browser) o da altro software cross-platform.

  • # 3
    lakar
     scrive: 

    Sì, avevo capito che riguardano i browser ma mi chiedevo se le vulnerabilità come le 1,3,9 potessero essere mitigate o no a seconda dell’os e se sì quale os (meglio un *nix? MacOS? Un windows con UAC?).
    Inoltre un’estensione come “noscript” di firefox credo possa bloccare diversi degli attacchi che hai descritto o sbaglio?

    Certo che la “creatività” di certi ricercatori è sorprendente. Il primo tipo di attacco mi ha veramente stupito!

  • # 4
    The3D
     scrive: 

    Alcune intuizioni solo veramente sorprendenti nella loro semplicità..l’attacco GIFAR mi ha veramente colpito :)

  • # 5
    Giulio
     scrive: 

    Più che geniale chi l’ha fatto direi poco efficaci i controlli che fa la Java Virtual Machine…

    Cmq è un attacco che è indipendente dal SO, chiaramente il codice malevolo Java può essere di tutto e può colpire tutti i sistemi.

    Si può cancellare il contenuto della home dell’utente corrente ad esempio, sia su Windows, che su Linux e ipotizzo quindi anche su MacOS.

  • # 6
    Giulio
     scrive: 

    PS: allo stato attuale cmq Linux e Windows sono avvantaggiati.

  • # 7
    The3D
     scrive: 

    Infatti, geniale chi avuto l’intuizione ma anche ingenuo chi ha sviluppato il loader per i JAR ;)

  • # 8
    Alberto Trivero (Autore del post)
     scrive: 

    Per lakar:
    Ipotizzando un sistema con le impostazioni di default e senza particolari hardenizzazioni, il primo attacco è indifferente su che sistema viene eseguito perché alla fine esso gira all’interno della sandbox del browser che è isolata dal sistema; il terzo attacco ha lo stesso risultato primario sia su Windows che su Mac OS X, ovviamente una volta scaricati i file malevoli sul computer dell’utente cambia se essi vengono eseguiti o meno e con che privilegi; il nono attacco riguarda solo Internet Explorer e l’UAC non può aiutarti, è possibile però che IE8 mitighi questo tipo di attacchi ma non ne sono sicuro.

  • # 9
    lakar
     scrive: 

    OK, grazie!
    Allora continuerò ad usare Firefox + l’estensione noscript per i siti poco fidati.

    Avresti qualche consiglio o link su come hardenizzare gli os?

  • # 10
    Alberto Trivero (Autore del post)
     scrive: 

    Per lakar:
    Ah già, ho dimenticato di risponderti su NoScript. E’ un’ottima estensione sviluppata da Giorgio Maone, che noto essere molto assiduo nel seguire gli sviluppi degli ultimi attacchi contro gli utenti attraverso le Web applications. Per esempio pochi giorni dopo i primi dettagli sul Clickjacking aveva rilasciato una versione del plugin per mitigare quell’attacco. NoScript funziona bene contro molti degli attacchi presenti nella top ten, quindi merita di essere usato.
    Non so che sistema usi, comunque l’hardening di un OS può avvenire in molti modi, più o meno complessi, cerca su Google “hardening tuo_OS”.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.