Яндекс для всех
Шрифт:
Есть несколько российских программных решений для корпоративных пользователей, предназначенных для борьбы со спамом. Среди них наиболее популярными и востребованными являются два — Спамтест компании "Ашманов и партнеры" и Спамооборона. Яндекс использует для проверки почты собственное решение, Спамооборону, почтовый сервис Mail.ru — Спамтест. У каждого из этих продуктов есть свои поклонники и противники. Кто-то считает, что лучше Спамтест, другие — что "Спамоборона" надежнее. Пользователю важно одно — "настоящий" спам не должен проходить сквозь программные заслоны, а нужные письма не должны пропадать среди неразобранного спама.
Всего несколько цифр, которые вряд ли скажут многое, но тем не менее. Данные взяты за 7 апреля из открытой информации на Яндекс. Почте и Mail.ru. По данным Спамообороны, за сутки было отклонено 90,45 % писем, а из оставшихся писем 51,9 % были помечены как возможный спам. На Mail.ru по результатам работы фильтра было отсеяно как спам 72,59 % от общего числа писем.
Корпоративный продукт Спамооборона — это серверное решение для фильтрации спама. Устойчивость Спамообороны к новым видам спама обеспечивается автоматическим обновлением базы признаков на основе данных, полученных от Яндекс. Почты. Спамооборона относительно недорогой продукт — около $1 за каждый почтовый ящик в месяц. Она работает на операционных системах FreeBSD и Linux и поддерживает такие почтовые серверы, как SendMail, CommunigatePro и QMail. А совсем недавно Яндекс пригласил компании, чьи почтовые серверы используют MTA CommuniGate Pro под управлением операционной системы Windows, принять участие в бета-тестировании Спамообороны на новой для нее платформе.
Вот три принципа, на которых строилась разработка программы.
С роботами должны бороться роботы — спамерские письма рассылаются роботами в миллионах экземпляров. Отсюда следует, что быстро реагировать и эффективно обрабатывать их могут только роботы. Поэтому развитие Спамообороны — это создание все более умных алгоритмов, которые могут распознавать спам. Несмотря на все разнообразие спамерских технологий, в подобных письмах есть много характерных признаков, которые могут быть выделены статистическим анализом.
Письма не должны проваливаться в "черную дыру" — на Яндексе письмо либо не принимается почтовым сервером (о чем сервер-отправитель получает соответствующее уведомление), либо доходит до ящика пользователя.
Судьбу писем решает владелец почтового ящика — почта Яндекса по умолчанию предлагает фильтр, который складывает в папку Рассылкиписьма, похожие на спам. Владелец ящика может полностью отключить этот фильтр (и получать все письма в папку Входящие) либо реабилитировать адреса конкретных рассылок.
Таким образом Спамооборона не является "жестким", с раз и навсегда заданными правилами, продуктом, защищающим почту от спама. Алгоритм работы этой системы настраивается на предпочтения пользователя. В то же время система является обучаемой, а в качестве "учебного материала" для нее служит постоянно обновляемая база знаний, пополняемая за счет непрерывного анализа приходящих на Яндекс. Почту сообщений. Спамооборона учится и за счет нас, пользователей. Это происходит в силу наличия обратной связи — вспомните, в интерфейсе почтового ящика есть кнопки Это спам!и Это не спам. Безусловно, для одних сообщение может считаться спамом, для других — нет, поэтому в системе для принятия общего решения ведется анализ количества
сигналов и того, и другого рода.Помимо обучения всей системы, Спамооборона умеет подстраиваться и под конкретного пользователя Яндекс. Почты — она корректирует "белые" списки по данным обратной связи и по списку корреспондентов, которым пользователь отправляет письма.
Спамооборона состоит из нескольких частей:
парсера, который разбирает письмо на элементы и собирает статистику;
анализирующего модуля, применяющего правила и вычисляющего "спамовый вес" каждого сообщения;
базы знаний, на основе которой работают правила.
Исходной информацией, с которой работает Спамооборона, является совокупность всех данных, относящихся к каждому сообщению. Это и данные почтовых серверов (IP-адреса, служебная информация), и заголовки писем, и тексты, включающие как "чистые", так и "грязные" элементы, вложения, подписи, адреса отправителей и т. п. Анализируется и сам текст письма — количество несловарных слов, скрытой информации. Системе пришлось обучаться и на письмах спамеров, которые сознательно коверкали русский язык, надеясь таким образом пробить оборону и донести свои письма до ящиков адресатов.
На первом этапе обработки письма в дело вступает парсер, который разделяет письмо на "чистую", воспринимаемую человеком, составляющую, и "грязную", "шумовую", составляющую, которая может содержать и невидимый для пользователя текст, и бессмысленные данные.
Одновременно с этим происходит анализ технической информации о письме — проверяется достоверность информации об отправителе, анализируется подлинность заголовков письма, учитываются особенности настройки сетей и почтовых систем отправителей. Поставщиком данных для системы правил является обновляемая база знаний, которая включает данные RBL, шинглы и наборы эвристик.
Шингл — это специальным образом рассчитываемая метрика письма, позволяющая выявлять массовые рассылки. Алгоритм расчета шинглов основан на определении уникальных характеристик схожих сообщений.
RBL (Realtime Blackhole List) — это список IP-адресов открытых почтовых релеев, прокси-серверов и неадминистрируемых сетей, с которых рассылается спам. Яндекс поддерживает собственный RBL.
Анализирующий модуль отслеживает в письме признаки, которые описаны в правилах. Правила пишутся на некотором внутреннем языке, который позволяет учесть любое свойство и признак письма. Правила описывают известные признаки и спама, и, наоборот, "хороших" писем, при этом каждому правилу приписан определенный вес. Если суммарный вес сработавших правил выше некоторого порога, письмо считается спамом. Правила можно модифицировать и добавлять без изменения самой программы, что позволяет их оперативно корректировать, а база знаний (статистики массовости писем и вложений, "черные" списки) обновляется постоянно.
Каждое правило при срабатывании добавляет к "весу" письма определенное количество баллов (весовой коэффициент), как положительный, так и отрицательный. Любое из этих правил само по себе не является достаточным для принятия определенного решения — только совокупность их может с достаточной степенью уверенности сказать, относится ли письмо к спаму или нет. И если суммарный положительный вес сработавших правил превышает порог, определенный параметрами настройки системы, письмо маркируется как спам.