Защита почтового адреса от подделки. Почему SPF, DKIM и DMARC не работают
Пример спуфинга в Gmail: мошенник подделал обратный адрес facebook.com
, демо
Многие не знают, насколько легко подделать обратный адрес электронного письма. То есть отправить письмо с чужого адреса или с произвольного домена. Спамеры, фишеры и прочие мошенники постоянно обходят защиту SPF, DKIM и DMARC.
Посмотрим, как они это делают и как защитить своё письмо от спуфинга.
Средний офисный работник получает 120 писем в день, большинство из которых не требует срочного ответа, а некоторые представляют откровенный спам. Тут без фильтрации не обойтись.
А где фильтрация — там и ошибки. Например, ваш почтовый сервер могут занести в чёрный список просто потому, что у него неудачные соседи на VPS-хостинге из того же диапазона IP-адресов. К сожалению, это нередкая ситуация.
Другая опасность — подделка адреса отправителя. Примеры со взломом Yahoo в 2014 году, взломы Gmail-аккаунтов высокопоставленных чиновников показывают, что подделка адреса — серьёзная и актуальная угроза.
Три типа атак для подделки обратного адреса, источник
Существует как минимум 18 способов подделать адрес отправителя email. Например, в 2020 году на хакерской конференции DEFCON была представлена утилита espoofer, которая позволяет обойти аутентификацию SPF, DKIM и DMARC в почтовых системах (см. слайды презентации, видео).
Программа espoofer помогает системным администраторам и пентестерам быстро выявить уязвимости в целевых почтовых серверах.
Уязвимости в почтовом сервере, выдача espoofer
К сожалению, таких уязвимостей очень много, и злоумышленники находят всё новые способы обхода защиты, потому что инфраструктура email фундаментально уязвима для таких атак (см. ниже).
Как показывает практика, мошенники успешно обходят защиту SPF, DKIM и DMARC. У всех этих политик три общие уязвимости:
- Все они основаны на DNS, так что эффективно действуют все известные виды атак на DNS (например, спуфинг запросов к DNS).
- Защита адреса ограничена только доменной частью.
- Поскольку подписи DKIM применяются только почтовым сервером отправителя и проверяются почтовым сервером получателя, гарантия целостности содержимого и подлинности отправителя не является полностью сквозной. Сообщение остается уязвимым между клиентом и почтовым сервером как для отправителя, так и для получателя. Эту проблему можно решить путём правильной реализации TLS на обоих серверах.
Именно с этой задачей S/MIME справляется лучше, чем SPF, DKIM и DMARC.
S/MIME (Secure / Multipurpose Internet Mail Extensions) — это стандарт для шифрования и подписи в электронной почте с помощью открытого ключа:
- Подписи S/MIME применяются непосредственно почтовым клиентом отправителя и проверяются только почтовым клиентом получателя. Невозможны никакие манипуляции с сообщением ни на каком этапе.
- Открытый ключ для проверки подписи прилагается к сертификату, который идёт вместе с письмом. Поэтому почтовому клиенту не нужно полагаться на запись DNS.
- Организация отправителя в сертификате проверена центром сертификации.
- Формат имени по стандарту RFC 822 в сертификате точно соответствует полю
from
, то есть подлинность отправителя гарантируется на уровне адреса электронной почты, а не только на уровне домена.
Как видим, существующие методы SPF, DKIM и DMARC можно обойти и подделать письмо, если отправитель не использует защиту S/MIME со сквозным шифрованием и цифровой подписью.
Подробнее о защите электронной почты для организаций на сайте GlobalSign