Clickjacking: cos’è e come proteggersi da un attacco
Nonostante i numerosi vantaggi della rete Internet, la navigazione online può nascondere diverse insidie, tra cui, ad esempio, il clickjacking. In questo articolo, vedremo nel dettaglio che cos’è questo tipo di attacco, come può avvenire e alcune tecniche da adottare per proteggersi.
Contenuti
Cos’è il clickjacking?
Il termine “clickjacking” deriva dall’unione delle parole “click” e “hijacking” (dirottamento). Si tratta di una tecnica utilizzata dagli hacker per ingannare gli utenti e convincerli a compiere specifiche azioni o interazioni all’interno di determinate pagine web.
Solitamente, in un sito web sotto attacco vengono applicati uno o più elementi invisibili, che si vanno a sovrapporre ai pulsanti legittimi (o ad altre parti della pagina) già presenti all’interno del portale.
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 dietro all’attacco).
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 web dannose o pericolose, il furto di credenziali o informazioni sensibili, l’esecuzione di operazioni come il trasferimento di denaro oppure l’acquisto di prodotti online senza il consenso dell’utente.
Clickjacking: le possibili fasi di un attacco
Vediamo quali possono essere le fasi di un possibile attacco di clickjacking:
- L’hacker crea una pagina web accattivante che sembra offrire promozioni speciali o forti sconti.
- In modo del tutto impercettibile dall’esterno, il sito controlla se l’utente che sta visitando la pagina sia collegato al proprio conto bancario online. Se sì, carica una pagina di trasferimento fondi sovrapposta alla pagina attuale e pre-compilata con i dettagli bancari del truffatore.
- La pagina di bonifico, nascosta all’interno di un frame invisibile, si sovrappone alla pagina delle offerte, allineando strategicamente il pulsante “Conferma bonifico” con un pulsante visibile, come, ad esempio, “Scopri l’offerta”.
- L’utente, credendo di cliccare per ricevere maggiori informazioni su una una determinata promozione, autorizza inavvertitamente il bonifico.
- Dopo il click, l’utente viene indirizzato a una pagina che mostra effettivamente i dettagli dell’offerta, ignaro del trasferimento di fondi appena avvenuto in background.
Questo semplice esempio dimostra come, in un attacco di clickjacking, le azioni dannose (come un trasferimento di fondi dal sito della propria banca) siano effettuate dall’utente stesso, che non si rende conto di essere stato ingannato.
Questo spiega perché i siti di transazioni finanziarie stanno implementando misure di sicurezza aggiuntive, come livelli di verifica a due fattori, al fine di proteggere i propri clienti da tali tipi di attacchi informatici.
Clickjacking: tipologie d’attacco
Esistono diverse tipologie di attacchi di clickjacking, che possono essere messe in atto dalle organizzazioni criminali all’interno di campagne più complesse o in singoli attacchi. Non si tratta di categorie ben definite, ma di aree concettuali che spesso hanno dei confini sfumati, per cui diverse tipologie possono incrociarsi e sovrapporsi tra loro.
I principali tipi di attacchi clickjacking sono:
- Likejacking: questa tecnica manipola il pulsante “Mi piace” di Facebook. A seguito di un attacco 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 esso sia realmente. Questa tecnica è stata usata in molte occasioni per sfruttare delle vulnerabilità di Adobe Flash e Firefox (che ora sono state risolte).
- Browserless: come suggerisce il nome, questa tipologia di attacco non richiede l’impiego di un browser. Si tratta, infatti, di un metodo solitamente utilizzato sui dispositivi mobili con l’obiettivo di dirottare le notifiche “toast” (ovvero quegli avvisi che vengono mostrati in sovraimpressione sullo schermo, in modo simile ai pop-up).
- Cookie hijacking: in questo tipo di attacco, un hacker ruba i 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 (per intero) il contenuto della cartella dei cookie a favore dell’hacker.
- Media 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.
Clickjacking: l’esempio più comune in assoluto
Quando si parla di clickjacking, si fa spesso l’esempio descritto di seguito. Il protagonista è un hacker, che ha creato una pagina esteticamente curata e dai contenuti interessanti al fine di attirare il maggior numero possibile di visitatori. Un grande classico di questa situazione è un concorso a premi con la vincita sicura di un viaggio gratuito alle Maldive.
Una volta aperto il sito, all’utente viene proposto un semplice formulario, ossia un 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 effettuare un bonifico bancario.
In questo modo, pensando di inserire le proprie informazioni per partecipare a un concorso, in realtà il malcapitato non farà altro che dare il consenso (ovviamente inconsapevole) al trasferimento di denaro dal proprio conto a quello dell’organizzazione criminale.
Clickjacking: come proteggersi
Molti utenti si chiedono come proteggersi dal clickjacking. In questo caso, ci sono diverse tecniche che è possibile implementare ed è bene ricordare che la prevenzione da questo tipo di attacco informatico può avvenire sia dal lato server che dal lato client.
Come proteggersi lato server
Gli sviluppatori web possono mettere in atto varie misure di sicurezza al fine di proteggersi dagli attacchi di clickjacking.
Esempi comuni sono l’uso di intestazioni HTTP per bloccare il rendering di una pagina web all’interno di un frame o un iframe. Gli sviluppatori possono anche implementare un meccanismo di protezione CSRF (Cross-Site Request Forgery) dal lato server.
Scendendo più nel dettaglio, si potrebbero attuare i seguenti passaggi (vi avvertiamo che 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, o meno. Ci sono tre valori tra cui è possibile scegliere:
- DENY – non consente ai browser di visualizzare la pagina in un frame;
- SAMEORIGIN – consente ai browser di visualizzare la 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 all’interno della 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 quelli da cui è possibile caricare risorse come script e font in una whitelist specifica.
- Il Frame killing è un’altra tecnica che viene utilizzata principalmente per i vecchi browser. In questo caso, è necessario inserire del codice Javascript per effettuare il frame killing nelle pagine che non si desidera includere in iframe esterni. Questo sistema manuale offre un elevato livello di protezione.
Come proteggersi lato client
Dal lato client, gli utenti possono difendersi dal clickjacking installando estensioni del browser che impediscono di cliccare su elementi invisibili o alterati presenti all’interno di una determinata 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, di soluzioni gratuite e sicure.
Conclusione
In conclusione, il clickjacking rappresenta una minaccia significativa per la sicurezza online. Tuttavia, attraverso l’adozione di misure preventive efficaci come l’utilizzo di intestazioni HTTP specifiche, l’implementazione di frame-killing e l’installazione di estensioni del browser per bloccare gli elementi invisibili o alterati, sarà possibile proteggere i propri siti web e la navigazione online.