Сегодня, пожалуй, сложно найти организацию, которая в той или иной степени не использовала бы электронную почту — на работу с e-mail приходится примерно 25% рабочего времени сотрудников. При этом 50% всей получаемой почты — это письма, которые не имеют никакого отношения к бизнесу. Похоже, что уникальные возможности Интернета по доставке сообщений одновременно сотням тысяч получателей оборачиваются для компаний не только мощным средством ведения бизнеса, но и большой головной болью. Не будем останавливаться на ущербе, который наносит бизнесу спам, поскольку это не является темой данной статьи, а сразу перейдем к описанию тех методов, благодаря которым возможно уничтожить спам как явление.
Последние несколько лет в компьютерной и околокомпьютерной прессе постоянно предлагаются и обсуждаются различные способы борьбы со спамом. Ограничения статьи не позволяют подробно рассмотреть все методы борьбы со спамом (юридические, социальные и технические), поэтому ограничимся только техническими методами. Сразу оговоримся, что без комплексных мер добиться победы над этим злом вряд ли возможно.
Рассмотрим наиболее популярные и интересные технические методы фильтрации спама и особенности реализации этих методов в Kaspersky® Anti-Spam.
Но прежде хотелось бы уточнить некоторые важные моменты. Ошибочно полагать, что главное для любой программы спам-фильтра — распознать 100% спама. На самом деле, главное — не допускать ложных срабатываний, когда нормальное деловое письмо принимается за спам. В этом случае ущерб от потери нужного письма может быть гораздо больше, чем ото всех спам-писем за год. В принципе, обеспечить фильтрацию 100% спама легко — нужно не пропускать никаких писем вообще. Но задача антиспам-фильтра несколько другая — разделить входящий поток сообщений на спам и нормальную почту.
Распознавание спама и ложные срабатывания — классическая проблема радиолокации: высокий уровень обнаружения — и при этом высокое количество ложных тревог; низкий уровень ложных тревог — низкий уровень детектирования. Либо то, либо другое страдает.
Итак, идеальное средство от спама должно почти никогда не допускать ложного детектирования и фильтровать почти 100% спама. «Почти» — потому что на 100% выполнить обе задачи одновременно не представляется возможным. Будем иметь ввиду этот момент при рассмотрении методов фильтрации.
Способы фильтрации
Любое письмо приходит к клиенту с почтового сервера. Получается, что фильтровать почту можно или на этом почтовом сервере, или на самом клиентском компьютере. Оба эти способа действенны. Естественно, в каждом случае есть как и достоинства, так и недостатки, которые мы обсудим ниже.
Существуют два основных метода фильтрации спама — фильтрация по формальным признакам почтового отправления и по содержанию, то есть лингвистически:
I. Формальные методы | II. Лингвистические методы |
1. Фильтрация по спискам (почтовых адресов, IP-адресов). | 3. Распознавание по содержанию письма (словосочетания, эвристики, статистика). |
2. Фильтрация по формальным признакам письма (наличие полей, много отправителей, нет получателя, путь, формат, размер, пр.) | 4. Распознавание по образцам писем (распознавание по сигнатурам, с голосованием и пр.). |
Метод фильтрации — списки запрещенных. Провайдеры обычно фильтруют спам, используя так называемые списки запрещенных IP-адресов (real-time black hole lists — RBLs). Это списки адресов известных спамеров, адресов открытых почтовых пересылок, используемых спамерами эпизодически или регулярно, и списки диапазонов адресов тех сетей, которые не борются со спамерами или слишком к ним либеральны. Эти списки ведут организации провайдеров и разные добровольцы. Наиболее известных списков около десятка.
Применение именно списков провайдерами обусловлено тем, что проверять содержание писем провайдеры, вообще говоря, не могут по закону. А списки запрещенных позволяют, не обращаясь к содержанию письма, отказаться от его получения, проанализировав обратный адрес, — то есть даже не получая письма на свой почтовый сервер.
Некоторые системные администраторы полагают, что фильтрация по IP-адресу может показать очень высокую эффективность. Однако, по нашему опыту, списки запрещенных фильтруют не более 25-30% спама, поскольку в последнее время все чаще для рассылки спама используются не открытые почтовые сервера, а так называемые «зомби»-компьютеры. «Зомби» — это, как правило, домашний компьютер пользователя, который заражен вредоносной программой, позволяющей злоумышленнику от лица пользователя рассылать почтовые сообщения. Таких компьютеров много (десятки тысяч), и ежедневно список «зомби» меняется — появляются новые и исчезают старые. Добавить все такие адреса в RBL, с одной стороны, очень сложно, а с другой стороны — не имеет смысла, так как люди, компьютеры которых без их ведома рассылают спам, не являются спамерами и наказывать их можно только за разгильдяйство, повлекшее за собой заражение вредоносной программой.
Еще одна существенная проблема списков запрещенных — при их использовании резко возрастает число писем, ошибочно принятых за спам. В списки запрещенных часто попадают провайдеры «в целом» (по причине все тех же «зомби»-сетей). В таких случаях совершенно «нормальные» клиенты «провайдеров, не любящих спам» (фильтрующих по спискам запрещенных), лишаются возможности общения с нормальными же клиентами «дружелюбных к спаму провайдеров». Показательным стал случай с закрытием известного сервиса Osirusoft, подвергавшегося неоднократным атакам, который перед закрытием 26 августа 2003 года поместил в список запрещенных весь мир (весь диапазон IP-адресов). В результате огромное число пользователей электронной почты во всем мире потеряли корреспонденцию за два дня — она отвергалась теми почтовыми серверами, которые использовали списки Osirusoft для борьбы со спамом.
Таким образом, метод фильтрации по RBL должен использоваться, но в комплексе с другими методами фильтрации, так как один этот метод не в состоянии решить поставленную задачу по фильтрации нежелательной почты.
Фильтрация по формальным признакам письма. В данном случае анализируются так называемые формальные признаки письма, такие как: адреса получателя и отправителя, размер, наличие и количество вложений, IP-адрес отправителя. Спамом может считаться письмо, в котором, например, отсутствует адрес отправителя, отсутствуют или слишком много получателей, отсутствует IP-адрес в системе интернет-адресов DNS и т.п. Также возможна фильтрация по размеру, формату сообщения. Этот метод позволяет определить около 30-40% спама, однако обладает средним уровнем ложных срабатываний. Резко уменьшить количество ошибок возможно, применяя списки разрешенных, — списки отправителей, от которых любая почта не считается спамом. Вообще, использование списков разрешенных — хорошая практика по уменьшению количества ложных срабатываний при использовании любой программы антиспама.
Фильтрация по содержанию. Проверяется наличие в письме признаков спамерского содержания: определенного набора и распределения по письму специфических словосочетаний. Это наиболее простой метод, но при этом один из самых эффективных. При хорошей базе уровень распознавания спама — порядка 50-70% при довольно низком уровне ложных срабатываний. То есть можно говорить, что этот метод является основным методом выявления спама.
Сигнатуры (образцы). По каждому спамерскому письму может быть автоматически или вручную создана так называемая лексическая сигнатура, позволяющая распознать конкретное спамерское сообщение. Используя методы нечеткого сравнения, можно также распознавать слегка модифицированный спам. Сигнатурный метод фильтрации примечателен тем, что уровень ложных срабатываний минимален и стремится к нулю. Однако при этом количество отфильтрованного спама не очень велико — около 15-20%.
На диаграмме приведены все основные методы фильтрации, даны примерные параметры уровня распознавания и количества ложных срабатываний.
Как вы понимаете, ни один из вышеперечисленных методов не может гарантировать высокую эффективность и низкий уровень ошибок одновременно. Только применение всех методов позволит добиться высокого качества работы фильтра.
Некоторые компании-разработчики систем защиты от спама используют в своей бизнес-модели модель антивирусных компаний с выпуском регулярных обновлений специальной базы данных. Нужно заметить, что такой подход имеет определенные преимущества по трем причинам:
- Высокая подвижность лексикона спамеров. Хотя цели спамеров практически неизменны — они хотят что-то продать пользователю, заманив его на сайт или заставив ответить по электронной почте, — применяемые ими выражения постоянно меняются просто потому, что спамеры свободно пользуются родным языком.
По нашему опыту, качество распознавания спама при использовании старой, «замороженной» базы может снижаться на несколько процентов в неделю, падая от 85%-95% до 40-60% в пределе (этот предел определяется вечным спамерским лексиконом и типичными признаками рекламных писем). - Повторяемость писем. Краткосрочная повторяемость спамерских писем довольно велика, она может доходить до 10-15% за месяц. Иногда приходит пять-шесть копий одного и того же письма за неделю. В частности, ярким примером такой повторяемости является печально известный American Language Center. Таким образом, большая часть повторных писем может быть отфильтрована за счет «свежести» базы.
- Конечная скорость распространения. Чтобы разослать миллион писем, нужно затратить определенное время. Сама по себе работа почтового сервера, рассылающего сотни тысяч писем, может занять несколько суток. Кроме того, электронная почта — это средство с негарантированным временем доставки. Это означает, что последние спамерские письма из большой партии могут доходить до получателя через несколько дней. А, следовательно, при ежедневном обновлении часть клиентов могут успеть получить новую версию базы с сигнатурой нового письма раньше прихода к ним этого же письма.
Фильтрация на клиенте
На стороне клиента можно использовать все перечисленные выше методы, но встает вопрос о целесообразности и «стоимости» использования того или иного метода. Исходя из этого, в большинстве клиентских анти-спам программ метод фильтрации по RBL не используется. Кроме этого существует еще один метод фильтрации, который подходит только для клиентского компьютера.
Байесовская фильтрация по словам
Очень простым, понятным методом является «наивная» байесовская классификация. «Наивной» она называется, потому что исходит из предположения о взаимной независимости признаков спама и не спама, и, как ни странно, этого оказывается вполне достаточно.
Использование формулы Байеса для фильтрации спама предложено совсем недавно, чуть больше двух лет назад. Автор первого фильтра, Paul Graham, предназначал его для персональной фильтрации. Для работы требуется, чтобы у классифицируемого объекта было достаточно признаков. Этому требованию идеально удовлетворяют все слова писем данного пользователя, за исключением, пожалуй, очень редко встречающихся и совсем коротких. Вторым требованием является постоянное переобучение и пополнение коллекции «спам — не спам». Все такие условия идеально работают в локальных почтовых клиентах, поддерживающих этот алгоритм, потому как поток «не спама» у конечного клиента довольно постоянен и, если и меняется, то не очень быстро.
Для сервера же, вернее сказать, для всех клиентов этого сервера, довольно сложно точно определить поток «не спама». Иными словами, одно и то же письмо для одного клиента является спамом, а для другого — нет. Как следствие — словарь будет большим, не будет четкого разделения «спам — не спам», система начнет давать множество ложных тревог, и качество фильтрации резко снизится.
Идеальное средство фильтрации спама
Давайте рассмотрим идеальную программу борьбы со спамом. Такие продукты будут обладать следующими свойствами:
- Использование всех методов фильтрации, как формальных, так и лингвистических (объединенных единым интеллектуальным решающим центром).
- Использование антивирусной схемы бизнеса:
- Поддержка класса 24*7 от специальной лаборатории по борьбе со спамом (аналог антивирусных лабораторий).
- Регулярные обновления баз несколько раз в день (скачиваемые автоматически через сеть).
- Простота установки и использования (фильтрация «под ключ», работа по схеме «черного ящика»).
Можно рассчитывать на то, что такой продукт будет фильтровать до 90-95% спама и обладать очень низким процентом ложных срабатываний. С оставшимся «процентом» спама нам, скорее всего, придется мириться.
Kaspersky® Anti-Spam
Методы фильтрации
Определившись с параметрами идеального спам-фильтра, рассмотрим один из продуктов, представленных на рынке, — Kaspersky Anti-Spam — и посмотрим, насколько он близок к идеальному продукту. В линейке продуктов Лаборатории Касперского есть 3 продукта — для ISP, для предприятий и для домашних пользователей, поэтому рассматривать мы будем семейство продуктов для фильтрации нежелательной корреспонденции.
Все продукты семейства Kaspersky Anti-Spam используют одно и тоже ядро, то есть обладают практически одинаковыми возможностями, за исключением того, что персональная версия продукта не использует RBL, однако использует байес-фильтр. В дальнейшем будет описано собственно ядро фильтрации, без деления на продукты.
Kaspersky® Anti-Spam для распознавания спама использует как известные «формальные» методы, так и методы контентной фильтрации, благодаря которым осуществляется распознавание сообщений по их содержанию на основе эвристического поиска ключевых терминов и нечеткого сравнения с письмами-образцами.
Kaspersky Anti-spam использует несколько основных методов:
- Списки. Письмо проверяется на вхождение e-mail адреса и IP-адреса отправителя в RBL. Администратор системы может также вести свои списки запрещенных и разрешенных («списки друзей»), от которых почта принимается всегда.
- Формальные признаки письма. Отсутствие адреса отправителя, отсутствие или слишком много получателей, отсутствие IP-адреса в системе интернет-адресов DNS и т.п. Также производится фильтрация по размеру, формату сообщения.
- Содержание письма. Проверяется наличие в письме признаков спамерского содержания: определенного набора и распределения по письму специфических словосочетаний и слов. При этом фильтр Kaspersky Anti-Spam анализирует не только текст самого письма, но и вложения.
- Сигнатуры (образцы). По каждому спамерскому письму может быть автоматически или аналитиками вручную создана так называемая лексическая сигнатура, позволяющая распознать это письмо даже с небольшими модификациями.
- Графические сигнатуры (GSG-2). Не секрет, что спамеры стали использовать вместо обычного текста картинки. Технология GSG позволяет определять спам именно в картинках. Данная технология также позволяет очистить картинку от мусора, нормализовать цвета, а затем получить сигнатуру. «Нормализованная» сигнатура сравнивается с образцами. Аналогично лексическим сигнатурам, сравнение ведется таким образом, что незначительно отличающиеся письма опознаются правильно.
Существенной особенностью программы является возможность распознавания нежелательных сообщений путем анализа их содержания. Фильтр осуществляет автоматическую рубрикацию сообщений на более чем 500 рубрик, то есть отнесение входных сообщений к одной или нескольким категориям на основе смыслового анализа их текста. Заметим, что анализу подвергается не только тело письма, но и все вложения.
Результатом работы фильтра Kaspersky Anti-Spam для конкретного сообщения является список категорий, к которым данное сообщение может быть отнесено, с указанием степени достоверности для каждой категории.
По результатам проверки каждое письмо получает специальную метку, соответствующую уровню его принадлежности к спаму. Письмо, прошедшее фильтрацию и отнесенное к той или иной категории, может быть доставлено по назначению, перенаправлено на какой-либо определенный адрес или удалено.
Обновляемая база данных и анти-спам лаборатория
Лингвистическая лаборатория — это специалисты, которые непрерывно занимаются анализом спама. Это профессиональные лингвисты, с высшим лингвистическим образованием, с опытом работы в области прикладной лингвистики и искусственного интеллекта.
Вот как они работают:
В Лингвистическую лабораторию поступает входной поток спама из расставленных по миру ловушек для спама. Лингвисты проверяют входной поток модулем фильтрации и отделяют новые письма, то есть не распознанные по текущей базе. Затем они классифицируют это множество писем, пропущенных фильтром, — отделяют «нормальные» письма (такие в потоке присланного спама иногда попадаются), а затем раскладывают спам по рубрикам.
Как было сказано выше, категорий спама всего около 500, но из них показываются пользователю всего примерно 20 «верхних» категорий, в том числе «Сходи на сайт», «Для взрослых», «Купи виагру», «Купи софт», «Увеличь то или это», «Горящие путевки», «Посетите семинар», «Обучение английскому», «Заработок в Интернете», «Обеспечь себе финансовую независимость», «Снизь налоги» и т.п.
В первую очередь лингвисты добавляют в базу сигнатуры всех нераспознанных писем, чтобы они уже сразу начали распознаваться. Это помогает распознавать «повторные» письма или слегка модифицированные, пришедшие повторно.
Затем лингвисты начинают тонкий анализ — выделяют в письмах новые термины, назначают им веса и добавляют их в семантические образы. Это подготовка данных для работы другого метода — эвристического анализатора.
Внутренние средства контроля позволяют сразу проверить качество распознавания:
- на новых письмах (улучшилось ли),
- на эталонной базе спамерских писем (чтобы не было ухудшения).
- на эталонной базе обычных писем (чтобы не было ложных срабатываний).
Специальный аналитик параллельно занимается анализом «конверта» письма, то есть его формальных признаков (отправители, получатели, путь следования и т.п.) и созданием новых правил для распознавания по этим признакам.
Несколько раз в день (если быть точным, то более 20 раз в день) лингвисты формируют и выкладывают дневное обновление базы, и происходит обновление базы фильтрации — правила эвристики, сигнатуры, образцы писем и новые формальные правила — выкладываются на серверы обновлений и доступны для скачивания клиентам компании. В случае же клиентов ISP возможны так называемые push-обновления, когда обновление выкладывается напрямую клиенту и не происходит неизбежных задержек.
Бизнес-логика
Правила бизнес-логики могут включать удаление, пересылку, разметку письма (добавление метки в заголовок), архивирование его в указанных папках, отсылку уведомления администратору или пользователю.
Настройка бизнес-логики фильтрации производится администратором почтового сервера через web-интерфейс при помощи специальной программы — Конфигуратора. Наряду с общими правилами фильтрации, применяющимися для всех писем, проходящих через Kaspersky Anti-Spam, существует возможность задать индивидуальные правила для конкретного получателя (группы получателей).
К письмам, в которых обнаружены признаки спама, могут применяться, в частности, следующие схемы бизнес-логики:
- Не принятие почты. Спамерская почта данной категории не принимается почтовым сервером, как если бы адрес получателя не существовал (отправитель получает об этом уведомление — то есть происходит обман спамера);
- Удвоение. Спамерская почта данной категории уничтожается (отправитель не получает никаких уведомлений);
- Архивирование. Спамерская почта данной категории перенаправляется на некоторый архивный адрес и не доставляется адресату (отправитель при этом может либо получать соответствующее уведомление, либо не получать никаких уведомлений);
- Пересылка с разметкой. Спамерская почта данной категории пересылается адресату, при этом каждому сообщению приписывается дополнительный заголовок (например, Spam/Porno) на основании которого производится сортировка почты на уровне клиентской почтовой программы (например, правилами Outlook).
Перечисленные схемы обработки письма — наиболее типичные, но далеко не единственно возможные. Администратор, используя возможности настройки программы, может задавать практически любые схемы и варианты бизнес-логики.
Схема работы программы Kaspersky® Anti-Spam
Дополнительные возможности
Лингвистическая поддержка для немецкого, французского и испанского языков. Для работы с письмами на разных языках фильтр Kaspersky Anti-spam использует встроенные модули лингвистической поддержки. В настоящее время Kaspersky Anti-spam обеспечивает лингвистическую поддержку для русского, английского, немецкого, французского и испанского языков.
Заметим, что отсутствие лингвистической поддержки для какого-либо европейского языка не означает невозможность работы с сообщениями на этом языке. Для таких сообщений алгоритмы распознавания будут работать, но с меньшей точностью. В частности, метод сигнатур и пользовательские термины могут работать с любыми европейскими языками.
Kaspersky Anti-spam работает не только с текстом письма, но и с вложениями. Обрабатываются вложения в почтовые сообщения в следующих форматах:
- Обычный текст (ASCII),
- HTML,
- Microsoft Word (версии 6.0, 95/98/2000/XP)
- RTF.
Разбор перечисленных выше форматов осуществляется с качеством, достаточным для целей контентной фильтрации. Основная задача — выделить текст, при этом нет необходимости полностью анализировать «сложные» объекты — таблицы, графику и т.п.
Качество работы и ложные срабатывания
Как уже указывалось, главным показателем качества работы фильтра является не распознавание максимального количества спамерских писем, а отсутствие ложных обнаружений, то есть писем, по ошибке занесенных в категорию спамерских.
В настоящее время фильтр позволяет отсеивать 85-95% спамерских писем при уровне ложных обнаружений в 0,01-0,05% (1-5 писем на 10 000). Повышение уровня распознавания спамерских писем выше указанного уровня нежелательно именно в связи с недопустимостью ложных обнаружений.
Нужно сказать, что ложные тревоги обычно вызывают не деловые письма, а пресс-релизы и рассылки с преобладанием рекламной лексики.
Значительно снизить риск ложных срабатываний позволяет так называемый список разрешенных, то есть «список друзей», в который администратор фильтра может добавить всю адресную книгу компании, в том числе всех сотрудников, деловых партнеров, прессу, пр.
Заключение
Перед описанием Анти-спама Касперского мы привели свойства идеальной программы для фильтрации нежелательной корреспонденции. Насколько Лаборатория Касперского приблизилась к этому идеалу, судить нашим клиентам. В заключение хотелось бы привести один пример внедрения Kaspersky Anti-Spam ISP Edition.
Пример использования Kaspersky® Anti-Spam ISP Edition в компании Mail.ru
Компания Mail.ru является одной из крупнейших европейских ISP-компаний и обслуживает более 10 миллионов почтовых ящиков, из которых порядка 4 миллионов — активные почтовые ящики. В день компанией осуществляется 15 -17 тысяч регистраций и пересылается около 12 миллионов писем. При этом до 70% писем являются спамом.
В компании была применена комбинированная система защиты от спама, состоявшая из списков запрещенных компании Mail.ru (разработка компании Mail.ru, использовавшаяся до внедрения Kaspersky® Anti-Spam ISP Edition) и Kaspersky® Anti-Spam ISP Edition. Суть комбинированной системы защиты заключается в следующем. Сначала поток почты фильтруется на основании списков запрещенных Mail.ru; при этом отфильтровывается 30-40% спама. Далее почта обрабатывается Kaspersky® Anti-Spam ISP Edition. Продукт отфильтровывает 90-95% оставшегося спама. Такая схема фильтрации позволяет максимально эффективно использовать имеющиеся средства борьбы со спамом и оптимизировать распределение нагрузки на почтовые серверы. Результатом является попадание в почтовый ящик конечного пользователя не более 3-5% от первоначального количества спама, посланного пользователю. То есть если до внедрения Kaspersky® Anti-Spam ISP Edition конечный пользователь получал до 50 писем в день, характеризуемых как спам (количество спама зависит от активности спамеров), то теперь пользователь получает не более 3-5 спамерских писем в день.
Таким образом, применение комбинированной защиты, основанной на Kaspersky® Anti-Spam ISP Edition и включающей в себя списки запрещенных Mail.ru, позволяет отфильтровать 95-97% спама.
Антиспам Касперского для корпораций, ISP и индивидуальных пользователей