SlideShare a Scribd company logo
1 of 5
Download to read offline
QR Code Security
I QR (Quick Response) Code sono matrici bidimensionali che vengono usate per
codificare l’informazione. Vennero inizialmente inventati per tracciare le varie parti durante
un generico processo di produzione e oggi sono stati adattati a una grande varietà di
casistiche. Uno degli utilizzi più comuni riguarda quello di codifica di un URL, al fine di
rendere l’informazione disponibile immediatamente.
Tuttavia, i QR Code sono anche spesso utilizzati come vettori di attacchi di Social
Engineering: l’attaccante codifica il link malevolo (che conduce un sito di phishing o che
porta all’esecuzione di codice malevolo) in un QR Code e lo stampa su un adesivo che può
essere sovrapposto a uno già esistente. Inoltre, è anche possibile modificare dei moduli
precisi, rendendoli da bianchi a neri e viceversa, in modo da sovrascrivere il contenuto
originale.
1. LO STANDARD QR
I QR Code sono codici a barre che codificano l’informazione sia in senso verticale che
in senso orizzontale. Per accedere ai dati codificati da un QR Code, una fotocamera deve
catturarne l’immagine e decodificarla tramite un software.
Ci sono 40 versioni diverse di QR Code con differenti capacità, di cui l’ultima produce il più
grande QR Code possibile, con 4296 caratteri possibilmente codificabili.
Ciononostante, la versione 2 è quella più utilizzata. I codici, inoltre, sono leggibili da diverse
angolazioni e possono essere decodificati anche se parte di esso è coperta o
danneggiata: questo è possibile grazie alla robusta error correction basata sui codici
di Reed-Solomon.
Ci sono quattro livelli di error correction:
• Low: 7% danneggiato
• Medium: 15% danneggiato
• Quartile: 25% danneggiato
• High: 30% danneggiato
Aumentando il livello di error correction, aumenta proporzionalmente l’area del codice
riservata alla correzione dell’errore e, di conseguenza, diminuisce l’area riservata ai dati
veri e propri: è per questo motivo che, solitamente, si opta per il livello più basso.
Un processo addizionale nella fase di decodifica è quella del masking: questa feature assicura
una distribuzione equa delle porzioni bianche e delle porzioni nere e il masking
adeguato viene scelto dal software stesso, automaticamente.
Esempio di QR Code versione 2
2. UTILIZZI DEL QR CODE
I QR Code hanno gli utilizzi più disparati.
PUBBLICITA’: l’utilizzo più comune è quello pubblicitario, in cui si codificano URL
relativi a informazioni di contatto, geolocalizzazione, oppure per rendere delle informazioni
istantaneamente disponibili all’utente.
PAGAMENTI MOBILE: i QR Code possono essere di supporto anche per pagamenti
online e forniscono opportunità di acquisto semplicemente scannerizzando un codice; ci si
riferisce a questa pratica come “One Click Payment”; dopo aver scannerizzato il codice,
l’utente viene direzionato verso una pagina intermedia proprietaria dell’agent di pagamento.
CONTROLLO DEGLI ACCESSI: essi possono essere usati per il controllo degli accessi,
in combinazione con altre metodologie. Tra i sistemi proposti, per esempio, c’è n’è uno che
combina i QR Code e le One Time Password: le informazioni dell’utente sono
memorizzate sul server principale, un’applicazione genera il QR Code e un PC appropriata
scannerizzata tale codice; il codice generato dall’utente sarà relativo alla sua
password generata per autenticarsi.
REALTA’ AUMENTATA E NAVIGAZIONE: i QR Code sono usati negli ambienti
governativi per distribuire efficacemente le informazioni al pubblico, oppure per fornire
materiale aggiuntivo ed educativo durante visite guidate, eventi, meeting.
3. QR CODE COME VETTORI DI ATTACCO
Ci sono due attacchi principali che riguardano i QR Code:
• l’attaccante sostituisce l’intero QR Code: tanto semplice quanto efficace, nel
nuovo codice l’attaccante può nascondere link malevoli codificati
• l’attaccante modifica moduli individuali del QR Code: in questo modo, si
cambia il contenuto del codice mirando a una porzione specifica
Nel 2012, venne dimostrato che i codici Man-Machine-Interface (MMI), possono essere
usati contro i dispositivi Samsung, facendo comporre ai telefoni il codice MMI *2767*3855#,
al fine di cancellare ogni dato presente al proprio interno; l’attaccante codificava questo
codice in un QR con prefisso tel, al fine di innescare l’esecuzione del suddetto.
Se uno scanner, inoltre, utilizza un database per memorizzare tutte le entità
scannerizzate, è possibile eseguire un SQL Injection scannerizzando valori come 1’ OR
1=1 – al fine di bypassare i meccanismi di autenticazione.
Gli attacchi sono anche legati al typosquatting: si tratta di una registrazione intenzionale
di siti web che prendono il nome di siti famosi e ne cambiano alcune lettere; nel
2010 è stato stimato che ci fossero almeno 938.000 siti del genere che si rifacevano al nome
del 3264 .com più popolari, la maggior parte dei quali supportava pubblicità pay-
per click.
4. INTERAZIONE CON GLI UTENTI
Sono diversi gli studi proposti per comprendere il comportamento di un generico utente
di fronte a un QR Code.
Uno di questi, per esempio, ha investigato su come gli utenti interagiscano di fronte a QR
Code inseriti sotto forma di stickers e appiccicati ai muri dei locali della città (nello studio,
Melbourne). In questo modo, quanto un utente lo scansionava, poteva leggere i commenti
della clientela venuta prima di lui: i risultati dello studio, dunque, suggeriscono che è
principalmente la curiosità a far nascere negli utenti il desiderio di scansionare
dei QR Code senza alcun contesto. Questo motivo, legato alla fretta di scoprire cosa si
cela dietro al codice, tende a far ignorare gli aspetti di sicurezza legati alla scansione
di codici provenienti da sorgenti non verificate.
In un altro studio, si è analizzato come è possibile effettuare degli attacchi di phishing,
attraverso due esperimenti. Nel primo, quello di “sorveglianza”, si è osservato che una
buona fetta di utenti scannerizzava il codice ma non visitava l’URL all’interno contenuto.
Nel secondo, quello di “QRishing”, si sono inseriti QR Code su tre tipi di poster e
volantini, al fine di determinare la “suscettibilità” a un attacco di phishing. Il
codice conteneva un link a un sondaggio, con l’intento di modellare il comportamento delle
persone che lo hanno scansionato.
I risultati dello studio hanno sottolineato il fatto che sono necessari strumenti più
adeguati a supportare la rilevazione di potenziali minacce. Inoltre, i lettori di codici
non forniscono strumenti per rilevare automaticamente delle minacce e quindi minimizzare
l’impatto sulla privacy e la sicurezza dell’utente: è per questo motivo che è necessaria la
pratica di scansione al fine di decodificare il QR Code e anche dopo di essa, resta
comunque difficile giudicare l’affidabilità di un URL.
5. FRAMEWORK DI SICUREZZA
Al fine di supportare lo sviluppo di un framework sicuro per la progettazione di codici QR,
è necessario fornire delle linee guida, che hanno lo scopo di rafforzare il codice stesso, il
lettore e la rilevazione di potenziali minacce. Di seguito, dunque, viene proposta una
serie di requisiti che possono tornare utili allo scopo.
1) Visual QR Codes: un visual QR Code può significativamente supportare l’utente
nel rilevare un QR modificato o sostituito; più complesso è il codice, più difficile
è per l’attaccante andare a modificarlo
2) Firma Digitale: inserimento di una firma digitale nella creazione del QR, in modo
da verificare il creatore del codice e, dunque, capire se esso sia stato
manomesso; con la presenza della suddetta firma, diventerebbe molto più
complicato, per l’attaccante, modificare il QR, in quanto dovrà modificare il checksum
e il processo di verifica. Tuttavia, ciò significherebbe inserire un’altra porzione di dati
che andrà a ridurre lo spazio dei dati veri e propri da codificare
3) Masking: il pattern delle sezioni bianche e nere è determinato dal masking, che
stabilisce se cambiare o meno colore a una determinata sezione. Data la robustezza
fornita dai codici di Reed-Solomon, la presenza di zone corrotte non inficia la capacità
di decodifica, tuttavia, maggiore è la deviazione da una distribuzione pari tra
zone bianche e nere, maggiore è la probabilità che il codice sia stato
modificato
4) Malicious URL Detection: è possibile utilizzare delle metriche che permettono di
stabilire se l’URL codificato sia malevolo, associando questa pratica a una blacklist
5) Content Display: dato che il QR Code non sono human-readable, mostrare il
contenuto di un codice è fondamentale per un utente al fine di
comprenderne il contenuto
6) Content Preprocessing: nel caso di URL abbreviato, mostrare il contenuto non è
sufficiente a fornire le informazioni necessarie ed è per questo motivo che diventa
necessaria un’unità che si occupi del preprocessing dell’URL, in modo che esso
avvenga in background e solo successivamente si mostra l’URL vero e
proprio all’utente
7) Anti-Phishing Tools: è importante che il processo di verifica sia trasparente
all’utente ma la principale sfida è informare correttamente l’utente circa il
tentativo di phishing
8) Content Verification: in aggiunta al preprocessing, sarebbe utile utilizzare altri
strumenti di verifica, come appunto delle blacklist, in quanto è stato dimostrato
che semplici warning non sono efficaci nel fermare l’utente dal proseguire verso
l’URL malevolo
QR Code Security: A Survey of Attacks and Challenges for Usable Security
Katharina Krombholz, Peter FrŁuhwirt, Peter Kieseberg, Ioannis Kapsalis, Markus Huber, Edgar Weippl

