Cos’è il clickjacking e come si può prevenire?
Nonostante gli oggettivi vantaggi della rete internet, la navigazione online può nascondere diverse insidie, fra cui anche il clickjacking. Questo approccio criminale, utilizzato da hacker e malfattori di diverse parti del mondo, può portare a spiacevoli conseguenze, capaci di mettere a rischio l’integrità dei dati personali e finanziari delle vittime.
In questo articolo, ti forniremo informazioni complete e aggiornate sul clickjacking, esamineremo varie forme di questo fenomeno, vedremo alcuni esempi per chiarire il concetto, per poi chiudere con qualche suggerimento utile per prevenire i rischi principali.
Cos’è il clickjacking? Definizione di base
Il termine “clickjacking” deriva dall’unione di “click” e “hijacking” (dirottamento) ed è una tecnica utilizzata dagli hacker per ingannare gli utenti e convincerli a compiere specifiche azioni o interazioni all’interno di specifiche pagine web. Sul sito viene infatti applicato uno o più elementi invisibili, che si vanno a sovrapporre su pulsanti legittimi (o altre parti della pagina) già presenti sulla pagina.
L’utente viene così convinto a cliccare su un elemento che ritiene sicuro ma in realtà sta interagendo con un elemento nascosto controllato dall’hacker (o dall’organizzazione cyber criminale).
Le conseguenze di questo semplice e apparentemente innocuo click possono essere molto gravi: si parte da un grande classico, ovvero il download di malware, passando per l’apertura di pagine dannose o pericolose, il furto di credenziali o informazioni sensibili, o l’esecuzione di operazioni come il trasferimento di denaro o l’acquisto di prodotti online senza il consenso dell’utente.
Varianti e tipologie di clickjacking
Ci sono diverse varianti di attacchi di clickjacking, che vengono applicate dalle organizzazioni criminali all’interno di campagne più complesse o in singoli attacchi. Non si tratta di categorie monolitiche, ma di aree concettuali che spesso hanno dei confini sfumati, per cui diverse tipologie possono incrociarsi e sovrapporsi.
I tipi di clickjacking principali sono:
- Likejacking: questa tecnica manipola il pulsante “Mi piace” di Facebook. A seguito di clickjacking, l’utente pensa di mettere un “mi piace” ma in realtà non ha compiuto questa azione, oppure ha messo il like a pagine a cui non intendeva farlo.
- Cursorjacking: in questo caso, viene alterata la posizione del cursore rispetto a dove l’utente crede che sia realmente. Questa tecnica è stata usata in molte occasioni per sfruttare vulnerabilità di Adobe Flash e Firefox (ora risolte).
- Browserless: come suggerisce il nome, questa tipologia non richiede un browser. Si tratta di un metodo solitamente utilizzato sui dispositivi mobili per dirottare le notifiche “toast” (ovvero quelle che vengono mostrate in sovraimpressione sullo schermo, in modo simile ai pop-up).
- Cookie jacking: in questo tipo di attacco, un hacker ruba i tuoi cookie, ovvero quegli elementi conservati nel browser per varie funzionalità. Di solito, alle vittime viene chiesto di spostare un oggetto apparentemente innocuo dalla schermata, ma in realtà con il click si sta copiando il contenuto (per intero) della cartella dei cookie a favore dell’hacker.
- File jacking: un hacker inganna la vittima, facendola collegare a un server specifico tramite internet, con lo scopo di accedere ai file memorizzati sul suo dispositivo.
L’esempio classico di clickjacking
Quando si parla di clickjacking, si fa spesso l’esempio descritto qui di seguito. Il protagonista è un hacker, che ha creato una pagina curata dal lato estetico e dai contenuti interessati al fine di attirare il maggior numero di visitatori. Un grande classico è il viaggio gratuito alle Maldive.
Una volta arrivato su questo sito, all’utente viene proposto un semplice formulario, il classico modulo anagrafico da compilare per poter partecipare all’estrazione di questo ambitissimo premio.
In realtà, nel caso in cui il malcapitato sia ancora loggato al proprio profilo bancario personale, verrà attivato uno strato iframe, un layer o “overlay”, di un modulo per un bonifico bancario. Così, pensando di inserire le proprie informazioni per partecipare a un concorso, in realtà il malcapitato non farà altro che dare l’assenso (ovviamente inconsapevole) al trasferimento di denaro dal proprio conto a quello dell’organizzazione criminale.
Come prevenire i rischi del clickjacking
La prevenzione al clickjacking può avvenire sia dal lato server che dal lato client.
Lato server
Gli sviluppatori web possono implementare varie misure di sicurezza, come l’uso di intestazioni HTTP per bloccare il rendering di una pagina web all’interno di un frame o un iframe. Possono anche implementare un meccanismo di protezione CSRF (Cross-Site Request Forgery) dal lato server che può contribuire a prevenire gli attacchi di clickjacking.
Scendendo più nel dettaglio, si possono anche seguire questi step (il contenuto è di natura tecnica e potrebbe essere di difficile comprensione per alcuni lettori):
- L’intestazione HTTP X-Frame Options può essere utilizzata per determinare se il browser dovrebbe consentire alla pagina di essere inserita in tag frame, iframe o object. Ci sono tre valori tra cui puoi scegliere:
- DENY – non consente ai browser di visualizzare la tua pagina in un frame;
- SAMEORIGIN – consente ai browser di visualizzare la tua pagina in un frame su un’altra pagina ma solo se proviene dal dominio attuale;
- ALLOW-FROM – la pagina può essere visualizzata in un frame, ma solo se proviene dalle origini specificate dall’utente nella allowlist.
- L’intestazione HTTP Content Security Policy offre un livello di sicurezza più alto rispetto a X-Frame Options. Consente infatti di aggiungere i domini che possono incorporare pagine e i domini da cui è possibile caricare risorse come script e font a una whitelist specifica.
- Il Frame killing è una tecnica che si usa principalmente per i vecchi browser. Bisogna inserire Javascript per effettuare il frame killing nelle pagine che non vuoi che siano incluse in iframe esterni. Questo sistema manuale offre un alto livello di protezione.
Lato client
Dal lato client, gli utenti possono difendersi dal clickjacking installando estensioni del browser che impediscono di cliccare su elementi invisibili o alterati all’interno della pagina. Fra gli esempi principali di queste estensioni, possiamo citare ClearClick di NoScript per Mozilla Firefox e NoClickjack per Chrome, Mozilla, Opera o Microsoft Edge.
Si tratta, in entrambi i casi elencati, di soluzioni gratuite e sicure.