Con la versione 3.6.9 del browser, Mozilla implementa l’X-Frame-Options, già supportata in Internet Explorer, Chrome, Safari e Opera. Ecco come funziona.
E’ conosciuta con l’appellativo di “clickjacking” quella particolare tecnica sfruttando la quale un aggressore, durante la normale “navigazione” all’interno di una pagina web, mira a reindirizzare i clic dell’utente verso un altro oggetto, diverso dall’elemento sul quale era stato portato il puntatore del mouse.
Con la versione 3.6.9 di Firefox, anche Mozilla ha deciso di implementare una nuova direttiva negli header della pagina: X-Frame-Options. Già supportata in Internet Explorer, Chrome, Safari ed Opera, mancava all’appello solamente Firefox. Si tratta di una misura di sicurezza che mira a ridurre l’impatto di eventuali attacchi “clickjacking”.
Un esempio di clickjacking
Per capire meglio di che cosa stiamo parlando, si consideri un semplice negozio online che utilizza dei cookie per il processo di autenticazione dell’utente e che offre la possibilità di acquistare prodotti con un solo clic del mouse.
Un aggressore può pensare di allestire altrove, sul web, una pagina “maligna” che mostra il negozio online all’interno di un oggetto IFRAME. Lo stesso malintenzionato, quindi, colloca sopra alcune zone della pagina del negozio online, degli oggetti arbitrari con lo scopo di celare gli elementi sottostanti. L’utente potrebbe essere così indotto a compiere delle operazioni indesiderate.
Quello appena illustrato è ovviamente un esempio molto semplice di attacco che sfrutta il “clickjacking” ma esistono tecniche molto più raffinate che gli aggressori possono sfruttare, spesso con l’intento di porre in essere vere e proprie truffe online.
La tecnica del “frame busting” permette di far sì che una pagina contenente informazioni importanti non possa mai essere inserita in un IFRAME. Dal momento che questi meccanismi poggiano sull’uso di script, la protezione da essi offerta può essere annullata in diversi modi.
Ecco il perché della nascita della speciale direttiva X-Frame-Options. Gli sviluppatori di un sito web possono utilizzarla, inserendola nell’intestazione HTTP di risposta che viene inviata a tutti i client collegati, per stabilire se la pagina possa essere posta in un frame.
Nel caso in cui la direttiva X-Frame-Options venga impostata su Deny, la pagina web non potrà essere mai inserita in un IFRAME mentre se regolata su Sameorigin, la visualizzazione del contenuto della pagina non sarà possibile solo se la richiesta di inserimento in un IFRAME proviene da un sito differente da quello di origine.
Si provi a visitare questa pagina di test da una versione precedente di Firefox quindi da Firefox 3.6.9: nel caso della più recente versione del browser di Mozilla, il contenuto degli IFRAME non sarà visualizzato (a parte nei casi indicati in rosso: in questi frangenti il contenuto dell’IFRAME deve essere mostrato).
Firefox 3.6.9, che risolve anche 14 problematiche di sicurezza, può essere prelevato gratuitamente da questa pagina od aggiornato ricorrendo alla funzione integrata nel programma.