More Related Content

Similar to QR Code Security

Il codice QR: quadrato, pratico, utile - Perché e come usare i QR
Il codice QR: quadrato, pratico, utile - Perché e come usare i QRIl codice QR: quadrato, pratico, utile - Perché e come usare i QR
Il codice QR: quadrato, pratico, utile - Perché e come usare i QRKEA s.r.l.
 
HealthCare CyberSecurity Swascan
HealthCare CyberSecurity SwascanHealthCare CyberSecurity Swascan
HealthCare CyberSecurity SwascanPierguido Iezzi
 
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...AndreaPausig
 
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-cartaIged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-cartaSandro Fontana
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoDiego La Monica
 
Pentesting Android with BackBox 4
Pentesting Android with BackBox 4Pentesting Android with BackBox 4
Pentesting Android with BackBox 4raffaele_forte
 
Cittadinanza digitale.pdf
Cittadinanza digitale.pdfCittadinanza digitale.pdf
Cittadinanza digitale.pdfKevinRossi6
 
Applicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneApplicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneDiego La Monica
 
Code Review di Swascan
Code Review di SwascanCode Review di Swascan
Code Review di SwascanSWASCAN
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Bit4id1
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Bit4id1
 
Workshop sulla Sicurezza Informatica
Workshop sulla Sicurezza InformaticaWorkshop sulla Sicurezza Informatica
Workshop sulla Sicurezza InformaticaNextre Engineering
 
