L’abbiamo letto e sentito (e magari anche detto) mille volte: per evitare che ci vengano carpite in modo fraudolento informazioni personali riservate – login e password di servizi importanti, dati della carta di credito, informazioni bancarie – è fondamentale controllare sempre che l’indirizzo (URL) del sito riportato nella barra degli indirizzi del browser sia quello legittimo.
Infatti, anche se per un qualunque malintenzionato è piuttosto facile creare un sito fittizio identico a quello legittimo, quello che non può riprodurre è proprio l’URL del sito, che è attribuito in modo univoco ed è gestito da un singolo database distribuito in tutto il mondo.
Un malintenzionato potrà quindi anche ricreare in modo perfetto l’aspetto del sito di PayPal, http://paypal.com, ma dovrà per forza di cose usare un URL leggermente diverso, magari http://pay.pal.com, http://mypaypal.com, o simili, sperando che il malcapitato che ci finisce non se ne accorga. Basta quindi un po’ di attenzione per evitare problemi.
Almeno finora.
Provate ad inserire nella barra degli indirizzi del vostro browser questo URL apparentemente inoffensivo, https://www.xn–80ak6aa92e.com.
Se usare Firefox, Opera o Chrome (fino alla versione 57.x), quando premete Invio siete portati ad un sito web il cui URL sembra essersi trasformato quasi magicamente in quello di Apple.
A questo punto, basterebbe riprodurre l’aspetto del sito di Apple per rendere il sito finto praticamente indistinguibile da quello legittimo, con gravissimi pericoli per la sicurezza dei malcapitati che dovessero finirvi.
Per fortuna, Safari non è soggetto a questo problema e mostra sempre nella barra degli indirizzi l’URL originale. Anche i browser Microsoft, Edge e il venerabile Internet Explorer, sono immuni, a meno di non usare il Russo come lingua di sistema.
Il bug è legato all’uso dei caratteri unicode per gli indirizzi web, o meglio alla rappresentazione dei caratteri unicode tramite i soli caratteri ASCII (detta rappresentazione punycode).
L’URL https://www.xn–80ak6aa92e.com/ rappresenta delle lettere dell’alfabeto cirillico che sembrano identiche (o quasi) a quelle dell’alfabeto latino, ma che rimandano ad indirizzi web completamente diversi da quelli originali.1 La stessa cosa si può fare anche con altri alfabeti che hanno lettere simili alle nostre, fra cui il greco e l’armeno (anche se mi sembra per quest’ultimo le letetre simili siano veramente poche).
I dettagli tecnici del bug si possono leggere qui.
Quello che mi preme di più è spiegare come proteggersi. Perché è chiaro che inizieranno prestissimo degli attacchi basati su questa debolezza della codifica unicode, attacchi molto più pericolosi e difficili da smascherare di quelli che abbiamo dovuto subire finora.
Come già detto, Safari, Edge ed Internet Explorer non sono a rischio. Per chi usa Chrome, basta aggiornare alla versione 58.x appena rilasciata. Per Opera non è chiaro cosa succederà, ma comunque Opera ha una quota di utenti relativamente ridotta rispetto agli altri due browser a rischio.
Il vero problema è Firefox. Perché gli sviluppatori di Firefox hanno annunciato che cambiare il comportamento di default del browser creerebbe problemi agli “utenti le cui lingue non usano l’alfabeto latino” e che invece “loro vogliono che tutte le lingue e gli alfabeti siano trattati allo stesso modo su internet”.
Un intento nobile, ma anche pericoloso. Per fortuna c’è la possibilità di cambiare il comportamento di default di Firefox, accedendo alle pzioni avanzate di configurazione del browser.
Per farlo, basta scrivere about:config
nella barra degli indirizzi del browser e premere Invio. Comparirà una scritta bella grande che ci informa che l’operazione può invalidare la garanzia, compromettendo la stabilità, la sicurezza e le prestazioni del browser. Decisamente eccessivo. Non preoccupatevi e cliccate senza paura sul tasto che vi fa accettare il rischio.
Inserite ora la stringa punycode
nella barra di ricerca in alto. Comparirà un unico parametro di configurazione, network.IDN_show_punycode
, il cui valore di default è false
. Fate doppio click su false
, trasformandolo in true
, e chiudete la pagina di configurazione. Da ora in poi anche Firefox si comporterà come Safari e sarete al sicuro da possibili attacchi di questo tipo.
Per ulteriori approfondimenti, consiglio di leggere prima di tutto l’articolo originale che descrive il problema, Phishing with Unicode Domains di Xudong Zheng. Molto interessante e dettagliato anche This Phishing Attack is Almost Impossible to Detect On Chrome, Firefox and Opera di Mohit Kumar, mentre Chrome And Firefox Adding Protection Against This Nasty Phishing Trick e Chrome and Firefox Phishing Attack Uses Domains Identical to Known Safe Sites, riportano altri due esempi di URL a rischio.
-
Se si guarda attentamente, la ӏ di apple visibile nella barra degli indirizzi non è proprio una l ma una lettera dell’alfabeto cirillico). ↩