L'utilizzo di URL ingannevoli nelle campagne di phishing non accenna a dimunire, e il supporto dei caratteri Unicode ha complicato la situazione
Molto spesso venivano, e vengono ancora, chiamati attacchi di "website spoofing" e bene o male tutti noi, almeno una volta, ne siamo stati bersaglio - non vittime, si spera - in campagne di spam e phishing. Quelli che più correttamente vanno indicati come attacchi "omografici" - oppure, usando la denominazione anglosassone completa, IDN Homograph Attack, dove IDN sta per Internationalized Domain Name - sono infatti una forma di attacco molto vecchio stampo ma ancora decisamente efficace. Resa ancora più subdola da una evoluzione in sé positiva: il fatto che da qualche tempo la gestione dei domini Internet supporta anche caratteri internazionali che vanno ben oltre il vecchio set ASCII.
Gli attacchi di spoofing omografico (questa è la loro ulteriore denominazione: homographic spoofing) sfruttano l'omografia, ossia il fatto che caratteri distinti appaiono invece identici all'occhio di un generico osservatore. L'esempio classico, quasi storico, riguarda il numero uno (1) e la lettera elle minuscola (l). Chi voglia creare, per fare un esempio banale, un indirizzo Internet che faccia finta di appartenere ad ENEL potrebbe usare una URL del tipo "www.ene1.it" (ene-uno) invece della prevedibile "enel.it". Questo è proprio l'ABC dell'omografia, però. Nel tempo le cose si sono fatte decisamente più articolate.
Partecipa agli ItalianSecurityAwards 2024 ed esprimi il tuo voto premiando le soluzioni di cybersecurity che reputi più innovative
Il principio dell'attacco omografico non cambia: un attaccante crea un dominio che nella sua URL imita visivamente un dominio legittimo, con l'obiettivo di indurre gli utenti a credere di trovarsi su pagine lecite e quindi rivelare informazioni sensibili o interagire inconsapevolmente con contenuti dannosi. Una pagina "finta" può tipicamente avviare lo scaricamento di un malware, o chiedere dati critici come quelli della carta di credito.
Ciò che cambia è che nei nomi di dominio tradizionali i caratteri sono solo quelli ASCII, quindi con lettere latine e numeri arabi. Gli IDN però consentono l'uso di caratteri di diverse scritture, come il cirillico, il greco e molti altri set. Il che va benissimo per l'internazionalizzazione del web, ma dà ai malintenzionati la possibilità di creare domini visivamente ancora più simili a quelli leciti perché alcuni caratteri di alfabeti poco noti sono pressoché identici a quelli "nostrani".
L'esempio migliore di queste similarità riguarda l'alfabeto cirillico. Le lettere "a" ed "e" minuscole sono visivamente identiche tra i set Unicode latino e cirillico, ma per la gestione degli URL sono in realtà distinte. Corrispondono rispettivamente ai codici Unicode 0061 e 0065 nel primo caso e, nel secondo, ai codici 0430 e 0435. Per fare altri esempi, un attacco omografico può sfruttare i caratteri "A" ed "E" cirillici, i caratteri serbi che appaiono come accostamento di due caratteri latini ("lj" e "nj"), alcuni caratteri dell'alfabeto fonetico, tutte le estensioni Unicode che riproducono le consonanti latine ma con un puntino sottostante (che si vede poco negli URL).
Per un attaccante è semplice registrare un dominio Internet con un URL visivamente lecito ma che in realtà è tutt'altro, e usarlo come base per le sue operazioni via phishing. Il malcapitato navigatore web che ci finisce sopra, anche se è preparato e guarda con una certa attenzione la barra indirizzi del suo browser, potrebbe non accorgersi davvero di niente. Perché visivamente non c'è nulla di anomalo.
Quello che a noi umani sembra identico a un URL lecito, però, sarebbe digitalmente scoperto in una frazione di secondo come qualcosa di diverso e potenzialmente pericolo. È possibile che non ci siano controlli in questo senso? In effetti è possibile fare in automatico le opportune verifiche, ma le cose sono meno semplici di quanto sembrano.
La strada apparentemente meno complessa per bloccare queste forme di spoofing è fare in modo che i browser evidenzino chiaramente i caratteri non-ASCII, convertendoli in qualcosa di diverso ed evidentemente anomalo. Questo qualcosa già esiste ed è chiamato punycode, una codifica/algoritmo che converte gli URL con caratteri internazionali in sequenze di caratteri solo ASCII e visualizza queste nella barra indirizzi di un browse. Ad esempio, la stringa "enel" con la prima "e" in cirillico diventerebbe "xn--nel-qdd". I browser principali prevedono questo approccio, in ogni caso ci sono plugin che lo implementano.
Il lato debole del punycode è che è stato esso stesso sfruttato per il website spoofing. Un malintenzionato potrebbe registrare un dominio con un URL che replica la traduzione in punycode dell'URL di un sito legittimo, provando così ad ingannare i browser, sperando che mostrino il punycode convertito nell'URL lecito. Probabilmente non funzionerà, perché questo trucco è noto e filtrato dai browser nelle loro versioni almeno un po' recenti. Ma c'è sempre chi non naviga sul web con strumenti sicuri... Un esempio davvero molto noto di questo spoofing è il dominio xn--80ak6aa92e.com, creato ad arte nel 2017 e che per un po' i browser hanno visualizzato come apple.com (la prima "a" è in cirillico).
La seconda forma possibile di protezione è evitare alla radice la registrazione di domini illeciti che giocano sull'ambiguità dei caratteri Unicode. Se ne parla da tempo e le varie organizzazioni che regolano la gestione dei domini hanno in effetti definito linee guida in questo senso. Ma non tutti i registrar del mondo le seguono. C'è poi l'ovvia strada del blacklisting dei domini che cercano di duplicare domini leciti, ma per questo i domini devono essere già riconosciuti come malevoli. E anche in questo caso il blacklisting funziona se lo fanno in molti, cosa che non è affatto scontata.
Resta quindi la risorsa sempre migliore: combinare un po' tutte le possibili forme di protezione tecnologica e aggiungervi l'attenzione del singolo utente. Alla fine, è proprio la consapevolezza delle singole persone il primo filtro contro tutti gli attacchi cyber, vecchi e nuovi.