Rilevatore di caratteri sosia
Due indirizzi possono sembrare identici sullo schermo ed essere fatti di caratteri diversi. Incolla quello di cui non ti fidi. Lo smontiamo, diamo un nome a ogni suo carattere e indichiamo gli impostori.
Una lettera sullo schermo è un numero sotto
I computer memorizzano il testo come numeri chiamati code point. La «a» minuscola latina è U+0061. La «а» minuscola cirillica è U+0430. I font le disegnano con la stessa forma, quindi i tuoi occhi non le distinguono, ma per il sistema dei nomi di dominio sono diverse quanto «a» e «z». Unicode definisce più di 150.000 caratteri in oltre 160 sistemi di scrittura, e molti di questi somigliano parecchio alle lettere latine, o sono identici.
Per decenni i nomi di dominio erano limitati a lettere ASCII, cifre e trattini. I nomi internazionalizzati sono arrivati dopo e la regola sulla rete non è mai cambiata. Un nome con altri caratteri viene convertito in una forma ASCII che inizia con xn--, detta punycode. münchen.de viaggia come xn--mnchen-3ya.de. Un nome scritto con lettere cirilliche che sembrano «apple» viaggia come xn--80ak6aa92e.com, e appartiene a chi l’ha registrato.
Questo trucco si chiama attacco omografico. I browser si difendono nella barra degli indirizzi mostrando la forma xn-- quando un nome mescola sistemi di scrittura. Programmi di posta, chat, file PDF e codici QR stampati per lo più non se ne preoccupano.
Cosa verifica il rilevatore
Per prima cosa trova il nome host dentro ciò che hai incollato, che sia un link completo, un indirizzo e-mail o un dominio nudo. Poi esegue questi test nel tuo browser:
- Sistema di scrittura di ogni carattere
- Un’etichetta che mescola il latino con cirillico, greco, armeno, cherokee, lisu, georgiano o copto è segnata in rosso. Lo stesso vale per un’etichetta scritta interamente in uno di questi sistemi quando ogni lettera ha un gemello latino. Il latino mescolato con cinese, giapponese o coreano è un uso normale e non viene segnalato.
- Tabella dei sosia
- Circa 180 caratteri noti per imitare una lettera latina, una cifra o un segno di punteggiatura, più le forme a larghezza piena e le lettere matematiche. Punti, barre e trattini che non sono quelli veri sono in rosso, perché spostano il confine del dominio.
- Caratteri invisibili e di direzione
- Spazi e congiuntori a larghezza zero, trattini morbidi e i controlli bidirezionali. U+202E, la forzatura da destra a sinistra, fa apparire
invoice[U+202E]fdp.execome «invoiceexe.pdf». - Somiglianza con un marchio
- Il nome viene ridotto a ciò che vede un lettore di fretta: sosia ricondotti al latino, accenti tolti,
0letto comeo,1comel,rncomem,vvcomew,clcomed. Questa forma ridotta viene confrontata con circa 95 dei nomi che il phishing imita di più: grandi banche del Nord America e d’Europa, servizi di pagamento, corrieri, uffici delle imposte, account di posta e di streaming. - Struttura dell’indirizzo
- Una parte utente prima di
@in un link (https://paypal.com@example.net/porta a example.net), il dominio di un marchio usato come sottodominio di un altro, un indirizzo IP nudo.
Come leggere il risultato
Il riepilogo ha quattro contatori: sistemi di scrittura presenti, caratteri sosia, caratteri invisibili e il marchio a cui somiglia il nome, se ce n’è uno. Sotto, «Cosa vedi, cosa è» elenca lo stesso nome in quattro modi:
- Visualizzato: come appare, con i caratteri sospetti evidenziati e il dominio registrabile in grassetto.
- Forma tecnica: il punycode che il browser richiede davvero.
- Letto di fretta: la forma ridotta usata per il confronto con i marchi.
- Dominio che conta: il dominio registrabile, la parte che qualcuno ha dovuto comprare. Tutto ciò che sta alla sua sinistra lo decide il proprietario, quindi
paypal.com.secure-login.netè una pagina susecure-login.net.
Poi la tabella dei caratteri riporta ogni carattere con il suo code point e il suo sistema di scrittura. Il rosso indica sosia e caratteri invisibili. Il giallo indica segni combinanti e caratteri di controllo. Il blu è solo informativo, su una lettera latina accentata o su una lettera di un altro sistema usata da sola.
La somiglianza con un marchio ha quattro gradi. Tre sono in rosso: la stessa grafia ridotta, una grafia che differisce di una lettera (due per i nomi di dieci lettere o più) e il dominio vero di un marchio usato come prefisso. Il nome di un marchio semplicemente contenuto in un dominio più lungo è in giallo, perché rivenditori e partner lo fanno per motivi onesti.
I limiti di un controllo sui caratteri
Il rilevatore giudica come è scritto un nome, non il sito che c’è dietro. secure-account-verify.com non contiene caratteri ingannevoli né marchi, quindi passa senza problemi pur essendo una trappola evidente. Per la reputazione, usa la verifica dei siti pericolosi.
La lista dei marchi è corta di proposito. Una banca regionale o un piccolo negozio non ci sono, quindi le loro imitazioni vengono colte solo quando usano lettere straniere o caratteri invisibili. I nomi di marchio molto corti (tre o quattro lettere) vengono riconosciuti solo come etichetta intera. Altrimenti segnaleremmo parole comuni che per caso li contengono.
Un nome può anche essere segnalato ed essere onesto. Aziende vere registrano domini in cirillico o in greco per chi legge quelle lingue. Quello che stai verificando è se il sistema di scrittura è coerente con il mittente e con la lingua del messaggio.
Domande frequenti
Cosa significa un dominio che inizia con xn--?
È la codifica ASCII (punycode) di un dominio che contiene caratteri fuori da a–z, 0–9 e trattino. Di per sé non è sospetto: xn--caf-dma.com è semplicemente café.com. Incollalo qui per vedere in quali caratteri si decodifica.
Come faccio a capire se un link è falso prima di cliccarlo?
Copia l’indirizzo del link senza aprirlo, incollalo qui e leggi la riga «Dominio che conta». Se quel dominio non è quello che l’organizzazione usa sul suo sito ufficiale, non aprire il link, qualunque cosa dica il resto dell’indirizzo.
Il mio browser mi protegge dai domini omografi?
In parte. Chrome, Firefox, Edge e Safari mostrano la forma xn-- nella barra degli indirizzi quando un’etichetta mescola sistemi di scrittura o corrisponde a uno schema di confondibili noto. Questo aiuta solo quando hai già aperto la pagina, e solo nella barra degli indirizzi. Nessuno controlla il testo di un link in un’e-mail.
Un indirizzo e-mail può contenere caratteri invisibili?
Sì. Uno spazio a larghezza zero o un trattino morbido si possono infilare ovunque in un testo. I server di posta in genere li rifiutano nella parte del dominio, ma compaiono nei nomi visualizzati, nel testo dei link e nei nomi dei file, dove aiutano un messaggio a superare i filtri per parole chiave.
Perché paypa1.com viene segnalato se usa solo caratteri normali?
Perché il trucco sta nel modo in cui lo leggi, non nel modo in cui è codificato. Leggi la cifra 1 come la lettera l e il nome diventa «paypal», che è nella lista dei marchi, mentre il dominio non è uno di quelli di PayPal.