Автор: Пользователь скрыл имя, 03 Октября 2011 в 00:13, доклад
В последние годы специалисты в области информационной безопасности начали заниматься, казалось бы, несвойственной им задачей: бороться со спамом – массовыми рассылками, которые в большинстве своем носят рекламный характер. А происходит это потому, что такие рассылки наносят серьезный ущерб информационным системам.
Очень важно понять это, поскольку многие провайдеры, использующие только этот способ фильтрации, “подают” его как панацею, объясняя, что списки они составляют сами, а проверки на ошибки проводятся регулярно.
Распределенные методы обнаружения спама
Распределенные методы обнаружения спама используют в основном провайдеры и то только крупные, поскольку анализ и принятие решения
осуществляется на основе информации, получаемой из крупных почтовых систем с миллионами пользователей. Смысл распределенных методов обнаружения спама заключается в сборе данных о спам_почте из максимально возможного количества точек сети. Эти данные обрабатываются и делаются доступными для всех заинтересованных участников информационного обмена в сети.
В настоящее время реализованы следующие способы сбора данных о рассылках спама:
• Прием спама в специальные “ловушки” (honeypot).
• Голосование пользователей – пользователь, получивший спам, информирует об этом систему сбора данных, предоставляя образец спама. Одним из сервисов такого рода является, так называемая, “бритва Вайпула” (Vipul Razor). Основная идея сервиса заключается в создании сигнатур спамерских писем, причем письма присылают сами пользователи, а в базу сигнатуры спамерских писем заносятся по принципу голосования (если приславших данное письмо много или они достаточно авторитетны).
• Анализ всей проходящей через почтовую систему почты с целью определения контрольных сумм спам_сообщений и передачи их на центральный сервер, установленный в сети.
На основании собранных данных, которые выглядят как “такое_то письмо принято в мире
столько_то раз”, либо “на такое_то письмо пожаловались столько_то раз”, строятся списки массовых на данный момент времени рассылок, которые становятся доступными участникам системы в реальном времени. Почтовые системы, приняв письмо, могут узнать его статус и либо отвергнуть (уничтожить, перенаправить в архив или карантин) как спам, либо передать получателю. К недостаткам распределенных методов фильтрации спама относится, прежде всего, возможность компрометации данных систем. В качестве примера можно привести случай, когда в руки спамеров попадает часть списков “ловушек”. В результате они “заваливают” ловушки легитимной почтой, что приводит к увеличению количества ложных срабатываний. Снижение качества работы системы, как правило, происходит в случаях, когда спам в эти “ловушки” перестает поступать.
Качество работы систем с голосованием пользователей напрямую зависит от активности
пользователей. Влиять на такую активность практически невозможно, а скомпроментировать систему легко. Достаточно спамерам стать голосующими участниками и голосовать “против” легитимных рассылок. Кроме того, серьезной проблемой для описанных методов детектирования массовых рассылок является уникальность каждого отдельно взятого спам_сообщения – каждое современное спамерское письмо существует в огромном количестве вариантов с незначительными отличиями в тексте. На сегодняшний день ни одна из распределенных систем полностью разрешить данную проблему не способна.
Вторая проблема связана с ложными определениями легальных рассылок как спама.
Эта проблема характерна как для методов, анализирующих всю почту, так и для систем с голосованием пользователей. В настоящее время большинство публичных почтовых сервисов (Hotmail, Lycos, Mail.ru,Yandex) активно используют те или иные технические средства, позволяющие заметить факт массовой рассылки на почтовые ящики, зарегистрированные в системе. Данный способ распознавания спама доступен только публичным почтовым службам с большим количеством пользователей, однако в действительности он распознает не спам, а именно массовые рассылки, в том числе санкционированные пользователями (подписные). По имеющимся оценкам, штатные средства фильтрации публичной почты пока не совсем эффективно справляются со
своей работой. Эти системы позволяют обеспечивать блокировку только 50% спама. Кроме того, существенной проблемой до сих пор остаются ложные срабатывания.
Почтовый сервер провайдера характеризуется большим потоком писем. На нем можно
обеспечить гарантированную производительность, на нем есть постоянная связь с другими серверами в сети. Однако именно из_за массового характера поступления почты на стороне провайдера практически неприменимы в чистом виде алгоритмы, осуществляющие фильтрацию по смысловому содержимому текста письма. Массовость предполагает, кроме того, использование неперсонализированных анти_спам продуктов. Ведь в неперсонализированной анти_спам системе, которой известны предпочтения только усредненного пользователя, высокий показатель определения спама (как заявляют представители провайдеров, качество фильтрации таких систем составляет 98%) теоретически недостижим. У корпоративного клиента совершенно иная картина. Почтовый поток не такой массовый, как у провайдера. Кроме того, невозможно или слишком дорого постоянно “закачивать” массивы контрольных суммы писем или IP “черных дыр”. Зато очень точно можно отличить чужие письма, они всегда не похожи на ваши по смыслу; стиль одного пользователя (группы пользователей) выявить несложно. Корпоративному пользователю необходимы системы, которые имеют возможность работать с текстом письма и не просто определять его содержимое, а уметь относить данное письмо к определенной категории, предназначенной для той или иной группы пользователей. Именно алгоритмы фильтрации, основанные на разборе и анализе текста, способны сегодня обеспечить эффективное определение спама. Они имеют возможность проводить более гибкую фильтрацию и персонализировать процесс обработки почты.
Технически осуществить решение данной задачи возможно путем обеспечения фильтрации спама на корпоративном сервере.
Фильтрация спама на корпоративном сервере
Большинство средних и крупных компаний имеют свой корпоративный почтовый сервер, установленный в офисе компании. Это значит, что средства фильтрации провайдера в данном случае неприменимы. Для таких компаний существует категория специального серверного программного обеспечения – продуктов, позволяющих фильтровать спам на корпоративном почтовом сервере до рассылки его по рабочим местам сотрудников.
Такие почтовые серверы, как Microsoft,Exchange, Sendmail, Postfix, обычно включают
средства для обеспечения фильтрации содержания почтовых сообщений (спама и вирусов), однако эти средства обычно довольно примитивны и представляют собой “пустые рамки” для правил, то есть предлагают администратору почтовой системы самостоятельно создавать и настраивать правила фильтрации. Этот подход работает не очень хорошо, так как для фильтрации спама нужна гибкая политика, множество правил, которые постоянно обновляются и корректируются.
Данная проблема решается за счет того, что почти все почтовые серверы имеют возможность встраивать или интегрировать системы третьих производителей. Современный рынок информационной безопасности предлагает много продуктов, обеспечивающих фильтрацию спама на корпоративном сервере. Это могут быть как коммерческие, так и бесплатные продукты, распространяемые на условиях лицензии
GPL (General Public License) или подобных ей.
Бесплатные фильтры.
Наиболее известный бесплатный фильтр – SpamAssassin. Это весьма эффективная программа, фильтрующая 90_95% спама. SpamAssassin поставляется с постоянно обновляемой базой правил фильтрации как по формальным признакам письма, так и по
содержанию (ключевым словам). Недостатки этого фильтра заключаются в том, что он не имеет локальной привязки к языкам и регионам, ориентируясь в основном на англоязычный спам. Набор правил SpamAssassin очень велик и непрозрачен (понять, какое правило сработало можно, но трудно предугадать, к чему приведет его отмена), что очень затрудняет настройку.
Коммерческие продукты.
Средства фильтрации спама, реализуемой на корпоративном сервере, предлагают многие производители.
Сложность заключается в выборе продукта, который наиболее подходит для решения задач контроля использования электронной почты компании. В настоящее время на рынке анти_спам систем представлены два основных типа фильтров:
• фильтры, работа которых основана на поиске в электронных письмах определенных
признаков (так называемые, традиционные фильтры);
• фильтры, применяющие статистические (вероятностные) методы для обеспечения фильтрации спама. И те, и другие осуществляют контекстную фильтрацию электронной почты, то есть содержание письма для них является одним из важнейших критериев, по которому его можно отнести к спаму. Однако традиционные фильтры обладают довольно серьезными недостатками. Некачественное разделение спама и обычных писем обусловлено некоторой “однобокостью” традиционных фильтров. При отбраковке писем учитываются “плохие” признаки и не учитываются “хорошие”, характерные для деловой переписки. Этих недостатков лишен метод построения анти_спам фильтров, предложенный американским программистом и предпринимателем Полом Грэмом. Метод Грэма позволяет автоматически настроить фильтры согласно особенностям индивидуальной переписки, а при обработке учитывает признаки как “плохих”, так и “хороших” писем. Такой метод фильтрации спама называют статистическим или вероятностным.
Статистические (вероятностные) методы фильтрации спама
Статистический метод основывается на теории вероятностей и использует для фильтрации спама статистический алгоритм Байеса. Каждому встречающемуся в электронной переписке слову или тегу присваивается два значения: вероятность его наличия в спаме и вероятность его присутствия в письмах, разрешенных для прохождения. Баланс этих двух значений и определяет вероятность того, что письмо, в котором встречаются данные слова и теги, является спамом.
Как справедливо заметил Пол Грэм в своей статье A Plan for Spam, “ахиллесова пята спамеров – их сообщения. Они могут преодолеть любой барьер, какой вы установите... Но они должны доставить свое сообщение, каким бы оно ни было”. Иначе говоря, спамеры могут идти на любые уловки с IP_адресами и подгонкой текста сообщений, но продать_то вам свою виагру, американский английский, виллу на Канарских островах и “мужа на час” они все_таки должны! Если посланное ими сообщение из_за вынужденного применения “эзопова языка” будет непонято читателями, то толку от такой рассылки совершенно нет. “Читать между строк” покупатель не будет. Значит они все_таки должны написать в письме нечто понятное, призывающее нас к какому_то действию. Вот этот признак спам_сообщения и является основой для работы фильтров, основанных на статистических алгоритмах Байеса.
Для вычисления вероятности спама используются таблицы вероятности (принадлежности слов из письма, относящегося к категории “спам”), созданные в процессе обучения фильтра. А именно: берутся как минимум два списка слов различных категорий писем (например, “разрешенных” и “запрещенных”) и передаются на обработку программе обучения. Она вычисляет частотные словари для каждой категории сообщений – сколько раз какое слово встречалось в письмах этой категории (в данном случае спама). Когда словари заполнены, вычисление вероятности принадлежности конкретного нового письма к тому или иному типу производится по формуле Байеса для каждого слова этого нового письма. Суммированием и нормализацией вероятностей слов получают вероятности для всего письма. Как правило, вероятность принадлежности электронного письма к
одной из категорий на порядок выше, чем к другим. К данной категории и следует относить сообщение.
Сразу после начального “обучения” фильтра точность определения спама этим методом
достигает значительной величины – 97–99% и продолжает уверенно двигаться к 100% после проведения дальнейших корректировок фильтра.
Корректировка фильтра заключается в обработке случаев неправильной классифика_
ции писем – фильтру указывается, к какой категории следует впредь относить эти письма, и он добавляет слова из этих писем в соответствующие таблицы вероятностей. Обратите внимание – администратору не приходится вручную анализировать письмо и пополнять на основе проведенного анализа списки правил фильтрации, как это делается в традиционных фильтрах. Достаточно добавить письмо в архив писем данной категории, заново запустить процесс “обучения” фильтра и статистический “портрет” письма меняется полностью и автоматически. Практически байесовский фильтр заменяет все
те лингвистические лаборатории, которые осуществляют анализ вновь поступающего спама. Ведь они осуществляют корректировку антиспам фильтров тем же способом (“впредь считай такие письма спамом”).
Приведем основные отличия статистической технологии фильтрации от технологии
фильтрации на основе признаков, присущих спаму:
1. Особенность статистической технологии заключается в возможности индивидуальной автоматической настройки фильтра, что является важным преимуществом, поскольку разные люди или же компании (если фильтр устанавливается на корпоративном почтовом сервере) используют в электронной переписке разную лексику. Настройка фильтра производится по результатам статистического анализа имеющегося архива электронной почты или выборки, полученной за определенный период времени. Такой анализ дает возможность накопить достаточно информации для эффективной фильтрации электронной почты.
2. И в том, и в другом случае результатом оценки является, так называемый, “вес” письма.
Однако при применении метода с использованием признаков спама “вес” письма вычисляется только на основе “плохих” признаков, что приводит к “обвинительному уклону” фильтра, и, как следствие, появляются ложные срабатывания.
3. В алгоритме Байеса наборы признаков определяются не субъективно, а в результате статистического анализа реальных подборок писем. Получающиеся наборы признаков оказываются весьма нетривиальными эффективными. Например, в качестве “плохого” признака может появиться строка “0Xffffff” – ярко красный цвет; а в качестве “хорошего” признака – Ваш номер телефона. И действительно, письмо, содержащее