Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

МЕТОДИКА ТЕСТИРОВАНИЯ КАЧЕСТВА СЕРВЕРНЫХ АНТИСПАМ-ФИЛЬТРОВ


Информационный Канал Subscribe.Ru


Тестирование информационной безопасности.
Анализ защищённости информационных ресурсов предприятия.

Методика тестирования качества серверных антиспам-фильтров

Часть 1

Алексей Тутубалин, Игорь Ашманов
 ЗАО "Ашманов и Партнеры", 2004

Содержание

Часть 1

Введение

1. Определение спама

2. Нежелательная или ненужная почта

3. Критерии оценки качества

    3.1. Критические и некритические ложные срабатывания
    3.2. Пропущенный спам

4. Методика тестирования

Сводка: Корректные условия тестирования

Часть 2

5. Особенности тестирования отдельных видов фильтров

    5.1. Фильтры, использующие черные списки (RBL)
    5.2. Тестирование фильтров с регулярными обновлениями баз данных
    5.3. Тестирование обучаемых систем

6. Наиболее частые ошибки при тестировании

    6.1. "Последовательное соединение" фильтров
    6.2. Пересылка (forward) сообщений на фильтр
    6.3. Тестирование на фиксированных коллекциях
    6.4. Неверные обучающие выборки для обучаемых фильтров

Часть 1

Введение

При выборе антиспам-фильтра необходимо сопоставить:

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

Оценка стоимости и функциональности может быть произведена даже умозрительно - по документации компании-производителя.

Ситуация же с качеством существенно сложнее - на сегодняшний день не существует не только каких-либо "стандартных" методик тестирования качества фильтрации спама, но и общепринятых подходов к такому тестированию. В результате, все тесты проводятся по разным методам, следовательно, результаты разных тестов невозможно сравнивать между собой. Это относится как к данным производителей антиспам-решений, так и к результатам независимых тестов.

В данном документе предлагается методика тестирования качества фильтрации спама, а также обсуждаются типичные ошибки, допускаемые при тестировании.

1. Определение спама

При тестировании качества работы Антиспам-фильтра необходимо заранее определить понятие "спам"; без определения этого термина дальнейшая работа не имеет смысла.

При написании данного документа использовалось следующее определение:

Спам - это анонимные незапрошенные массовые рассылки электронной почты, как правило, имеющие рекламный характер.

Данное определение удовлетворительно определяет спам как массовые рекламные рассылки, производимые профессионалами для зарабатывания денег. А ровно от этого бизнеса сейчас и страдают все пользователи Интернета.

2. Нежелательная или ненужная почта

В то же время, спамом в действительности не являются следующие виды сообщений (часть из них может быть массовой или нежелательной почтой):

  • Рассылки, на которые пользователь когда-то подписывался (даже если он уже не хочет ее получать и/или забыл, как отписаться).
  • Рассылки, на которые пользователь подписывался неявно, например, включив (или забыв выключить) галочку "я хочу получать дополнительную информацию о продуктах компании N" при регистрации на Web-сайте компании или в анкете на выставке.
  • Технические сообщения систем электронной почты, включая сообщения о недоставке писем, которые пользователь не рассылал (во время последних вирусных эпидемий такие случаи участились).
  • Технические сообщения антивирусных систем о том, что в письме найден вирус.
  • Уведомления о доставке, недоставке или прочтении писем получателем.
  • Прочие не слишком нужные пользователю сообщения (например, сообщения о том, что в почтовой системе расширен лимит на хранение почты; информация о функционировании интернет-сервиса, которым пользуется пользователь и так далее).
  • Единичные нежелательные сообщения, даже если они анонимны.
  • Поздравительные открытки (которые, как правило, анонимны).
  • Письма, посланные по ошибке.
  • Вирусные сообщения и сообщения с "троянскими программами" - для них есть антивирусы.

Однако, зачастую пользователи и системные администраторы считают подобные сообщения спамом (трактуя их расширительно - как "нежелательную корреспонденцию").

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

Таким образом, при тестировании антиспам-фильтров и при интерпретации результатов тестирования следует использовать единое для пользователей и тестировщиков определение спама, лучше всего - предложенное выше, и не засчитывать "нежелательную", но легитимную почту как спам.

3. Критерии оценки качества

Для оценки качества работы антиспам-сервисов следует одновременно использовать два следующих критерия:

  1. Ложные тревоги. Доля нормальных (не являющихся спамом) сообщений, ошибочно классифицированных как спам (ложные срабатывания или false positive), в общем потоке нормальной почты.

  2. Пропуск спама. Доля пропущенного спама (или false negative) в общем потоке спама.

Обе характеристики нужно рассчитывать корректно, а именно:

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

    Таким образом, 0,3% ложных тревог могут означать, например, что всего пришло 10 000 нормальных писем, и из них 30 было ошибочно признано спамом.

  2. Процент пропусков - отношение количества пропущенного спама к объему всего спама (как пропущенного, так и распознанного).

    Таким образом, 15% пропусков (или 85% уровень фильтрации) означают, например, что всего пришло 10 000 спамовых писем, из которых 1500 не было распознано как спам.