Mobile, iot e social network
Mobile, iot e social networkMobile, iot e social network
Mobile, iot e social networkLuca Di Bari
 
Unicaseed Demo Dasy - Cryptobrand
Unicaseed Demo Dasy - CryptobrandUnicaseed Demo Dasy - Cryptobrand
Unicaseed Demo Dasy - CryptobrandUnicaseed
 
Questione di responsabilità
Questione di responsabilitàQuestione di responsabilità
Questione di responsabilitàNicola de Chiara
 
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitaleWSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitaleProfesia Srl, Lynx Group
 

Similar to QR Code Security (20)

Il codice QR: quadrato, pratico, utile - Perché e come usare i QR
Il codice QR: quadrato, pratico, utile - Perché e come usare i QRIl codice QR: quadrato, pratico, utile - Perché e come usare i QR
Il codice QR: quadrato, pratico, utile - Perché e come usare i QR
 
HealthCare CyberSecurity Swascan
HealthCare CyberSecurity SwascanHealthCare CyberSecurity Swascan
HealthCare CyberSecurity Swascan
 
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
Extended Summary Of "MadDroid: Characterizing and Detecting Devious Ad Conten...
 
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-cartaIged s fontana-quando-la-firma-digitale-incontra-la-carta
Iged s fontana-quando-la-firma-digitale-incontra-la-carta
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
Il qr code
Il qr codeIl qr code
Il qr code
 
