Авторизируйтесь,
чтобы продолжить
Некоторые функции доступны только зарегистрированным пользователям
Неправильный логин или пароль
Добавить софт
Мой софт

Антиспам для The Bat!

Автор: Михаил Брод
Опубликовано: 20.08.2007
Источник: SoftKey.info

Спам, или несанкционированные рассылки, осуществляемые по электронной почте, заполнил все почтовые ящики. По данным почтовых сервисов "Яндекса" и Mail.ru, количество спама в общем объеме пересылаемых сообщений составляет свыше 90%. И это еще не предел. Все движется к тому, что в далекие времена совсем по иному поводу сказал Маяковский: "Изводишь единого слова ради тысячи тонн словесной руды". Поэтому крайне важным становится проблема распознавания и удаления спама. В некоторых случаях это решается на стороне сервера, в других — на стороне клиента.

В этой статье остановимся на решении, помогающем распознать спам на стороне клиента. Называется оно AntispamSniper и имеет реализации для почтовых клиентов The Bat! и Voyager, Outlook Express и Windows Mail. Рассмотрим работу этого плагина на примере реализации для почтового клиента The Bat!.

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

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

  1. Откройте в меню диалог "Настроить...".

  2. Нажмите кнопку "Создать панель..." и назовите новую панель AntispamSniper.

  3. В секции диалога "Расположение" добавьте на панель следующие кнопки:

    • пометить как спам;
    • пометить как НЕ спам;
    • (разделитель);
    • <любая кнопка с иконкой>;
    • (разделитель);
    • <любая кнопка с иконкой>;
    • (разделитель);
    • <любая кнопка с иконкой>;
    • (разделитель);
    • <любая кнопка с иконкой>;

После этого закройте диалог, нажав ОК. Плагин сам найдет новую панель по названию и подключится к кнопкам автоматически.

Данный плагин — это антиспамовая и антифишинговая защита почтового ящика. В нем используется комбинация из нескольких методов автоматической классификации почты. В нем также поддерживаются средства для удаления спама по заголовкам на сервере и фильтрация протоколов POP3 и IMAP. К методам классификации относятся:

  • статистически обучаемый алгоритм — обучается на личной переписке;
  • "белый" список друзей, чьи письма изначально не распознаются как спам, — пополняется адресами отправителей, чьи письма маркируются в почтовом клиенте как не спам;
  • "черный" список — отправители, чьи письма однозначно распознаются как спам;
  • правила фильтрации, формируемые пользователем;
  • правила исключений (например, большие письма редко используются для рассылки спама);
  • антифишинг — распознает в письмах поддельные ссылки, предотвращая тем самым попытки кражи персональных данных;
  • использование DNSBL-сервисов;
  • блокирование по типу вложения (*.exe, *.dll, *.src и другие);
  • распознавание спама по заголовкам и удаление на сервере.

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

Теперь о настройках. Начинать лучше с общих настроек почтового клиента, раздел "Защита от спама". Здесь можно установить пороговое значение выставленного письму рейтинга (чем оно больше, тем выше вероятность, что это действительно спам), для того чтобы письмо при превышении этого значения помечалось как спам. Также вы можете отмечать как спам прочитанные письма и перемещать их в специальную папку. Есть еще возможность удаления спама, но этой опцией нужно пользоваться крайне аккуратно, поскольку случайно можно удалить нормальное письмо.

Следующий этап — настройка плагина. Первая вкладка настройки — статистика. Она потребуется позже, когда вы начнете работать с плагином. Статистику можно просматривать в графическом и табличном виде. Здесь же можно просмотреть журнал и получить детальную информацию по каждому проверенному письму. Основная же настройка плагина ведется на вкладке "Фильтрация". На этой вкладке — три блока настроек. Первая — настройка по письмам от друзей. Список адресов друзей пополняется автоматически при получении неспамной почты, а также по письмам, которые отправляете вы. Если у вас есть список адресов в текстовом виде, вы можете его импортировать из файла. Письма с таких адресов не фильтруются и не обрабатываются иными правилами. Чем больше вы отправите на обучение нормальных писем, тем больше контактов попадет в этот список и тем меньше вероятность, что вам понадобится его редактировать вручную.

В число "белых" правил, при проверке по которым письмо признается корректным, изначально включены правила, выделяющие подписанные или зашифрованные письма. Есть еще список исключений. Это ситуации, при которых письма не проверяются на спам. К таким исключениям относятся большие письма (начальная установка определена в 300 Кб), а также письма с вложениями, имеющими расширение zip, rar, doc, xls. Этот список может быть вами расширен. Хотя, на мой взгляд, подобные исключения далеко не всегда являются корректными. Сколько спама приходит с самыми простыми текстами, не распознаваемыми как спам, но зато с архивированными вложениями. И за счет исключения такие письма признаются нормальными. И убрать из списка исключений это расширение нежелательно — разве вы никогда не получали какие-либо документы в виде архивов? Один из последних видов спама — письмо с вложенным PDF-документом. При этом текст письма либо отсутствует, либо содержит небольшой бессвязный текст. С помощью AntispamSniper можно автоматически блокировать и этот новый вид спама.

Чтобы заблокировать письма с вложенными PDF-документами добавьте расширение .pdf в "черный" список плагина. После этого только известные отправители из "белого" списка смогут беспрепятственно присылать вам документы в PDF-формате. Плагин автоматически считает контрольные суммы вложений в письмах. После того как письмо было помечено как спам, все другие письма с тем же самым вложением также распознаются как спам.

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

Для условий могут быть установлены флаги "Сильное" и "Не". По умолчанию правило срабатывает, только когда удовлетворены все его условия, но если срабатывает "сильное" условие, то правило считается сработавшим независимо от остальных условий. Флаг "Не" означает логическое отрицание, то есть срабатывание условия, если строка по шаблону не найдена.

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

Еще одна вкладка в настройках — учетные записи. Они нужны для того, чтобы можно было проверять спам на сервере (при работе по протоколу POP3) и работала фильтрация IMAP. На этой вкладке для каждой учетной записи можно выбрать вариант проверки — проверять по заголовкам на сервере и далее по тексту на клиенте, только по заголовкам, только на клиенте, не проверять. (Не включаются в этот список учетные записи, соединение с почтовым сервером по которым происходит по защищенному соединению.) Мой совет: прежде чем включать проверку и удаление спама на сервере, проверьте корректность его настройки на стороне клиента. Хотя и имеется возможность не скачивать спам, а оставлять копии на сервере, так можно утратить часть нормальных писем. Если письмо все же было удалено с сервера по заголовку, то восстановить его можно из журнала фильтрации. Нужно выбрать соответствующую письму запись и нажать кнопку "Восстановить удаленное сообщение". Восстановленное письмо будет прочитано с сервера при следующей проверке почты.

Что же происходило у меня реально при работе плагина? В целом распознавание спама сразу после установки происходило довольно качественно. Большинство писем, которые должны были определиться как спам, определялись корректно. За исключением спама с вложением PDF- и ZIP-файлов. Первые проскакивали из-за отсутствия текста в теле письма, вторые — как исключения по вложению. Несколько писем потребовалось определить как спам вручную, и в следующий раз подобные письма уже фильтровались нормально. Неплохо отрабатывал и антифишинговый фильтр — письма о том, что на мое имя пришла виртуальная открытка, были удалены именно по этой причине.

Зато определились как спам рассылки от Subscribe.ru — за счет использования анимированной графики. После обучения подобная ситуация была исправлена. Одно письмо из закрытой рассылки, в которой спам — это ЧП, было определено в качестве спама по стоп-словам. В целом высокий рейтинг (более 80) получили 92 письма из полученных 400. (Вся информация по проверенным письма доступна в журнале, при этом каждый тип письма выделяется еще и цветом.) Нормальными письмами (рейтинг менее 20) были признаны 207. Еще 107 писем были признаны подозрительными. Ошибочно признаны качественными 27 писем (это те, которые вручную были далее определены как спам), и ошибочно признаны спамом 5 писем. Результаты, на мой взгляд, неплохие.



Статистика
Всего программ 26590
Скачиваний сегодня 321
Скачиваний вчера 788