«Лепс спел» ≠ «спел Лепс»: или как фишеры переворачивают URL-адреса в браузерах

leer en español

«Лепс спел» ≠ «спел Лепс»: или как фишеры переворачивают URL-адреса в браузерах

Chrome и Edge не видят разницы между иллюзией и явью — а вы увидите? Разбор техники BiDi Swap.

image

Исследователи Varonis Threat Labs в своём недавнем отчёте напомнили киберсообществу о способе подмены URL-адресов, который активно используется фишерами для маскировки вредоносных ссылок под легитимные. Эта техника, основанная на особенностях отображения текста с разным направлением письма — слева направо и справа налево — теперь получила отдельное название BiDi Swap, подчёркивающее суть приёма и его связь с двунаправленной обработкой текста в браузерах.

Основу атаки составляет манипуляция с алгоритмом отображения Unicode-символов, предназначенных для языков с различным направлением письма. Например, английский и испанский используют привычную левостороннюю разметку (LTR), а арабский и иврит — правостороннюю (RTL). Когда в одном URL сочетаются символы из разных направлений, браузеры применяют так называемый Bidi-алгоритм, чтобы отобразить строку корректно. Однако он далеко не всегда справляется с такими URL-адресами: особенно это касается поддоменов и параметров запроса. На этом и построен механизм подмены — при определённой структуре строки браузер может отобразить адрес совсем не так, как он на самом деле устроен.

Подобные атаки не новы. Ранее использовались схожие трюки — например, гомографические атаки с Punycode, когда кириллические или греческие символы, визуально совпадающие с латиницей, использовались для создания поддельных доменов вроде «аpple.com» (с кириллической «а») или «рayрal.com». Другой приём — RTL-override — позволял встроить в строку специальные символы вроде U+202E, которые меняли направление текста и скрывали настоящие расширения файлов или обманывали системы фильтрации.

BiDi Swap опирается на те же слабости Unicode-обработки, но использует их иначе: злоумышленник создаёт URL с доменами и параметрами на арабском или иврите, а затем вставляет поддельный поддомен или параметр на английском — например, «https://varonis.com.ו.קום/». На первый взгляд кажется, что ссылка ведёт на сайт Varonis, хотя на деле домен — «ו.קום», а всё остальное — лишь обманчивая часть строки. Иногда добавляются портовые обозначения или дополнительные символы, усиливающие путаницу в визуальном отображении адреса.

Хотя такие техники известны давно, большинство популярных браузеров до сих пор не обеспечивают полноценную защиту от них. В Chrome, несмотря на функцию навигационных подсказок для подозрительно похожих доменов, срабатывание происходит далеко не во всех случаях. Firefox применяет другой подход, выделяя ключевые части доменного имени в адресной строке, что помогает заметить подмену. В Microsoft Edge разработчики отметили проблему как решённую, но по факту поведение браузера не изменилось. Единственным примером корректного отображения стал уже не поддерживаемый браузер Arc.

Исследователи рекомендуют быть особенно внимательными при переходе по ссылкам, содержащим смешение направлений текста или необычные конструкции. Пользователям стоит наводить курсор на подозрительные адреса, проверять SSL-сертификаты и структуру доменного имени, а разработчики браузеров — улучшать защиту, включая выделение доменов и расширение алгоритмов распознавания подделок. Эти меры позволяют на раннем этапе предотвратить переход на вредоносный ресурс.