Pentesting Android with BackBox 4
Pentesting Android with BackBox 4Pentesting Android with BackBox 4
Pentesting Android with BackBox 4
 
Cittadinanza digitale.pdf
Cittadinanza digitale.pdfCittadinanza digitale.pdf
Cittadinanza digitale.pdf
 
Applicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneApplicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazione
 
Code Review di Swascan
Code Review di SwascanCode Review di Swascan
Code Review di Swascan
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
 
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
Go Passwordless_La piattaforma FIDO2 per l’autenticazione multifattore SafeAc...
 
Workshop sulla Sicurezza Informatica
Workshop sulla Sicurezza InformaticaWorkshop sulla Sicurezza Informatica
Workshop sulla Sicurezza Informatica
 
QR Code. A cura di Luca Menna.
QR Code. A cura di Luca Menna.QR Code. A cura di Luca Menna.
QR Code. A cura di Luca Menna.
 
Mobile, iot e social network
Mobile, iot e social networkMobile, iot e social network
Mobile, iot e social network
 
Gestione eventi
Gestione eventi Gestione eventi
Gestione eventi
 
Qr code eas
Qr code easQr code eas
Qr code eas
 
Unicaseed Demo Dasy - Cryptobrand
Unicaseed Demo Dasy - CryptobrandUnicaseed Demo Dasy - Cryptobrand
Unicaseed Demo Dasy - Cryptobrand
 
Questione di responsabilità
Questione di responsabilitàQuestione di responsabilità
Questione di responsabilità
 
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitaleWSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
 

More from Antonio Tandoi

Cibi omonimi a personaggi storici
Cibi omonimi a personaggi storiciCibi omonimi a personaggi storici
Cibi omonimi a personaggi storiciAntonio Tandoi
 
La Rosa Bianca, i ragazzi che si opposero a Hitler
La Rosa Bianca, i ragazzi che si opposero a HitlerLa Rosa Bianca, i ragazzi che si opposero a Hitler
La Rosa Bianca, i ragazzi che si opposero a HitlerAntonio Tandoi
 
Dante in veste di medico - La medicina nella Divina Commedia
Dante in veste di medico - La medicina nella Divina CommediaDante in veste di medico - La medicina nella Divina Commedia
Dante in veste di medico - La medicina nella Divina CommediaAntonio Tandoi
 
La seconda guerra punica - Storia completa
La seconda guerra punica - Storia completaLa seconda guerra punica - Storia completa
La seconda guerra punica - Storia completaAntonio Tandoi
 
Grecia contro Cartagine: la battaglia di Hymera
Grecia contro Cartagine: la battaglia di HymeraGrecia contro Cartagine: la battaglia di Hymera
Grecia contro Cartagine: la battaglia di HymeraAntonio Tandoi
 
Storia dei simboli matematici
Storia dei simboli matematiciStoria dei simboli matematici
Storia dei simboli matematiciAntonio Tandoi
 
Situazione politica del Venezuela
Situazione politica del VenezuelaSituazione politica del Venezuela
Situazione politica del VenezuelaAntonio Tandoi
 
Dispensa di Cyber Security
Dispensa di Cyber SecurityDispensa di Cyber Security
Dispensa di Cyber SecurityAntonio Tandoi
 
Il sistema visivo umano
Il sistema visivo umanoIl sistema visivo umano
Il sistema visivo umanoAntonio Tandoi
 
Il modello standard della materia
Il modello standard della materiaIl modello standard della materia
Il modello standard della materiaAntonio Tandoi
 
Funzionamento della Scala Richter
Funzionamento della Scala RichterFunzionamento della Scala Richter
Funzionamento della Scala RichterAntonio Tandoi
 
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...Antonio Tandoi
 
Tcp Westwood - Stima della banda
Tcp Westwood - Stima della bandaTcp Westwood - Stima della banda
Tcp Westwood - Stima della bandaAntonio Tandoi
 
Tcp - Congestion avoidance and control
Tcp - Congestion avoidance and controlTcp - Congestion avoidance and control
Tcp - Congestion avoidance and controlAntonio Tandoi
 
Page ranking - Portare ordine sul web
Page ranking - Portare ordine sul webPage ranking - Portare ordine sul web
Page ranking - Portare ordine sul webAntonio Tandoi
 
