Attenzione all’identificazione dei social network

È difficile resistere alla tentazione di fare clic su un collegamento per un’offerta iPhone gratuita. Ma fai attenzione: il tuo clic può essere facilmente dirottato e i risultati possono essere disastrosi.

Il clickjacking è un metodo di attacco, noto anche come User Interface Redressing, perché viene impostato mascherando (o correggendo) un collegamento con un overlay che induce l’utente a fare qualcosa di diverso da quello che pensa.

La maggior parte degli utenti dei social network gode della comodità di rimanere sempre connessi. Gli aggressori potrebbero facilmente approfittare di questa abitudine per costringere gli utenti a mettere mi piace o seguire qualcosa senza accorgersene. Per fare ciò, un criminale informatico potrebbe inserire un pulsante allettante – ad esempio con un testo accattivante, come “iPhone gratis – offerta a tempo limitato” – sulla propria pagina web e sovrapporre una cornice invisibile con la pagina del social network al suo interno, in modo tale un modo in cui un pulsante “Mi piace” o “Condividi” si trova sopra il pulsante iPhone gratuito.

Questo semplice trucco di clickjacking può costringere gli utenti di Facebook ad apprezzare i gruppi o le pagine dei fan senza saperlo.

Lo scenario descritto è abbastanza innocente, nel senso che l’unica conseguenza per la vittima è l’inserimento in un gruppo di social network. Ma con qualche sforzo in più, la stessa tecnica potrebbe essere utilizzata per determinare se un utente è connesso al proprio conto bancario e, invece di mettere mi piace o condividere un elemento dei social media, potrebbe essere costretto a fare clic su un pulsante che trasferisce fondi a l’account di un utente malintenzionato, ad esempio. La parte peggiore è che l’azione dannosa non può essere rintracciata, perché l’utente era legittimamente connesso al proprio conto bancario e ha cliccato volontariamente sul pulsante di trasferimento.

Poiché la maggior parte delle tecniche di clickjacking richiede ingegneria sociale, i social network diventano vettori di attacco ideali.

Vediamo come vengono utilizzati.

Clickjacking su Twitter

Circa dieci anni fa, il social network Twitter subì un massiccio attacco che diffuse rapidamente un messaggio, che portava gli utenti a cliccare su un link, sfruttando la loro naturale curiosità.

I tweet con il testo “Non fare clic”, seguito da un collegamento, si sono propagati rapidamente su migliaia di account Twitter. Quando gli utenti hanno fatto clic sul collegamento e poi su un pulsante apparentemente innocente sulla pagina di destinazione, è stato inviato un tweet dai loro account. Quel tweet includeva il testo “Non fare clic”, seguito dal collegamento dannoso.

Gli ingegneri di Twitter hanno corretto l’attacco di clickjacking non molto tempo dopo l’inizio. L’attacco stesso si è rivelato innocuo e ha funzionato come un allarme che indicava i potenziali rischi connessi alle iniziative di clickjacking di Twitter. Il collegamento dannoso ha indirizzato l’utente a una pagina Web con un iframe nascosto. All’interno della cornice c’era un pulsante invisibile che inviava il tweet dannoso dall’account della vittima.

Clickjacking su Facebook

Gli utenti dell’app mobile di Facebook sono esposti a un bug che consente agli spammer di pubblicare contenuti cliccabili sulla loro timeline, senza il loro consenso. Il bug è stato scoperto da un professionista della sicurezza che stava analizzando una campagna di spam. L’esperto ha osservato che molti dei suoi contatti pubblicavano un collegamento a una pagina con immagini divertenti. Prima di raggiungere le immagini, agli utenti è stato chiesto di cliccare su una dichiarazione di raggiungimento della maggiore età.

Quello che non sapevano era che la dichiarazione era sotto una cornice invisibile.

Quando gli utenti hanno accettato la dichiarazione, sono stati indirizzati a una pagina con immagini divertenti. Ma intanto il link è stato pubblicato nella timeline di Facebook degli utenti. Ciò è stato possibile perché il componente del browser Web nell’app Facebook per Android non è compatibile con le intestazioni delle opzioni del frame (di seguito spieghiamo cosa sono) e quindi consente la sovrapposizione di frame dannosi.

Facebook non riconosce il problema come un bug perché non ha alcun impatto sull’integrità degli account degli utenti. Quindi non è chiaro se verrà mai risolto.

Clickjacking su social network minori

Non solo Twitter e Facebook. Anche altri social network e piattaforme di blog meno popolari presentano vulnerabilità che consentono il clickjacking. LinkedIn, ad esempio, presentava un difetto che apriva una porta agli aggressori per indurre gli utenti a condividere e pubblicare collegamenti per loro conto ma senza il loro consenso. Prima che venisse risolto, il difetto consentiva agli aggressori di caricare la pagina ShareArticle di LinkedIn su un frame nascosto e di sovrapporre questo frame a pagine con collegamenti o pulsanti apparentemente innocenti e accattivanti.

