ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Вестн. Ом. ун-та. 2011. № 2. С. 178-181.
УДК 681.322 А.Н. Мироненко
Омский государственный университет им. Ф. М. Достоевского
АВТОМАТИЧЕСКАЯ ФИЛЬТРАЦИЯ СПАМА НА БАЗЕ СЕТИ ФОРМАЛЬНЫХ НЕЙРОНОВ
Разработана методика фильтрации нежелательной корреспонденции (спама), основанная на двухслойной сети формальных нейронов. Предложен новый способ нахождения эвристического коэффициента слов («токенов») сообщения.
Ключевые слова: распознавание, массовая рассылка, нейронная сеть, электронная почта.
Введение
Основной задачей исследований в области защиты информации является совершенствование известных методов и разработка новых методов, алгоритмов обеспечения безопасности информации в процессе её сбора, хранения, обработки, передачи и распространения. Одним из направлений исследований в этой области является разработка методов и алгоритмов фильтрации спама.
Большинство фильтров построено на байесовском подходе, что не позволяет учитывать семантику электронных сообщений. При разработке систем фильтрации входящих сообщений недостаточно полно используется системный подход и современные технологии искусственного интеллекта для решения задачи классификации. Таким образом, задача разработки эффективных методов и алгоритмов фильтрации спама в организации является актуальной.
Научная новизна и теоретическая значимость данной работы определяются разработкой модели и метода градуированной фильтрации нежелательной корреспонденции и заключаются в следующем:
1. Разработка новой модели фильтрации нежелательной корреспонденции (спама), позволяющей уменьшить количество ложных тревог (принятие легитимного сообщения за спам) и пропуск спама.
2. Разработка нового метода фильтрации нежелательной корреспонденции (спама), который, в отличие от известных подходов, позволяет повысить качество оценки данных за счет учета следующих параметров: количества писем, в которых встречались слова определенной категории; частоты использования слов в письмах определенной категории; использования слов, впервые встретившихся в проверяемом письме и не существовавших до этого в базе.
3. Разработка нового способа нахождения эвристического коэффициента, определяющего отношение каждого слова («токена») сообщения к одной из трех категорий: спам, не спам, возможно спам.
В работе сформулированы исходные положения метода фильтрации спама. Данный метод нацелен на решение следующих двух проблем:
1. Повышение качества оценки данных, т. е. проблемы, связанной с отношение письма к категории «спам / не спам».
© А .Н. Мироненко, 2011
2. Анализ «токенов», впервые встретившихся в проверяемом письме и не существовавших до этого в базе.
Описание разработанного метода фильтрации
Рассмотрим предложенную автоматизированную модель проверки почтовых сообщений на основе сети формальных нейронов. Основными этапами работы метода являются следующие:
1. «Обучение» автоматизированной системы фильтрации спама.
2. Работа с автоматизированной системой фильтрации спама.
Автоматизированная система фильтрации спама определяет частоту вхождения слов в каждом почтовом сообщении и ведёт базу данных частотных словарей, на основе которых определяет вероятность принадлежности сообщения к спаму. После обработки каждого электронного сообщения обновляются частотные словари. За счет этого выполняется динамическая подстройка автоматизированной системы фильтрации к постоянно меняющемуся потоку сообщений. Процесс заполнения частотных словарей состоит из следующих этапов:
1) выделение писем относящихся к спаму (не спаму);
2) разделение указанных писем на слова;
3) подсчет количества одинаковых слов, встретившихся в письмах категории спама (не спама);
4) подсчет количества писем, в которых встретилось слово определенной категории.
Процесс фильтрации спама происходит следующим образом.
Первый слой нейронной сети содержит N нейронов, на входные синапсы которых подаются слова и частота их появления в спам- / не спам-сообщениях. Используя алгоритм РОКЕЬ 2, определяем принадлежность каждого слова сообщения к одной из трех групп: спам, не спам, возможно спам. Это происходит следующим образом:
Каждый объект (слово/«токен») обладает только двумя свойствами: частота появления в спам- и не спам-сообщениях; это позволит отобразить исходные данные на геометрической плоскости.
Шаг 1. Построить гиперсферу радиуса Ко, охватывающую все множество точек.
Шаг 2. Установить радиус гиперсферы К = 0,9Ко и перенести центр сферы в
любую из внутренних точек (расстояние до которых меньше радиуса).
Шаг 3. Вычислить новый центр тяжести и перенести в него центр сферы.
Шаг 4. Если новый центр тяжести отличается от предыдущего, необходимо вернуться к шагу 2 и повторить цикл. Цикл будет повторяться до тех пор, пока центр тяжести не перестанет смещаться. Таким образом, центр сферы перемещается в область локального сгущения точек. В предложенном примере центр сферы хо ^ Х1, поэтому необходимо установить новый радиус сферы К2 = 0,9К и перенести центр сферы в произвольную внутреннюю точку.
Шаг 5. Вычислить новый центр тяжести и перенести в него центр сферы. Новый центр тяжести Х2 = Х1, поэтому внутренние точки текущей сферы объединяются в таксон.
Шаг 6. Точки, принадлежащие новому таксону, исключаются из анализа, и работа алгоритма повторяется с шага 1. И так до тех пор, пока все точки не будут исключены из анализа.
Таким образом, все слова сообщения попадают в одну из трех групп. На основании этой принадлежности словам присваиваются значения 0,9, 0,2, 0,5 - соответственно. Данные значения получены экспериментально и являются оптимальными для работы алгоритма фильтрации. Таким образом определяется параметр Щ - веса нейронов первого слоя сети, которые подаются на его выход. Все выходные сигналы нейронов первого слоя сети попадают на вход второго, состоящего из одного нейрона, который принимает одно из трех решений: сообщение является спамом (К1), сообщение не является спамом (К2), невозможно определить, является ли сообщение спамом или нет (К3).
Математически функционирование нейронной сети описывается следующим образом:
Полученное значение Щ преобразуется в выходной сигнал функцией активации нейрона Р:
У = Р (Щ). (1)
В качестве функции активации используется логистическая или сигмоидальная функция, показанная на рис. 1. Эта функция математически выражается как
(2)
180
А.Н. Мироненко
Выбор данного вида функции определяют следующие ее ценные свойства:
1. Монотонность и дифференцируемость на всей оси абсцисс
2. Простое выражение для ее производной.
Интенсивность
Интенсивность выходного сигнала
Рис. 1. Функция активации
На втором слое сети находится лишь один нейрон, на вход которого поступают сигналы у, 1 = 1..М от нейронов первого слоя. Они преобразуются по формуле
N
^=Ё у, (3)
1=1
где у - значение 1-го входа нейрона.
В качестве функции активации, так же как и на первом слое, используется логистическая, или сигмоидальная, функция, показанная на рис. 1.
У = Р ($) = -^-. (4)
1 + еъ
На этом слое принимается решение, насколько уверенно можно принять решение о принадлежности сообщения к спаму. Решение принимается исходя из полученного числа, лежащего в интервале от 0 до 1. Чем ближе получившееся число к одному из этих значений, тем с большей уверенностью можно сказать, является сообщение спамом или нет.
Выводы
Эксперимент показал, что с увеличением числа писем определенной категории изменяется значение вероятности принадлежности слов к определенным категориям.
Далее проведено исследование степени корректной фильтрации входящего потока.
На рис. 2 представлена диаграмма показывающая долю спама в общем потоке электронной почты.
300 250 200 150 100 50 0
Всего Легитимные «Спам» сообщений сообщения
Рис. 2. Соотношение полезных писем к спаму
Столь низкий процент полезной корреспонденции в общем трафике (соотношение полезных писем к спаму в среднем примерно 1:4) связан с неактивным документооборотом через электронную почту. Эти средние цифры, естественно, не совсем точно отражают картину в рамках отдельно взятых почтовых адресов, поскольку на некоторые «засвеченные» в Интернете адреса приходит большое количество спама, а на какие-то спам не приходит вообще.
В таблице представлены результаты исследования.
Эффективность фильтрации при использование предложенного метода
Всего спам-сообщений Отфильтровано спама Пропущено спама
218 (100 %) 172 (80 %) 46 (20 %)
Построенная модель контентной фильтрации позволяет отсеять спам с высокой точностью: на контрольной выборке результат оказался достоверным в 78 % случаев. При этом пропускается 20 % спам-сообщений. Число ложных срабатываний составило 1 % (3 сообщения из 45 легитимных), причем все они касались сгенерированных писем, которые зачастую сами пользователи расценивают как спам.
По результатам проведенного тестирования предлагаемого метода фильтрации входящего потока сообщений можно говорить о том, что в ходе эксперимента были получены результаты, подтверждающие целесообразность его использования.
263 218 —
45
ЛИТЕРАТУРА
[1] RFC 2076 (rfc2076) - Common internet Message Headers // internet FAQ Archives. URL: http:// www.faqs.org/rfcs/rfc2076.html (дата обращения: 19.05.2010).
[2] RFC1939 - Post Office Protocol - Version 3 // internet FAQ Archives. URL: http://www.faqs. org/rfcs/rfc1939.html (дата обращения:
20.05.2010).
[3] Андреев А. М. Автоматическая классификация текстовых документов с использованием ней-
росетевых алгоритмов и семантического анализа. Доступ из полнотекст. информ.-поиск. системы НПЦ «ИНТЕЛЕКТ ПЛЮС». ит_: http://www.inteltec.ru (дата обращения:
20.05.2010).
[4] Мироненко А. Н., Белим С. В. Актуальные проблемы безопасности информационных технологий : материалы III Междунар. науч.-практ. конф. (9-11 сент. 2009, г. Красноярск) / под общ. ред. О. Н. Жданова, В. В. Золотарева. Красноярск : Сиб. гос. аэрокосмич. ун-т., 2009. С. 83-86.