Starzy internetowi wyjadacze znają te wszystkie tricki na wylot: ktoś zamienia dwie literki w adresie www, albo zastępuje literę "o" zerem i liczy na to, że użytkownik się nie zorientuje i wpisze swoje hasło, numer karty kredytowej czy co tam jeszcze. Nic nowego i wszyscy umiemy się przed tym chronić. Przeglądarki www są już na tyle "inteligentne", żeby nas ostrzegać przed takimi stronami a czasem nawet automatycznie przekierowywać na "poprawne" adresy. I tak dalej.
Ale ponieważ Homo Sapiens ma ten drugi człon nazwy nie od parady, wymyśla ciągle nowe tricki, niektóre naprawdę interesujące. Jednym z nich jest tytułowy atak homograficzny polegający na tym, że "zwykłe" litery w adresie www zastępuje się niemal identycznie wyglądającymi znakami UTF z innych alfabetów.
Spójrzmy:
https://www.аррӏе.com/
https://www.apple.com/
Wyglądają identycznie, prawda? Może z wyjątkiem przedostatniego znaku w słowie "apple", ale jeżeli użyjemy nieco innej czcionki, różnicy już nie będzie:
Można się wślipiać do bólu, nie widać różnicy.
Pierwszy adres używa Cyrylicy; z punktu widzenia DNS jest więc kompletnie inny od drugiego. Ktoś odpowiednio sprytny mógłby zbudować pod tym adresem fałszywy sklep z produktami Apple i akceptować fałszywe zamówienia oraz całkiem prawdziwe płatności.
Jak się chronić?
Nie ma prostej odpowiedzi. Większość przeglądarek zaimplementowała już technikę zwaną punycode polegającą na tym, że jeżeli w adresie www znajdują się znaki z różnych alfabetów, wówczas adres taki zostanie wyświetlony w postaci numerycznych kodów UTF a nie ich graficznych odpowiedników.
Jednak w przypadku takim jak pokazany powyżej metoda nie zadziała, ponieważ CAŁY adres jest zapisany Cyrylicą.
W Firefoxie można od niedawna wymusić punycode dla wszystkich adresów ze znakami spoza standardowego zakresu ASCII (czyli 0-255). Wystarczy wejść w about:config, znaleźć opcję network.IDN_show_punycode i ustawić ją na true. Wówczas adres https://www.аррӏе.com/ wyświetli się w pasku adresu jako https://www.xn--80ak6aa92e.com/ i od razu będzie wiadomo, że coś nie bangla. Jednak po pierwsze trzeba tę opcję świadomie włączyć, a po drugie nie wszystkie przeglądarki ją (póki co) udostępniają.
A więc nie pozostaje nic innego jak trzymać się na baczności i uważać w co się klika...
Co do “pierwszego” apple to pod Chrome (najnowszy) pokazuje adres: https://www.xn--80ak6aa92e.com/ – czyli tak jak FF, ale bez grzebania w config
Temat niedawno był na HN, pewnie dlatego twórcy przeglądarek się nim w końcu na serio zainteresowali.
cytujemy https://niebezpiecznik.pl/post/uwaga-na-niewykrywalny-phishing-poprzez-domeny-ze-znakami-unicode-podobnymi-do-liter-z-alfabetu-lacinskiego/ ?
No właśnie. Temat się niedawno pojawił na kilku dużych portalach i w Google najwyraźniej zareagowali aktywując w kolejnej wersji Chrome opcję punycode domyślnie.