Я от тебя письма не получаю!
АрхивВнешняя средаНовая технология борьбы со спамом
Недавно мы рассказывали о новом эффективном методе борьбы со спамом. Эту технологию американский программист и предприниматель Пол Грэм (Paul Graham) разработал на основе теории вероятности и фильтрации спама по алгоритму Байеса. В настоящее время технология Пола Грэма уже получила широкое распространение и реализована в ряде программных продуктов. В число разработчиков программного обеспечения, которые применили данную технологию на практике, входит и российская компания «Инфосистемы Джет». На базе новой технологии специалистами этой фирмы был разработан модуль категоризации электронной почты, который используется в системе мониторинга и архивирования почтовых сообщений «Дозор-Джет».
Проблема спама и современые методы борьбы с ним
Сейчас спам считается одной из наиболее серьезных проблем интернета. Впрочем, рассылка навязанных сообщений чаще всего безвредна - если не считать, что нежданные письма входят в "группу риска" с точки зрения переноса вирусов. Кроме того, большое количество спама загружает каналы, "замусоривает" почтовые ящики, отнимает время на удаление ненужных посланий и повышает вероятность случайного удаления важной информации.
Рассмотрим современные методы борьбы со спамом. Во-первых, спам можно выявить по наличию в письме определенных признаков. К таким признакам относятся:
а) наличие в письме определенных слов (или словосочетаний);
б) характерные написания тем письма (например, все заглавные буквы и большое количество восклицательных знаков);
в) специфическая адресная информация и т.п.
Во-вторых, поскольку спам по своей природе является массовой рассылкой, его можно определять по идентичному содержанию большой серии писем, направленных в разные адреса и по малым промежуткам времени между отправкой таких писем (они, как правило, посылаются роботами). Такой метод определения спама применим только в условиях, когда имеется доступ к большой выборке писем (например, у провайдера).
В-третьих, косвенно со спамом можно бороться с помощью так называемых "черных списков" почтовых серверов. В эти списки заносятся те серверы, которые замечены в массовых рассылках спама и идея состоит в том, чтобы вообще не принимать и не транслировать почту, исходящую с этих серверов.
Наиболее распространенными являются антиспамные фильтры, реализующие первый метод. В самом деле, далеко не всегда имеется возможность эффективно анализировать большие потоки писем с целью выявить большие серии повторяющихся сообщений. Автоматический же отказ от приема почты с определенных серверов может привести к невозможности получить действительно важную информацию. В то же время, очевидно, что именно содержание письма является единственным критерием, по которому его можно отнести к спаму.
Однако, традиционные фильтры, основанные на поиске в компонентах письма определенных признаков, обладают довольно серьезными недостатками. Начнем с того, что решать, является ли конкретное письмо спамом, в конечном итоге, должен тот, кому оно отправлено. В самом деле, для социолога, занимающегося исследованием механизмов распространения финансовых пирамид, массовые рассылки, предлагающие заработать миллион долларов в неделю, представляют профессиональный интерес, в то время как для других людей это злостный спам. Поэтому конкретный набор признаков (ключевых слов и т.п.), по которым отбраковываются письма, должен быть индивидуальным. Однако настройка таких фильтров требует времени и незаурядной изобретательности. Плохой фильтр либо пропускает много спама, либо отбраковывает много нужных писем. Типичные результаты тестирования даже хорошо настроенного фильтра таковы: обнаружено 79,7% спама и имеется 1,2% ложных срабатываний, то есть к спаму были отнесены обычные письма.
Некачественное разделение спама и обычных писем обусловлено, в том числе и некоторой "однобокостью" стандартных фильтров. При отбраковке писем учитываются "плохие" признаки и не учитываются "хорошие", характерные для полезной переписки.
Новая технология
Этих недостатков лишен метод построения антиспамных фильтров, предложенный американским программистом и предпринимателем Полом Грэмом, одним из разработчиков электронного магазина Viaweb Store, известного в настоящее время как Yahoo! Store. Метод Грэма позволяет автоматически настроить фильтры согласно особенностям индивидуальной переписки, а при обработке учитывает признаки как "плохих", так и "хороших" фильтров.
Метод основывается на теории вероятностей и использует для фильтрации спама статистический алгоритм Байеса. По имеющимся оценкам, этот метод борьбы со спамом является весьма эффективным. Так, в процессе испытания через фильтр были пропущены 8000 писем, половина из которых являлась спамом. В результате система не смогла распознать лишь 0,5% спам-сообщений, а количество ошибочных срабатываний фильтра оказалось нулевым.
В фильтре, основанном на статистической технологии фильтрации, каждому встречающемуся в электронной переписке слову или тэгу присваивается два значения: вероятность его наличия в спаме и вероятность его присутствия в письмах, разрешенных для прохождения. Баланс этих двух значений и определяет вероятность того, что письмо, в котором встречаются данные слова и теги, является спамом.
Отличия новой технологии от традиционных методов борьбы со спамом
Отличия статистической технологии фильтрации от технологии фильтрации на основе признаков:
Особенностью статистической технологии является возможность индивидуальной автоматической настройки фильтра, что является важным преимуществом, поскольку разные люди или же компании (если фильтр устанавливается на корпоративном почтовом сервере) используют в электронной переписке разную лексику. Настройка фильтра производится по результатам статистического анализа имеющегося архива электронной почты или выборки, полученной за определенный период времени. Такой анализ дает возможность накопить достаточно информации для эффективной фильтрации электронной почты.
И в том, и в другом случае результатом оценки является так называемый «вес» письма. Однако при использовании первого метода "вес" письма вычисляется только на основе "плохих" признаков, что приводит к "обвинительному уклону" фильтра – появляются ложные срабатывания. В алгоритме Байеса наборы признаков определяются не субъективно, а в результате статистического анализа реальных подборок писем.
Получающиеся наборы признаков оказываются весьма нетривиальными и эффективными. Например, в качестве "плохого" признака может появиться строка "0Xffffff" – ярко красный цвет; а в качестве "хорошего" признака – Ваш номер телефона. И действительно, письмо, содержащее Ваши персональные данные, в любом случае следует прочесть.
Модуль категоризации электронных писем для системы «Дозор-Джет» компании «Инфосистемы Джет»
На основе статистической технологии фильтрации специалистами компании «Инфосистемы Джет» был разработан модуль категоризации электронных писем. Новый модуль может использоваться и как компонент системы мониторинга и архивирования электронной почты «Дозор-Джет», и отдельно, как самостоятельный фильтр электронной почты. Он предназначен для отфильтровывания электронных писем определенной категории. Письма автоматически относятся к той или иной категории на основании ранее выполненного анализа выбранной администратором базы образцов писем.
В отличие от других фильтров, использующих статистическую технологию, данный модуль может применяться не только для борьбы со спамом, но и для фильтрации любых других категорий писем в зависимости от желания пользователя. Кроме того, как было отмечено выше, особенностью данного модуля является возможность индивидуальной настройки фильтра под условия заказчика.
Другое серьезное преимущество модуля заключается в том, что если он применяется в качестве компонента системы «Дозор-Джет», то можно воспользоваться статистикой архива, входящего в состав системы, а это позволяет автоматически анализировать почтовый поток и периодически корректировать работу уже созданного фильтра. Этот факт позволяет назвать данную систему самообучающейся. Благодаря этому свойству системы практически исключены ошибочные срабатывания фильтра и, следовательно, потери важной информации. Кроме того, автоматическая самокорректировка значительно облегчает задачу администратора системы по ее контролю и настройке и сокращает время на ее обслуживание.
Рисунок 1: Схема обработки почтовых сообщений модулем категоризации системы «Дозор-Джет»
Процесс "первичного обучения" категоризатора в системе «Дозор-Джет» происходит следующим образом. Сначала из архива делается выборка писем-кандидатов на принадлежность к какой-либо категории. Это делается с помощью запроса, который можно организовать таким образом, чтобы в выборке было как можно меньше "лишних" писем, например, ограничивая письма по темам, адресатам и т.п. Затем письма, действительно попадающие, по мнению того, кто «обучает» категоризатор, в выбранную категорию, определенным образом помечаются. Этот процесс повторяется и для других категорий (если они есть). После этого запускается процесс обработки выбранных писем, результатом которого является вновь созданная или скорректированная таблица условных вероятностей, которая является основой для работы категоризатора.