Attacco Omografico: Cos’è, come funziona e come difendersi dai falsi URL identici agli originali

Malware Teschio Hacker

Scopri cos’è un attacco omografico, come funziona il trucco dei caratteri Unicode negli URL e come verificare domini sospetti con Punycode, Chrome e PowerShell

Gli attacchi omografici rappresentano una delle tecniche più insidiose nel panorama della sicurezza informatica moderna. Non sfruttano malware o vulnerabilità software, ma un principio molto più sottile l’illusione visiva.

Un URL, un indirizzo email o uno username possono sembrare identici a quelli di un servizio legittimo, ma essere composti da caratteri Unicode differenti rispetto ai corrispettivi latini. Per l’occhio umano risultano indistinguibili; per i sistemi informatici, invece, sono stringhe completamente diverse.

Come funziona un attacco omografico

Il meccanismo alla base dell’attacco omografico si fonda sull’utilizzo di caratteri appartenenti ad alfabeti diversi ma visivamente simili, detti “omoglifi”. Un esempio emblematico riguarda il dominio di PayPal come gli indirizzi seguenti:

  • paypal.com
  • раypal.com

Queste sembrano identiche, ma nel secondo caso alcune lettere appartengono all’alfabeto cirillico e non a quello latino. Il risultato è un dominio falso che può essere usato per campagne di phishing altamente credibili.

Il problema nasce dall’adozione dello standard Unicode (confusables.txt), progettato per supportare oltre 150.000 caratteri distribuiti su più di 160 sistemi di scrittura. Questa scelta ha reso il web globale e inclusivo, ma ha anche aperto la porta a possibili abusi.

Unicode, caratteri confondibili e normalizzazione

Il consorzio Unicode mantiene un elenco ufficiale di caratteri “confondibili”, che include migliaia di simboli potenzialmente pericolosi. Attraverso la normalizzazione NFKC (Normalization Form Compatibility Composition), molte varianti stilistiche vengono convertite in una forma canonica più semplice, riducendo il rischio di ambiguità.

Tuttavia, non tutte le applicazioni implementano questa trasformazione in modo uniforme. Quando un attaccante registra una variante quasi identica di un dominio legittimo, sfrutta proprio questa discrepanza tra percezione visiva e rappresentazione tecnica.

Il ruolo del Punycode e dei browser moderni

Originariamente, il DNS supportava esclusivamente caratteri ASCII. Per consentire domini internazionalizzati, è stato introdotto il Punycode, un sistema di codifica che converte caratteri Unicode in formato ASCII con prefisso “xn--”.

Ad esempio, il browser Google Chrome trasforma automaticamente domini sospetti in formato Punycode. Se rileva una combinazione anomala di alfabeti (come latino + cirillico), mostra la versione ASCII codificata.

Ritornando all’esempio di prima, il dominio раypal.com che contiene caratteri cirillici viene tradotto in xn--ypal-43d9g.com. In questo modo segnala implicitamente la presenza di caratteri non standard. Tuttavia, se un dominio utilizza esclusivamente caratteri di un unico alfabeto non latino, potrebbe essere visualizzato senza conversione evidente.

Come verificare un URL sospetto in Windows e Linux

Per smascherare un possibile attacco omografico, è possibile utilizzare strumenti di verifica tecnica. Su Windows, tramite PowerShell, si può impiegare la classe IdnMapping per convertire un dominio in ASCII.

Se il risultato contiene il prefisso “xn--”, significa che il dominio include caratteri Unicode non latini. Su Linux, strumenti come idn2 consentono di effettuare la stessa operazione da terminale con il medesimo risultato.

FONTE

Sono appassionato di tecnologia sin dalla tenera età, coltivo la mia passione con aggiornamenti quotidiani e non mi lascio scappare proprio nulla. Ho creato HowTechIsMade per condividere con voi le mie passioni ed aiutarvi ad avere un approccio più semplice con la tecnologia.