Un altro caso è Tumblr, la piattaforma pubblica di web blogging. Questo sito utilizza codice JavaScript per impedire il clickjacking. Ma questo metodo di protezione diventa inefficace poiché le pagine possono essere isolate in un frame HTML5 che impedisce loro di eseguire codice JavaScript. Una tecnica accuratamente predisposta potrebbe essere utilizzata per rubare le password, combinando il suddetto difetto con un plug-in del browser per l’aiuto delle password: inducendo gli utenti a digitare un falso captcha, possono inviare inavvertitamente le loro password al sito dell’attaccante.

Falsificazione di richieste cross-site

Una variante dell’attacco clickjacking è chiamata contraffazione di richieste cross-site, o CSRF in breve. Con l’aiuto dell’ingegneria sociale, i criminali informatici indirizzano gli attacchi CSRF contro gli utenti finali, costringendoli a eseguire azioni indesiderate. Il vettore di attacco può essere un collegamento inviato tramite e-mail o chat.

Gli attacchi CSRF non intendono rubare i dati dell’utente perché l’attaccante non può vedere la risposta alla richiesta fasulla. Invece, gli attacchi prendono di mira le richieste di modifica dello stato, come una modifica della password o un trasferimento di fondi. Se la vittima dispone di privilegi amministrativi, l’attacco ha il potenziale per compromettere un’intera applicazione web.

Un attacco CSRF può essere archiviato su siti Web vulnerabili, in particolare siti Web con i cosiddetti “difetti CSRF archiviati”. Ciò può essere ottenuto inserendo i tag IMG o IFRAME nei campi di input che vengono successivamente visualizzati su una pagina, come i commenti o una pagina dei risultati di ricerca.

Prevenzione degli attacchi di framing

I browser moderni possono sapere se una particolare risorsa può o meno essere caricata all’interno di un frame. Possono anche scegliere di caricare una risorsa in un frame solo quando la richiesta proviene dallo stesso sito in cui si trova l’utente. In questo modo, gli utenti non possono essere indotti a fare clic su frame invisibili con contenuti di altri siti e i loro clic non vengono dirottati.

Le tecniche di mitigazione lato client sono chiamate frame busting o frame kill. Sebbene possano essere efficaci in alcuni casi, possono anche essere facilmente aggirati. Ecco perché i metodi lato client non sono considerati best practice. Invece del frame busting, gli esperti di sicurezza consigliano metodi lato server come X-Frame-Options (XFO) o più recenti, come Content Security Policy.

X-Frame-Options è un’intestazione di risposta che i server Web includono nelle pagine Web per indicare se un browser è autorizzato o meno a mostrare i propri contenuti all’interno di un frame.

L’intestazione X-Frame-Option consente tre valori.

  • DENY, che vieta di visualizzare la pagina all’interno di un frame
  • SAMEORIGIN, che consente di visualizzare la pagina all’interno di un frame, purché rimanga nello stesso dominio
  • ALLOW-FROM URI, che consente la visualizzazione della pagina all’interno di un frame ma solo in uno specifico URI (Uniform Resource Identifier), ad esempio, solo all’interno di una particolare, specifica pagina web.

I metodi anti-clickjacking più recenti includono Content Security Policy (CSP) con la direttiva frame-antenati. Questa opzione è ampiamente utilizzata nella sostituzione di XFO. Uno dei principali vantaggi di CSP rispetto a XFO è che consente a un server Web di autorizzare più domini a inquadrarne il contenuto. Tuttavia, non è ancora supportato da tutti i browser.

La direttiva frame-antenati di CSP ammette tre tipi di valori: “none”, per impedire a qualsiasi dominio di mostrare il contenuto; ‘self’, per consentire solo al sito corrente di mostrare il contenuto in un frame o un elenco di URL con caratteri jolly, come ‘*.some site.com,’ ‘https://www.example.com/index.html,’ ecc., per consentire solo il framing su qualsiasi pagina che corrisponda a un elemento dell’elenco.

Come proteggersi dal clickjacking

È conveniente rimanere connessi a un social network durante la navigazione, ma se lo fai, devi essere cauto con i tuoi clic. Dovresti anche prestare attenzione ai siti che visiti perché non tutti adottano le misure necessarie per prevenire il clickjacking. Nel caso in cui non sei sicuro di un sito web che stai visitando, non dovresti fare clic su alcun clic sospetto, non importa quanto possa essere allettante.

Un’altra cosa a cui prestare attenzione è la versione del browser. Anche se un sito utilizza tutte le intestazioni di prevenzione del clickjacking menzionate in precedenza, non tutti i browser le supportano tutte, quindi assicurati di utilizzare l’ultima versione disponibile e che supporti le funzionalità anti-clickjacking.

Il buon senso è un efficace dispositivo di autoprotezione contro il clickjacking. Quando vedi contenuti insoliti, incluso un link pubblicato da un amico su qualsiasi social network, prima di fare qualsiasi cosa, dovresti chiederti se questo è il tipo di contenuto che il tuo amico pubblicherebbe. In caso contrario, dovresti avvertire il tuo amico che potrebbe essere diventato vittima di clickjacking.

Un ultimo consiglio: se sei un influencer, o hai solo un numero davvero elevato di follower o amici su qualsiasi social network, dovresti raddoppiare le tue precauzioni e praticare un comportamento responsabile online. Perché se diventi una vittima del clickjacking, l’attacco finirà per colpire un sacco di persone.