Архив новостей

Как работает фильтр Spamtest

Продолжение. Начало статьи здесь.

Фильтр Spamtest — это серверная программа, которая устанавливается «на входе» в корпорацию и фильтрует входящий поток почты. Фильтр предназначен для использования в небольшой/средней компании, имеющей собственный почтовый сервер.

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

Основные преимущества фильтра:

  • используемые эвристические лингвистические методы анализа содержания почтовых сообщений (контентная фильтрация);
  • Постоянное ведение и ежедневное обновление базы данных специализированной лингвистической лабораторией;
  • объединение всех методов фильтрации (по «формальным» признакам и по содержанию) в едином модуле, возможность их комбинирования;
  • централизованное управление всеми правилами фильтрации через единый www-интерфейс.

Фильтр является полнофункциональной серверной почтовой программой, работающей на платформе Unix (FreeBSD 4.x и Linux).

Методы фильтрации спама

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

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

  1. Списки. Письмо проверяется на вхождение адреса отправителя и IP-адреса отправителя в списки запрещенных, которые ведут провайдеры и различные общественные организации (так называемые RBL — Real-time Black Lists). Администратор системы может также вести свои списки разрешенных («списки друзей«), от которых почта принимается всегда.
  2. Формальные признаки письма. Отсутствие адреса отправителя, отсутствие или слишком много получателей, отсутствие IP-адреса в системе интернет-адресов DNS и т.п. Также производится фильтрация по размеру, формату сообщения.
  3. Содержание письма. Проверяется наличие в письме признаков спамерского содержания: определенного набора и распределения по письму специфических словосочетаний. Заметим, что фильтр Spamtest анализирует не только текст самого письма, но и вложения.
  4. Сигнатуры (образцы). По каждому спамерскому письму может быть автоматически создана так называемая лексическая сигнатура, позволяющая распознать это письмо даже с небольшими модификациями.

Результатом работы фильтра Spamtest для конкретного сообщения является список категорий, к которым данное сообщение может быть отнесено с указанием степени достоверности для каждой категории.

Ниже показано, как соотносятся множества писем, распознаваемые различными методами. Качество метода оценивается двумя основными показателями: полнотой и уровнем ложных срабатываний (УЛС). Полнота — это количество распознанных спамерских писем в %% от общего потока писем, УЛС — уровень ложных срабатываний (количество нормальных писем, признанных за спам).

Взаимосвязь различных методов детектирования спама и относительное качество распознавания

Следует обратить внимание, что множества писем, признаваемых за спам различными методами, «задевают» область нормальных деловых и личных писем. Это показывает важность проблемы ложных срабатываний.

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

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

Главным показателем качества работы фильтра является не распознавание максимального количества спамерских писем (скажем 99,99%), а отсутствие ложных обнаружений, то есть писем, по ошибке занесенных в категорию спамерских, при достаточном уровне обнаружения (90-95%).

В настоящее время Spamtest позволяет отсеивать 90-97% спамерских писем, при уровне ложных обнаружений в 0,001-0,01% (1-10 писем на 100 000). Повышение уровня распознавания спамерских писем выше указанного порога нежелательно именно в связи с недопустимостью ложных обнаружений.

Нужно сказать, что ложные тревоги у фильтра Spamtest обычно вызывают не деловые письма, а пресс-релизы и рассылки с преобладанием рекламной лексики.

Значительно снизить риск ложных срабатываний позволяет так называемый список разрешенных, то есть «список друзей», в который администратор фильтра Spamtest может добавить всю адресную книгу компании, в том числе всех сотрудников, деловых партнеров, прессу, пр.

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

База фильтрации

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

База фильтрации содержит данные трех типов:

  • рубрикатор (иерархический список категорий спама);
  • семантические образы категорий (наборы) ;
  • сигнатуры сообщений-образцов.

База содержит рубрикатор спама, включающий около 550 рубрик, соответствующих различным категориям спама (наподобие Финансовые пирамиды, Порно, Улучшение сексуальности, Телефония, Нигерийские письма, пр.). Пользователю для настройки показываются около 20 самых «верхних» рубрик.

Каждая рубрика содержит свой семантический образ — набор терминов (словосочетаний) с заданным определенным весом. В базе есть три вида словосочетаний:

  • Вероятностные термины — словосочетания, которые с определенной вероятностью (скажем, 65%) указывают на то, что письмо является спамом, например, посетите наш сайт, Nigeria, unsubscribe.
  • Точные термины, имеющие вероятность 100% («это не спам», «ваш адрес получен из открытых источников», «чтобы больше не получать этого письма»).
  • Дополнительные термины, которые сами по себе не указывают на спам, так как могут встречаться в обычных письмах, но добавляют вес остальным терминам (Ericsson, туры в Турцию, Анталья, Шамони, софт).

В настоящее время база фильтрации содержит около 28 000 терминов

Работа с разными языками

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

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

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

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

Бизнес-логика фильтрации

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

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

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

  • Не принятие почты («отбивка»). спамерская почта данной категории не принимается почтовым сервером, как если бы адрес не существовал (отправитель получает об этом уведомление — то есть происходит обман спамера);
  • Уничтожение («черная дыра»). спамерская почта данной категории уничтожается (отправитель не получает никаких уведомлений);
  • Архивирование. спамерская почта данной категории перенаправляется на некоторый архивный адрес и не доставляется адресату (отправитель при этом может либо получать соответствующее уведомление, либо не получать никаких уведомлений);
  • Пересылка с разметкой. спамерская почта данной категории пересылается адресату, при этом каждому сообщению приписывается дополнительный заголовок (например, Spam/Porno) на основании которого производится сортировка почты на уровне клиентской почтовой программы (например, правилами Outlook).

Перечисленные схемы обработки письма — наиболее типичные, но далеко не единственно возможные. Администратор, используя возможности настройки фильтра Spamtest, может задавать практически любые схемы и варианты бизнес-логики.

Форматы сообщений

Spamtest работает не только с текстом письма, но и с вложениями. Обрабатываются вложения в почтовые сообщения в форматах:

  • Plain Text (ASCII, не multibyte)
  • HTML (2.0, 3.0, 3.2, 4.0, XHTML 1.0)
  • Microsoft Word (версии 6.0, 95/98/2000/XP)
  • RTF.

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

© ЗАО «Ашманов и Партнеры», 2003

Как работает фильтр Spamtest

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике