1 / 17

SpamAssassin: опыт эксплуатации

SpamAssassin: опыт эксплуатации. Алексей Тутубалин lexa@lexa.ru «Ашманов и Партнеры». Где происходила эксплуатация :. Lexa.ru – персональный домен (зарегистрирован в 1996 г.).

roddy
Download Presentation

SpamAssassin: опыт эксплуатации

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SpamAssassin:опыт эксплуатации Алексей Тутубалинlexa@lexa.ru «Ашманов и Партнеры»

  2. Где происходила эксплуатация: • Lexa.ru – персональный домен (зарегистрирован в 1996 г.). • Адрес lexa@lexa.ruобщеизвестен, широко опубликован, используется в форумах, на сайтах и в новостях в течение 8 лет. • 600-1000 спам - сообщений (и 300-500 вирусов) в сутки. • Очень разнообразная «нормальная почта», разные языки, разные темы, 100-300 сообщений в сутки. • Классические методы (RBL, черные списки, простые контентные фильтры) – неэффективны. • С весны 2002 года используется SpamAssassin, результаты работы которого внимательно изучаются.

  3. SpamAssassin: особенности • Общая идея: множество проверок для каждого сообщения, обойти сразу много проверок спамерам трудно. • Общее количество правил на сегодня:>800 • Написан на Perl, легко расширяем • FreeWare, OpenSource, лицензия Apache (начиная с v3.0)

  4. Что анализируется в правилах • Заголовки сообщения (анализируются регулярными выражениями или отдельной подпрограммой): • Набор заголовков, их содержание (признаки spamware) • Правила по DNS (RBL, SPF) • Тело сообщения: • Правила по нераспакованному тексту сообщения. Правила по тексту (ключевые слова, особенности оформления, признаки spamware). • Вероятностные правила. • Проверки текста сетевыми сервисами (Razor, DCC, URI-DNSBL).

  5. Три типа правил • «Локальные» - проверки текста и заголовков сообщений (текст, оформление, структура письма). • «Вероятностные» - сравнение с базой данных по частотностям слов (подсчет вероятностей по 2). • «Сетевые» - обращение к сетевым сервисам (RBL/DNSBL, URI-DNSBL, Razor, DCC, Pyzor)

  6. Примеры правил • Проверка RBL header RCVD_IN_CBLrbleval:check_rbl('CBL', cbl.abuseat.org.') describe RCVD_IN_CBL Received via a relay in cbl.abuseat.org tflags RCVD_IN_CBL net score RCVD_IN_CBL 1.2 • Проверка заголовка header NO_REAL_NAME From =~ /^["\s]*\<?\S+\@\S+\>?\s*$/ describe NO_REAL_NAME From: does not include a real name score NO_REAL_NAME 0.124 0.178 0.336 0.007 • Проверка текста письма body MILLION_EMAIL /million (?:\w+ )?(?:e-?mail )?addresses/i describe MILLION_EMAIL Get a million email addresses score MILLION_EMAIL 0.093 0.417 0.937 0.000

  7. Подсчет результата • Каждое правило имеет свой вес (может быть несколько весов, выбираемых в разных режимах использования). • Стандартные («дистрибутивные») веса правил рассчитываются по подборкам писем авторами SpamAssassin. • Вес правила может быть переопределен администратором или пользователем. • Результатработы – арифметическая сумма весов сработавших правил – сравнивается с порогом. • Порог «спама» может быть переопределен администратором (для системы) или пользователем (для себя лично).

  8. Дополнительные возможности • Черные/белые списки. • Возможность задать желаемые языки и кодовые страницы сообщений. • Хранение «истории» для каждого отправителя – SA запоминает и использует вероятность получения спама от данного отправителя. • Самообучение вероятностного механизма. • Механизм расширения, позволяющий добавить новые методы распознавания.

  9. Идеальное решение ? Не вполне! • Опыт использования версий 2.x в целом позитивный, НО: • «Дистрибутивная» конфигурация требует переопределения весов многих правил, без этого – много ложных срабатываний. • Вероятностные методы склонны к «излишнему обучению», после чего их качество резко падает, за этим нужно постоянно следить. • После приложения заметных усилийпо настройке, ложные срабатывания все равно присутствуют (около 0.1%) • Качество фильтрации спама – 75-85%

  10. SpamAssassin 3.0: Качество работы • Качество работы версии 3.0 заметно лучшечем у версий 2.x, в первую очередь за счет отсутствия ложных срабатываний: • Уровень распознавания спама 75-91% • Ложных срабатываний за время тестирования не было • Для ликвидации ложных срабатываний: • Необходима дополнительная настройка. • При использовании вероятностных методов – нужна аккуратность при обучении.

  11. Качество работы подробно (1) • Методика: запуск SA дважды • На всю почту: запуск без использования сетевых сервисов (RBL, URI-DNSBL, DCC, Razor). • Для нераспознанных на первом этапе писем – запуск с сетевыми проверками. • Результат: • Локальными методами определяется 70-85% спама. • Сетевые проверки дают 4-6% прироста качества распознавания.

  12. Качество работы подробно (2) • Трехшаговый тест: • Локальные правила • Локальные + вероятностные • Локальные + вероятностные + сетевые • Результат: • 70-85% распознавания • +5% к варианту 1 • +~0.5% к варианту 2 • Расхождения двух вариантов тестирования качества определяются разными весами правил в разных режимах использования (при отключении части правил, остальные получают больший вес)

  13. Недостатки SpamAssassin 3.0 • Требовательность к ресурсам • Низкая скорость работы(запуск из командной строки/«клиент-сервер», тестировалось на P3-1000Mhz) • 0.2/0.25 письма/сек. при включенных сетевых проверках • 0.4/2.2 письма/сек. – локальные + вероятностные правила • 0.5/3.6 письма/сек. – только локальные правила • Высокий расход RAM: 30-36Mb на процесс • При хранении данных в SQL – дополнительное падение производительности (особенно в режиме обучения).

  14. Недостатки (продолжение) • Вероятностные методы: • требуют качественного обучения. • Для каждого потока почты (пользователя) требуется отдельное обучение. • Польза от самообучения сомнительна: • При стандартных настройках обучение спаму происходит на сообщениях, которые и так распознаются с огромным запасом. • При снижении порога самообучения – растет возможность обучения по ложным срабатываниям. • Большое количество правил затрудняет настройку. • SA не имеет доступа к данным SMTP-сессии и «угадывает» их из заголовков сообщения.

  15. Выводы и рекомендации • Несмотря на ряд недостатков, использование SA для не очень больших потоков почты вполне возможно. • При возникновении проблем с производительностью уместна «двухступенчатая» схема: • Сначала «локальные» проверки • Для прошедших первую стадию писем – сетевые (или сетевые+вероятностные) проверки • При использовании вероятностных методов необходима аккуратность на стадии обучения

  16. Рекомендации по настройке • Во всех случаях: • Переопределить (в 0) веса правил, дающих ложные срабатывания на письмах c русским текстом (HEAD/FROM/SUBJ_ILLEGAL_CHARS, BODY_8BITS) • Указать в списке языков русский (ok_languages,ok_locales ru) • Настроить белый список (общий или отдельный для каждого пользователя) • При использовании вероятностного метода • При обучении использовать тщательно проверенные подборки писем, ошибочное попадание «спама» в «хорошие» может сильно испортить результат обучения. • Подборки должны быть индивидуальными для получателей. • Не стоит учить на слишком больших объемах спама. • Использование самообучения (autolearn) может привести к резкому ухудшению качества в некоторый момент.

  17. Спасибо за внимание Пожалуйста, задавайте вопросы

More Related