Atak homograficzny

https://xpil.eu/0zw

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...

https://xpil.eu/0zw

4 komentarze

    1. 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.

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.