Способ формирования сигнатуры для обнаружения спама
METHOD FOR GENERATING SIGNATURE FOR SPAM DETECTION

Область техники
Изобретение относится к области информационной безопасности, а более конкретно к системам и способам создания сигнатур для борьбы со спамом.
Уровень техники
Реклама в Интернете является одним из самых дешевых способов рекламы. Спам-сообщения, как основной и наиболее массовый вид рекламы в современном мире, занимает от 70% общего объема почтового трафика.
Спам – массовая рассылка рекламы или иного вида информации лицам, не выражавшим желания их получать. К спаму относятся сообщения, передаваемые по электронной почте, протоколам мгновенных сообщений, в социальных сетях, блогах, сайтах знакомств, форумах, а также посредством SMS- и MMS-сообщений.
Ввиду постоянного роста объемов рассылки спама возникают проблемы технического, экономического и криминального характера. Нагрузка на аппаратуру и каналы передачи данных, затраты времени пользователей на обработку сообщений, изменение направленности сообщений в сторону мошенничества и воровства – эти и другие аспекты показывают острую необходимость непрерывной борьбы со спамом.
Существует много способов противодействия рассылкам спама. Одним из эффективных способов является использование обученных моделей машинного обучения для выявления электронных сообщений, содержащих спам.
Например, в публикации US 8180834 B2 описана система, в которой периодически осуществляют дополнительное обучение классификаторов, которые применяются для обнаружения спама. Дополнительное обучение может быть выполнено при обнаружении ошибок или по инициативе пользователя.
Указанное решение осуществляет классификацию электронных сообщений при помощи инструментов машинного обучения, но не позволяет эффективно решить задачу создания сигнатуры для обнаружения спама в наборах сообщений, отправленных по электронной почте.
Раскрытие изобретения
Изобретение относится к системам и способам создания сигнатур для борьбы со спамом.
Технический результат настоящего изобретения заключается в обеспечении информационной безопасности в условиях массовой рассылки электронных сообщений. Указанный технический результат достигается путем формирования сигнатуры для обнаружения спама на основании дерева решений и набора электронных сообщений
В одном из вариантов реализации предоставляется способ формирования сигнатуры для обнаружения спама, содержащий этапы, на которых: формируют набор электронных сообщений; вычисляют по меньшей мере один признак для обнаружения спама на основании сформированного набора электронных сообщений; формируют дерево решений для обнаружения спама с использованием всех вычисленных признаков; формируют сигнатуру для обнаружения спама на основании сформированного дерева решений и сформированного набора электронных сообщений.
В другом варианте реализации способа под признаком для обнаружения спама понимают признак, вычисляемый на основании значений атрибута электронного сообщения, характеризующие наличие спама.
Еще в одном варианте реализации способа под сигнатурой для обнаружения спама понимают перечень признаков для обнаружения спама и их значений, характерные для электронного сообщения, содержащего спам.
В другом варианте реализации способа набор электронных сообщений состоит из набора электронных сообщений для формирования дерева решений, который содержит не менее двух электронных сообщений, и проверочного набора электронных сообщений, который содержит не менее двух электронных сообщений.
В другом варианте реализации способа набор электронных сообщений для формирования дерева решений не содержит электронных сообщений из проверочного набора электронных сообщений.
Еще в одном варианте реализации способа выявляют значения атрибутов каждого электронного сообщения из набора электронных сообщений для формирования дерева решений.
В другом варианте реализации способа вычисляют признаки для обнаружения спама на основании выявленных значений атрибутов.
Еще в одном варианте реализации способа применяют сформированное дерево решений для обнаружения спама для анализа каждого электронного сообщения из проверочного набора сообщений.
В другом варианте реализации способа по результатам анализа выявляют перечень признаков для обнаружения спама, сработавших более одного раза.
Еще в одном варианте реализации способа формируют сигнатуру для обнаружения спама на основании выявленного перечня признаков для обнаружения спама.
В другом варианте реализации способа при отсутствии перечня признаков, сработавших более одного раза, выполняют переобучение сформированного дерева решений для обнаружения спама.
Краткое описание чертежей
Фиг. 1 отображает структуру дерева решений для обнаружения спама и сигнатуры для обнаружения спама.
Фиг. 2 иллюстрирует структурную схему системы формирования сигнатуры для обнаружения спама.
Фиг. 3 иллюстрирует алгоритм работы системы формирования сигнатуры для обнаружения спама.
Фиг. 4 представляет пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использованы при описании вариантов осуществления изобретения.
Электронная почта (electronic mail, e-mail) – набор услуг компьютерной сети по пересылке сообщений между ее пользователями. Является средством быстрой доставки писем, текстов программ, документов и другой подобной корреспонденции. При передаче сообщения по электронной почте, передающий и принимающий компьютеры не обязательно взаимодействуют друг с другом непосредственно (Дорот В.Л., Новиков Ф.А. Толковый словарь современной компьютерной лексики. - 3-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 608 с.: ил.).
Электронное письмо или сообщение – согласно RFC 5322 представляет собой последовательность символов. Сообщения, соответствующие данной спецификации, включают символы с десятичными кодами от 1 до 127, интерпретируемые в соответствии с кодировкой US-ASCII. Сообщение состоит из полей заголовков (совокупность этих полей называют разделом заголовков сообщения), за которыми может следовать основная часть сообщения. Раздел заголовков представляет собой последовательность символьных строк, синтаксис которых описан в данной спецификации. Тело сообщения представляет собой последовательность символов, которая следует после раздела заголовков и отделена от него пустой строкой (строкой, содержащей только CRLF). Далее и по тексту под электронным сообщением понимают электронное сообщение, переданное по электронной почте.
Атрибут электронного сообщения – необходимое, существенное, неотъемлемое свойство электронного сообщения.
Признак для обнаружения спама - признак, вычисляемый на основании значения атрибута электронного сообщения, характеризующий наличие спама и применяемый при использовании технологий машинного обучения.
Поток сообщений – совокупность электронных сообщений, передаваемых по электронной почте, которые получает один или несколько пользователей. Набор электронных сообщений –- фиксированное количество сообщений, отобранных из потока сообщений для выполнения проверки наличия спама.
Классическая вирусная сигнатура - это непрерывная последовательность байтов, характерная для того или иного вредоносного приложения. Сигнатура для обнаружения спама - перечень признаков для обнаружения спама и их конкретных значений, характерных для того или иного электронного сообщения, содержащего спам.
Дерево решений – метод анализа данных для построения классификационных и регрессионных моделей, является как методом извлечения, так и одновременно методом представления данных. Дерево решений является способом представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение.
Создатель массовой рассылки электронных сообщений, содержащих спам, обычно использует шаблон для генерации текста и содержимого упомянутых электронных сообщений. Для усложнения обнаружения спама, он также может использовать множество инструментов, например методы обфускации, анонимизации и т.д. Для выявления шаблонов и схожих алгоритмов создания сообщений, содержащих спам, может быть выполнено формирование деревьев решений. Фиг. 1 иллюстрирует структуру дерева решений для обнаружения спама и сигнатуры для обнаружения спама. Дерево решений 110 используют для классификации групп электронных сообщений. В качестве узлов дерева используют вычисляемые признаки. В качестве переходов между узлами могут быть использованы конкретные значения или диапазоны значений признаков. На основе нескольких узлов и переходов может быть сформирована сигнатура 120.
Формирование сигнатуры для обнаружения спама выполняют с помощью системы формирования сигнатуры для обнаружения спама. Фиг. 2 отображает структурную схему системы формирования сигнатуры для обнаружения спама, которая включает в себя набор электронных сообщений 210, средство распознавания 220, средство вычисления 230, средство формирования 240.
Средство распознавания 220 предназначено для формирования набора электронных сообщений и передачи сформированного набора электронных сообщений средству вычисления 230. Набор электронных сообщений 210 состоит из набора электронных сообщений для формирования дерева решений и проверочного набора электронных сообщений. Набор электронных сообщений для формирования дерева решений содержит не менее двух электронных сообщений, упомянутый набор используют на этапе построения или изменения дерева решений. Проверочный набор электронных сообщений содержит не менее двух электронных сообщений, упомянутый набор используют на этапе построения сигнатур для обнаружения спама. При этом набор электронных сообщений для формирования дерева решений не содержит электронных сообщений из проверочного набора электронных сообщений.
В одном из вариантов реализации формирование набора электронных сообщений 210 выполняют путем добавления сообщений, полученных разными пользователями за заданный период времени. В другом варианте реализации формирование набора электронных сообщений 210 выполняют путем добавления сообщений, полученных одним пользователем за определенный период времени. Еще в одном варианте реализации формирование набора электронных сообщений 210 выполняют путем добавления фиксированного количества сообщений. Оптимальный размер набора электронных сообщений 210 зависит от частоты получения сообщений. Размер определяют эмпирически путем постепенного увеличения, например, интервала времени, за который формируется набор электронных сообщений 210.
Средство вычисления 230 предназначено для вычисления признаков для обнаружения спама на основании сформированного набора электронных сообщений 210, формирования дерева решений для обнаружения спама с использованием вычисленных признаков, передачи данных о сформированном дереве решений для обнаружения спама средству формирования 240.
В одном из вариантов реализации признаки для обнаружения спама вычисляют на основании атрибутов электронного сообщения. Определение атрибутов электронного сообщения выполняют путем анализа процесса передачи и получения сообщения. Примерами атрибутов электронного сообщения являются: IP-адрес отправителя, размер электронного сообщения, язык текста электронного сообщения, количество символов в заголовке электронного сообщения, размер электронного сообщения и т.д.
Примерами вычисленных признаков для обнаружения спама являются следующие признаки: наличие динамической PTR-записи для IP-адреса (от англ. pointer – указатель) связывает IP-адрес хоста с его каноническим именем); контрольная сумма от HTML-верстки без вариативных атрибутов; msgid - уникальный номер сообщения; msgid_type - эвристически определенный через внешний вид заголовка; msgid-агент, отправивший сообщение; контрольная сумма от последовательности MIME-заголовков; тип содержимого письма и т.д.
i
Каждому из вычисленных признаков эмпирически задают вес w, который был рассчитан на основе заранее заданных статистических данных. Значение веса в той или иной степени характеризует наличие спама. После вычисления признаков выполняют формирование дерева решений для обнаружения спама. Например, началом дерева может быть признак mailer_name (приложение, с помощью которого было отправлено электронное сообщение), которое может принимать 3 значения. В случае если принято значение 1, то происходит переход к признаку max_url_length (максимальное значение длины URL в письме), если принято значение 2, то происходит переход к признаку msgid_type и т.д.
Средство формирования 240 предназначено для формирования сигнатуры для обнаружения спама на основании сформированного дерева решений и сформированного набора электронных сообщений.
сум
i
Сформированное дерево решений используют для анализа электронных сообщений проверочного набора электронных сообщений из набора электронных сообщений 210. В ходе анализа определяют атрибуты сообщения, вычисляют признаки для обнаружения спама и применяют дерево решений для обнаружения спама. После применения дерева электронное сообщение попадает в группу, которая имеет суммарный вес, вычисляемый в соответствии с весами вычисленных признаков по формуле W=Σw. Эмпирическим способом определяют предельное значение суммарного веса групп. Группы электронных сообщений, у которых суммарный вес выше предельного значения, считают содержащими спам, а у которых ниже - не содержащими спам. Формирование сигнатуры для обнаружения спама выполняют путем выявления перечня признаков для обнаружения спама, сработавших более одного раза в группе электронных сообщений, содержащих спам.
В случае если не было выявлено перечня признаков для обнаружения спама, не сработавших более одного раза ни в одной из групп, запускают переобучение сформированного дерева решений для обнаружения спама. В ходе переобучения дерево решений модифицируют с использованием технологий машинного обучения, например градиентного бустинга (gradient boosting), где формируют альтернативные варианты дерева, их глубину и ширину, и вычисляют показатели эффективности, достоверности, ложных срабатываний.
Использование сигнатур позволяет значительно быстрее обрабатывать большое количество электронных сообщений, чем выполнение анализа при помощи всего дерева решений. Сигнатуру включают в набор обновлений для спам-фильтра, с помощью которого впоследствии выполняют проверку наличия спама в целях обеспечения информационной безопасности процесса передачи электронных сообщений по электронной почте.
Например, пользователь получил четыре сообщения по электронной почте. Первое и второе сообщения попадают в набор электронных сообщений для формирования дерева решений. Выявленные атрибуты первого сообщения:
• текст сообщения: «ПОКУПАЙТЕ ЦВЕТЫ», вместо пробелов использованы случайные символы белого цвета;
• IP-адрес: 191.157.1.1;
• размер сообщения: 1 Кб;
• приложен файл: 200 Кб, 32.jpg.
Выявленные атрибуты второго сообщения:
• текст сообщения: «ПОКУПАЙТЕ ЦВЕТЫ», вместо пробелов использованы случайные символы белого цвета;
• IP-адрес: 181.147.2.2;
• размер сообщения: 1,5 Кб;
• приложен файл: 300 Кб, 32.bmp.
Вычисленные признаки от атрибутов первого сообщения:
- Признак 1 (неизвестный IP-адрес) - есть, вес 0,05;
- Признак 2 (размер сообщения <10 кБ) - есть, вес 0,1;
- Признак 3 (скрытый текст) - есть, вес 0,3;
- Признак 4 (файл графического формата) - есть, вес 0,1.
Вычисленные признаки от атрибутов второго сообщения:
- Признак 1 (неизвестный IP-адрес) - есть, вес 0,05;
- Признак 2 (размер сообщения <10 кБ) - есть, вес 0,1;
- Признак 3 (скрытый текст) - есть, вес 0,3;
- Признак 4 (файл графического формата) - есть, вес 0,1.
Одним из вариантов дерева решений для обнаружения спама, сформированного на основе набора электронных сообщений для формирования дерева решений, будет следующее дерево решений: признак 1 с ветвями «есть» или «нет», если признак 1 имеет значение «есть», то происходит переход к признаку 2 с ветвями «есть» или «нет», если признак 2 имеет значение «есть», то происходит переход к признаку 4 с ветвями «есть» или «нет», если признак 4 имеет значение «есть», то происходит переход к признаку 3 с ветвями «есть» или «нет», в случае если признак 3 имеет значение «есть», то электронное сообщение попадет в группу 1, если признак 3 имеет значение «нет», то электронное сообщение попадет в группу 2, и т.д. Суммарный вес группы 1 будет 0,55. Суммарный вес группы 2 будет 0,25.
Для применения сформированного дерева решений используют проверочный набор электронных сообщений. Третье и четвертое электронное сообщения попадают в проверочный набор электронных сообщений. Выявленные атрибуты третьего сообщения:
• текст сообщения: «ПОКУПАЙТЕ ЦВЕТЫ», вместо пробелов использованы случайные символы белого цвета;
• IP-адрес: 193.153.1.1;
• размер сообщения: 1,7 Кб;
• приложен файл: 250 Кб, 32.png.
Выявленные атрибуты четвертого сообщения:
• текст сообщения: «С Днем Рождения!!!», нет символов белого цвета;
• IP-адрес: 192.161.7.2;
• размер сообщения: 0,5 Кб;
• приложен файл: 250 Кб, открытка.jpg.
Вычисленные признаки от атрибутов третьего сообщения:
- Признак 1 (неизвестный IP-адрес) - есть;
- Признак 2 (размер сообщения <10 кБ) - есть;
- Признак 3 (скрытый текст) - есть;
- Признак 4 (файл графического формата) - есть.
Вычисленные признаки от атрибутов четвертого сообщения:
- Признак 1 (неизвестный IP-адрес) - есть;
- Признак 2 (размер сообщения <10 кБ) - есть;
- Признак 3 (скрытый текст) - нет;
- Признак 4 (файл графического формата) - есть.
В результате применения сформированного дерева решений третье сообщение попадет в группу 1, четвертое сообщение - в группу 2. Задано предельное значение суммарного веса 0,5. Таким образом, третье сообщение является электронным сообщением, содержащим спам. Выявляют перечень признаков, сработавших более одного раза, весом больше 0.08. Формируют сигнатуру, где перечень признаков состоит из признака 2, связанного с признаком 4 через значение «есть», признака 4, связанного с признаком 3 значением «есть», и признака 3, который имеет значение «есть».
Фиг. 3 иллюстрирует алгоритм формирования сигнатуры для обнаружения спама. На этапе 311 при помощи средства распознавания 220 осуществляют формирование набора электронных сообщений и передают сформированный набор электронных сообщений средству вычисления 230. На этапе 312 при помощи средства вычисления 230 осуществляют вычисление признаков для обнаружения спама на основании сформированного набора электронных сообщений. На этапе 313 при помощи средства вычисления 230 осуществляют формирование дерева решений для обнаружения спама с использованием вычисленных признаков и передают данные о сформированном дереве решений для обнаружения спама средству формирования 240. На этапе 314 при помощи средства формирования 240 выполняют формирование сигнатуры для обнаружения спама на основании сформированного дерева решений и сформированного набора электронных сообщений.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.