Байесовские методы инквизиции

Что такое спам, думаю, не стоит объяснять - с ним сталкивался почти каждый интернетчик. Однако если соблюдать простое правило - не оставлять свой e-mail где попало (на форумах, в гостевых книгах и т.д.), то львиной доли всех мусорных писем можно запросто избежать. А вот web-мастерам лучше всего преобразовывать свой адрес электронной почты, который они оставляют на сайте для обратной связи в JavaScript код. Например, сделать это можно с помощью программы Crypt Email to HTML code. Специальные программы-роботы не найдут на страничке ничего, чем можно было бы пополнить список адресов рассылки.

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

К первой относятся программы, которые перед приемом с сервера порции писем получают их заголовки. А пользователь уже сам волен выбрать, что стоит скачать, а что сразу отправить в Страну вечной охоты прямиком с сервера. Кстати говоря, почтовик The Bat! уже изначально обучен такой возможности и не нуждается в установке ничего дополнительно. Такой подход оправдан лишь в случае работы с большими письмами. А иначе овчинка выделки не стоит - затраченное при обычном модемном соединении время на скачивание и обработку заголовков может оказаться больше, нежели время на получение всех без исключения писем и "прибивание" ненужных в локальных папках.

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

Есть еще одна, на мой взгляд, очень перспективная и эффективная технология фильтрации - использование байесовского метода, разработанного математиком Томасом Байесом аж в 18 веке. В обзоре "Крысиный" плагин BayesIt не любит мусора" (см. №41/2003) рассказывалось о плагине для The Bat!, использующем для отсеивания спама именно такой способ. Проект развивается и живет. Но обратить ваше внимание хочется на другую программу - Spamihilator. Программа, в отличие от BayesIt, работает не только с "Мышью", но и с Opera, Eudora, Pegasus Mail, Outlook/Outlook Express, IncrediMail, и с любым другим почтовым клиентом.

Для настройки Spamihilator требуется выставить в почтовой программе в качестве почтового сервера - "localhost", а перед логином дописать "<имя POP3-сервера>&" (например, pop.mail.ru&some_name). После этого Spamihilator встает между вашим почтовым клиентом и интернетом, фильтруя всю входящую корреспонденцию.

Происходит это на основании двух методов: обычного анализа слов (Word Filter) и с использованием байесовского метода (Learning Filter). Первый способ весьма прост: вы сами определяете "плохие" слова, которые и являются критерием отбора. Куда попадет письмо примерно с таким содержанием, догадаться нетрудно: "You receive this mail because you are subscribed to our mailing list. Please unsubscribe here!" Конечно, Word Filter может ошибаться, и, скажем, вся подписка на анекдоты окажется спамом. Хотя в этом случае программа благодаря специальному встроенному плагину позволяет просто-напросто указать тему приходящих по рассылке писем, чтобы в будущем их не трогать.

Байесовский метод позволяет вычислить вероятность успешного совершения некоторого события на основании статистики совершения этого события в прошлом. Соответственно, для успешной работы Spamihilator необходимо постоянно обучать, особенно на первых порах работы, пока не соберется более-менее приличная база: в разделе "Training Area" в порции свежеполученных писем следует отмечать спамерские и нужные послания.

Дополнительно можно явно указать, что отправитель является другом ("белый" список) и в будущем проверка писем от него не будет производиться. Подобным же образом из блокированных отправителей создается и "черный" список (Центру Американского английского здесь самое место).

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

Подробнее об использовании байесовского метода можно прочитать, например, в статье "Фильтрация спама по Байесу" (klirik.narod.ru/usefuls/bayesyan.htm). Только вот хитрые спамеры тоже оформляют свою рекламу в виде небольшой картинки формата gif или jpeg и посылают ее как вложение. Кажется, с этой бедой уже научились бороться. Есть и еще один трюк - подмена русских букв похожими по написанию английскими. Например, прочитать слово "kopoBa" и понять, что речь идет о простой буренке, не сложно, но вот многие фильтры спотыкаются и пропускают подобным образом составленные письма. Откуда же немецкому Spamihilator знать о таких национальных тонкостях?! А вот российская разработка BayesIt, насколько мне помнится, легко пресекает подобные фокусы.

Если не учитывать этот нюанс, Spamihilator - высокий барьер для спама. Может быть, обработка слов с подмененными буквами будет реализована в скором будущем в виде отдельного плагина. Ведь программа очень часто обновляется и при этом абсолютно бесплатная. Не зря ей посвящен весь сегодняшний обзор!

Павел БАДЯЛИК,
[email protected]


Упомянутые в обзоре программы запрятались вот по каким адресам:

Spamihilator [850 Kb], freeware, s8u37.conf8.xpservices.de/download/spamihilator_0_9_8_3.exe

Crypt Email to HTML code [18 Kb], freeware, www.hcsoft.spb.ru/request.php?4

Версия для печатиВерсия для печати

Номер: 

15 за 2004 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!