April 3

Спуфинг почтового адреса: как злоумышленники выдают себя за других

Введение

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

Протокол SMTP (Simple Mail Transfer Protocol — основной протокол передачи электронной почты в сетях TCP/IP) не предусматривает никакой защиты от спуфинга, поэтому подделать адрес отправителя довольно легко. Фактически все, что нужно злоумышленнику — инструмент, позволяющий выбрать, от чьего имени придет письмо. А им может стать и почтовый клиент, и специальная утилита или скрипт, которых в Сети немало.

Спуфинг почтового адреса используется и в мошеннических схемах, и в целевых атаках на организации. Цель этого приема — убедить жертву в том, что письмо пришло от доверенного отправителя, и побудить ее выполнить указанные в нем действия: перейти по фишинговой ссылке, перевести деньги на определенный счет, скачать вредоносный файл и т. д. Для большей убедительности злоумышленники могут копировать оформление и стиль писем конкретного отправителя, делать акцент на срочности задачи и использовать другие приемы социальной инженерии.

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

Спуфинг легитимного домена (Legitimate Domain Spoofing)

Cамый простой вид спуфинга почтового адреса — спуфинг легитимного домена. Он предполагает подстановку в заголовок From реального домена организации, под которую маскируется злоумышленник. В этом случае пользователю крайне сложно отличить поддельное письмо от настоящего.

Для борьбы со спуфингом были созданы несколько методов почтовой аутентификации, которые улучшают и дополняют друг друга: SPF, DKIM и DMARC. Перечисленные механизмы тем или иным образом подтверждают, что письмо действительно отправлено с заявленного адреса.

  • Стандарт SPF (Sender Policy Framework) позволяет владельцу почтового домена ограничить набор IP-адресов, которые могут отправлять письма с этого домена, а почтовому серверу — проверять, что IP-адрес отправителя авторизован владельцем домена. Правда, проверяет SPF не заголовок From, а домен отправителя, указанный в SMTP-конверте, который используется для передачи информации о маршруте письма между почтовым клиентом и сервером и не показывается получателю.
  • DKIM решает проблему проверки подлинности отправителя с помощью цифровой подписи, которая генерируется на основе закрытого ключа, хранящегося на сервере отправителя. Открытый ключ для проверки подписи помещается на DNS-сервер, отвечающий за домен отправителя. Если в действительности письмо отправлено с другого домена, подпись окажется невалидной. Однако у этой технологии тоже есть слабое место: злоумышленник может отправить поддельное письмо без DKIM-подписи, и его будет невозможно проверить.
  • DMARC (Domain-basedMessageAuthentication, ReportingandConformance) позволяет проверить домен в заголовке From на соответствие домену, подтвержденному с помощью DKIM и/или SPF. Таким образом, при использовании DMARC письмо со спуфингом легитимного домена не пройдет проверку. Однако при выборе строгой политики DMARC может блокировать и полезные письма — в одной из наших статей мы рассказывали, как наши решения улучшают эту технологию и сводят к минимуму ложноположительные срабатывания.

Естественно, с повсеместным внедрением описанных выше технологий злоумышленники столкнулись с нелегким выбором: полагаться на то, что в компании, под которую они маскируются, почтовая аутентификация не настроена или настроена с ошибками (а такие, к сожалению, еще остались), либо использовать способы подделки заголовка From, которые обходят аутентификацию.

Спуфинг отображаемого имени (Display Name Spoofing)

Отображаемое имя — это имя отправителя, которое стоит в заголовке From перед его адресом. Если речь идет о корпоративной почте, то в качестве имени отправителя обычно используется реальное имя человека, название отдела и т. д.

Пример отображаемого имени

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

Ghost Spoofing

Самый популярный и часто встречающийся вид спуфинга отображаемого имени — это Ghost Spoofing. Его суть заключается в том, что злоумышленник указывает в качестве имени не только имя человека или название компании, под которую он маскируется, но и адрес предполагаемого отправителя, как в примере на скриншоте ниже.

Пример Ghost Spoofing

При этом на самом деле письмо приходит с совсем другого адреса.

Реальный адрес отправителя в Ghost Spoofing и почтовая аутентификация

AD Spoofing

AD (Active Directory) Spoofing тоже является одной из разновидностей спуфинга отображаемого имени, но в отличие от техники Ghost Spoofing не предполагает указания поддельного адреса в качестве части имени. При этом в адресе злоумышленников, с которого рассылаются такие письма, используется имя человека, от лица которого они рассылаются.

