СИСТЕМЫ ТЕЛЕКОММУНИКАЦИЙ И СЕТЕВЫЕ ТЕХНОЛОГИИ
УДК 007:681.518.2 ББК 22.18 65.23 65.29
И. М. Ажмухамедов, К. В. Запорожец
УСОВЕРШЕНСТВОВАННЫЙ МЕТОД ФИЛЬТРАЦИИ НЕЖЕЛАТЕЛЬНОГО ТРАФИКА
I. M. Azhmukhamedov, K. V. Zaporozhets
IMPROVED METHOD OF FILTRATION OF UNDESIRED TRAFFIC
Приведена усовершенствованная методика анализа и фильтрации информационного потока на основе доверительных сетей Байеса, учитывающая тематическую направленность сообщений. Предварительное определение тематики электронного сообщения позволило не только повысить эффективность работы фильтра, основанного на доверительных сетях Байеса, но и снизить ошибки первого и второго рода при принятии решения об отнесении корреспонденции к категории нежелательной рассылки. Был разработан программный продукт, реализующий предложенную методику, и проведена экспериментальная проверка валидности предлагаемого подхода. Полученные результаты свидетельствуют о том, что эффективность разработанной методики при фильтрации спама на 13 % выше, чем эффективность базового варианта. Кроме того, при использовании данного подхода уменьшается вероятность возникновения ошибок первого и второго рода - основных показателей качества спам-фильтров. Ошибка второго рода, когда легитимное сообщение было расценено как спам, оказалась в 2,8 раза меньше, чем при применении базового варианта.
Ключевые слова: доверительная сеть Байеса, спам, фильтрация информационного потока, тематика почтовых рассылок.
The study provides an improved method of analysis and filtering of information flow based on Bayesian networks, which takes into account the thematic focus of communications. Preliminary identification of electronic communication has allowed not only to improve the efficiency of a filter based on Bayesian networks, but also to reduce the primary and secondary errors, when deciding on the classification of mail as junk mail. The software product that implements the proposed technique has been developed, and pilot testing of the validity of the proposed approach has been made. The obtained results show that the effectiveness of the developed method is higher by 13 % than the base case efficiency in filtering spam. In addition, when using this approach the probability of the primary and secondary errors, the main indicators of the quality of spam filters is reducing. Secondary error, when a legitimate message was considered as spam, was 2.8 times less than when using the basic option.
Key words: Bayesian network, spam, filtering of the information flow, subject of mailings.
Введение
Бурное развитие и повсеместное внедрение вычислительной техники породили ряд специфических проблем, связанных с ее использованием. Одной из таких проблем является увеличение количества нежелательной электронной корреспонденции в общем информационном потоке. Так, по данным лаборатории Касперского [1], во втором квартале 2013 г. доля спама в почтовом трафике увеличилась по сравнению с первым кварталом на 4,2 % и составила 70,7 %. Отметим, что в 5,6 % электронных сообщений содержались вредоносные вложения. Это означает, что рекламная рассылка не только влечет за собой дополнительные издержки, связанные со снижением производительности труда сотрудников, увеличением объема принимаемой и обрабатываемой информации, но и приводит к снижению информационной безопасности.
Для блокирования спам-рассылок используются различные способы фильтрации трафика. Однако, несмотря на несомненные успехи в этой области, используемые механизмы фильтрации все еще далеки от совершенства. В связи с вышеизложенным целью исследований явилось усовершенствование методики анализа и фильтрации сообщений, которые поступают на электронный почтовый ящик, основанной на доверительной сети Байеса (ДСБ).
Методы борьбы со спамом
Борьба со спамом может осуществляться либо на стороне почтового сервера (используется метод анализа поведения), либо на стороне пользователя (анализируются сами сообщения).
Метод анализа поведения ориентирован на выявление массовости рассылок и предполагает использование «черных» и «серых» списков.
«Чёрный» список - это список адресов пользователей, поведение которых в сетевом окружении признано недружественным. Существуют различные варианты организации «черных» списков. Их использование позволяет фильтровать до 35 % спам-сообщений.
Однако часто спамеры находят новые компьютеры для своих целей быстрее, чем их успевают заносить в «чёрные» списки. Кроме того, несколько компьютеров, отправляющих спам, могут скомпрометировать весь почтовый домен или подсеть. В результате тысячи пользователей, поведение которых вполне легитимно, будут лишены возможности отправлять почту серверам, использующим такой «чёрный» список [2].
Использование «черных» списков имеет и другие существенные недостатки. В последнее время в сети появляется всё больше жалоб на администраторов «чёрных» списков, шантажирующих провайдеров отказами в удалении 1Р-адресов, с которых спам когда-то возможно рассылался (адреса попадают в «чёрные» списки по анонимным жалобам, которые зачастую невозможно проверить). Многие требуют «пожертвований» от владельцев 1Р-адресов за удаление записей из «чёрных» списков [2].
Метод «серых» списков основан на том, что поведение программного обеспечения, предназначенного для рассылки спама, отличается от поведения обычных почтовых серверов: спа-мерские программы не пытаются повторно отправить письмо при возникновении временной ошибки, как того требует протокол SMTP. Пытаясь обойти защиту, при последующих попытках они используют другой релей, другой обратный адрес и т. п., поэтому это выглядит для принимающей стороны как попытка отправки разных писем [3].
Простейшая версия «серых» списков работает следующим образом [3].
Все ранее неизвестные SMTP-серверы полагаются находящимися в «сером» списке. Почта с таких серверов не принимается, но и не отклоняется совсем - им возвращается код временной ошибки («приходите позже»).
В случае если сервер-отправитель повторяет свою попытку не менее чем через некоторое время (это время называется задержкой), сервер вносится в «белый» список и почта принимается. Поэтому обычные письма (не спам) не теряются, задерживается только их доставка (они остаются в очереди на сервере отправителя и доставляются после одной или нескольких неудачных попыток). Программы-спамеры либо не умеют повторно отправлять письма, либо используемые ими серверы успевают за время задержки попасть в «чёрные» списки DNSBL.
Этот метод в настоящее время позволяет отсеять до 60 % спама практически без риска потерять важные письма. Однако его тоже нельзя назвать безупречным. Могут ошибочно отсеиваться письма с серверов, не выполняющих рекомендации протокола SMTP, например рассылки с новостных сайтов. Задержка при доставке письма может достигать получаса (а то и больше), что может быть неприемлемо в случае срочной корреспонденции.
Кроме того, спамерские программы постоянно совершенствуются. Поддержка повторной посылки сообщения реализуется довольно легко и в значительной степени нивелирует данный вид защиты. Ключевым показателем в этой борьбе является соотношение характерного времени попадания спамера в «чёрные» списки и типичного времени задержки «серых» списков [3].
Анализ сообщений. Поскольку содержание рекламных писем, как правило, отличается от обычных сообщений электронной почты, один из наиболее распространённых методом борьбы со спамом опирается на анализ данных различий.
Анализ сообщения подразделяется на анализ служебной информации (заголовка письма) и анализ текста сообщения.
Анализ заголовков предполагает поиск аномалии в служебной части письма и позволяет фильтровать до 40 % спама. Однако при условии соблюдения спамером стандарта отправки электронных писем данный метод неэффективен.
К основным моделям анализа текста сообщения относятся: нейронные сети, позволяющие фильтровать до 75 % спама, и методы, основанные на ДСБ, отфильтровывающие до 85 % нежелательного трафика.
Таким образом, наибольшего успеха при фильтрации нежелательного трафика удается достичь с помощью алгоритмов, основанных на теореме Байеса. При этом требуется предварительное «обучение» фильтров путем передачи рассортированных вручную писем для выявления статистических особенностей нормальных писем и спама. Метод хорошо работает с текстовыми и HTML-сообщениями. После обучения на достаточно большой выборке удаётся отсечь до 85-87 % спама [4].
Поскольку для надежной работы фильтров, основанных на ДСБ, требуется постоянное дообучение, в почтовых программах для этого присутствует возможность вручную пометить сообщения, содержащие спам, а почтовые сервисы в Интернете имеют кнопку «пожаловаться на спам».
При обучении фильтра для каждого употребленного в письмах слова рассчитывается и сохраняется его «вес» - вероятность того, что сообщение, содержащее это слово - спам. В простейшем случае вес рассчитывается по классическому определению вероятности: «количество появлений в спаме / количество появлений всего».
При проверке вновь пришедшего письма вероятность того, что оно - спам, вычисляется по формуле Байеса для множества гипотез. В данном случае «гипотезы» - это слова, а «достоверность гипотезы» - процентное содержание конкретного слова в письме, «вероятность события при выполнении гипотезы» равна вычисленному ранее «весу» слова. Таким образом, «вес» письма представляет собой усредненный «вес» всех его слов.
Отнесение письма к «спаму» или «не спаму» производится по тому, превышает ли его «вес» некую планку, заданную пользователем (обычно 60-80 %). После принятия решения хранящиеся в базе данных (БД) «веса» для содержащихся в письме слов обновляются.
Данный метод прост (алгоритмы элементарны), удобен (позволяет обходиться без «черных» списков и подобных искусственных приемов), эффективен (после обучения отсекает до 85-87 % спама, и в случае любых ошибок его можно дообучать). Таким образом, есть все показания для его повсеместного использования, что и имеет место на практике - на его основе построены практически все современные спам-фильтры.
Опишем методику, позволяющую еще более усовершенствовать данный метод фильтрации нежелательного трафика.
Усовершенствованный метод фильтрации спама
Тематические особенности СПАМ-сообщений. Сообщение идентифицируется множеством слов. В каждом сообщении употребляются как общие слова, так и набор слов и словосочетаний, специфических для тематики данного письма. Например, в тематике «Образование» такие слова, как «учить», «семинар», «образование», «наука» будут встречаться чаще, чем в тематике «Реклама спамерских услуг».
Анализ данных с сайта [1] за 2009-2013 гг. позволил сделать вывод о том, что тематика спамерских рассылок остается достаточно устойчивой (97 % спама можно разделить на 10 различных тематик). Первые пять мест по объему массовых рассылок обычно занимает реклама медикаментов (товаров/услуг для здоровья); реклама спамерских услуг; спам «для взрослых»; образование; реклама реплик элитных товаров.
Учет тематической направленности рассылок, как будет показано ниже, позволяет улучшить свойства фильтров, построенных на ДСБ.
Общая схема усовершенствованного метода. Рассмотрим базовую методику анализа текста (рис. 1). Она обычно состоит из 3 блоков: получение и сохранение в БД информации о вероятностях появления различных слов в электронной корреспонденции (обучение системы), идентификация спама, перерасчет вероятностей появления слов в сообщениях и занесение этой информации в БД (дообучение системы).
Дополним базовую модель блоками, позволяющими учитывать тематику сообщений (изображены на рис. 1 пунктирными линиями).
В качестве дополнительного входного параметра на этапе обучения задаются тематики, для сохранения которых создается БД тематик.
При поступлении нового сообщения в первую очередь определяется его тематика, на основе которой будет осуществляться проверка гипотезы о наличии спама.
Рис. 1. Схема анализа входящей корреспонденции
Процесс дообучения также строится с учетом тематики вновь проанализированного сообщения, что влечет за собой внесение изменений в БД тематик и в БД вероятностей появления слов (рис. 2).
Рис. 2. Этапы работы системы фильтрации спама
Определение тематики сообщения. Для определения тематики сообщения предлагается использовать вероятностную модель, предусматривающую сравнение эталонного распределения вероятности появления слова в тематике с аналогичным распределением в анализируемом сообщении.
В случае, когда недостаточно данных для однозначной классификации, предполагается использование «общей» тематики, соответствующей совокупности всех тематик.
Отметим, что перед определением тематики входящего сообщения следует проанализировать графические вложения (если таковые имеются) и извлечь текст из изображений для более эффективной работы спам-фильтра.
Вероятность появления слова в сообщениях каждой из тематик рассчитывается по формуле
Wj = Sj / Mi,
где Sj - количество употреблений (без учета повторений) j-го слова в сообщении i-й тематики; M, - количество сообщений в i-й тематике.
Для «общей» тематики данные берутся по всем тематикам, а также по письмам, в которых не удалось определить тематику.
Обозначим P(S| W) априорную вероятность соответствия сообщения тематике S при условии наличия в нем слова W. Тогда для классификации сообщений можно использовать следствие теоремы Байеса. Таким образом, вероятность того, что сообщение относится к i-й тематике, будет равна
Pi = Ik P(Wki) P(S| Wki) = (Ik Wk, )/K,
где k = 0, ... K; K- количество слов в сообщении (без учета повторений); Wk - k-е слово в сообщении (без учета повторений).
В случае если слова, присутствующие в сообщении, не встречались на стадии обучения (отсутствуют в БД), их необходимо проигнорировать.
Слова, которые на этапе обучения встречаются редко, являются проблемными, и включение данных об их употреблении в электронной корреспонденции может исказить информацию.
Применяя теорему Байеса и предполагая, что классификация тематик, содержащих данное слово, является случайной величиной с бета-распределением, получим формулу для расчета «исправленной вероятности»:
P ) = о • P(S) + n • P(S | W)
о + n
где P ’^S| W) - исправленная вероятность того, что сообщение принадлежит тематике S, при условии, что сообщение содержит слово W; о - исправляющий коэффициент, указывающий степень соответствия сообщения тематике S; P(S) = 0,5 - вероятность того, что любое сообщение относится к тематике S; n - число появлений слова на этапе обучения; P(S| W) - вероятность того, что сообщение принадлежит тематике S, при условии, что слово W в нем содержится.
Данная формула верна и в случае, когда n равно нулю.
После того как тематика сообщения определена, необходимо проверить, является ли данное сообщение спамом. Для этого текст сообщения передается ДСБ, ориентированной на конкретную тематику, что приводит к улучшению основных показателей качества спам-фильтра.
Если тематика не определена однозначно, то текст передается общетематической ДСБ, включающей все тематические. На основе полученной вероятности принимается решение об отнесении сообщения к спаму.
Если письмо помечается как спам, то в соответствующей ДСБ происходит перерасчет вероятностной модели, в соответствии с вновь полученными результатами.
Программная реализация методика. На основе разработанной методики был создан программный продукт, позволяющий усовершенствовать фильтрацию нежелательного трафика. В качестве среды разработки использовалась Microsoft Visual Studio 2008, язык программирования - C#.
Для повышения достоверности принимаемого решения при программной реализации методики было принято решение об использовании дополнительных критериев отнесения сообщения к категории спам-рассылок. В качестве дополнительных критериев могут выступать результаты, полученные при проверке заголовка письма, при проверке на соответствие заданным пользователем правилам и т. п. (рис. З).
На вход программы подается множество электронных писем, которые последовательно обрабатываются. Для каждого из писем в результате аддитивной свертки с заранее определенными весами вычисляется интегральный критерий, на основе которого и делается вывод о легитимности сообщения.
Рис. 3. Алгоритм выявления спама
Если сообщение классифицируется как легитимное, то оно помещается в папку «Входящие сообщения». Иначе оно помещается в папку «Спам». После анализа сообщения проводится перерасчет априорных вероятностей. Таким образом, система постоянно самообучается на основе данных, полученных при обработке очередного сообщения.
Результаты тестирования предлагаемой методики
Для проверки валидности предлагаемого решения было проведено тестирование разработанного программного продукта на 120 входящих сообщениях. Сравнение велось с базовым вариантом фильтрации, не предусматривавшим классификацию по тематикам. Предварительное обучение системы проводилось на 78 письмах различного содержания, 68 из которых содержали спам.
Результаты приведены в таблице.
Результаты тестирования
Метод Отфильтровано, % Ошибка первого рода, % Ошибка второго рода, %
Базовый метод 83,54 16,46 2,73
Предлагаемый метод 96,32 3,68 0,97
Результаты тестирования показывают, что предложенная методика и разработанный на ее основе программный продукт соответствуют ожидаемому функциональному назначению. При этом эффективность разработанной методики на 13 % выше, чем эффективность базового варианта при фильтрации спама.
Кроме того, при использовании данного подхода уменьшаются вероятности возникновения ошибок первого и второго рода - основных показателей качества спам-фильтров. Ошибка второго рода, когда легитимное сообщение было расценено как спам, оказалась в 2,8 раза меньше, чем при применении базового варианта.
Заключение
Таким образом, предложенный подход позволяет улучшить характеристики спам-фильтров, основанных на ДСБ. Экспериментальная проверка показала валидность разработанной методики и программного обеспечения, что позволяет сделать вывод о целесообразности его встраивания в почтовые клиенты.
СПИСОК ЛИТЕРАТУРЫ
1. [Электронный ресурс]: http://www.securelist.com/ru/analysis/208050806/Spam_vo_vtorom_
kvartale_2013 (дата обращения 25.10.2013).
2. Пурье Д. Как остановить атаки спама и фишинга / Д. Пурье [Электронный ресурс]: http://www. osp.ru/win2000/2006/07 /3546202/ (дата обращения: 25.10.2013).
3. Сидорин С. А. Серые списки: эффективная фильтрация спама / С. А. Сидорин [Электронный ресурс]: http://www.opennet.ru/base/net/greylist_antispam.txt.html (дата обращения: 25.10.2013).
4. Guzella Thiago S. A review of machine learning approaches to Spam filtering / Thiago S. Guzella, Walmir M. Caminhas // Expert Systems with Applications. 2009. Vol. 36, N 7. P. 10206-10222.
REFERENCES
1. Available at: http://www.securelist.com/ru/analysis/208050806/Spam_vo_vtorom_ kvartale _2013 (accessed: 25.10.2013).
2. Pur'e D. Kak ostanovit' ataki spama i fishinga [How to stop spam attacks and phishing]. Available at: http://www.osp.ru/win2000/2006/07 /3546202/ (accessed: 25.10.2013).
3. Sidorin S. A. Serye spiski: effektivnaia fil’tratsiia spama [Grey lists: effective spam filtering]. Available at: http://www.opennet.ru/base/net/greylist_antispam.txt.html (accessed: 25.10.2013).
4. Guzella Thiago S., Caminhas Walmir M. A review of machine learning approaches to Spam filtering. Expert Systems with Applications, 2009, vol. 36, no. 7, pp. 10206-10222.
Статья поступила в редакцию 21.10.2013
ИНФОРМАЦИЯ ОБ АВТОРАХ
Ажмухамедов Искандар Маратович - Астраханский государственный технический университет; канд. техн. наук, доцент; доцент кафедры «Информационная безопасность»; [email protected].
Azhmukhamedov Iscandar Maratovich - Astrakhan State Technical University; Candidate of Technical Sciences; Assistant Professor; Assistant Professor of the Department "Information Security"; [email protected].
Запорожец Константин Вячеславович - Астраханский государственный технический университет; аспирант кафедры «Информационная безопасность»; [email protected].
Zaporozhets Konstantin Vyacheslavovich - Astrakhan State Technical University; Postgraduate Student of the Department "Information Security"; [email protected].