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

Существует немало различных технологий, методов и средств борьбы со спамом, однако цель данной статьи — не их описание и сравнение, а рассмотрение проблемы в рамках общекорпоративной политики использования электронной почты, а следовательно, в контексте общей информационной безопасности предприятия.
Действительно, необходимо отдавать себе отчет в том, что спам, хотя и доставляет массу хлопот, не является угрозой номер один. Если судить по степени уязвимости информационных систем данному типу угроз и последствиям воздействия на локальную сеть, спам не наносит такого значительного урона, как, скажем, вредоносный мобильный код или утечка конфиденциальной информации. Меры, применяемые против него, должны быть пропорциональны степени угроз. Чрезмерный интерес к проблеме спама в ущерб другим мерам защиты, с одной стороны, и слабое внимание, уделяемое фильтрации спама, с другой, может привести к серьезным последствиям для безопасности информационных систем предприятий. Необходим комплексный и взвешенный подход к обеспечению безопасности, где каждой проблеме уделяется соответствующее внимание.
Кроме того, борьба со спамом не очень трудоемка. Сегодня насчитывается более 500 категорий спама, в то время как в типичной компании можно выделить не более 10-15 категорий писем, важных с точки зрения ее бизнес-процессов. Естественно, что отфильтровывать и пропускать «важные» письма проще, чем выделять из почтового потока все письма, относящиеся к спаму.
Комплексный подход предполагает использование для фильтрации спама одновременно нескольких методов. В частности, необходимо иметь возможность фильтрации спама как по признакам электронного письма, так и с использованием статистических алгоритмов.
Наконец, подобный подход дает возможность построить и реализовать политику использования корпоративной электронной почты, в которой одно и то же письмо может быть отнесено к нескольким различным категориям и оно будет доставлено (или перенаправлено) определенным группам пользователей.
Политика использования электронной почты обычно принимается в компаниях на административном уровне и устанавливает правила использования электронной почты, определяя:
• прохождение каких категорий сообщений электронной почты должно быть разрешено или запрещено («что контролируется»);
• перечень пользователей или их групп, которым разрешено или запрещено получать сообщения электронной почты определенной категории («на кого распространяется»);
• что необходимо делать с сообщениями электронной почты, которые удовлетворяют или не удовлетворяют критериям, определенным правилами («как реагирует система»).

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

Группы пользователей

Согласно принятой в организации политике использования электронной почты, всех сотрудников можно условно разделить на несколько групп, каждой из которых могут предназначаться только письма определенного содержания.
1. Сотрудники, для которых возможно составить «портрет» письма.
2. Сотрудники, для которых составление «портрета» письма имеет определенные сложности.
3. Сотрудники, для которых фильтрация писем по каким-либо причинам не осуществляется.
К первой группе пользователей можно отнести сотрудников, на чьи почтовые ящики, как правило, приходит формализованная корреспонденция (отчеты, заявки, уведомления и т.п.). Кроме того, к этой группе относят тех, кто получает письма только от определенных отправителей, получение же сообщений из других источников запрещается (либо администратором безопасности, либо самим пользователем).
Ко второй группе относятся сотрудники, которые получают письма из различных источников, а содержание их почты не поддается формализации или описанию. Для таких пользователей составить «портрет» делового письма сложно, поэтому их корреспонденция фильтруется только на наличие писем запрещенного содержания и спама. Этим пользователям нельзя блокировать прохождение важных писем. Во многих случаях, чтобы избежать ложных срабатываний, администраторы снижают уровень полноты фильтрации (т.е. соотношение выявленных писем рекламного характера к спам-сообщениям, пропущенным в ходе фильтрации), повышая при этом ее точность (способность средства фильтрации избегать ложных срабатываний).
Третья группа вообще отказывается от фильтрации своей электронной почты. К ней, как правило, относятся люди творческих профессий (скажем, журналисты), а также руководители. Их почта анализируется только на содержание вирусов и иного вредоносного мобильного кода.

Средство реализации политики использования почты
Итак, основная задача средств реализации политики использования электронной почты — разделение почтового потока по категориям сообщений (деловая почта, спам, частная переписка, письма запрещенного содержания и т.п.), а также по пользователям и группам пользователей. Такое разделение обеспечивается за счет проверки почтовых сообщений на соответствие определенным условиям и реагирования по результатам такой проверки. Cреди условий отбора писем должны быть следующие:
• условия на почтовые заголовки;
• условия на структуру письма (наличие, число и структура вложений);
• условия на типы вложений (Microsoft Office, исполнимые файлы, архивы и т.п.);
• условия на содержимое писем и вложений;
• условия на результат обработки письма.
Что касается такой категории писем, как «спам», то наиболее эффективной является фильтрация писем на основе содержания их текстов и вложений.
Разработанная в компании «Инфосистемы Джет» система мониторинга и архивирования почтовых сообщений «Дозор-Джет» обеспечивает фильтрацию почты по перечисленным условиям, включая контекстную фильтрацию. Система имеет в своем составе модуль категоризации почтовых сообщений, работа которого основана на применении статистического байесовского алгоритма. Модуль предназначен для фильтрации электронных писем на основании ранее выполненного анализа выбранной администратором базы образцов писем.

