Главная былое СПАМОвычитание
СПАМОвычитание
17.08.2007 18:37

Удлините пенис, выучите американский английский, прикупите виагры, закажите 1000 тонн металлопроката, посмотрите в Интернете голых кисок или посетите семинар "Томоженая бухалтерия для милеоннеров". Как побороть этот поток мусорных писем, именуемый спамом?

Евгений Соболь, Kontrakty.ua

Конечно, было бы лучше всего, если бы спамерами занимались правоохранительные органы – милиция, СБУ, УВД, ФСБ, ЦРУ, ФБР, и чтобы за них взялись всерьез и на высшем уровне. Эти «падонки» должны с таким же усердием вкалывать на «химии», с каким собирают сейчас наши адреса в Интернете и fido-конференциях. Но пока государство не очень-то борется с этими врагами человечества то ли по причинам излишней гуманности, то ли из-за недостаточной законодательной и организаторской способности.

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

{mosimage}

 

Схема "как спамер зашибает на наших нервах деньги!?"

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

Одной из лучших методик автоматического распознавания спама на сегодняшний день является метод Байеса, который позволяет с очень высокой точностью (99,4 %) идентифицировать письма как спам.

Изучаем теорию

На сайте www.ritlabs.com приводятся подробные
объяснения метода Байеса – метода статистической фильтрации. Если вкратце, то он заключается в разбиении входящих писем на условные слова (токены), составлении частотного словаря таких токенов и применении математической теоремы Байеса к полученным наборам слов. Эта теорема позволяет вычислить вероятность успешного совершения некоторого события на основании статистики совершения этого события в прошлом. Применительно к фильтрации спама: если 9 из 10 писем, содержащих одинаковое слово, являются спамом, и лишь одно – нормальным письмом, то теорема Байеса позволяет вычислить, с какой вероятностью следующее письмо, содержащее это слово, является спамом. Метод подразумевает оценку базы писем – двух наборов, один из которых составлен из спама, а другой – из нужных писем. При создании этой базы подсчитывается количество вхождений каждого отдельного слова в каждом наборе, и на основании этого для каждого токена вычисляется оценка, которая измеряется по шкале от 0 до 1. Значение «0» означает отсутствие спама, «1» – полную уверенность в том, что это спам.

Скажем, письмо содержит n токенов с оценками S1...Sn. Тогда общая оценка письма S вычисляется по следующей формуле:

a = S1 * S2 * ... * Sn;

b = (1 – S1) * (1 – S2) *... * (1 – Sn);

S = a/(a + b).

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

Устанавливаем

Плагин BayesIt! поставляется в дистрибутиве почтовой программы The Bat! начиная с версии 2.0 и может быть автоматически установлен при инсталляции самого клиента. В самом конце операции The Bat! спросит: «Хотите ли вы установить антиспамовый плагин?». Конечно, хотим. Нажимаем «Да», и на этом установка плагина завершена. При установке по умолчанию автоматически включается опция «перемещать письма в папку «спам», если S-рейтинг более 60 %».

Обучаем

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

Применительно к данному фильтру для The Bat! – после установки фильтра указываем ему папки с накопленным спамом или не спамом. Если накопленных баз нет, то каждое новое письмо надо заботливо помечать – спам это или нет. Делается это в меню «Специальное». В нем есть два раздела «пометить как спам» и «пометить как НЕ спам». Обучение необходимо, потому что без него фильтр работать не будет.

После обучения фильтр начинает работать в обычном штатном режиме, безо всякого обучения. А именно – всю ту почту, которую он считает спамом, фильтр отправляет в специальную папку под названием… правильно, «Спам».

Используем

Если фильтр как следует обучить (например, скормить ему несколько сотен спамерских писем и пару-тройку тысяч неспамерских), он начинает работать просто великолепно. У автора этой статьи данный байесовский плагин из 300–400 спамерских писем, приходящих каждый день, выгребает практически все 100 %! Причем без ложных срабатываний. В результате в обычную папку входящих в неделю прорывается буквально одно-два спамерских письма. Главное же, плагин обучаемый – ведь «падонки-спамеры» все время изобретают что-то новенькое, То есть если вдруг что-то прорвалось, нужно указать плагину, что это спам, после чего подобные письма уже не побеспокоят.

Минус метода Байеса только один: спамерские письма для их анализа все равно приходится скачивать с сервера, а на это уходят время и деньги (если вы платите за трафик).

В последних версиях BayesIt! помимо автоматической статистической фильтрации по методу Байеса реализована фильтрация по черным и белым спискам сигнальных строк, задаваемых пользователем, а также поддерживается интеграция со встроенными в The Bat! фильтрами «выборочного скачивания». Они-то и позволяют удалять значительную часть спама прямо на сервере, не допуская его попадания в компьютер.


 
В чем вы храните сбережения? доллар евро рубль?