Ingegneria della conoscenza
Ingegneria della conoscenzaIngegneria della conoscenza
Ingegneria della conoscenzaAntonio Tandoi
 

More from Antonio Tandoi (20)

Cibi omonimi a personaggi storici
Cibi omonimi a personaggi storiciCibi omonimi a personaggi storici
Cibi omonimi a personaggi storici
 
La Rosa Bianca, i ragazzi che si opposero a Hitler
La Rosa Bianca, i ragazzi che si opposero a HitlerLa Rosa Bianca, i ragazzi che si opposero a Hitler
La Rosa Bianca, i ragazzi che si opposero a Hitler
 
Dante in veste di medico - La medicina nella Divina Commedia
Dante in veste di medico - La medicina nella Divina CommediaDante in veste di medico - La medicina nella Divina Commedia
Dante in veste di medico - La medicina nella Divina Commedia
 
La corsa al Polo Sud
La corsa al Polo SudLa corsa al Polo Sud
La corsa al Polo Sud
 
La seconda guerra punica - Storia completa
La seconda guerra punica - Storia completaLa seconda guerra punica - Storia completa
La seconda guerra punica - Storia completa
 
Grecia contro Cartagine: la battaglia di Hymera
Grecia contro Cartagine: la battaglia di HymeraGrecia contro Cartagine: la battaglia di Hymera
Grecia contro Cartagine: la battaglia di Hymera
 
Storia dei simboli matematici
Storia dei simboli matematiciStoria dei simboli matematici
Storia dei simboli matematici
 
Situazione politica del Venezuela
Situazione politica del VenezuelaSituazione politica del Venezuela
Situazione politica del Venezuela
 
Dispensa di Cyber Security
Dispensa di Cyber SecurityDispensa di Cyber Security
Dispensa di Cyber Security
 
Dispensa di PL-SQL
Dispensa di PL-SQLDispensa di PL-SQL
Dispensa di PL-SQL
 
Il sistema visivo umano
Il sistema visivo umanoIl sistema visivo umano
Il sistema visivo umano
 
Il modello standard della materia
Il modello standard della materiaIl modello standard della materia
Il modello standard della materia
 
Funzionamento della Scala Richter
Funzionamento della Scala RichterFunzionamento della Scala Richter
Funzionamento della Scala Richter
 
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
Un sistema di video streaming per contenuti streaming immersivi e riduzione d...
 
Tcp Westwood - Stima della banda
Tcp Westwood - Stima della bandaTcp Westwood - Stima della banda
Tcp Westwood - Stima della banda
 
Tcp - Congestion avoidance and control
Tcp - Congestion avoidance and controlTcp - Congestion avoidance and control
Tcp - Congestion avoidance and control
 
Page ranking - Portare ordine sul web
Page ranking - Portare ordine sul webPage ranking - Portare ordine sul web
Page ranking - Portare ordine sul web
 
Descrizione di NO-SQL
Descrizione di NO-SQLDescrizione di NO-SQL
Descrizione di NO-SQL
 
Ingegneria della conoscenza
Ingegneria della conoscenzaIngegneria della conoscenza
Ingegneria della conoscenza
 
Funzionamento di LTE
Funzionamento di LTEFunzionamento di LTE
Funzionamento di LTE
 

