Сигнатурная фильтрация и другие методы отсечения нежелательной электронной почты

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

В последнее время для борьбы со спамом и (прямо или косвенно) фишингом стали использоваться коммерческие программы или продукты с открытым кодом. Обычно системы, выявляющие наличие спама, используют фильтры на основе сигнатур и правил, а также обучающиеся системы для распознавания спама.

Фильтры на основе сигнатур

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

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

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

К сожалению, сигнатурные фильтры имеют существенный дефект: спамеры могут внести небольшие изменения в содержание своих почтовых посланий, в результате чего видоизмененный спам все-таки просачивается через фильтры. Распределенные базы данных сигнатур исправляют этот недостаток. Такая база, коммерческая (например, Vipul Razor) или открытая (например, Pyzor), является результатом совместной работы поставщиков и непосредственных пользователей. Распределенные базы данных сигнатур, в отличие от локальных баз, хранятся в Internet, там же они обновляются, да и клиенты имеют к ним доступ. Опыт показывает, что они весьма эффективны, поскольку сигнатуры в них обновляются быстро.

Фильтры на основе правил

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

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

Высокий показатель пропуска нежелательных сообщений объясняется тем, что правила используют для выявления спама ключевые слова. Например, системные администраторы могут использовать в правиле слова типа Viagra, Rolex или mortgage. Спамеры же могут употреблять искаженное написание ключевого слова, например v1agra, r0lex или mortg@ge, в результате чего спам не детектируется правилом.

В случае ложного определения спама с применением правил возможна ситуация, когда могут помечаться как спам письма, которые содержат в тексте слова, ассоциирующиеся со спамом. Например, слово pre-approved используется в рекламе сайтов, предоставляющих услуги кредитования, но может употребляться и как обычное слово.

Фильтрация по спискам

Помимо фильтров на основе сигнатур и правил, некоторые системы, используемые для фильтрации, и многие пользовательские почтовые агенты (Mail User Agents, MUA) применяют фильтрацию по отправителю почтового послания. В этом случае отправители заносятся в черные списки (Realtime Blackhole Lists, RBL), а также в белые и серые списки — о них я расскажу ниже. Были разработаны системы типа «вызов-отзыв», использующие стратегию идентификации пользователя путем проверки его реакции на непредсказуемый запрос системы для более быстрого ввода белого списка. Серые списки встраиваются внутрь сервера, чтобы эффективно препятствовать действию программного обеспечения спамеров.

Черные списки. Черный список содержит список адресов IP, доменов и/ или может содержать как отдельные записи из черного списка (например, IP-адрес только одного почтового сервера), так и диапазон IP-адресов (например, адреса поставщиков Web-услуг, которые помогают спамеру рассылать сообщения).

Большинство черных списков имеют определенные преимущества — скорость и незначительное количество локальных ресурсов для обработки. Но есть у этого метода и недостатки. Хуже всего то, что черные списки часто наказывают многих ни в чем не повинных пользователей ISP за злоупотребления одного (спамера). Эта проблема особенно актуальна для черных списков, которые не проверяют IP-адреса. ISP может быть занесен в черный список, даже если он не имеет отношения к спамерам. Это означает, что занесение в черный список может быть одним из методов атаки типа «отказ в обслуживании» (Denial of Service, DoS) против почтовой службы ISP. Здесь интересно, что спамеры могут мигрировать от одного провайдера к другому, в результате чего черные списки быстро устаревают.

Изменяемый черный список (Real-time Black List, RBL), или список IP-адресов отправителей спама. Изменяемый черный список обеспечивает центральную базу данных IP-адресов спамеров. Такие списки широко применяются агентами передачи сообщений Message Transfer Agents (MTA) для фильтрации почты до обработки актуального содержания сообщения. Однако ценность списков RBL неоднозначна, поскольку в случае их применения может пострадать много невиновных пользователей, если ISP поддерживает блок адресов IP, которыми пользуется спамер, поскольку в этом случае ISP добавляется к черному списку.

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

Системы вызов-отзыв (сhallengeresponse). На рис. 1 показано, что система вызов-отзыв является модификацией обычной системы с белым списком.

Рисунок 1. Система вызов-отзыв (сhallenge-response)

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

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

Серые списки. Внесение в серый список — относительно новый метод борьбы со спамом. Когда новый агент пересылки сообщений MTA подключается к серверу, поддерживающему работу почты по серым спискам, почтовое сообщение, отправленное агентом MTA, отклоняется с кодом «временная ошибка» протокола SMTP. Если посылающий сообщение агент MTA соответствует требованиям RFC, он пересылает почту для последующей доставки. Локальный агент MTA обновляет свой белый список отправителей MTA после заранее определенного времени (от нескольких минут до часа и больше), и отправитель позднее может подключиться снова и предоставить почту. Такой подход эффективен, потому что многие спамеры не пользуются стандартными агентами MTA. Они используют программное обеспечение «почтового робота», которое подключается к почтовым серверам, предпринимает попытки доставлять почту, а в случае сбоя (который происходит, если работает метод серого списка) переходит к следующему. Единственный существенный недостаток этого метода заключается в более медленной доставке важной электронной почты при первом сообщении от нового отправителя.

Обучающиеся системы

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

Рисунок 2. Обучающиеся системы для распознавания спама

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

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

Элементы контроля на уровне агента пересылки сообщений

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

Другой метод использует проверку правильности процедуры представления своего имени посылающим почтовым сервером во время стадии идентификации SMTP. Для выполнения этой проверки получающий почтовый сервер сравнивает имя хоста в запросе HALO с записями о почтовых серверах (Mail Exchanger, MX) в домене отправления. Если имя хоста не соответствует какой-либо записи MX, то возникает подозрение, что посылающий сообщение почтовый сервер дает ложную информацию. Наконец, с помощью контроля показателей интенсивности системные администраторы могут как минимум уменьшить влияние входящих почтовых сообщений, если узел атакован спамером. Показатели интенсивности, как правило, задаются довольно высокие, чтобы не пострадала обычная почта, а отклонялись бы только «массовые отправители». Например, нормальный отправитель чаще включает в одно сообщение несколько cc-адресов, а не несколько сотен. Спамеры же нередко посылают одно почтовое отправление сотням получателей. Обычный контроль интенсивности состоит в ограничении числа разрешенных пользователей. В случае слишком большого числа получателей почтовое сообщение также отвергается.

Комбинация антиспамовых и антифишинговых решений

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

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

Дастин Пурье - Консультант и эксперт по управляющим и интегрирующим системам и службам UNIX и Windows. Автор Best Practices for Managing Linux and UNIX Servers (Windows IT Pro eBooks). dustin@puryear-it.com