Пример AD Spoofing

Этот метод выглядит более примитивным по сравнению с Ghost Spoofing, однако мошенники могут предпочитать его по нескольким причинам. Во-первых, если почтовый агент получателя все-таки отображает содержимое заголовка From целиком, то двойной адрес отправителя вызовет у пользователя больше подозрений, чем адрес на общедоступном домене. Во-вторых, технически Ghost Spoofing легче блокировать спам-фильтрами: достаточно просто отправлять в спам письма, где в отображаемом имени отправителя содержится почтовый адрес. Запретить же все входящие письма от тезок всех коллег и контрагентов, как правило, не представляется возможным.

Спуфинг схожего домена (Lookalike domain Spoofing)

В более сложных атаках злоумышленники используют специально зарегистрированные домены, похожие на домен организации-мишени. Это требует немного больших затрат: все же найти и купить определенный домен, настроить на нем почту, подписи DKIM и SPF и аутентификацию DMARC сложнее, чем просто немного изменить заголовок From. Но и распознать подделку в таком случае труднее.

Primary Lookalike

Lookalike-домены — это домены, схожие по написанию с доменами подделываемой организации, но отличающиеся от них одной или несколькими буквами. Подробнее мы рассказывали о них в статье «Lookalike-домены и защита от них»). Например, письмо на скриншоте ниже пришло с домена deutschepots.de, который очень легко перепутать с доменом немецкой почтовой компании Deutsche Post (deutschepost.de). Если перейти по ссылке в таком письме и попытаться оплатить доставку посылки, можно не только потерять 3 евро, но и оставить мошенникам данные своей карты.

Пример письма с lookalike-домена

Впрочем, при должном уровне внимательности такую ошибку можно заметить. Но бывают и случаи, когда простой внимательностью уже не обойтись.

Unicode Spoofing

Unicode Spoofing — разновидность спуфинга, в которой один из ASCII-символов в имени домена заменяется на схожий по написанию символ из диапазона Unicode. Чтобы понять эту технику, нужно разобраться, как кодируются домены, в которых используются нелатинские символы (например, кириллица или умлауты). Для работы с ними был создан метод преобразования Punycode, в соответствии с которым символам Unicode сопоставляются так называемые ACE-последовательности (ASCII Compatible Encoding — кодировка, совместимая с ASCII), состоящие из букв латинского алфавита, дефисов и чисел от 0 до 9. При этом многие браузеры и почтовые клиенты отображают Unicode-версию домена. Так, например, домен:

1

касперский.рф

преобразуется в:

1

xn--80akjebc7ajgd.xn--p1ai

Однако в браузере вы, скорее всего, увидите именно «касперский.рф». При этом, поскольку данная технология предусматривает частичное кодирование (кодируется не вся строка, а отдельный символ), домен может содержать и ASCII-, и Unicode-символы, и злоумышленники активно этим пользуются.

Пример письма с Unicode spoofing

На скриншоте выше мы видим сообщение, которое якобы отправлено с домена apple.com. Написание полностью совпадает, почтовую аутентификацию письмо прошло. Удивляет дизайн письма, но обычному пользователю редко приходят сообщения о блокировке, поэтому сравнивать особо не с чем. Если ничего не подозревающий пользователь кликает по ссылке, он попадает на поддельный сайт и оставляет там данные своего аккаунта.

Если посмотреть в заголовки этого письма (это можно сделать в большинстве почтовых клиентов для ПК и), откроется совсем другая картина:

Punycode-запись домена

Дело тут в том, что домен аррle.com как раз подпадает под правило кодирования Unicode-символов в ASCII — первые три символа являются кириллическими «а» и «р». Но почтовый агент, которым было открыто письмо, для удобства пользователя преобразовал Punycode-комбинацию в Unicode и в письме отобразилось «аррle.com».

Отметим, что некоторые почтовые клиенты предупреждают пользователя, что в имени домена использованы нестандартные символы, или даже отображают Punycode в заголовке From. Однако такие механизмы защиты предусмотрены далеко не везде, и это играет на руку мошенникам.

Вывод

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

Для защиты от спуфинга также существуют самые разные способы — от простой, но не очень надежной внимательности до специальных компонентов в составе решений для бизнеса. «Лаборатория Касперского» включила нужный модуль в решения для почтовых серверов на Microsoft Exchange, Linux и в виртуальных средах, а также отдельный продукт для Microsoft Office 365.