В профильных сообществах email—маркетологов, на форумах, посвященных поддержке CMS, на конференциях — везде сейчас активно обсуждается проблема спам-атак, устойчивым вектором которых является инъекция текста в формы на сайтах. Такой способ используется для отправки спама, а также для проведения узконаправленных атак, парализующих работу с отдельными ящиками.
Приведу самый банальный пример отправки спама через форму. Есть сайт example.com, на нём есть форма подписки на новости. Спамер из своей базы берет ящик «жертвы», например, i.ivanov@mail.example, и вставляет его в поле «Адрес электронной почты», а поле «Имя» заполняет текстом подобного содержания: «аренда квартир в Москве недорого goo.gl/arendakvartirdaom», и нажимает «Подписаться». Конечно, всё это делает не сам спамер, а его скрипт, который при этом еще и капчу проходит. Через секунду Иван Иванов получает письмо с текстом: «Здравствуйте, аренда квартир в Москве недорого goo.gl/arendakvartirdarom! Вы подписались на новости портала example.com!»…
Команда Антиспама Mail.Ru сталкивается с такими атаками ежедневно, у нас накопился богатый опыт фильтрации, и мы хотим поделиться с вами рекомендациями, а также сравнить эффективность разных методов, описание которых можно встретить в интернете. Ниже я приведу самые распространенные векторы атак, расскажу, какие формы наиболее чувствительны к спаму, какие риски вас подстерегают, если ничего не предпринять. Ну и, конечно, что с этим делать email—маркетологам, владельцам и администраторам сайтов.
Спам через формы — это дешево
Спам — как один из видов рекламы — существует и будет существовать, пока он экономически целесообразен. Гораздо реже спам используется для продвижения товаров и услуг, которым заказан вход в легальные каналы продаж, практически весь такой нелегитимный трафик перекочевал в баннерные сети. Но вернемся к email—каналу. Всегда найдется «бизнес», которому безразличен репутационный вред от спам-рассылки, но для которого принципиальна стоимость.
Поэтому спамеры также стремятся минимизировать затраты. И формы на существующих сайтах подходят для такой цели идеально — чужой домен, чужой IP, чужая верстка письма — всё чужое. Нужен только скрипт, причём не самый сложный в реализации. Дешевизна — первая из двух ключевых причин паразитирования спамеров на чужих сайтах.
Вторая важная причина — доставляемость. Беда в том, что, используя чужую форму, злоумышленник получает не только бесплатные ресурсы, но и репутацию этого сайта/IP у MBP (Mail Box Provider). Спам идет с вашего домена, с вашего IP, с валидным SPF, DKIM, и даже строгая политика DMARC — столько раз спасавшая вашу рассылку от спуфинга — в данном случае не помогает.
Чем рискует бизнес?
Понятно, что в случае реализации атаки через форму проблемы свалятся на голову администратора сайта и/или email—маркетолога сервиса, но риски несет именно бизнес. Риски эти измеряются:
- в человеко-часах на устранение последствий и самой проблемы;
- в потерянной прибыли из-за ухудшения репутации и доставляемости у MBP;
- в возможности потерять репутацию (ваши текущие и потенциальные пользователи могут получить спам именно от вас).
И чем крупнее сервис, тем выше стоимость этих рисков. В каком случае вам обязательно нужно дочитать этот материал до конца:
- Ваш сервис проводит email—рассылки.
- На сайте есть формы (любые) для:
- регистрации;
- внесения данных в личном кабинете;
- обратной связи;
- запроса информации;
- отправки приглашений;
- и прочих задач.
- Вы отправляете письма по контактам из CRM.
Механика рассылки спама через формы «на пальцах»
Если отбросить множество вторичных факторов, спам попадает в письмо через UGC (User Generated Content), который используется при формировании письма. Такой контент может попасть в:
- заголовок;
- тему письма;
- тело письма.
Более детальное рассмотрение начну с самого распространенного варианта.
Регистрация, подписка нового пользователя сервиса
To: %username% <%useremail%>
Subject: %username%, подтвердите Ваш email
Здравствуйте, %username%!
Знакомые конструкции? Спамерам и антиспаму тоже. Несколько лет назад в словарь любого уважающего себя маркетолога очень прочно вошло слово «персонализация». Вошло настолько крепко, что, несмотря на усилия профессионалов сообщества, обросло множеством мифов и трактовок, многие из которых морально устарели, но продолжают преподноситься как Best Practices. Главный миф заключается в том, что под персонализацией зачастую понимается обращение к подписчику по имени. К чему это приводит, можно почитать тут, а почему не работает с точки зрения маркетинга — уже подробно расписано в статье Дмитрия Кудренко.
Итого: берем базу email, скрипт, форму подписки/регистрации, в поле имени вводим спам-контент — и спам—рассылка с вашего сайта готова.
Спам через автоответы
Гораздо более редкий случай (лишь потому, что автоответы реже используются сервисами). Механика чуть сложнее, но у спамера больше возможностей. Форма обратной связи, заявка в службу поддержки, форма запроса коммерческого предложения — нередко для таких случаев сервис настраивает отправку автоответа пользователю. И здесь снова вступает в игру UGC: «В вашем обращении Вы писали …». Но если это было не обращение, а реклама виагры, а в поле email введен ящик ничего не подозревающего человека, то вы снова рискуете невольно отправить спам.
Приглашения
К счастью, эта функциональность сейчас практически не встречается на просторах интернета, но до сих пор еще можно встретить форму «рекомендуйте наш сервис другу» и «введите текст приглашения». И снова UGC от вашего сайта разлетается по ничего не подозревающим пользователям.
Смена личных данных
Скорее, выродившийся случай, но он всё же встречается, и написать о нём необходимо. Сценарий следующий:
- спамер регистрирует в сервисе бота;
- в настройках профиля изменяет email, а в личные данные вставляет спам—контент;
- на указанный email уходит письмо об изменении данных, и в это письмо сервисы часто добавляют сами данные (в данном случае это будет спам).
Subscription Bomb Atack
Данный тип спама стоит особняком. Цель атаки — парализовать использование отдельно взятого ящика пользователя (или целой компании). Злоумышленник регистрирует целевой ящик на тысячах сервисов. Те начинают присылать на этот ящик письма подтверждения, приветственные письма и так далее. В итоге ящик жертвы наполняется тысячами непрочитанных писем, новые письма приходят постоянно. При этом, строго говоря, все эти письма спамом не являются. Использовать же атакованный ящик становится затруднительно. Такой тип атаки характерен не только для email, но и для соцсетей, и мессенджеров (подписки, добавления в друзья и так далее).
Что же делать?
Пожалуй, ключевая глава данного обзора. Какие советы можно встретить на просторах интернета и какова их эффективность с точки зрения антиспама?
- Капча. Их много — простые и сложные, с картинками, текстами, цифрами, с вводом и без ввода. Но капча обходится. Легко. Не то что бы её не нужно ставить, просто она слегка удорожит (не усложнит, а именно удорожит) отправку спама через ваши формы. Принцип «мне не нужно бежать быстрее медведя, мне нужно бежать быстрее тебя» всё-таки работает, и если у соседа капчи не будет, а на вашем сайте — будет, то спамер, вероятно, обживется именно у соседа.
- Валидация (например, regexp на наличие урла в UGC—поле). В современном антиспаме контентные сигнатурные признаки и методы блокировки не считаются надежными, слишком они неустойчивы и легко обходятся злоумышленником. К тому же эффективность данного метода очень сильно зависит от технической реализации.
- Скрытые поля (видимые скрипту, но не видимые пользователю). К сожалению, эффективность метода близка к нулю.
- Модерация. Надежный, как дубина, метод борьбы, но очень трудоемкий — подходит разве что для очень маленьких сервисов.
- Мониторинг активности. Этот способ, скорее, дополняет любой другой — вы же не можете начать решать проблему, пока о ней не узнаете. График регистраций, графики использования других форм — и вы получаете не только надежный инструмент обнаружения проблем, но и, в качестве приятного бонуса, у вас появляются отличные продуктовые метрики. Не работает для медленного спама — если подозрительная активность составляет лишь малую долю органического трафика.
- Мониторинг почтового трафика со своего сайта (если это по каким-то причинам еще не сделано) — настроить просмотр статистики в Postmaster, подключить получение FBL—отчетов (feed back loop) — меры реактивные, но они позволят выявить проблемы. Почитать можно здесь, а подключить — здесь.
- Самый простой и самый эффективный способ. Не использовать для неподтвержденных ящиков (не прошедших процедуру Double Opt In) User Generated Content в письмах. Ни в приветствиях, ни в цитировании при автоответе — нигде. Нет в письмах UGC, строгая политика DMARC, внедрен DOI — и от имени вашего сайта никто не сможет рекламировать виагру. Это единственный набор мер, который дает 100% эффективности.
А что же рынок?
Сейчас я обращаюсь, скорее, не к владельцам и администраторам сайтов, а к реальным профессионалам отрасли, а именно к ESP (Email Service Provider) — сервисам рассылок и их представителям. Безусловно, данный вид спам-атак наносит существенный урон и репутации отрасли в целом. Что можно сделать дополнительно?
- Просвещение: рассказывать клиентам, объяснять риски.
- Разделение потока: выделение регистрационных писем, отдельные мониторинги, более тщательный анализ FBL—отчетов на регистрационный поток.
- Последовательная политика в искоренении UGC в письмах для неподтвержденных ящиков.
Послесловие
Проблема спама через формы актуальна, как никогда раньше. Уже пострадали платежные системы, банки, операторы связи, крупные порталы, маленькие интернет-магазины по всему миру. Решение проблемы очень простое и эффективное, а цена сбывшихся рисков крайне высока для любого бизнеса. Внедряйте простые методы защиты и не становитесь невольным участником спам-рассылок.