Когда IETF решила разрешить использование символов Unicode в доменных именах, многие технические специалисты сочли этот шаг похвальным, но также чреватым опасностью, поскольку сотни уникальных символов могут выглядеть похоже или идентично в разных алфавитах. Это может быть использовано для атак типа typosquatting, при которых злоумышленники создают функционирующие веб-сайты с намеренно искаженными веб-адресами, выглядящими идентично реальному URL, тем самым запуская атаки на ничего не подозревающих посетителей, которые попадают на сайт из-за результатов поиска, сгенерированных при опечатке пользователем адреса. Браузер Chromium имеет самый продвинутый набор правил для поиска и предотвращения вредоносных доменов, маскирующихся под легитимные, но даже лучший код имеет странные крайние случаи, как подробно объясняется в сообщении в блоге от Have I Been Squatted (HIBS) здесь.
Используя в качестве примера “аррӏө.com” — который на самом деле не идентичен реальному “apple.com” — исследователи показывают, как определенные комбинации символов все еще могут обойти несколько уровней защиты благодаря особым обстоятельствам, связанным с использованием конкретных кириллических символов. Этот алфавит имеет похожие на латинские буквы символы. Например, а → a, е → e, о → o, р → p и с → c. Мы прощаем вас, если вы не можете заметить различий.
Попытка вставить один омоглиф в середину стандартных латинских символов активирует средства защиты Chromium и заставляет браузер отображать доменное имя в формате Punycode. Например, использование кириллической “а” с “pple.com” будет отображаться как “xn--pple-43d.com”. За редким исключением, доменные имена с нелатинскими символами, заканчивающиеся на .com, проходят проверку только в том случае, если они все из одного алфавита.
Тем не менее, попытка использовать “аррӏе.com”, используя все кириллические похожие символы, также потерпит неудачу. Chromium ведет список из 29 кириллических символов, которые регулярно маскируются под их латинские аналоги, и составление доменного имени только из символов из этого списка запрещено.
Так как же “аррӏө.com” проходит проверку? Позвольте нам проиллюстрировать это более крупным текстом ниже. Обратите внимание, как правый кириллический символ на самом деле представляет собой овал с линией поперек.
Как вы уже можете догадаться, символ “ө” не входит в этот специальный список из 29 символов. Хотя более поздний выпуск Chromium может и, вероятно, добавит его, это выявляет сложность проблемы: поскольку нет универсального решения для обнаружения typo-squatting, даже лучший набор правил рано или поздно столкнется с крайним случаем.
Требуется много внимательных глаз, чтобы играть в Unicode Pokémon и поймать их всех, особенно учитывая, что набор символов постоянно развивается и теперь насчитывает почти 173 000 записей — хотя только подмножество из них может быть использовано в качестве доменных имен или TLD на практике.
Сообщается, что Chromium является лучшим браузером в обнаружении похожих доменных имен, поскольку исследование 2020 года показало, что он обнаружил 64,1% попыток, в то время как Firefox и Safari отстают. Напомним, что Chromium лежит в основе браузеров Chrome, Edge и Brave.
Помимо множества других правил и проверок по алфавитам, Chromium ведет список из более чем 8000 популярных доменов, которые подвержены typosquatting, и проводит более строгие проверки для 836 из них. Доменные регистраторы также прилагают разумные усилия для предотвращения typosquatting, например, имеют строгие правила относительно того, какие символы могут использоваться в каких TLD, но этого далеко не достаточно для полного решения проблемы.
Учитывая все вышесказанное, HIBS рекомендует компаниям, опасающимся выдачи себя за других, попытаться зарегистрировать любые похожие домены и поощрять пользователей к использованию passkey. Passkeys всегда привязаны к конкретному домену, поэтому пользователь не сможет войти на подозрительный веб-сайт с их помощью.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Bruno Ferreira




