Google Chrome ostrzega przed (niektórymi) domenami IDN
Przeglądarka Google Chrome wyświetla ostrzeżenia przy próbie wejścia na niektóre domeny IDN. Chodzi o zapewnienie użytkownikom bezpieczeństwa przed tzw. atakiem homograficznym.
Domeny IDN (ang. internationalized domain name) to nazwy, które zawierają co najmniej jeden znak spoza alfabetu łacińskiego (pokrywa się on z zestawem liter w zbiorze ASCII). W ewidentny sposób IDN-ami są nazwy w całości zapisywane za pomocą niełacińskich znaków, należących do alfabetów języków z innych rodzin językowych, takich jak choćby chińsko-tybetańska (np. alfabet chiński) czy dajska (np. alfabet tajski).
IDN czy nie IDN? Sprawę może przesądzić jedna kropka
O narodowym charakterze domeny może jednak przesądzać pojedyncza litera. Pod kategorię IDN podpadają również nazwy ze znakami charakterystycznymi dla alfabetu polskiego czy wielu innych alfabetów opartych na łacinie, takimi jak „ć”, „ę”, „ż” czy „ö”. Tego typu znaki diakrytyczne (ogonki, umlauty itd.) mogą posłużyć do tworzenia nazw łudząco podobnych do innych domen, np. bardziej znanych i rozpoznawalnych.
W efekcie takie adresy mogą być wykorzystywane przez hakerów do rozmaitych ataków, np. związanych z próbą wyłudzenia danych czy zainfekowania komputera złośliwym oprogramowaniem. Tego typu działania określane są jako ataki homograficzne – od pojęcia „homograf”, oznaczającego termin zapisywany w taki sam lub łudząco podobny sposób do innego, o innym znaczeniu.
Jak sprawdzić, czy adres nie jest IDN-ową „podróbką”, by uniknąć ataku homograficznego?
Różnice między domenami non-IDN a ich potencjalnie „złośliwymi” wariantami IDN tylko z pozoru są łatwe do wychwycenia. W wielu przypadkach o fałszywym kroku przesądza nieuwaga czy przyzwyczajenia. Dodatkowo niektóre rejestry dopuszczają rejestrację nazw w oparciu o mieszane skrypty – czyli alfabety różnych języków. W efekcie w nazwie złożonej w większości ze znaków ASCII może pojawić się pojedyncza litera pochodząca z cyrylicy. A warto pamiętać, że niektóre litery alfabetu rosyjskiego wyglądają niemal identycznie jak litery alfabetu polskiego. W takiej sytuacji wychwycenie błędu może być bardzo trudne lub praktycznie niemożliwe – jeśli nie zamierzamy celowo zweryfikować adresu. Można to zrobić np. wpisując podejrzany adres do konwertera punycode (zamienia nazwy IDN na znaki ASCII), tak jak w poniższym przykładzie.
Google Chrome ostrzega przed podejrzanymi IDN-ami
Trudno jednak postępować w ten sposób z każdym nowym adresem, pod który wchodzimy. W niektórych przypadkach nie ma jednak takiej potrzeby. Użytkowników Google Chrome wyręcza w tym zakresie przeglądarka. Wyświetla ona ostrzeżenia o ryzyku wejścia na „fałszywą stronę”. Tak wygląda alert, który pojawia się w przypadku próby wpisania w pasek adresu istniejącej domeny „ónet.pl”.
Po kliknięciu „Ignoruj” przeglądarka ładuje stronę, ale w pasku adresu wyświetla się adres w wersji punycode.
Na praktykę stosowaną przez Chrome zwrócił uwagę Andrew Allemann we wpisie na łamach DomainNameWire.com. Sam zetknął się z tym mechanizmem, gdy próbował wejść pod adres öttö .de, sprzedany na giełdzie Sedo. Jak pisze, jest to pierwszy raz, kiedy zetknął się z takim ostrzeżeniem. Google zaczął wyświetlać tego typu alerty w 75. edycji przeglądarki Chrome, czyli jeszcze w 2019 r., jednak ich forma ewoluowała. Wcześniej pojawiały się one pod paskiem adresu, obecnie wyświetlane są na środku strony. Nie oznacza to, że każdy adres z „ogonkiem” czy „kreseczką” zostanie wstępnie zablokowany. Nawet niezabezpieczone IDN-y z powodzeniem mogą zostać załadowane.
Kiedy punycode, a kiedy „blokada”? Google wyjaśnia swój algorytm
O trybie działania przeglądarki decydują algorytmy opisane na stronie Chromium.GoogleSource.com. Pierwsza lista („Google Chrome’s IDN policy”) opisuje, w jakich okolicznościach wyświetlany jest kod punycode, sygnalizujący internaucie, że domena ma charakter IDN. Podobne zabezpieczenia stosuje również Firefox. Jednak Chrome wprowadził dodatkową formę zabezpieczenia w postaci landing page’u z ostrzeżeniem. Jego przykładową wersję można znaleźć wpisując adres chrome://interstitials/lookalike w pasek adresu przeglądarki Chrome. Zabezpieczenie jest uruchamiane m.in. w przypadku ryzyka pętli przekierowań, niskiego wskaźniku zaangażowania użytkowników na wywoływanej stronie czy podobieństwa struktury strony do innej popularnej strony lub strony, na którą wchodził użytkownik.
Czy Google nie przesadza z bezpieczeństwem?
Stosowanie tego typu ostrzeżeń połączonych ze wstępną „blokadą” może wydawać się kontrowersyjne. Istnieje bowiem ryzyko „dyskryminacji” mniej znanych witryn, które dopiero budujących swoją reputację. Z drugiej strony ryzyko ataków homograficznych nieustannie rośnie, podobnie jak aktywność hakerów i malware’u w sieci. Pytanie jednak, czy Google w swojej trosce o internautów nie przesadza i czy nie wystarczyłaby lepiej wyeksponowana informacja na temat IDN-owego charakteru domeny, zamiast całostronicowej „blokady”?
Tagi: ASCII, atak homograficzny, Chrome, Google, Google Chrome, homograf, IDN, non-ASCII, Punycode