Бізнес
Технології
СПАМОвычитание
Удлините пенис, выучите американский английский, прикупите виагры, закажите 1000 тонн металлопроката, посмотрите в Интернете голых кисок или посетите семинар "Томоженая бухалтерия для милеоннеров". Как побороть этот поток мусорных писем, именуемый спамом?
![](https://data.kontrakty.ua/cache/www/450,0//images/stories/FOTOS/17_08_2007/17_08_2007_2/3.jpg)
Евгений Соболь, Kontrakty.ua
Конечно, было бы лучше всего, если бы спамерами занимались правоохранительные органы – милиция, СБУ, УВД, ФСБ, ЦРУ, ФБР, и чтобы за них взялись всерьез и на высшем уровне. Эти «падонки» должны с таким же усердием вкалывать на «химии», с каким собирают сейчас наши адреса в Интернете и fido-конференциях. Но пока государство не очень-то борется с этими врагами человечества то ли по причинам излишней гуманности, то ли из-за недостаточной законодательной и организаторской способности.
Поэтому и приходится нам, вместо того чтобы радостно сочувствовать «бандитам в тюрьмах», ставить решетки на окна, делать железные двери, проводить сигнализацию и заводить волкодавов в прихожей. Хотя очень уж хочется, чтобы преступников все-таки наказывали, а нам не приходилось превращать свой почтовый ящик в неприступную крепость.
Схема "как спамер зашибает на наших нервах деньги!?"
Но пока спамеров тюрьма еще только ждет, а самым эффективным способом борьбы с ними является самооборона. Можно сделать так, чтобы мы эти письма не видели, то есть чтобы компьютер сам оценивал, что из пришедшей корреспонденции спам, а что нет, и удалял непрошеные послания автоматически, не тратя на них наше время и нервы.
Одной из лучших методик автоматического распознавания спама на сегодняшний день является метод Байеса, который позволяет с очень высокой точностью (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! фильтрами «выборочного скачивания». Они-то и позволяют удалять значительную часть спама прямо на сервере, не допуская его попадания в компьютер.