Фишинговые ссылки обходят фильтры за счёт разного чтения одного адреса

phishing

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

Описание

Первый приём - служебная часть адреса, которая выглядит как логин и пароль. По правилам интернет-стандартов всё, что стоит перед именем сервера и отделено знаком "собаки", считается учётными данными. Браузеры молча отбрасывают эту часть. Подключаются они к настоящему узлу, взятому из имени сервера. Злоумышленнику такой приём даёт двойную выгоду. Случайный набор символов делает каждый адрес уникальным, поэтому точные списки блокировок и системы репутации ссылок его не узнают. Скорее всего, те же символы служат меткой для отслеживания конкретной жертвы или кампании. Побочный эффект - для инструментов с нестрогим разбором вся строка выглядит как адрес электронной почты.

Второй приём касается выбора имени сервера. В нём есть часть, которая начинается или заканчивается дефисом. Классические правила формирования имён такие конструкции запрещают. Система доменных имён (DNS), которая переводит понятные имена в сетевые адреса, к этому равнодушна. Браузер тоже спокойно открывает такой узел. Зато строгие проверки и регулярные выражения для поиска ссылок считают адрес недействительным. Некоторые средства защиты почты пропускают его из-за того же правила. Ссылка, которую не извлекли из письма, не попадёт ни в одну проверку.

Случайная часть имени подсказывает, что у злоумышленников настроена доменная зона с подстановочным символом. Тогда каждая жертва получает собственное, ранее не встречавшееся имя, которого нет ни в одном чёрном списке. Родительский домен напоминает адрес известной хорватской промышленной группы. Национальный домен в нём заменили коммерческим, да ещё и с дефисом внутри. По данным SANS Internet Storm Center, разобравшего полученное письмо, уязвимость здесь не используется. Схема опирается на расхождения между программами разбора.

Третий приём - адрес получателя, дописанный в хвосте ссылки. Так поступают многие наборы для фишинга. Страница читает этот хвост, подставляет адрес в форму входа и иногда меняет оформление под домен жертвы. Есть и другая выгода. Неаккуратно написанная программа делит строку по последнему знаку "собаки". Дальше она делает вывод, что ссылка ведёт на домен самой организации-получателя. Браузер так не ошибается. Имя сервера для него заканчивается на первой косой черте, поэтому он подключается к серверу злоумышленников.

Три приёма вместе дают строку, которую разные системы понимают по-разному. Наивный фильтр видит два адреса электронной почты или ссылку на собственный домен организации. Строгая проверка видит некорректное имя сервера и отбрасывает письмо целиком. Браузер видит рабочий адрес и ведёт человека на фишинговую страницу. Расхождение между правилами разбора и даёт схеме работать. Такой разрыв встречается и внутри одной цепочки защиты. Почтовый шлюз может передать письмо дальше, а средство для проверки ссылок в изолированной среде не найдёт в нём ни одного адреса.

Для жертвы внешне ничего не меняется. Человек видит знакомую страницу входа, где адрес уже подставлен. Оформление подстраивается под домен, поэтому подозрения почти не возникают. Введённые логин и пароль уходят злоумышленникам вместе с меткой, которая была спрятана в начале ссылки. Похищенные данные о входе открывают доступ к рабочей почте и связанным сервисам. Ущерб от такого доступа измеряется не количеством писем, а подделкой реквизитов, счетами и утечкой документов.

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

Если искать такие ссылки в своей инфраструктуре, полезно помнить о трёх признаках. В адресе больше одного знака "собаки"; какая-то часть имени сервера начинается или заканчивается дефисом; в хвосте стоит адрес самого получателя. Хорошо бы ещё проверить, как корпоративный шлюз приводит адреса к единому виду перед проверкой. Если он разбирает строку иначе, чем браузер, расхождение можно использовать.

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

Индикаторы компрометации

Комментарии: 0