Подсистема фильтрации
После проверки при получении письма SMTP-прокси письмо передается на обработку подсистеме фильтрации, которая обеспечивает декомпозицию (модуль разбора) и проверку письма на соответствие заданным администратором безопасности условиям (модуль анализа и модуль категоризации почтовых сообщений). По результатам такой проверки осуществляются те или иные действия над письмом (модуль реагирования).
Система снабжена подсистемой фильтрации, которая обеспечивает глубокую и детальную обработку почты. К ее отличительным особенностям можно отнести: полную декомпозицию письма (разбор на составляющие компоненты), работу с русскоязычными текстами, эвристическое определение кодировок, гарантированное раскрытие сжатых файлов, «чтение» текстов в сжатых файлах, определение типов OLE-объектов, наличие условия «ошибка при распаковке».
Осуществление полной декомпозиции письма — одна из самых важных особенностей системы. Ведь от того, как будет произведен разбор письма, зависит качество его анализа и точное отнесение письма к спаму или нет.
Эффективность системы в борьбе со спамом в значительной степени повышается за счет наличия такого условия обработки писем, как «ошибка при распаковке». Это значит, что в случае невозможности распознать или распаковать какой-либо объект письма, система предпринимает дополнительные действия, которые позволяют довести до конца анализ письма. Как правило, такое письмо помещается в карантин, администратору системы отправляется соответствующее сообщение с указанием причины данного действия. После этого администратор имеет возможность провести дополнительную обработку «нераскрывшегося» письма, в том числе, с помощью программных продуктов от третьих фирм. На основании произведенного анализа принимается решение о дальнейшем действии над письмом.
В случае со спамом может быть предусмотрено выполнение следующих действий: пропустить письмо, запретить прохождение письма, поместить письмо в архив (целиком или только регистрационную информацию), пометить письмо, послать уведомление администратору, отправить письмо на дополнительную обработку другой программе, модифицировать письмо.
Отличительная особенность системы — возможность выполнения различных действий одновременно. При первом приближении, исключение могут составить первые два действия; однако, система обладает способностью присвоения письму определенной категории. Одно и то же письмо может быть отнесено к нескольким категориям. Если мы говорим о спаме, то таких категорий может быть как минимум две, например, «спам для финансового отдела» и «деловое письмо для отдела рекламы». Поэтому, данное письмо можно одновременно пропустить в отдел рекламы и блокировать его прохождение в отдел финансов.

Модуль категоризации почтовых сообщений
В контексте общей политики информационной безопасности спам-сообщения относятся системой к одной из категорий, которую необходимо будет фильтровать в соответствии с политикой использования электронной почты. Такую задачу в системе выполняет модуль категоризации почтовых сообщений.
Письма автоматически относятся к той или иной категории на основании выполненного ранее анализа выбранной администратором базы образцов писем. Задача администратора сделать наиболее «точную» выборку писем, которые соответствовали бы данной категории. Необходимо избегать попадания в выборку «лишних» писем, что может привести к ложным срабатываниям фильтра. Наиболее «точная» выборка обеспечивается за счет составления детального SQL-запроса, в котором будут учтены все признаки писем определенной категории.
После того, как выборка сделана, письма проходят обработку, на основании которой составляются таблицы вероятности наличия определенных слов в письмах той или иной категории. Таких таблиц составляется как минимум две (например, категория «спам» для отдела маркетинга и «деловые письма» для отдела маркетинга). Каждому слову сопоставляется его «вес»: вероятность наличия в спаме и вероятность присутствия в письмах, разрешенных для прохождения. Баланс этих двух значений и определяет вероятность того, что письмо, в котором встречаются данные слова, является спамом (в данном случае — для отдела маркетинга).

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

Методы фильтрации на основе признаков спама
Система подходит к фильтрации спама комплексно и использует не только статистические алгоритмы, но и технологию фильтрации на основе признаков спама. Фильтрация осуществляется двумя основными способами — по формальным признакам и с помощью лингвистических методов (т.е. по содержанию текстовой составляющей писем).
Формальные методы включают: фильтрацию по спискам (почтовые адреса, IP-адреса); фильтрацию по формальным признакам письма (отсутствие адреса отправителя, отсутствие или наличие большого количества получателей, отсутствие IP-адреса в системе DNS); фильтрацию по размеру; фильтрацию по формату сообщения.
Лингвистические методы включают распознавание по содержанию. Письмо проверяется на наличие признаков спам-сообщений — определенного набора специфических слов или словосочетаний. Отметим, что система анализирует не только текст самого письма, но и его вложений.

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

