Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

La sicurezza dei QR code

L'uso dei QR Code è molto semplice, ma dietro tale semplicità si celano alcune potenziali vulnerabilità di sicurezza: ecco quali sono, e come difendersi.
L'uso dei QR Code è molto semplice, ma dietro tale semplicità si celano alcune potenziali vulnerabilità di sicurezza: ecco quali sono, e come difendersi.
Link copiato negli appunti

In moltissime locandine, ma anche su riviste, giornali o qualunque altro mezzo che voglia permetterci di accedere ad un contenuto digitale mediante la carta stampata, è sempre più frequente riscontrare la presenza di un QR code (o codice QR, dall'inglese Quick Response). Si tratta di una semplice immagine a 2 colori (bianco e nero) che si ottiene mediante un algoritmo di compressione reversibile, in grado di "riassumere" in una manciata di pixel bianchi o neri, il contenuto di una stringa di testo. Di fatto, tale stringa di testo può contenere anche informazioni strutturate, ed è spesso utilizzato per rappresentare informazioni di contatto (quali numeri di telefono, indirizzi di uffici o email) o URL. Il bello di tutto ciò è che generare un QR Code è ormai alla portata di tutti: esistono generatori di QR Code, e librerie per realizzarli (su HTML.it abbiamo visto come farlo su Android o con Javascript).

Figura 1. Esempio di QR Code, rappresentante la URL della homepage di HTML.it (click per ingrandire)

Esempio di QR Code, rappresentante la URL della homepage di HTML.it

L'enorme diffusione di questi codici (originariamente sviluppati da un'azienda giapponese che ne ha reso gratuita e libera la licenza d'uso) è dettata dal grande numero di vantaggi derivanti dal loro uso. Diventa infatti molto semplice passare da un QR code stampato su una locandina, ad un sito web visualizzato su un display, dal momento che è sufficiente utilizzare lo smartphone per scansionarlo con un'apposita app. Senza il QR code, invece, dovremmo ricorrere a noiose dettature e/o a potenziali errori di battitura dovuti al dover ricopiare un URL (magari anche molto lungo) dalla carta stampata alla barra degli indirizzi del nostro browser preferito. Discorso analogo si applica anche agli indirizzi email ed a qualunque altra informazione non agevolmente "ricopiabile".

Eppure, utilizzare i QR Code richiede qualche accorgimento, fondamentale per tutelare la nostra sicurezza. Il semplicissimo meccanismo su cui si basano, infatti, può spingerci a fidarci troppo facilmente dei contenuti "celati" dietro i pochi pixel del codice, ed è quindi opportuno riflettere sull'uso scorretto che può derivarne.

In questo articolo cercheremo di capire i rischi connessi all'uso dei codici QR, ed i rimedi per evitare di incappare un qualche spiacevole sorpresa.

Cosa rischiamo quando usiamo un QR Code?

Per capire i rischi connesso all'uso di un QR Code, iniziamo con un semplice aneddoto, una storia realmente accaduta qualche anno fa. Una nota casa produttrice di ketchup decise di includere un QR Code sul retro di ogni bottiglia, facilitando ai consumatori l'accesso ad un sito web promozionale. Dopo qualche tempo, però, il sito web utilizzato per raggiungere la pagina venne ritenuto di scarso interesse dalla compagnia, e si optò per un semplice redirect verso il sito ufficiale. Passò del tempo, e la compagnia decise addirittura di non rinnovare il dominio acquistato. Tale scelta si rivelò ben presto pessima, poiché lo stesso dominio venne acquistato da un'altra compagnia, che tuttavia non si occupava affatto di ketchup, bensì di fornire agli utenti una vasta gamma di... siti porno. Tutti i codici QR di moltissime bottiglie di ketchup già in commercio finirono, quindi, per redirigere i consumatori verso siti di diversa natura, potenzialmente in grado sia di danneggiare la compagnia stessa, sia di turbare quantomeno l'umore di diverse famiglie di consumatori.

Questo semplice aneddoto si collega ad un problema derivante dalla natura stessa dei QR Code: la loro illeggibilità da parte dell'utente, che può essere risolta solo ricorrendo ad un lettore di QR Code. Per farci un'idea del contenuto di un sito web, infatti, ci affidiamo generalmente alla stringa che rappresenta la sua URL, ed al contesto in cui essa si trova. Nel caso del ketchup, il contesto (l'etichetta su cui è stampato il QR code) ci spinge a fidarci, mentre non abbiamo alcuna possibilità di ricorrere al contenuto della stringa vera e proprio, poiché esso è mascherato dall'algoritmo di generazione del codice QR. Ed in qualunque altro caso, l'unica cosa che può spingerci a fidarci di un codice QR, è in effetti il solo contesto.

Facciamo ora un altro esempio, mettendoci nei panni di un malintenzionato che voglia rubarci alcuni dati personali. È noto che alcune vulnerabilità di sicurezza di Android o iOS permettono di prendere il controllo di uno smartphone sfruttando un semplice link malevolo (magari opportunamente camuffato). Se riceviamo un link di questo tipo via email, molti di noi bollerebbero la cosa come un tentativo di phishing, e solo pochi cascherebbero nella trappola. Ma se il link è nascosto in un QR code, le cose rischiano di complicarsi. Se il nostro malintenzionato scopre che la nostra banca ha prodotto una locandina con un QR code, potrebbe decidere di replicarla sostituendo il solo QR code con un altro codice malevolo, e quindi affiggerla in una posizione strategica, magari vicino a casa nostra o al nostro luogo di lavoro. Di conseguenza, chiunque decida di scansionare il QR code rischierebbe di diventare una vittima.

I più attenti potranno ora obiettare che tutte le moderne app di scansione di codici QR mostrano la URL vera e propria subito dopo la scansione, e che quindi potrebbe essere sufficiente riferirsi ad essa per fidarsi. Eppure, moltissimi siti forniscono servizi che abbreviano gli URL (noti anche come servizi di URL shortnening), rendendoli indecifrabili ma al tempo stesso ugualmente "letali". Una URL di questo tipo potrebbe avere la seguente forma:

https://bit.ly/1EXDucV

Avendo già visto questo tipo di link abbreviato, effettivamente adottato da miriadi di altri siti, potremmo anche fidarci e rischiare di cadere in una trappola.

Come difendersi

A questo punto è lecito chiedersi come difendersi da questi potenziali attacchi di phishing basati su codici QR. Purtroppo non esistono metodi efficaci in tutto e per tutto, e non possiamo far altro che ricorrere ad eventuali meccanismi di protezione implementati sul QR reader che utilizziamo. In aggiunta, però, possiamo comunque fare riferimento ad alcune regole di buona condotta, che dovremmo sempre applicare prima di scansionare un codice QR:

  • non fidiamoci di codici QR posizionati fuori contesto, senza nulla a contorno che ci indichi il contenuto
  • utilizziamo sempre un'app QR code reader aggiornata e con buone recensioni. Due esempi analizzati su HTML.it sono QR Code Reader e QR Droid
  • scegliamo sempre un QR code reader che non apra automaticamente i link. I migliori QR code reader, essendo moderni e di buona qualità, non implementano tale politica, proprio perché mette a rischio la sicurezza degli utenti. È quindi bene verificare che l'app che abbiamo installato sia in linea con questa strategia
  • dopo la scansione, verifichiamo sempre il link effettivamente ottenuto dalla scansione, e non fidiamoci mai dei link generati con servizi di URL shortnening, quali bit.ly, Trim, Cligs, Tinyurl o qualsiasi altro (incluso il vecchio Goo.gl)

Per completezza, riportiamo di seguito anche alcune regole da utilizzare in fase di generazione di codici QR:

  • non utilizzare servizi di URL shortening: non solo non avrebbe senso, ma - come appena discusso - potrebbe (e dovrebbe) scoraggiare gli utenti dall'accedere al sito
  • evitare errori grossolani come quello dell'azienda del ketchup, utilizzando piuttosto domini che rimangano sotto il nostro controllo il più a lungo possibile (almeno fino alla durata stimata della vita del QR code)
  • inserire il QR code in un contesto chiaro e facilmente identificabile
  • ove possibile, evitare di posizionare il QR code in luoghi facilmente raggiungibili e, quindi, potenzialmente manomissibili

Ti consigliamo anche