Фильтрация спама. Методы анализа и определения массовых рассылок.

Спам — зло. И борьба с этим злом — первейшая задача системного администратора! В этой статье приведены приёмы, которые могут помочь системным администраторам настроить свои почтовые серверы таким образом, чтобы максимально точно отфильтровать отправителя как спам-робота.

Подмена адреса отправителя:

Используется в 9 случаях из 10. Стойким исключением являются рассылки с зараженных машин через интерфейс MAPI. Во времена зарождения спама использовались случайные наборы букв для описания доменного имени, но сегодня, когда сервера научились проверять валидность домена, данная технология потеряла смысл и рассылки стали осуществляться по доменным спискам.

Неверный адрес получателя:

Так как большинство e-mail адресов пользователей было получено с помощью поисковых машин, многие адреса получателей исковерканы за счет не правильной обработки HTML тегов страницы. Таким образом в найденные адреса стали просачиваться неверно обработанные теги и возникли адреса вида "=ayakzupzop@parvikaridoola.fn, natashanatasha@mail.ru и т.п. Произведя анализ получателя по таким ошибкам обработки, можно практически со 100% точностью определить отправителя как спамера.

Подмена SMTP-заголовка HELO:

При соединении отправляющего сервера с принимающим, отправитель представляется именем другого сервера (например gmail.com, hotmail.com и т.д.) в надежде на то, что данные сервера присутствуют в белых антиспам списках на принимающем сервере. Некоторое время назад политика подмены helo изменилась. Ранее, спамеры подставляли hostname, полученный от провайдера в fqdn виде, теперь на части ботнетов в качестве helo передаётся один из mx домена ложного отправителя. Не так давно стала использоваться методика рассылки с доменов, которые были переведены на аутсорсинг в google или hotmail. В качестве helo выдаются dns имена почтовых релеев gmail и hotmail, обслуживающих домен.

Подмена заголовков:

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

Расскажем немного и об ошибках спам-машин, которых не видно явно в письмах, но видно при просмотре логов системы на почтовых серверах.

SMTP-команда HELO отличается от домена отправителя:

Зачастую в качестве helo спамеры, как говорилось выше, подставляют fqdn (Fully Qualified Domain Name), полученный от интернет-провайдера. Зачастую отправляющий хост получает от провайдера fqdn соответствующий текущей подсети и географическому расположению сегмента этой подсети, а представленный домен отправителя не относится к данному территориальному положению этого хоста.

SMTP-команда HELO содержит localhost или localhost.localdomain:

В основном это указывает на некорректно написанный скрипт рассылки или открытый ненастроенный почтовый релей.

IP-адрес при соединении не совпадает с географической зоной домена отправителя: Самая распространённая ошибка спамеров, когда домен отправителя например spamer.ru не совпадает с географической зоной ip отправителя 192-192-192-182.comcast.com.br

Несовпадение географических зон DNS-записи MX (Mail eXchanger) отправителя и географической зоны отправляющего адреса:

Тоже одна из распространённых ошибок, но зачастую попадают валидные домены. В большинстве случаев MX и принимает и отправляет почту, а IP отправляющего сервера находится в одной и тойже подсети что и IP работающий на приём. Спам-машины рассылают письма от доменов для которых MX живёт в абсолютно другой географической зоне, точность таких попаданий примерно 60%. Но с большими корпорациями возникают проблемы, потому-что пользователи больших корпораций при использовании разнесенной корпоративной почты, могут например отправлять письма из Франции для домена зарегистрированного в Аргентине, что приводит к ложным срабатываниям.

IP-адрес в helo и hostname:

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

Есть разновидности, которые не включают в себя IP-адреса, а только номера сетей или хостов.

Ошибки в имени отправителя:

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

В принципе, на основе вышеприведенных признаков возможно построение антиспам фильтров, которые смогут обеспечить эффективность до 98%. В такой системе возможны ложные срабатывания, но они при правильной политике блокировки нивелируются занесением в белый список доменов или хостов/подсетей ошибочно определенных как спам. Также большую эффективность даёт помещение подозрительных хостов в серые списки. Использование серых списков для полноценной фильтрации спама на текущий момент малопригодно, т.к. спамеры стали использовать механизмы, которые обходят такие фильтры. Эти методы не являются панацеей от спама, т.к. есть, например, паблик подсети в Корее, Индии или Китае, которые не имеют никаких идентификационных признаков хоста отправителя. Фильтрация спама по IP геозонам отчасти решает данную проблему, но после первого рубежа защиты по основным признакам, лучше использовать bayes фильтры, способные по определенным параметрам оценить прошедшую фильтры корреспонденцию.

К сожалению, спамеры научились обходить большое количество bayes фильтров используя методы замусоривания bayes баз при помощи добавления случайного, ничего не значащего текста в письма. При этом основная информация, как правило находится в графическом файле, внедренном в тело письма. Для обхода детекторов телефонов и ICQ номеров, спамеры используют сходные по начертанию символы, вместо нуля – буква О, вместо буквы З – цифра три, вместо буквы и – буква u. Методы, используемые к коммерческих фильтрах, связанные с вычислением контрольных сумм частей принимаемых сообщений и складирование этих сумм в базы, имеют эффективность только в середине рассылки. В связи с тем, что информация по таким рассылкам не может обновляться на большом количестве серверов в реальном режиме времени, а спамеры используют огромное количество машин и механизмы, изменяющие содержимое сообщений, первая волна рассылок всё равно попадает в ящики пользователей. Компании, предоставляющие бесплатный доступ к веб-почте (mail.ru, rambler.ru) используют в своих системах обнаружения спама смешанные механизмы.

Одним из основных механизмов отсеивания спам сообщений является использование различных видов DNSBL(DNS based black list), списков от ведущих компаний ведущих общедоступные реестры спамерских адресов. Одним из лидеров является spamhaus.org который имеет в своём наборе три различных вида списков:

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

Еще одним механизмом ограничения спама является SPF(Sender Policy Framework), который позволяет системным администраторам описать определенные поля, содержащие IP-адреса серверов и правила приёма почты с конкретного почтового хостинга. Но, к сожалению, технология SPF на данный момент не получила широкого применения из-за отсутствия доступных механизмов редактирования DNS зон на арендованных у провайдера хостинг-площадках. Возможно, в будущем данный механизм позволит эффективно блокировать спам трафик, но это будет работать в том случае если процентов 60-70 всех почтовых доменов получат соответствующие SPF записи в DNS.

Технологии распространения спама растут пропорционально новым методам борьбы со спамом. К сожалению, такова жизнь, но, возможно, это неплохо, значит прогресс на месте не стоит ;)