Выделение текста из письма
От того, как будет выделен текст, будет зависеть, сможет ли система в дальнейшем с ним работать. Поэтому очень важно, чтобы такое выделение было как можно более качественным. Не секрет, что одной из серьезных проблем обмена данными на русском языке является бесчисленное количество кодировок текста. Система должна осуществлять анализ русско-язычных почтовых сообщений независимо от используемой кодировки (СР1251, СР866, ISO88595, KOI-8R, MAC), включая тексты, кодировка которых не декларирована (например, тестовые файлы в упакованном виде) или декларирована неверно. Декодирование осуществляется с применением технологии эвристического анализа.
Необходимо учитывать и то, что разные объекты почтового сообщения также имеют различную кодировку, что осложняет процесс последующего анализа письма в целом. Избежать этого удается за счет так называемой нормализации текстовой составляющей почтового сообщения. Нормализация осуществляется следующим образом. Весь текст письма (вне зависимости от того, где он находится — в заголовках, в теле письма, во вложенных файлах) выделяется из указанных объектов и приводится к единой кодировке. В дальнейшем все выделенные текстовые части рассматриваются как отдельные объекты в одной кодировке.

Анализ текста
Применительно к рассматриваемой проблеме, анализ текста заключается в поиске в письмах признаков спама. В системе «Дозор-Джет» такой поиск может осуществляться как базовыми средствами, так и с помощью модуля категоризации почтовых сообщений.
Фильтрация спама базовыми средствами подразумевает создание фильтра с помощью специального интерфейса и зависит только от опыта администратора системы. Администратор должен знать, какой спам получает его компания, какие признаки присущи данному спаму и по каким из них необходимо фильтровать почту. Чтобы справиться с подобной задачей, администратор должен обладать «незаурядными» способностями и постоянно отслеживать ситуацию в данной области. Чтобы избежать зависимости качества работы фильтра от личных способностей администратора, разработчики системы включили в ее состав специальный модуль, обеспечивающий автоматическую категоризацию почтовых сообщений, а администратор выполняет лишь функцию контроля за организацией процесса фильтрации.

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

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

Работа с вложениями

Система может определять практически все используемые сегодня форматы и типы данных, распознавая их по бинарному следу, что исключает ошибки. Кроме того, система работает с OLE-объектами документов, созданных приложениями Microsoft Office. Анализ OLE-объектов осуществляется по тому же принципу, что и анализ архивных файлов. Файл рассматривается как контейнер, в который могут входить любые объекты, в том числе в форматах, отличных от форматов Microsoft Office (например, exe-файлы).
Трудности в распознавании могут быть только с сообщениями в виде графических файлов без текста. Большинство спам-сообщений распространяется с вложенными HTML-документами, но и сам HTML-код, несущий картинку, и URL рекламируемого сайта в этом коде, и заголовок письма с IP-адресами, подставными почтовыми адресами и полем Subject, — все это плоские тексты, которых обычно оказывается достаточно для правильной категоризации. Кроме того, система может отправить сообщение на обработку внешней программе, чтобы попытаться «заглянуть» и внутрь картинок; впрочем, необходимость в этом возникает крайне редко.
Наконец, система способна раскрывать упакованные файлы всех распространенных типов архиваторов при любом уровне вложенности. Даже если данный архив по какой-то причине не смог раскрыться, осуществляется действие «ошибка при распаковке», а файл отправляется в карантин для дальнейшей обработки и принятия решения.

                                                                                                ***
Проблему спама можно решить только в контексте общей политики информационной безопасности. Лишь комплексное решение позволяет бороться с многочисленными угрозами корпоративной информационной системе, которые несет в себе спам. Эффективная система фильтрации должна обладать рядом специфических возможностей, к которым в первую очередь относятся:
• фильтрация спама в рамках политики использования электронной почты;
• применение контентной фильтрации для категоризации писем;
• обучение и автоматическая самокорректировка фильтра;
• объединение в едином модуле различных методов фильтрации с возможностью их комбинирования;
• централизованное управление всеми правилами фильтрации через единый Web-интерфейс.
Главный показатель качества работы фильтра — уровень ложных срабатываний. Как показывает опыт, эффективная система позволяет отсеивать 98-99% спамерских писем, при уровне ложных срабатываний в 0,001-0,01% (от одного до десяти писем на 100 000). Нужно отметить, что ложные тревоги у фильтра обычно вызывают не деловые письма, а пресс-релизы и рассылки с преобладанием рекламной лексики. В этом случае снизить риск ложных срабатываний помогает так называемый «белый список» или «список друзей», в который администратор системы может добавить всю адресную книгу компании, в том числе, всех сотрудников, деловых партнеров и т.п.
Другое серьезное преимущество подобных систем фильтрации спама заключается в том, что имеется возможность пользования статистикой входящего в их состав архива, а это позволяет автоматически анализировать почтовый поток и периодически корректировать работу фильтра. Благодаря свойству самообучения можно практически исключить ошибочные срабатывания фильтра и, следовательно, потерю важной информации. Автоматическая самокорректировка облегчает задачу администратора по контролю и настройке, а также сокращает время на обслуживание системы.