QR Code Security

  • 1. QR Code Security I QR (Quick Response) Code sono matrici bidimensionali che vengono usate per codificare l’informazione. Vennero inizialmente inventati per tracciare le varie parti durante un generico processo di produzione e oggi sono stati adattati a una grande varietà di casistiche. Uno degli utilizzi più comuni riguarda quello di codifica di un URL, al fine di rendere l’informazione disponibile immediatamente. Tuttavia, i QR Code sono anche spesso utilizzati come vettori di attacchi di Social Engineering: l’attaccante codifica il link malevolo (che conduce un sito di phishing o che porta all’esecuzione di codice malevolo) in un QR Code e lo stampa su un adesivo che può essere sovrapposto a uno già esistente. Inoltre, è anche possibile modificare dei moduli precisi, rendendoli da bianchi a neri e viceversa, in modo da sovrascrivere il contenuto originale. 1. LO STANDARD QR I QR Code sono codici a barre che codificano l’informazione sia in senso verticale che in senso orizzontale. Per accedere ai dati codificati da un QR Code, una fotocamera deve catturarne l’immagine e decodificarla tramite un software. Ci sono 40 versioni diverse di QR Code con differenti capacità, di cui l’ultima produce il più grande QR Code possibile, con 4296 caratteri possibilmente codificabili. Ciononostante, la versione 2 è quella più utilizzata. I codici, inoltre, sono leggibili da diverse angolazioni e possono essere decodificati anche se parte di esso è coperta o danneggiata: questo è possibile grazie alla robusta error correction basata sui codici di Reed-Solomon. Ci sono quattro livelli di error correction: • Low: 7% danneggiato • Medium: 15% danneggiato • Quartile: 25% danneggiato • High: 30% danneggiato Aumentando il livello di error correction, aumenta proporzionalmente l’area del codice riservata alla correzione dell’errore e, di conseguenza, diminuisce l’area riservata ai dati veri e propri: è per questo motivo che, solitamente, si opta per il livello più basso.
  • 2. Un processo addizionale nella fase di decodifica è quella del masking: questa feature assicura una distribuzione equa delle porzioni bianche e delle porzioni nere e il masking adeguato viene scelto dal software stesso, automaticamente. Esempio di QR Code versione 2 2. UTILIZZI DEL QR CODE I QR Code hanno gli utilizzi più disparati. PUBBLICITA’: l’utilizzo più comune è quello pubblicitario, in cui si codificano URL relativi a informazioni di contatto, geolocalizzazione, oppure per rendere delle informazioni istantaneamente disponibili all’utente. PAGAMENTI MOBILE: i QR Code possono essere di supporto anche per pagamenti online e forniscono opportunità di acquisto semplicemente scannerizzando un codice; ci si riferisce a questa pratica come “One Click Payment”; dopo aver scannerizzato il codice, l’utente viene direzionato verso una pagina intermedia proprietaria dell’agent di pagamento. CONTROLLO DEGLI ACCESSI: essi possono essere usati per il controllo degli accessi, in combinazione con altre metodologie. Tra i sistemi proposti, per esempio, c’è n’è uno che combina i QR Code e le One Time Password: le informazioni dell’utente sono memorizzate sul server principale, un’applicazione genera il QR Code e un PC appropriata scannerizzata tale codice; il codice generato dall’utente sarà relativo alla sua password generata per autenticarsi. REALTA’ AUMENTATA E NAVIGAZIONE: i QR Code sono usati negli ambienti governativi per distribuire efficacemente le informazioni al pubblico, oppure per fornire materiale aggiuntivo ed educativo durante visite guidate, eventi, meeting.
  • 3. 3. QR CODE COME VETTORI DI ATTACCO Ci sono due attacchi principali che riguardano i QR Code: • l’attaccante sostituisce l’intero QR Code: tanto semplice quanto efficace, nel nuovo codice l’attaccante può nascondere link malevoli codificati • l’attaccante modifica moduli individuali del QR Code: in questo modo, si cambia il contenuto del codice mirando a una porzione specifica Nel 2012, venne dimostrato che i codici Man-Machine-Interface (MMI), possono essere usati contro i dispositivi Samsung, facendo comporre ai telefoni il codice MMI *2767*3855#, al fine di cancellare ogni dato presente al proprio interno; l’attaccante codificava questo codice in un QR con prefisso tel, al fine di innescare l’esecuzione del suddetto. Se uno scanner, inoltre, utilizza un database per memorizzare tutte le entità scannerizzate, è possibile eseguire un SQL Injection scannerizzando valori come 1’ OR 1=1 – al fine di bypassare i meccanismi di autenticazione. Gli attacchi sono anche legati al typosquatting: si tratta di una registrazione intenzionale di siti web che prendono il nome di siti famosi e ne cambiano alcune lettere; nel 2010 è stato stimato che ci fossero almeno 938.000 siti del genere che si rifacevano al nome del 3264 .com più popolari, la maggior parte dei quali supportava pubblicità pay- per click. 4. INTERAZIONE CON GLI UTENTI Sono diversi gli studi proposti per comprendere il comportamento di un generico utente di fronte a un QR Code. Uno di questi, per esempio, ha investigato su come gli utenti interagiscano di fronte a QR Code inseriti sotto forma di stickers e appiccicati ai muri dei locali della città (nello studio, Melbourne). In questo modo, quanto un utente lo scansionava, poteva leggere i commenti della clientela venuta prima di lui: i risultati dello studio, dunque, suggeriscono che è principalmente la curiosità a far nascere negli utenti il desiderio di scansionare dei QR Code senza alcun contesto. Questo motivo, legato alla fretta di scoprire cosa si
  • 4. cela dietro al codice, tende a far ignorare gli aspetti di sicurezza legati alla scansione di codici provenienti da sorgenti non verificate. In un altro studio, si è analizzato come è possibile effettuare degli attacchi di phishing, attraverso due esperimenti. Nel primo, quello di “sorveglianza”, si è osservato che una buona fetta di utenti scannerizzava il codice ma non visitava l’URL all’interno contenuto. Nel secondo, quello di “QRishing”, si sono inseriti QR Code su tre tipi di poster e volantini, al fine di determinare la “suscettibilità” a un attacco di phishing. Il codice conteneva un link a un sondaggio, con l’intento di modellare il comportamento delle persone che lo hanno scansionato. I risultati dello studio hanno sottolineato il fatto che sono necessari strumenti più adeguati a supportare la rilevazione di potenziali minacce. Inoltre, i lettori di codici non forniscono strumenti per rilevare automaticamente delle minacce e quindi minimizzare l’impatto sulla privacy e la sicurezza dell’utente: è per questo motivo che è necessaria la pratica di scansione al fine di decodificare il QR Code e anche dopo di essa, resta comunque difficile giudicare l’affidabilità di un URL. 5. FRAMEWORK DI SICUREZZA Al fine di supportare lo sviluppo di un framework sicuro per la progettazione di codici QR, è necessario fornire delle linee guida, che hanno lo scopo di rafforzare il codice stesso, il lettore e la rilevazione di potenziali minacce. Di seguito, dunque, viene proposta una serie di requisiti che possono tornare utili allo scopo. 1) Visual QR Codes: un visual QR Code può significativamente supportare l’utente nel rilevare un QR modificato o sostituito; più complesso è il codice, più difficile è per l’attaccante andare a modificarlo 2) Firma Digitale: inserimento di una firma digitale nella creazione del QR, in modo da verificare il creatore del codice e, dunque, capire se esso sia stato manomesso; con la presenza della suddetta firma, diventerebbe molto più complicato, per l’attaccante, modificare il QR, in quanto dovrà modificare il checksum e il processo di verifica. Tuttavia, ciò significherebbe inserire un’altra porzione di dati che andrà a ridurre lo spazio dei dati veri e propri da codificare 3) Masking: il pattern delle sezioni bianche e nere è determinato dal masking, che stabilisce se cambiare o meno colore a una determinata sezione. Data la robustezza fornita dai codici di Reed-Solomon, la presenza di zone corrotte non inficia la capacità di decodifica, tuttavia, maggiore è la deviazione da una distribuzione pari tra
  • 5. zone bianche e nere, maggiore è la probabilità che il codice sia stato modificato 4) Malicious URL Detection: è possibile utilizzare delle metriche che permettono di stabilire se l’URL codificato sia malevolo, associando questa pratica a una blacklist 5) Content Display: dato che il QR Code non sono human-readable, mostrare il contenuto di un codice è fondamentale per un utente al fine di comprenderne il contenuto 6) Content Preprocessing: nel caso di URL abbreviato, mostrare il contenuto non è sufficiente a fornire le informazioni necessarie ed è per questo motivo che diventa necessaria un’unità che si occupi del preprocessing dell’URL, in modo che esso avvenga in background e solo successivamente si mostra l’URL vero e proprio all’utente 7) Anti-Phishing Tools: è importante che il processo di verifica sia trasparente all’utente ma la principale sfida è informare correttamente l’utente circa il tentativo di phishing 8) Content Verification: in aggiunta al preprocessing, sarebbe utile utilizzare altri strumenti di verifica, come appunto delle blacklist, in quanto è stato dimostrato che semplici warning non sono efficaci nel fermare l’utente dal proseguire verso l’URL malevolo QR Code Security: A Survey of Attacks and Challenges for Usable Security Katharina Krombholz, Peter FrŁuhwirt, Peter Kieseberg, Ioannis Kapsalis, Markus Huber, Edgar Weippl