3.1. Критические и некритические ложные срабатывания

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

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

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

3.2 Пропущенный спам

Критерий на основе доли "пропущенного спама" является наиболее очевидным - если один антиспам-фильтр распознает 70%, а второй - 85% спама, то второй фильтр можно считать лучшим. В то же время необходимо понимать, что повышение уровня распознавания может с большой вероятностью дать одновременный рост количества ложных срабатываний.

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

3.3 Скорость реакции

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

Современная спам-рассылка в несколько миллионов адресов обычно занимает несколько часов и впоследствии не повторяется. В следующий раз спамер посылает другие письма и с других адресов.

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

Таким образом, значение имеет только качество фильтрации реального потока спама в реальном времени, а тестировать следует скорость реакции фильтра на реальный поток спама.

Ниже в разделе "Ошибки тестирования" мы подробно показываем, почему тестирование на фиксированных коллекциях не имеет смысла.

4. Методика тестирования

А. Реальная эксплуатация на реальном потоке почты в реальном времени. Наиболее достоверные результаты тестирования антиспам-систем можно получить только на реальном потоке почты и только при фильтрации немедленно, в реальном времени.

Только в этом случае:

  • распределение почты по типам (спам/не спам и так далее) соответствует реальному;
  • техническая информация в письмах (IP-адрес посылающей стороны, SMTP envelope, технические заголовки) соответствует реальному положению дел;
  • содержимое баз данных фильтров (лингвистических, статистических, RBL-списков, черных/белых списков отправителей) является актуальным;
  • тексты писем не искажены за счет пересылки, вставки дополнительной информации или подобных действий;
  • решается задача реальной фильтрации.

Б. Тестирование должно продолжаться как минимум 2-3 недели. Поток как спама, так и нормальной почты, сильно меняется во времени, обычно изменения тематики и оформления писем происходят ежедневно. Продолжительный тестовый период должен усреднить эти колебания. Полезно, если часть тестового периода может включить в себя сезонные изменения маркетинговой активности (предпраздничные распродажи, например) - это позволит оценить качество реакции антиспам-системы на пике спама.

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

Г. В тестировании должны принимать участие как минимум несколько десятков почтовых ящиков. Это требование определяется тем, что вариативность потока спама у разных пользователей очень велика. Например, на ящики с именами info@, sales@ или alex@ приходит много мусорной почты, так как подобные имена легко подбираются методом словарной атаки, а на ящики со сложными именами наподобие Joe.V.User@ спама приходит во много раз меньше (особенно, если эти длинные адреса публиковались в общедоступных местах).

Использование при тестировании большого числа почтовых ящиков позволяет усреднить вариации в потоках спама между различными типами почтовых ящиков.

Д. При тестировании нельзя пересылать (forward) почту. При пересылке искажается техническая информация, а в некоторых случаях и текст письма. В то же время, современные фильтры анализируют "письмо в целом" и искажение данных приведет к падению качества распознавания.

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

Ж. Равные условия тестирования. При сравнении нескольких решений от разных производителей, антиспам-фильтры должны быть поставлены в равные условия. Это включает в себя следующие требования:

  • Одинаковый поток почты, приходящий на разные фильтры в реальном времени.
  • При использовании RBL-сервисов - одинаковый набор списков RBL для всех тестируемых систем.
  • При использовании локальных черных/белых списков - использование одинаковых списков.
  • При использовании обучаемых фильтров - обучение на одинаковых выборках. Если в процессе тестирования используется дообучение - дообучение должно быть синхронным/по одним и тем же выборкам.
  • При использовании фильтров с получениями обновлений - синхронное получение обновлений.
  • Все прочие "параллельные" наборы настроек (например: разбор заголовков для получения оттуда IP-адресов, использование распределенных систем DCC/Razor и так далее) - должны быть по возможности одинаковыми.

Сводка: цели и корректные условия тестирования

Таким образом, достоверные результаты тестирования можно получить при выполнении следующих необходимых условий:

  • Тестирование в реальном окружении (установка антиспам-фильтра на тот же поток почты, где его предполагается в дальнейшем использовать).

  • Достаточная продолжительность тестирования - 2-3 недели.

  • Достаточный объем тестирующей выборки - как минимум несколько тысяч сообщений в день.

  • Достаточная выборка почтовых ящиков - как минимум несколько десятков.

  • Анализ результатов с использованием корректного определения спама и категорий критичных/некритичных ложных срабатываний.

  • Тестируемое ПО должно быть поставлено в максимально одинаковые условия.


Следующая часть статьи - в следующем выпуске.
Рассылки о тестировании:
Рассылки о тестировании:
Дискуссионные листы о тестировании:
Обсудить материал выпуска:
обсудить в форуме | обсудить в дискуссионном листе
Для новых участинков - зарегистрироваться в дискуссионном листе (письмом, Web).
Рассылка "Тестирование информационной безопасности." (с) 2004
Автор выпуска: Полаженко Сергей
Сайт рассылки: "Тестирование информационной безопасности"
Информационная поддержка: "ТЕСТЕР — сервер тестировщиков"


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное