[go: up one dir, main page]

RU2828611C1 - System and method of classifying electronic mail - Google Patents

System and method of classifying electronic mail Download PDF

Info

Publication number
RU2828611C1
RU2828611C1 RU2024108073A RU2024108073A RU2828611C1 RU 2828611 C1 RU2828611 C1 RU 2828611C1 RU 2024108073 A RU2024108073 A RU 2024108073A RU 2024108073 A RU2024108073 A RU 2024108073A RU 2828611 C1 RU2828611 C1 RU 2828611C1
Authority
RU
Russia
Prior art keywords
letter
spam
emails
cluster
letters
Prior art date
Application number
RU2024108073A
Other languages
Russian (ru)
Inventor
Янина Эдвардовна Баландюк-Опалинская
Андрей Евгеньевич Ковтун
Ирина Владимировна Шимко
Original Assignee
Акционерное общество "Лаборатория Касперского"
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Application granted granted Critical
Publication of RU2828611C1 publication Critical patent/RU2828611C1/en

Links

Abstract

FIELD: data processing.
SUBSTANCE: invention relates to systems and methods for detecting spam emails based on analysis of statistical data on received emails from clients. Result is achieved due to stages, at which: obtaining statistical data of messages of clients and result of classification of messages on the side of clients; excluding from further analysis data of messages, which relate to at least one of: messages, which are automatic replies; messages relating to internal correspondence of the organization; generating features based on statistical data for non-excluded messages; combining features into a single vector for each message; clustering of messages is carried out using a machine learning algorithm based on vectors of signs of messages; messages in each cluster are classified according to the following rules: if the cluster contains more than a predetermined threshold of messages classified on the client side as messages containing spam, classifying all messages in the cluster as messages containing spam; if the cluster contains not more than a predetermined threshold of messages classified as spam on the client side, the messages which were not classified as spam on the client side are classified using a machine learning model.
EFFECT: high accuracy of detecting spam emails.
17 cl, 4 dwg

Description

Область техникиField of technology

Настоящее изобретение относится к области информационных технологий, а более конкретно к системам и способам обнаружения спам-писем на основании анализа статистических данных о получаемых электронных письмах клиентов.The present invention relates to the field of information technology, and more specifically to systems and methods for detecting spam emails based on an analysis of statistical data on emails received from customers.

Уровень техникиState of the art

Спам-разновидность почтовой рассылки с целью рекламы (часто нежелательной) того или иного товара или услуги, а также с целью совершения мошеннических действий. Для рассылки спама в настоящий момент активно используются всевозможные технические средства, в том числе прокси-серверы, бесплатные серверы электронной почты, допускающие автоматизацию отправки писем по электронной почте, и бот-сети. К спаму, кроме сообщений, передаваемых по электронной почте, относятся также и сообщения, передаваемые с помощью протоколов мгновенных сообщений в социальных сетях, блогах, сайтах знакомств, форумах, а также SMS и MMS-сообщения.Spam is a type of mailing with the purpose of advertising (often unwanted) a particular product or service, as well as with the purpose of committing fraudulent actions. All kinds of technical means are currently actively used to send spam, including proxy servers, free email servers that allow automated sending of emails, and botnets. In addition to messages sent by email, spam also includes messages sent using instant messaging protocols in social networks, blogs, dating sites, forums, as well as SMS and MMS messages.

Электронные письма, содержащие спам, являются серьезной проблемой в современном мире, так как уже достигают 70-90% от общего объема почтового трафика. Такое количество спама, отправленного по компьютерным сетям, вызывает существенные неудобства для пользователей электронной почты. В частности, спам вызывает ухудшение пропускной способности сетей, трату ресурсов серверов электронной почты и увеличение времени обработки электронных писем пользователями. Таким образом, необходимо непрерывно бороться со спамом.Spam emails are a serious problem in the modern world, as they already account for 70-90% of the total volume of email traffic. Such a quantity of spam sent over computer networks causes significant inconvenience to email users. In particular, spam causes a deterioration in network capacity, waste of email server resources, and an increase in the time it takes for users to process emails. Thus, it is necessary to continuously combat spam.

Для борьбы со спамом были разработаны различные механизмы, такие как черные списки отправителей, серые списки, требующие повторного обращения почтового сервера для отправки, методы контекстной фильтрации спама. Например, в публикации RU 2541123 C1 описан способ анализа сообщений, который проводится с помощью белых и черных списков с целью выявления легитимных и нежелательных сообщений. Фильтрация спама, как правило, сосредоточена на анализе содержимого сообщения электронного письма, что может потребовать, во-первых, значительного времени анализа и, во-вторых, открытости анализируемой информации, что недопустимо в случае передачи информации без согласия пользователей. Возможны и случаи, когда письма могут содержать конфиденциальную информацию. Методы, основанные на фильтрации, как правило, требуют точного совпадения, чтобы обнаруживать и отличать письма, содержащие спам, от легитимных писем. Кроме того, массовая рассылка спама еще больше усугубляет проблему фильтрации, так как чем больше объем писем, которые необходимо отфильтровать, тем больше вычислительных ресурсов необходимо выделить для фильтрации.Various mechanisms have been developed to combat spam, such as blacklists of senders, greylists that require repeated mail server requests for sending, and contextual spam filtering methods. For example, in publication RU 2541123 C1 describes a method of message analysis that is carried out using whitelists and blacklists to identify legitimate and unwanted messages. Spam filtering typically focuses on analyzing the content of an email message, which may require, firstly, significant analysis time and, secondly, openness of the analyzed information, which is unacceptable in the case of transmitting information without the consent of users. There are also cases where emails may contain confidential information. Filtering-based methods typically require an exact match to detect and distinguish emails containing spam from legitimate emails. In addition, mass spam distribution further exacerbates the filtering problem, since the greater the volume of emails that need to be filtered, the more computing resources must be allocated for filtering.

Повысить эффективность фильтрации спама можно, избегая обширного анализа содержимого каждого сообщения электронной почты или введения предварительного анализа. Однако современные технологии защиты от спама не обеспечивают эффективного механизма быстрого и статистически точного анализа заголовков писем электронной почты и символов, из которых состоят заголовки. Таким образом, необходимо иметь эффективный механизм для проведения быстрого анализа заголовков писем электронной почты либо наряду со стандартными механизмами фильтрации электронной почты, либо в качестве предварительного анализа для полного анализа содержимого во время фильтрации, либо даже в качестве автономного метода анализа краткого содержания некоторых новых форм писем со спамом.It is possible to improve the effectiveness of spam filtering by avoiding extensive content analysis of each email message or by introducing pre-analysis. However, current anti-spam technologies do not provide an effective mechanism for rapid and statistically accurate analysis of email headers and the characters that make up the headers. Therefore, it is necessary to have an effective mechanism for performing rapid analysis of email headers, either alongside standard email filtering mechanisms, or as a pre-analysis for full content analysis during filtering, or even as a stand-alone method for analyzing the summary of some new forms of spam messages.

Еще одна проблема современных средств борьбы со спамом связана с тем, что существует вероятность возникновения ошибки первого рода, т. е. ложного срабатывания. Ложным срабатыванием в данном случае является ситуация, когда легитимное письмо стало определяться как спам. В этом случае в зависимости от настройки работы средств защиты легитимное письмо, определенное как спам, помещается в карантин или даже удаляется в автоматическом режиме без уведомления отправителя или получателя, что приводит к потере легитимных писем.Another problem with modern anti-spam tools is that there is a possibility of a type I error, i.e. a false positive. A false positive in this case is a situation where a legitimate email is identified as spam. In this case, depending on the settings of the protection tools, a legitimate email identified as spam is quarantined or even deleted automatically without notifying the sender or recipient, which leads to the loss of legitimate emails.

Кроме того, отправители писем, содержащих спам, также становятся все более изобретательными и стараются учитывать возможности решений для фильтрации спама. Поэтому в ряде случаев, чтобы избежать автоматического обнаружения, маскируют спам, добавляя случайный текст в содержимое электронных писем или данные, подобные содержащимся в легитимных письмах.In addition, senders of spam emails are also becoming increasingly inventive and trying to take into account the capabilities of spam filtering solutions. Therefore, in some cases, in order to avoid automatic detection, they disguise spam by adding random text to the content of emails or data similar to that contained in legitimate emails.

Поэтому важно использовать анализ статистических данных получаемых писем клиентов, чтобы фактически направить приемы сокрытия спама отправителями спама в сторону обнаружения спама. В то же время, чтобы учесть интересы пользователей по конфиденциальности сообщений/информации, содержащейся в письмах, необходимо выявлять письма, содержащие спам, без анализа текста, содержащегося в теле писем.Therefore, it is important to use statistical data analysis of received customer emails to actually direct spam concealment techniques by spam senders towards spam detection. At the same time, in order to take into account users' interests in the privacy of messages/information contained in emails, it is necessary to identify emails containing spam without analyzing the text contained in the body of the emails.

Поэтому существует потребность в создании решения, которое устраняло бы указанные недостатки и позволяло бы обеспечить более точное обнаружение спама. Настоящее изобретение позволяет решить указанные недостатки и задачи путем кластеризации электронных писем и последующей классификации писем кластеров.Therefore, there is a need to create a solution that would eliminate the above-mentioned shortcomings and would allow for more accurate spam detection. The present invention allows for solving the above-mentioned shortcomings and problems by clustering emails and then classifying the cluster emails.

Раскрытие сущности изобретенияDisclosure of the essence of the invention

Задача предлагаемого решения заключается в классификации электронных писем на основании статистических данных для выявления электронных писем, содержащих спам.The objective of the proposed solution is to classify emails based on statistical data to identify emails that contain spam.

Технический результат настоящего изобретения заключается в повышении точности обнаружения электронных писем, содержащих спам, и достигается с помощью предлагаемого решения, предназначенного для классификации электронных писем на основании статистических данных электронных писем.The technical result of the present invention consists in increasing the accuracy of detecting emails containing spam, and is achieved using the proposed solution designed to classify emails based on statistical data of emails.

В качестве одного варианта исполнения настоящего изобретения предлагается способ классификации писем для обнаружения спама на основании статистических данных писем, включающий шаги, согласно которым: получают статистические данные писем клиентов и результат классификации писем на стороне клиентов; исключают из дальнейшего анализа данные писем, которые относятся по меньшей мере к одному из: письмам, являющимся автоматическими ответами; письмам, относящимся к внутренней переписке организации; формируют признаки на основании статистических данных для не исключенных писем; объединяют признаки в единый вектор для каждого письма; проводят кластеризацию писем с помощью алгоритма машинного обучения на основании векторов признаков писем; классифицируют письма в каждом кластере согласно следующим правилам: если кластер содержит больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют все письма в кластере как письма, содержащие спам; если кластер содержит не больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют письма, которые не были классифицированы на стороне клиента как письма, содержащие спам, с помощью модели машинного обучения.As one embodiment of the present invention, a method is proposed for classifying emails for detecting spam based on statistical data of the emails, comprising the steps of: obtaining statistical data of client emails and a result of email classification on the client side; excluding from further analysis email data that relate to at least one of: emails that are automatic responses; emails that relate to the internal correspondence of the organization; generating features based on statistical data for the non-excluded emails; combining the features into a single vector for each email; clustering the emails using a machine learning algorithm based on the feature vectors of the emails; classifying the emails in each cluster according to the following rules: if the cluster contains more than a predetermined threshold of emails classified on the client side as containing spam, classifying all the emails in the cluster as containing spam; if the cluster contains no more than a predetermined threshold of emails classified on the client side as containing spam, classifying the emails that were not classified on the client side as containing spam using the machine learning model.

В другом варианте реализации способа статистические данные писем содержат по меньшей мере одно из: данные о сработавших для письма правилах; категория письма; последовательностью форматов частей письма; тип вложений письма; размер вложений в письме; тип разделений между частями сообщения; формат письма; домены из ссылок письма; последовательность технических заголовков в письме; домен отправителя из заголовка «From»; контрольная сумма имени пользователя из заголовка «From»; ip-адрес отправителя письма; размер тела письма; домен из «message-id»; тип заголовка «message-id»; домен отправителя из SMTP-сессии; ссылки из письма; количество ссылок в письме; заголовок «User-Agent»; заголовок «X-Mailer».In another embodiment of the method, the statistical data of the letters contain at least one of: data on the rules that have been triggered for the letter; the letter category; the sequence of the letter part formats; the type of letter attachments; the size of the attachments in the letter; the type of divisions between the parts of the message; the letter format; domains from the links in the letter; the sequence of technical headers in the letter; the sender's domain from the "From" header; the checksum of the user name from the "From" header; the IP address of the sender of the letter; the size of the letter body; the domain from "message-id"; the "message-id" header type; the sender's domain from the SMTP session; links from the letter; the number of links in the letter; the "User-Agent" header; the "X-Mailer" header.

В еще одном варианте реализации способа размер вложений письма представлен в виде вектора размеров вложений.In another embodiment of the method, the size of the letter attachments is represented as a vector of attachment sizes.

В другом варианте реализации способа размер вложений письма представлен в виде суммы размеров всех вложений.In another embodiment of the method, the size of the letter attachments is presented as the sum of the sizes of all attachments.

В еще одном варианте реализации способа все статистические данные разделены на два типа: числовые и категориальные.In another embodiment of the method, all statistical data are divided into two types: numerical and categorical.

В другом варианте реализации способа формируют каждый признак с помощью одного из следующих методов: OneHotEncoding; min-max масштабирование; хеширование с последующим применением min-max масштабирования; CountVectorizer.In another embodiment of the method, each feature is formed using one of the following methods: OneHotEncoding; min-max scaling; hashing followed by the application of min-max scaling; CountVectorizer.

В еще одном варианте реализации способа для хеширования используют метод MurmurHash3.In another embodiment of the method, the MurmurHash3 method is used for hashing.

В другом варианте реализации способа в качестве алгоритма машинного обучения для кластеризации писем используют один из следующих методов: k-средних; k-медиан; DBSCAN.In another embodiment of the method, one of the following methods is used as a machine learning algorithm for clustering letters: k-means; k-medians; DBSCAN.

В еще одном варианте реализации способа кластеризация писем производится каждый раз после окончания заданного промежутка времени.In another embodiment of the method, clustering of letters is performed each time after the end of a specified period of time.

В другом варианте реализации способа на вход модели машинного обучения для классификации письма передают два вектора признаков.In another embodiment of the method, two feature vectors are passed to the input of the machine learning model for classifying writing.

В еще одном варианте реализации способа в качестве двух векторов признаков выступают: вектор признаков письма в кластере (первый вектор), которое было классифицировано на стороне клиента как письмо, не содержащее спам; вектор признаков письма, которое было классифицировано на стороне клиента как письмо, содержащее спам, причем косинусное расстояние до первого вектора должно быть минимальным.In another embodiment of the method, the two feature vectors are: a feature vector of a letter in a cluster (the first vector), which was classified on the client side as a letter that does not contain spam; a feature vector of a letter that was classified on the client side as a letter that contains spam, and the cosine distance to the first vector must be minimal.

В другом варианте реализации способа в качестве двух векторов признаков выступают вектор признаков письма в кластере, которое было классифицировано на стороне клиента как письмо, не содержащее спам, и вектор признаков центроида кластера.In another embodiment of the method, the two feature vectors are the feature vector of a letter in a cluster that was classified on the client side as a letter that does not contain spam, and the feature vector of the cluster centroid.

В качестве другого варианта исполнения настоящего изобретения предлагается система классификации писем электронной почты на основании статистических данных писем состоящая по меньшей мере из одной компьютерной системы и содержащая: средство обработки данных, взаимодействующее с устройством сбора и хранения данных и средством кластеризации, и предназначенное для: получения статистических данных писем и результата классификации писем на стороне клиентов от устройства сбора и хранения данных; фильтрации писем на основании статистических данных писем; формирования признаков писем на основании статистических данных писем; средство кластеризации, взаимодействующее со средством обработки данных и средством анализа кластеров, и предназначенное для: кластеризации писем на основании сформированных признаков писем, полученных от средства обработки данных; передачи кластеров писем в средство анализа кластеров; средство анализа кластеров, предназначенное для классификации писем в каждом полученном кластере писем согласно следующим правилам: если кластер содержит больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют все письма в кластере как письма, содержащие спам; если кластер содержит не больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют письма, которые не были классифицированы на стороне клиента как письма, содержащие спам, с помощью модели машинного обучения.As another embodiment of the present invention, a system for classifying email messages based on statistical data of messages is proposed, consisting of at least one computer system and containing: a data processing means interacting with a data collection and storage device and a clustering means, and intended for: receiving statistical data of messages and a result of classifying messages on the client side from the data collection and storage device; filtering messages based on statistical data of messages; generating message attributes based on statistical data of messages; a clustering means interacting with the data processing means and the cluster analysis means, and intended for: clustering messages based on the generated message attributes received from the data processing means; transmitting message clusters to the cluster analysis means; a cluster analysis means intended for classifying messages in each received cluster of messages according to the following rules: if the cluster contains more than a predetermined threshold of messages classified on the client side as messages containing spam, classifying all messages in the cluster as messages containing spam; If the cluster contains no more than a pre-defined threshold of emails classified as spam on the client side, classify the emails that were not classified as spam on the client side using a machine learning model.

В другом варианте реализации средство обработки данных формирует каждый признак с помощью одного из следующих методов: OneHotEncoding; min-max масштабирование; хеширование с последующим применением min-max масштабирования; CountVectorizer.In another embodiment, the data processing engine generates each feature using one of the following methods: OneHotEncoding; min-max scaling; hashing followed by min-max scaling; CountVectorizer.

В еще одном варианте реализации в качестве алгоритма машинного обучения для кластеризации средство кластеризации реализует один из следующих методов: k-средних; k-медиан; DBSCAN.In another embodiment, as a machine learning algorithm for clustering, the clustering engine implements one of the following methods: k-means; k-medians; DBSCAN.

В другом варианте реализации средство кластеризации производит кластеризацию писем каждый раз после окончания заданного промежутка времени.In another embodiment, the clustering tool clusters emails each time after a specified period of time has elapsed.

Краткое описание чертежейBrief description of the drawings

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objects, features and advantages of the present invention will be apparent from reading the following description of the embodiment of the invention with reference to the accompanying drawings, in which:

На Фиг. 1 приведена схема системы классификации писем.Fig. 1 shows a diagram of the letter classification system.

На Фиг. 2 представлена схема зависимости выбора варианта классификации писем в кластере.Fig. 2 shows a diagram of the dependence of the choice of the letter classification option in the cluster.

На Фиг. 3 приведен способ классификации писем.Fig. 3 shows the method of classifying letters.

Фиг. 4 иллюстрирует пример компьютерной системы, пригодной для реализации не имеющих ограничительного характера вариантов осуществления настоящего изобретения.Fig. 4 illustrates an example of a computer system suitable for implementing non-limiting embodiments of the present invention.

Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to a specific embodiment. On the contrary, the purpose of the description is to cover all changes, modifications, included within the scope of the invention, as defined in the appended claims.

Осуществление изобретенияImplementation of the invention

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.The objects and features of the present invention, the methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The description provided is intended to help a person skilled in the art to fully understand the invention, which is defined only within the scope of the appended claims.

Электронное письмо (далее также - письмо) имеет определенную структуру. Поэтому для написания письма используются специальные программы, поддерживающие структуру электронной почты. Структура письма состоит из двух частей: заголовка (англ. header) и тела (англ. body) письма. Заголовок, в свою очередь, содержит ряд полей (англ. field), предназначенных для заполнения, при этом каждое поле определяется своим именем (заголовок поля) и значением. Под значением поля понимается какой-то вид информации. Например, для поля, которое предназначено для указания отправителя письма, в качестве имени (заголовка поля) служит «from», а значение будет иметь вид адреса электронной почты отправителя, например, username@kaspersky.com. Примерами других полей заголовка письма являются:An email (hereinafter also referred to as a letter) has a certain structure. Therefore, special programs that support the email structure are used to write a letter. The structure of a letter consists of two parts: the header and the body of the letter. The header, in turn, contains a number of fields (fields) intended for filling, and each field is defined by its name (field header) and value. The field value is understood as some type of information. For example, for a field that is intended to indicate the sender of the letter, the name (field header) is "from", and the value will be in the form of the sender's email address, for example, username@kaspersky.com. Examples of other fields in the email header are:

«Sender» - отправитель письма, обычно аналогично полю «From»;"Sender" - the sender of the letter, usually similar to the "From" field;

«То» (Кому) - имя и электронный адрес получателя. Обязательное для заполнения поле;"To" - the recipient's name and email address. This is a required field;

«Subject» (Тема) - тема письма; является необязательным, но желательным для заполнения полем;"Subject" - the subject of the letter; is an optional but desirable field to fill in;

«Сс» (Копия, от англ. «CarbonCopy») - адреса других абонентов, получающих копии сообщения;"CC" (Copy, from the English "CarbonCopy") - addresses of other subscribers receiving copies of the message;

«Date» - дата и время отправления сообщения;"Date" - date and time of sending the message;

«Reply-to» - электронные адреса, на которые отправляется ответ (они могут отличаться от адреса отправителя);"Reply-to" - email addresses to which the response is sent (they may differ from the sender's address);

«Received» - различные идентификаторы интернет-серверов, пересылавших сообщение от отправителя к получателю;"Received" - various identifiers of the Internet servers that forwarded the message from the sender to the recipient;

«Content-type» - формат составления передаваемого сообщения и кодировка, с использованием которой создано письмо;"Content-type" - the format of the message being sent and the encoding used to create the letter;

«Content-Transfer-Encoding» - способ передачи данных (например, 7-ми, 8-ми битовое сообщение и др.);"Content-Transfer-Encoding" - a method of data transfer (for example, 7-bit, 8-bit message, etc.);

«Message-ID» - уникальный идентификатор сообщения;"Message-ID" - unique message identifier;

«Х-mailer» - программа передачи сообщений по электронной почте."X-mailer" is a program for sending messages via e-mail.

На Фиг. 1 приведена схема системы классификации писем (далее - система) 100. Стоит отметить, что система 100 приведена лишь для демонстрации по меньшей мере одного варианта реализации настоящего изобретения. Возможны и другие варианты реализации, и если в некоторых случаях они не представлены (т.е. примеры вариантов реализации отсутствуют), это не означает, что они невозможны и/или что описание содержит единственный вариант реализации того или иного элемента настоящего изобретения. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой вариант упрощенной реализации настоящего изобретения, и что такие варианты представлены, чтобы способствовать лучшему ее пониманию. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящего изобретения могут быть значительно сложнее.Fig. 1 shows a diagram of a letter classification system (hereinafter referred to as the system) 100. It should be noted that the system 100 is shown only to demonstrate at least one embodiment of the present invention. Other embodiments are possible, and if in some cases they are not shown (i.e., examples of embodiments are missing), this does not mean that they are impossible and/or that the description contains the only embodiment of one or another element of the present invention. In addition, it should be understood that the system 100 in some cases may represent a simplified embodiment of the present invention, and that such embodiments are shown to facilitate a better understanding thereof. Those skilled in the art should understand that other embodiments of the present invention may be significantly more complex.

В общем случае система 100 содержит средство обработки данных 110, средство кластеризации 120 и средство анализа кластеров 130. Система 100 обнаруживает письма, содержащие спам, на основании обработки и анализа статистических данных писем 165, получаемых от устройства сбора и хранения данных 160. Стоит отметить, что в одном из вариантов осуществления система 100 может быть реализована при помощи компьютерной системы (устройства), представленной на Фиг. 4.In general, the system 100 comprises a data processing means 110, a clustering means 120 and a cluster analysis means 130. The system 100 detects spam emails based on the processing and analysis of statistical data of emails 165 received from the data collection and storage device 160. It is worth noting that in one embodiment, the system 100 can be implemented using the computer system (device) shown in Fig. 4.

Устройство сбора и хранения данных 160 в одном из вариантов реализации представляет собой «облачный» сервер, который собирает и хранит статистические данные писем 165 клиентов 170A, 170B…170N (далее - клиентов 170) и результат классификации писем на стороне клиентов 170. Под «облачным» сервером, например, понимается техническое средство, содержащее систему Kaspersky Security Network (KSN) компании AO «Лаборатория Касперского». Под клиентами 170 понимаются по крайней мере почтовые клиенты (например, Microsoft Outlook, Google Mail и другие) пользователей, установленные на компьютерах пользователей, или почтовые серверы. Каждый клиент 170 содержит агент (не показан на Фиг. 1), предназначенный для классификации писем каждого клиента 170 на основании писем каждого клиента 170, применения к письмам набора правил (например, в заголовке «From» используются символы разных алфавитов), а также обезличивания информации писем каждого клиента 170.The data collection and storage device 160 in one embodiment is a "cloud" server that collects and stores statistical data of emails 165 of clients 170A, 170B...170N (hereinafter referred to as clients 170) and the result of email classification on the side of clients 170. For example, a "cloud" server is understood to be a technical means containing the Kaspersky Security Network (KSN) system of Kaspersky Lab. Clients 170 are understood to be at least email clients (for example, Microsoft Outlook, Google Mail, and others) of users installed on users' computers, or email servers. Each client 170 contains an agent (not shown in Fig. 1) designed to classify emails of each client 170 based on the emails of each client 170, apply a set of rules to the emails (for example, characters of different alphabets are used in the "From" header), and also depersonalize information of emails of each client 170.

Агент обезличивает следующие данные: сведения из тела письма, например, текстовые сообщения пользователей; сведения из заголовка письма, например, электронный адрес. Под обезличиванием понимается преобразование данных, например, с помощью хеш-функций. Агент каждого клиента 170 передает в устройство 160 обезличенные статистические данные писем 165 каждого клиента 170 и результат классификации на стороне каждого клиента 170.The agent anonymizes the following data: information from the body of the letter, for example, text messages from users; information from the header of the letter, for example, the email address. Anonymization means data transformation, for example, using hash functions. The agent of each client 170 transmits to the device 160 anonymized statistical data of the letters 165 of each client 170 and the result of classification on the side of each client 170.

Устройство сбора и хранения данных 160 передает результат классификации писем на стороне клиентов 170 и статистические данные писем 165 клиентов 170 в систему 100, а именно в средство обработки данных 110. Статистические данные писем 165 клиентов 170 по меньшей мере содержат одно из:The data collection and storage device 160 transmits the result of the classification of letters on the client side 170 and the statistical data of the letters 165 of the clients 170 to the system 100, namely to the data processing means 110. The statistical data of the letters 165 of the clients 170 at least contain one of:

• данные о сработавших для письма правилах;• data on the rules that worked for the letter;

• категория письма, например, «казино» или «сайт знакомств»;• category of the letter, for example, “casino” or “dating site”;

• тип вложений письма, например, документ с расширением docx или картинка с расширением png;• type of email attachments, for example, a document with the docx extension or an image with the png extension;

• формат письма, например, html или plain-text;• letter format, for example, html or plain-text;

• последовательность форматов частей письма;• sequence of formats of parts of the letter;

• размер вложений, например, в МБ;• size of investments, for example, in MB;

• тип разделения между частями сообщения (англ. boundary), например outlook_boundary или apple_boundary;• the type of separation between parts of the message (boundary), for example outlook_boundary or apple_boundary;

• последовательность технических заголовков в письме, например, from/to/subject/date/message-id/content-type;• the sequence of technical headers in the letter, for example, from/to/subject/date/message-id/content-type;

• домен отправителя из заголовка «From»;• sender domain from the “From” header;

• контрольная сумма имени пользователя из заголовка «From»;• checksum of the user name from the "From" header;

• ip-адрес отправителя письма;• IP address of the letter sender;

• размер тела письма, например, в КБ;• size of the letter body, for example, in KB;

• домен из «message-id»;• domain from “message-id”;

• тип заголовка «message-id»;• header type "message-id";

• домен отправителя из SMTP-сессии (англ. Simple Mail Transfer Protocol);• sender domain from the SMTP session (Simple Mail Transfer Protocol);

• ссылки из тела (англ. body) письма;• links from the body of the letter;

• количество ссылок в письме;• number of links in the letter;

• заголовок «User-Agent»;• header “User-Agent”;

• заголовок «X-Mailer».• "X-Mailer" header.

Данные о сработавших для письма правилах представлены в виде списка правил, сработавших для письма клиента 170.Data on the rules that worked for the letter are presented as a list of rules that worked for the letter of client 170.

«Message-id» - уникальный идентификатор цифрового сообщения, используемый в электронной почте."Message-id" is a unique identifier of a digital message used in email.

Заголовок «User-Agent» - это строка с характеристиками, по которым серверы и сетевые узлы могут определить тип приложения, операционную систему, производителя и/или версию пользовательского агента.The User-Agent header is a string containing characteristics that allow servers and network nodes to determine the application type, operating system, manufacturer, and/or version of the user agent.

Под последовательностью форматов частей письма понимается, например, text/plain-text/html. Эта запись означает, что первая часть письма написана текстом, вторая в формате plain-text, а третья в html.The sequence of letter parts formats is understood as, for example, text/plain-text/html. This entry means that the first part of the letter is written in text, the second in plain-text format, and the third in html.

Средство обработки данных 110 предназначено для фильтрации писем на основании статистических данных писем 165 и формирования признаков писем на основании статистических данных писем 165 для дальнейшей кластеризации писем.The data processing tool 110 is designed to filter letters based on the statistical data of letters 165 and to form characteristics of letters based on the statistical data of letters 165 for further clustering of letters.

В предпочтительном варианте реализации размер вложений письма представлен в виде вектора размеров вложений.In a preferred embodiment, the size of the email attachments is represented as a vector of attachment sizes.

В частном варианте реализации размер вложений письма представлен в виде суммы размеров всех вложений.In a particular implementation, the size of the letter attachments is presented as the sum of the sizes of all attachments.

Средство обработки данных 110 фильтрует данные писмем с целью исключения из дальнейшего анализа данных писем, которые точно не содержат спам. Примерами таких писем являются письма, которые относятся к таким типам писем, как:Data processing tool 110 filters the email data to exclude from further data analysis emails that are definitely not spam. Examples of such emails are emails that fall into the following types of emails:

• служебные письма, являющиеся автоматическим ответом (автоответом);• service letters that are an automatic response (auto-reply);

• письма, относящиеся к внутренней переписке в организации.• letters related to internal correspondence within the organization.

В частном варианте реализации средство обработки данных 110 исключает письма из дальнейшего анализа, если клиент 170 имеет устаревшие базы правил. Под устаревшими базами правил понимается база правил, которая не обновлялась в течение определенного периода времени, например, 30 дней.In a particular embodiment, the data processing facility 110 excludes emails from further analysis if the client 170 has outdated rule bases. Outdated rule bases are defined as a rule base that has not been updated for a certain period of time, such as 30 days.

После фильтрации писем средство обработки данных 110 формирует признаки писем на основании статистических данных писем 165. Все данные разделены на два типа, а именно числовые и категориальные. Средство обработки данных 110 формирует признаки на основании статистических данных писем 165.After filtering the letters, the data processing tool 110 forms the letter features based on the statistical data of the letters 165. All data is divided into two types, namely, numerical and categorical. The data processing tool 110 forms the features based on the statistical data of the letters 165.

Для преобразования числовых данных писем средство обработки 110 реализует метод min-max масштабирование - метод нормализации данных в пределах заданного диапазона, например, между 0 и 1.To convert the numerical data of letters, the processing tool 110 implements the min-max scaling method - a method of normalizing data within a given range, for example, between 0 and 1.

Для преобразования категориальных данных средство обработки данных 110 реализует различные методы.To transform categorical data, the data processing means 110 implements various methods.

OneHotEncoding - метод кодирования категориальных данных, который преобразовывает каждую уникальную категорию в бинарный вектор, в котором только один бит, представляя наличие категории, устанавливается в единицу, а остальные биты устанавливаются в 0. Данный метод используется, например, для преобразования типа вложения, типа разделения между частями сообщения, типа заголовка «message-id» и заголовка «User-Agent».OneHotEncoding is a method of encoding categorical data that transforms each unique category into a binary vector in which only one bit, representing the presence of the category, is set to one, and the remaining bits are set to 0. This method is used, for example, to transform the attachment type, the type of separation between message parts, the type of the "message-id" header, and the "User-Agent" header.

Некоторые статистические данные писем 165 средство обработки 110 преобразует в признаки с помощью хеширования и последующего применения метода min-max масштабирования. Данный метод используется, например, для домена отправителя из заголовка «From» или домена отправителя из SMTP-сессии.Some statistical data of letters 165 are converted by the processing tool 110 into features by means of hashing and subsequent application of the min-max scaling method. This method is used, for example, for the sender domain from the "From" header or the sender domain from the SMTP session.

В частном варианте реализации для хеширования статистических данных писем 165 используют метод MurmurHash3 (Mmh3 project description // The Python Package Index (PyPI) repository of software for the Python programming language [Электронный ресурс]. Режим доступа: https://pypi.org/project/mmh3 (дата обращения 09.03.2024/).In a private implementation, the MurmurHash3 method is used to hash statistical data of 165 letters (Mmh3 project description // The Python Package Index (PyPI) repository of software for the Python programming language [Electronic resource]. Access mode: https://pypi.org/project/mmh3 (date of access 03/09/2024/).

CountVectorizer - метод кодирования категориальных данных, который преобразовывает список категорий в бинарный вектор, в котором 1 означает наличие категории в списке, а 0 означает отсутствие категории в списке. Размерность вектора равна количеству уникальных категорий. Данный метод используется, например, для сработавших для письма правил, категории письма или последовательности форматов частей письма.CountVectorizer is a categorical data encoding method that transforms a list of categories into a binary vector, where 1 means the category is in the list, and 0 means the category is not in the list. The vector dimension is equal to the number of unique categories. This method is used, for example, for rules triggered for a letter, a letter category, or a sequence of letter part formats.

После формирования признаков средство обработки 110 объединяет все признаки в единый вектор для каждого письма и передает указанные вектора средству кластеризации 120.After the features have been generated, the processing tool 110 combines all the features into a single vector for each letter and passes the specified vectors to the clustering tool 120.

Средство кластеризации 120 предназначено для кластеризации писем на основании полученных от средства обработки 110 векторов признаков. Средство кластеризации 120 производит кластеризацию с помощью алгоритма машинного обучения, а именно метода k-средних (англ. k-means). Данный метод позволяет быстро кластеризовать письма, однако для его реализации необходимо указать количество кластеров. Количество кластеров зависит от предположительного количества однородных рассылок писем, которое в свою очередь зависит от загруженности сети. Например, для кластеризации писем, которые приходят клиентам 170 ночью, используют одно количество кластеров, например 800, а для кластеризации писем, которые приходят клиентам 170 днем, используют другое количество кластеров, например 1200.Clustering tool 120 is designed to cluster letters based on the feature vectors received from processing tool 110. Clustering tool 120 performs clustering using a machine learning algorithm, namely the k-means method. This method allows for quick clustering of letters, but its implementation requires specifying the number of clusters. The number of clusters depends on the estimated number of homogeneous mailings, which in turn depends on the network load. For example, to cluster letters that arrive to clients 170 at night, one number of clusters is used, for example 800, and to cluster letters that arrive to clients 170 during the day, another number of clusters is used, for example 1200.

Однородная рассылка писем - набор писем со схожим смыслом, причем схожесть смысла определяется схожестью статистических данных писем 165 из указанного набора.Homogeneous mailing list is a set of letters with similar meaning, where the similarity of meaning is determined by the similarity of statistical data of letters 165 from the specified set.

В частном варианте реализации кластеризация писем производится каждый час, причем количество кластеров может различаться в зависимости от времени проведения получения писем клиентом 170. Например, для кластеризации писем, которые приходят клиентам 170 с 11:00 до 12:00, средство кластеризации 120 использует одно количество кластеров, например 1100, а для кластеризации писем, которые приходят клиентам 170 с 13:00 до 14:00, средство кластеризации 120 использует другое количество кластеров, например 1200.In a particular embodiment, clustering of letters is performed every hour, and the number of clusters may vary depending on the time of receipt of letters by client 170. For example, for clustering letters that arrive to clients 170 from 11:00 to 12:00, clustering tool 120 uses one number of clusters, for example 1100, and for clustering letters that arrive to clients 170 from 13:00 to 14:00, clustering tool 120 uses another number of clusters, for example 1200.

В другом варианте реализации кластеризация писем реализована с помощью другого алгоритма машинного обучения, в котором необходимо указывать количество кластеров, например k-медиан (англ. k-medoids).In another implementation, email clustering is implemented using a different machine learning algorithm, which requires specifying the number of clusters, such as k-medoids.

В еще одном варианте реализации кластеризация писем реализована с помощью алгоритма машинного обучения, в котором не нужно указывать количество кластеров, например метод Density-based spatial clustering of applications with noise (DBSCAN) (A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise // Institute for Computer Science, University of Munich Oettingenstr [электронный ресурс]. Режим доступа: https://cdn.aaai.org/KDD/1996/KDD96-037.pdf (дата обращения 09.03.2024)).In another implementation option, email clustering is implemented using a machine learning algorithm that does not require specifying the number of clusters, for example, the Density-based spatial clustering of applications with noise (DBSCAN) method (A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise // Institute for Computer Science, University of Munich Oettingenstr [electronic resource]. Access mode: https://cdn.aaai.org/KDD/1996/KDD96-037.pdf (accessed 03/09/2024)).

После кластеризации писем средство кластеризации 120 передает кластера писем в средство анализа кластеров 130.After clustering the letters, the clustering tool 120 passes the clusters of letters to the cluster analysis tool 130.

Средство анализа кластеров 130 предназначено для классификации писем, содержащих спам, которые не были классифицированы на стороне клиента 170 как письма, содержащие спам.The cluster analysis tool 130 is designed to classify emails containing spam that were not classified on the client side 170 as emails containing spam.

Кроме того, дополнительно средство анализа кластеров 130 позволяет выявлять письма, которые были неверно классифицированы на стороне клиента 170.In addition, the cluster analysis tool 130 additionally allows identifying emails that were incorrectly classified on the client side 170.

Если кластер содержит больше заранее заданного порога писем, классифицированных на стороне клиента 170 как письма, содержащие спам, средство анализа кластеров 130 классифицирует все письма в этом кластере как письма, содержащие спам. Например, заранее заданный порог равен 95 процентам. В таком случае, если письма, классифицированные на стороне клиента 170 как письма, содержащие спам, занимают 95 или больше процентов в этом кластере, средство анализа кластеров 130 классифицирует все письма в указанном кластере как письма, содержащие спам.If a cluster contains more than a predetermined threshold of messages classified on the client side 170 as messages containing spam, the cluster analysis engine 130 classifies all messages in this cluster as messages containing spam. For example, the predetermined threshold is 95 percent. In this case, if the messages classified on the client side 170 as messages containing spam occupy 95 percent or more in this cluster, the cluster analysis engine 130 classifies all messages in the specified cluster as messages containing spam.

Если кластер содержит меньше заранее заданного порога писем, классифицированных на стороне клиента 170 как письма, содержащие спам, средство анализа кластеров 130 классифицирует письма, которые не были классифицированы на стороне клиента 170 как письма, содержащие спам, с помощью модели машинного обучения, заранее обученной для решения задачи схожести писем. Модель машинного обучения основана на методе бустинга деревьев решений. На вход обученной модели машинного обучения последовательно передают два вектора признаков: вектор признаков центроида указанного кластера и вектор признаков письма в кластере, классифицированного как письмо, содержащее спам. На выходе модель машинного обучения выдает коэффициент схожести от 0 до 1. В случае если коэффициент схожести больше заранее заданного числа, средство анализа кластеров 130 классифицирует анализируемое письмо как письмо, содержащее спам.If the cluster contains less than a predetermined threshold of emails classified on the client side 170 as emails containing spam, the cluster analysis tool 130 classifies the emails that were not classified on the client side 170 as emails containing spam using a machine learning model that was previously trained to solve the email similarity problem. The machine learning model is based on the decision tree boosting method. Two feature vectors are sequentially passed to the input of the trained machine learning model: a feature vector of the centroid of the specified cluster and a feature vector of the email in the cluster classified as an email containing spam. At the output, the machine learning model produces a similarity coefficient from 0 to 1. If the similarity coefficient is greater than a predetermined number, the cluster analysis tool 130 classifies the analyzed email as an email containing spam.

В частном варианте реализации модель машинного обучения для решения задачи классификации основана на одном из следующих методов: метод логистической регрессии, метод опорных векторов (англ. support vector machine, SVM), метод k ближайших соседей (англ. k-nearest neighbors algorithm, k-NN).In a particular implementation option, the machine learning model for solving the classification problem is based on one of the following methods: logistic regression method, support vector machine (SVM), k-nearest neighbors algorithm (k-NN).

В частном варианте реализации средство анализа кластеров 130 классифицирует письма, которые не были классифицированы на стороне клиента 170 как письма, содержащие спам, с помощью модели машинного обучения, заранее обученной для решения задачи схожести писем, при этом на вход обученной модели машинного обучения последовательно передают два вектора признаков, а именно: вектор признаков письма в кластере (первый вектор), которое было классифицировано на стороне клиента 170 как письмо, не содержащее спам, и вектор признаков письма, которое было классифицировано на стороне клиента 170 как письмо, содержащее спам, причем косинусное расстояние до первого вектора должно быть минимальным.In a particular embodiment, the cluster analysis tool 130 classifies emails that were not classified on the client side 170 as emails containing spam using a machine learning model that was previously trained to solve the problem of email similarity, wherein two feature vectors are sequentially transmitted to the input of the trained machine learning model, namely: a feature vector of a email in a cluster (the first vector) that was classified on the client side 170 as an email that does not contain spam, and a feature vector of a email that was classified on the client side 170 as an email containing spam, wherein the cosine distance to the first vector must be minimal.

В частном варианте реализации с помощью средства анализа кластеров 130 выявляют письма, которые не содержат спам, но при этом были классифицированы на стороне клиента 170 как письма, содержащие спам.In a particular embodiment, using the cluster analysis tool 130, letters are identified that do not contain spam, but were classified on the client side 170 as letters containing spam.

В еще одном частном варианте реализации, если кластер содержит меньше заранее заданного процента писем, классифицированных как письма, содержащие спам, средство анализа кластеров 130 классифицирует все письма в этом кластере как письма, не содержащие спам. Например, заранее заданный процент равен 5. В таком случае, если письма, классифицированные на стороне клиента 170 как письма, содержащие спам, занимают 5 или меньше процентов в указанном кластере, средство анализа кластеров 130 классифицирует оставшиеся письма как письма, не содержащие спам.In another particular embodiment, if a cluster contains less than a predetermined percentage of messages classified as spam, the cluster analysis tool 130 classifies all messages in the cluster as non-spam. For example, the predetermined percentage is 5. In such a case, if the messages classified on the client side 170 as spam occupy 5 percent or less in the specified cluster, the cluster analysis tool 130 classifies the remaining messages as non-spam.

В частном варианте реализации средство анализа кластеров 130 классифицирует письма, которые были классифицированы на стороне клиента 170 как письма, содержащие спам, с помощью модели машинного обучения, заранее обученной для решения задачи схожести писем. На вход модели машинного обучения передают два вектора признаков, один из которых соответствует письму в кластере, которое было классифицировано на стороне клиента 170 как письмо, содержащее спам, а второй вектор соответствует письму, которое является центроидом указанного кластера. На выходе модель машинного обучения выдает процент схожести. В случае если процент схожести выше заранее заданного числа, средство анализа кластеров 130 классифицирует анализируемое письмо как письмо, содержащее спам.In a particular embodiment, the cluster analysis tool 130 classifies the emails that were classified on the client side 170 as emails containing spam using a machine learning model that was previously trained to solve the email similarity problem. Two feature vectors are passed to the input of the machine learning model, one of which corresponds to the email in the cluster that was classified on the client side 170 as an email containing spam, and the second vector corresponds to the email that is the centroid of the specified cluster. At the output, the machine learning model produces a similarity percentage. If the similarity percentage is higher than a predetermined number, the cluster analysis tool 130 classifies the analyzed email as an email containing spam.

В частном варианте реализации средство анализа кластеров 130 классифицирует письма, которые были классифицированы на стороне клиента 170 как письма, содержащие спам, с помощью модели машинного обучения, заранее обученной для решения задачи схожести писем, при этом на вход обученной модели машинного обучения последовательно передают два вектора признаков, а именно: вектор признаков письма в кластере, которое было классифицировано на стороне клиента 170 как письмо, содержащее спам, и вектор признаков письма, которое не было классифицировано на стороне клиента 170 как письмо, содержащее спам, причем косинусное расстояние до первого вектора должно быть минимальным.In a particular embodiment, the cluster analysis tool 130 classifies the letters that were classified on the client side 170 as letters containing spam, using a machine learning model that was previously trained to solve the letter similarity problem, wherein two feature vectors are sequentially transmitted to the input of the trained machine learning model, namely: a feature vector of a letter in a cluster that was classified on the client side 170 as a letter containing spam, and a feature vector of a letter that was not classified on the client side 170 as a letter containing spam, wherein the cosine distance to the first vector must be minimal.

Таким образом, система 100 обнаруживает электронные письма, содержащих спам, которые не были обнаружены на стороне клиентов 170, за счет чего повышает точность обнаружения электронных писем, содержащих спам.In this manner, the system 100 detects e-mails containing spam that were not detected on the client side 170, thereby increasing the accuracy of detecting e-mails containing spam.

В еще одном частном варианте реализации средство анализа кластеров 130 классифицирует все письма в кластере, с помощью совокупности описанных выше способов. Как показано на Фиг. 2, способ классификации писем в кластере зависит от процента писем в кластере, классифицированных на стороне клиента 170 как письма, содержащие спам. Метод классификации выбирают согласно следующим правилам:In another particular embodiment, the cluster analysis tool 130 classifies all messages in a cluster using a combination of the methods described above. As shown in Fig. 2, the method for classifying messages in a cluster depends on the percentage of messages in the cluster classified on the client side 170 as messages containing spam. The classification method is selected according to the following rules:

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от 0 до первой границы включительно, все письма в кластере классифицируют как письма, не содержащие спам;• if the percentage of emails classified on the client side 170 as containing spam is between 0 and the first boundary inclusive, all emails in the cluster are classified as not containing spam;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от первой границы до второй границы включительно, все письма в кластере, классифицированные на стороне клиента 170 как письма, содержащие спам, классифицируют с помощью модели машинного обучения;• if the percentage of emails classified on the client side 170 as emails containing spam is in the range from the first boundary to the second boundary inclusive, all emails in the cluster classified on the client side 170 as emails containing spam are classified using the machine learning model;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от второй границы до третьей границы, все письма в кластере классифицируют в соответствии с классификацией на стороне клиента 170;• if the percentage of emails classified on the client side 170 as emails containing spam is between the second boundary and the third boundary, all emails in the cluster are classified in accordance with the classification on the client side 170;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от третьей границы до четвертой границы, все письма в кластере, классифицированные на стороне клиента как письма, не содержащие спам, классифицируют с помощью модели машинного обучения;• if the percentage of emails classified on the client side as spam is between the third boundary and the fourth boundary, all emails in the cluster classified on the client side as non-spam are classified using the machine learning model;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от четвертой границы включительно до 100 процентов, все письма в кластере классифицируют как письма, содержащие спам.• if the percentage of emails classified on the client side 170 as containing spam is between the fourth boundary inclusive and 100 percent, all emails in the cluster are classified as containing spam.

В другом частном варианте реализации, если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, равен значению, соответствующему первой границе, все письма в кластере классифицируют с помощью модели машинного обучения.In another particular embodiment, if the percentage of emails classified on the client side 170 as containing spam is equal to a value corresponding to the first boundary, all emails in the cluster are classified using a machine learning model.

В еще одном частном варианте реализации, если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, равен значению, соответствующему второй или третьей границе, все письма в кластере классифицируют в соответствии с классификацией на стороне клиента 170.In another particular embodiment, if the percentage of emails classified on the client side 170 as emails containing spam is equal to a value corresponding to the second or third boundary, all emails in the cluster are classified in accordance with the classification on the client side 170.

В другом частном варианте реализации, если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, равен значению, соответствующему четвертой границе, все письма в кластере классифицируют с помощью модели машинного обучения.In another particular embodiment, if the percentage of emails classified on the client side 170 as containing spam is equal to a value corresponding to the fourth boundary, all emails in the cluster are classified using a machine learning model.

Первая, вторая, третья и четвертая границы соответствуют определенному проценту писем в кластере, классифицированных на стороне клиента 170 как письма, содержащие спам, и упорядочены между собой следующим образом - , где I, II, III, IV - это первая, вторая, третья и четвертая границы соответственно.The first, second, third and fourth boundaries correspond to a certain percentage of letters in the cluster classified on the client side 170 as containing spam, and are ordered among themselves as follows - , where I, II, III, IV are the first, second, third and fourth boundaries respectively.

В частном варианте реализации средство анализа кластеров 130 устанавливает значения границ посредством модели машинного обучения, предназначенной для валидации значений границ путем нахождения оптимальных значений границ для минимизации ложных срабатываний.In a particular embodiment, cluster analysis tool 130 sets boundary values using a machine learning model designed to validate boundary values by finding optimal boundary values to minimize false positives.

В еще одном частном варианте реализации средство анализа кластеров 130 устанавливает значения границ в зависимости от времени получения писем клиентом 170. Например, при классификации писем, полученных клиентом 170 с 11:00 до 12:00, границы равны 5%, 10%, 90% и 95% соответственно, а при классификации писем, полученных клиентом 170 с 22:00 до 23:00 границы равны 10%, 35%, 65% и 90% соответственно.In another particular embodiment, the cluster analysis tool 130 sets the boundary values depending on the time of receipt of the letters by the client 170. For example, when classifying the letters received by the client 170 from 11:00 to 12:00, the boundaries are equal to 5%, 10%, 90% and 95%, respectively, and when classifying the letters received by the client 170 from 22:00 to 23:00, the boundaries are equal to 10%, 35%, 65% and 90%, respectively.

На Фиг. 3 представлен способ классификации писем. В некоторых вариантах осуществления настоящего изобретения способ может выполняться при помощи средств системы 100 (см. Фиг. 1). Далее более подробно описаны различные шаги способа.Fig. 3 shows a method for classifying letters. In some embodiments of the present invention, the method may be performed using the means of the system 100 (see Fig. 1). The various steps of the method are described in more detail below.

На этапе 310 получают статистические данные писем 165 клиентов 170 и результат классификации писем на стороне клиентов 170 посредством устройства сбора и хранения данных 160. Примерами получаемых статистических данных писем 165 являются одним или комбинацией из: данные о сработавшим для письма правиле; категория письма; последовательностью форматов частей письма; тип вложений письма; размер вложений в письме; тип разделений между частями сообщения; формат письма; домены из ссылок письма; последовательность технических заголовков в письме; домен отправителя из заголовка «From»; контрольная сумма имени пользователя из заголовка «From»; ip отправителя письма; размер тела письма; домен из «message-id»; тип заголовка «message-id»; домен отправителя из SMTP-сессии; ссылки из письма; количество ссылок в письме; заголовок «User-Agent»; заголовок «X-Mailer».At step 310, statistical data of letters 165 of clients 170 and the result of letter classification on the side of clients 170 are obtained by means of data collection and storage device 160. Examples of the obtained statistical data of letters 165 are one or a combination of: data on the rule that was triggered for the letter; letter category; sequence of letter part formats; letter attachment type; size of attachments in the letter; type of divisions between parts of the message; letter format; domains from letter links; sequence of technical headers in the letter; sender domain from the “From” header; user name checksum from the “From” header; letter sender IP; letter body size; domain from “message-id”; “message-id” header type; sender domain from the SMTP session; links from the letter; number of links in the letter; “User-Agent” header; “X-Mailer” header.

В одном из вариантов реализации статистические данные писем 165 разделены на два типа: числовые и категориальные.In one implementation option, the 165 letter statistics are divided into two types: numeric and categorical.

На этапе 320 исключают из дальнейшего анализа данные писем, которые относятся по меньшей мере к одному из писем:At step 320, data from letters that relate to at least one of the letters is excluded from further analysis:

• письму, являющемуся автоматическим ответом;• a letter that is an automatic response;

• письму, относящемуся к внутренней переписке организации.• a letter related to the internal correspondence of the organization.

В частном варианте реализации также исключают письма из дальнейшего анализа, если клиент 170 имеет устаревшие базы правил.A specific implementation also excludes emails from further analysis if client 170 has outdated rule bases.

На этапе 330 формируют признаки для каждого не исключенного письма на основании статистических данных писем 165. Как было описано выше, признаки формируются с помощью различных методов. Для числовых данных писем используют метод min-max масштабирование. Для категориальных данных писем используют хеширование с последующим применением метода min-max масштабирования, OneHotEncoding или CountVectorizer.At step 330, features are formed for each non-excluded letter based on the statistical data of letters 165. As described above, features are formed using various methods. For numerical data of letters, the min-max scaling method is used. For categorical data of letters, hashing is used followed by the application of the min-max scaling method, OneHotEncoding or CountVectorizer.

На этапе 340 объединяют сформированные признаки в единый вектор для каждого письма.At step 340, the generated features are combined into a single vector for each letter.

На этапе 350 проводят кластеризацию писем с помощью алгоритма машинного обучения на основании векторов.At step 350, the letters are clustered using a vector-based machine learning algorithm.

В одном из вариантов реализации в качестве алгоритма машинного обучения для кластеризации писем используют метод k-средних.In one implementation option, the k-means method is used as a machine learning algorithm for clustering emails.

На этапе 360 классифицируют письма в каждом кластере.At step 360, the letters in each cluster are classified.

В одном варианте реализации классифицируют письма, которые не были классифицированы на стороне клиента как письма, содержащие спам, в каждом кластере согласно следующим правилам: если кластер содержит больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, то классифицируют все оставшиеся письма в кластере как письма, содержащие спам; если кластер содержит не больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют письма, которые не были классифицированы на стороне клиента как письма, содержащие спам, с помощью модели машинного обучения. На вход модели машинного обучения для классификации письма последовательно передают два вектора признаков. В качестве двух векторов признаков выступают:In one embodiment, the emails that were not classified as spam on the client side are classified in each cluster according to the following rules: if the cluster contains more than a predetermined threshold of emails classified as spam on the client side, then all remaining emails in the cluster are classified as spam; if the cluster contains no more than a predetermined threshold of emails classified as spam on the client side, then the emails that were not classified as spam on the client side are classified using a machine learning model. Two feature vectors are sequentially passed to the input of the machine learning model for classifying the email. The two feature vectors are:

а) вектор признаков письма в кластере (первый вектор), которое было классифицировано на стороне клиента как письмо, не содержащее спам;a) the feature vector of a letter in the cluster (the first vector) that was classified on the client side as a letter that does not contain spam;

б) вектор признаков письма, которое было классифицировано как письмо, содержащее спам, причем косинусное расстояние до первого вектора должно быть минимальным.b) a vector of features of a letter that was classified as a letter containing spam, where the cosine distance to the first vector must be minimal.

В одном из вариантов реализации в качестве алгоритма машинного обучения для классификации писем используют метод бустинга деревьев решений.In one implementation option, the decision tree boosting method is used as a machine learning algorithm for classifying letters.

В частном варианте реализации в качестве двух векторов признаков выступают вектор признаков письма в кластере, которое было классифицировано на стороне клиента как письмо, не содержащее спам, и вектор признаков центроида кластера.In a particular implementation variant, the two feature vectors are the feature vector of a letter in a cluster that was classified on the client side as a non-spam letter, and the feature vector of the cluster centroid.

В другом варианте реализации на этапе 360 классифицируют все письма в каждом кластере на основании процента писем, классифицированных на стороне клиента как письма, содержащие спам, согласно следующим правилам:In another embodiment, step 360 classifies all emails in each cluster based on the percentage of emails classified on the client side as containing spam, according to the following rules:

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от 0 до первой границы включительно, все письма в кластере классифицируют как письма, не содержащие спам;• if the percentage of emails classified on the client side 170 as containing spam is between 0 and the first boundary inclusive, all emails in the cluster are classified as not containing spam;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от первой границы до второй границы включительно, все письма в кластере, классифицированные на стороне клиента 170 как письма, содержащие спам, классифицируют с помощью модели машинного обучения;• if the percentage of emails classified on the client side 170 as emails containing spam is in the range from the first boundary to the second boundary inclusive, all emails in the cluster classified on the client side 170 as emails containing spam are classified using the machine learning model;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от второй границы до третьей границы, все письма в кластере классифицируют в соответствии с классификацией на стороне клиента 170;• if the percentage of emails classified on the client side 170 as emails containing spam is between the second boundary and the third boundary, all emails in the cluster are classified in accordance with the classification on the client side 170;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от третьей границы до четвертой границы, все письма в кластере, классифицированные на стороне клиента как письма, не содержащие спам, классифицируют с помощью модели машинного обучения;• if the percentage of emails classified on the client side as spam is between the third boundary and the fourth boundary, all emails in the cluster classified on the client side as non-spam are classified using the machine learning model;

• если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, находится в промежутке от четвертой границы включительно до 100 процентов, все письма в кластере классифицируют как письма, содержащие спам.• if the percentage of emails classified on the client side 170 as containing spam is between the fourth boundary inclusive and 100 percent, all emails in the cluster are classified as containing spam.

В частном варианте реализации если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам равен значению, соответствующему первой границе, все письма в кластере классифицируют с помощью модели машинного обучения.In a particular implementation, if the percentage of emails classified on the client side 170 as spam is equal to the value corresponding to the first boundary, all emails in the cluster are classified using a machine learning model.

В частном варианте реализации если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам, равен значению, соответствующему второй или третьей границе, все письма в кластере классифицируют в соответствии с классификацией на стороне клиента 170.In a particular embodiment, if the percentage of emails classified on the client side 170 as emails containing spam is equal to a value corresponding to the second or third boundary, all emails in the cluster are classified in accordance with the classification on the client side 170.

В частном варианте реализации если процент писем, классифицированных на стороне клиента 170 как письма, содержащие спам равен значению, соответствующему четвертой границе, все письма в кластере классифицируют с помощью модели машинного обучения.In a particular implementation, if the percentage of emails classified on the client side 170 as spam is equal to the value corresponding to the fourth boundary, all emails in the cluster are classified using a machine learning model.

В еще одном частном варианте реализации устанавливают значения границ в зависимости от времени получения писем клиентом 170. Например, при классификации писем, полученных клиентом 170 с 11:00 до 12:00, границы равны 5%, 10%, 90% и 95%, а при классификации писем, полученных клиентом 170 с 22:00 до 23:00 границы равны 10%, 35%, 65% и 90%.In another particular embodiment, the values of the boundaries are set depending on the time of receipt of letters by client 170. For example, when classifying letters received by client 170 from 11:00 to 12:00, the boundaries are equal to 5%, 10%, 90% and 95%, and when classifying letters received by client 170 from 22:00 to 23:00, the boundaries are equal to 10%, 35%, 65% and 90%.

На Фиг. 4 представлена компьютерная система, на которой могут быть реализованы различные варианты систем и способов, раскрытых в настоящем документе. Компьютерная система 20 может представлять собой систему, сконфигурированную для реализации настоящего изобретения, и может быть в виде одного вычислительного устройства или в виде нескольких вычислительных устройств, например, настольного компьютера, портативного компьютера, ноутбука, мобильного вычислительного устройства, смартфона, планшетного компьютера, сервера, мейнфрейма, встраиваемого устройства и других форм вычислительных устройств.Fig. 4 shows a computer system on which various embodiments of the systems and methods disclosed in this document can be implemented. The computer system 20 can be a system configured to implement the present invention and can be in the form of a single computing device or in the form of multiple computing devices, such as a desktop computer, a portable computer, a notebook, a mobile computing device, a smartphone, a tablet computer, a server, a mainframe, an embedded device, and other forms of computing devices.

Как показано на Фиг. 4, компьютерная система 20 включает в себя: центральный процессор 21, системную память 22 и системную шину 23, которая связывает разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, способную взаимодействовать с любой другой шинной архитектурой. Примерами шин являются: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C и другие подходящие соединения между компонентами компьютерной системы 20. Центральный процессор 21 содержит один или несколько процессоров, имеющих одно или несколько ядер. Центральный процессор 21 исполняет один или несколько наборов машиночитаемых инструкций, реализующих способы, представленные в настоящем документе. Системная память 22 может быть любой памятью для хранения данных и/или компьютерных программ, исполняемых центральным процессором 21. Системная память может содержать как постоянное запоминающее устройство (ПЗУ) 24, так и память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.As shown in Fig. 4, the computer system 20 includes: a central processor 21, a system memory 22 and a system bus 23 that connects various system components, including memory associated with the central processor 21. The system bus 23 is implemented as any bus structure known in the art, which in turn contains a bus memory or a bus memory controller, a peripheral bus and a local bus capable of interacting with any other bus architecture. Examples of buses are: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C and other suitable connections between components of the computer system 20. The central processor 21 includes one or more processors having one or more cores. The central processor 21 executes one or more sets of machine-readable instructions that implement the methods presented in this document. The system memory 22 may be any memory for storing data and/or computer programs executed by the central processor 21. The system memory may contain both a read-only memory (ROM) 24 and a random access memory (RAM) 25. The main input/output system (BIOS) 26 contains the main procedures that ensure the transfer of information between elements of the computer system 20, for example, at the time of loading the operating system using the ROM 24.

Компьютерная система 20 включает в себя одно или несколько устройств хранения данных, таких как одно или несколько извлекаемых запоминающих устройств 27, одно или несколько неизвлекаемых запоминающих устройств 28, или комбинации извлекаемых и неизвлекаемых устройств. Одно или несколько извлекаемых запоминающих устройств 27 и/или неизвлекаемых запоминающих устройств 28 подключены к системной шине 23 через интерфейс 32. В одном из вариантов реализации извлекаемые запоминающие устройства 27 и соответствующие машиночитаемые носители информации представляют собой энергонезависимые модули для хранения компьютерных инструкций, структур данных, программных модулей и других данных компьютерной системы 20. Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28 могут использовать различные машиночитаемые носители информации. Примеры машиночитаемых носителей информации включают в себя машинную память, такую как кэш-память, SRAM, DRAM, ОЗУ, не требующую конденсатора (Z-RAM), тиристорную память (T-RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; флэш-память или другие технологии памяти, такие как твердотельные накопители (SSD) или флэш-накопители; магнитные кассеты, магнитные ленты и магнитные диски, такие как жесткие диски или дискеты; оптические носители, такие как компакт-диски (CD-ROM) или цифровые универсальные диски (DVD); и любые другие носители, которые могут быть использованы для хранения нужных данных и к которым может получить доступ компьютерная система 20.The computer system 20 includes one or more data storage devices, such as one or more removable storage devices 27, one or more non-removable storage devices 28, or combinations of removable and non-removable devices. One or more removable storage devices 27 and/or non-removable storage devices 28 are connected to the system bus 23 via the interface 32. In one embodiment, the removable storage devices 27 and the corresponding computer-readable storage media are non-volatile modules for storing computer instructions, data structures, program modules and other data of the computer system 20. The system memory 22, the removable storage devices 27 and the non-removable storage devices 28 can use various computer-readable storage media. Examples of computer-readable storage media include computer memory such as cache memory, SRAM, DRAM, Z-RAM, T-RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; flash memory or other memory technologies such as solid-state drives (SSD) or flash drives; magnetic cassettes, magnetic tapes, and magnetic disks such as hard disks or floppy disks; optical media such as compact discs (CD-ROM) or digital versatile discs (DVD); and any other media that can be used to store the desired data and that can be accessed by the computer system 20.

Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28, содержащиеся в компьютерной системе 20 используются для хранения операционной системы 35, приложений 37, других программных модулей 38 и программных данных 39. Компьютерная система 20 включает в себя периферийный интерфейс 46 для передачи данных от устройств ввода 40, таких как клавиатура, мышь, стилус, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, или других периферийных устройств, таких как принтер или сканер через один или несколько портов ввода/вывода, таких как последовательный порт, параллельный порт, универсальная последовательная шина (USB) или другой периферийный интерфейс. Устройство отображения 47, такое как один или несколько мониторов, проекторов или встроенных дисплеев, также подключено к системной шине 23 через выходной интерфейс 48, такой как видеоадаптер. Помимо устройств отображения 47, компьютерная система 20 оснащена другими периферийными устройствами вывода (на Фиг. 4 не показаны), такими как динамики и другие аудиовизуальные устройства.The system memory 22, the removable storage devices 27 and the non-removable storage devices 28 contained in the computer system 20 are used to store the operating system 35, applications 37, other program modules 38 and program data 39. The computer system 20 includes a peripheral interface 46 for transmitting data from input devices 40, such as a keyboard, mouse, stylus, game controller, voice input device, touch input device, or other peripheral devices, such as a printer or scanner through one or more input/output ports, such as a serial port, a parallel port, a universal serial bus (USB) or another peripheral interface. A display device 47, such as one or more monitors, projectors or built-in displays, is also connected to the system bus 23 through an output interface 48, such as a video adapter. In addition to the display devices 47, the computer system 20 is equipped with other peripheral output devices (not shown in Fig. 4), such as speakers and other audiovisual devices.

Компьютерная система 20 может работать в сетевом окружении, используя сетевое соединение с одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 является рабочим персональным компьютером или сервером, который содержит большинство или все упомянутые компоненты, отмеченные ранее при описании сущности компьютерной системы 20, представленной на Фиг. 7. В сетевом окружении также могут присутствовать и другие устройства, например, маршрутизаторы, сетевые станции или другие сетевые узлы. Компьютерная система 20 может включать один или несколько сетевых интерфейсов 51 или сетевых адаптеров для связи с удаленными компьютерами 49 через одну или несколько сетей, таких как локальная компьютерная сеть (LAN) 50, глобальная компьютерная сеть (WAN), интранет и Интернет. Примерами сетевого интерфейса 51 являются интерфейс Ethernet, интерфейс Frame Relay, интерфейс SONET и беспроводные интерфейсы.The computer system 20 may operate in a network environment using a network connection with one or more remote computers 49. The remote computer (or computers) 49 is a working personal computer or a server that includes most or all of the components mentioned earlier in describing the nature of the computer system 20 shown in Fig. 7. Other devices may also be present in the network environment, such as routers, network stations or other network nodes. The computer system 20 may include one or more network interfaces 51 or network adapters for communicating with the remote computers 49 via one or more networks such as a local area network (LAN) 50, a wide area network (WAN), an intranet and the Internet. Examples of a network interface 51 are an Ethernet interface, a Frame Relay interface, a SONET interface and wireless interfaces.

Варианты раскрытия настоящего изобретения могут представлять собой систему, способ, или машиночитаемый носитель (или носитель) информации.Embodiments of the present disclosure may be a system, a method, or a computer-readable storage medium (or carrier).

Машиночитаемый носитель информации является осязаемым устройством, которое сохраняет и хранит программный код в форме машиночитаемых инструкций или структур данных, к которым имеет доступ центральный процессор 21 компьютерной системы 20. Машиночитаемый носитель может быть электронным, магнитным, оптическим, электромагнитным, полупроводниковым запоминающим устройством или любой подходящей их комбинацией. В качестве примера, такой машиночитаемый носитель информации может включать в себя память с произвольным доступом (RAM), память только для чтения (ROM), EEPROM, портативный компакт-диск с памятью только для чтения (CD-ROM), цифровой универсальный диск (DVD), флэш-память, жесткий диск, портативную компьютерную дискету, карту памяти, дискету или даже механически закодированное устройство, такое как перфокарты или рельефные структуры с записанными на них инструкциями.A computer-readable storage medium is a tangible device that stores and stores program code in the form of computer-readable instructions or data structures that are accessible to the central processor 21 of the computer system 20. The computer-readable storage medium may be an electronic, magnetic, optical, electromagnetic, semiconductor memory device, or any suitable combination thereof. As an example, such a computer-readable storage medium may include random access memory (RAM), read-only memory (ROM), EEPROM, a portable compact disc with read-only memory (CD-ROM), a digital versatile disk (DVD), flash memory, a hard disk, a portable computer diskette, a memory card, a floppy disk, or even a mechanically encoded device such as punched cards or relief structures with instructions recorded thereon.

Система и способ, настоящего изобретения, могут быть рассмотрены в терминах средств. Термин "средство", используемый в настоящем документе, относится к реальному устройству, компоненту или группе компонентов, реализованных с помощью аппаратного обеспечения, например, с помощью интегральной схемы, специфичной для конкретного приложения (ASIC) или FPGA, или в виде комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора машиночитаемых инструкций для реализации функциональности средства, которые (в процессе выполнения) превращают микропроцессорную систему в устройство специального назначения. Средство также может быть реализовано в виде комбинации этих двух компонентов, при этом некоторые функции могут быть реализованы только аппаратным обеспечением, а другие функции - комбинацией аппаратного и программного обеспечения. В некоторых вариантах реализации, по крайней мере, часть, а в некоторых случаях и все средство может быть выполнено на центральном процессоре 21 компьютерной системы 20. Соответственно, каждое средство может быть реализовано в различных подходящих конфигурациях и не должно ограничиваться каким-либо конкретным вариантом реализации, приведенным в настоящем документе.The system and method of the present invention can be considered in terms of means. The term "means" as used herein refers to an actual device, component or group of components implemented by hardware, such as an application-specific integrated circuit (ASIC) or FPGA, or by a combination of hardware and software, such as a microprocessor system and a set of machine-readable instructions for implementing the functionality of the means, which (when executed) transform the microprocessor system into a special-purpose device. The means can also be implemented as a combination of these two components, where some functions can be implemented only by hardware, and other functions - by a combination of hardware and software. In some embodiments, at least a portion, and in some cases all of the means, can be executed on the central processor 21 of the computer system 20. Accordingly, each means can be implemented in various suitable configurations and should not be limited to any particular embodiment given herein.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что при разработке любого реального варианта осуществления настоящего изобретения необходимо принять множество решений, специфических для конкретного варианта осуществления, для достижения конкретных целей, и эти конкретные цели будут разными для разных вариантов осуществления. Понятно, что такие усилия по разработке могут быть сложными и трудоемкими, но тем не менее, они будут обычной инженерной задачей для тех, кто обладает обычными навыками в данной области, пользуясь настоящим раскрытием изобретения.Finally, it should be noted that the information provided in the description is examples that do not limit the scope of the present invention defined by the claims. It will be clear to one skilled in the art that in developing any actual embodiment of the present invention, many decisions specific to a particular embodiment must be made to achieve specific goals, and these specific goals will be different for different embodiments. It is understood that such development efforts can be complex and time-consuming, but nevertheless, they will be a routine engineering task for those of ordinary skill in the art, using the present disclosure.

Claims (93)

1. Способ классификации писем электронной почты для обнаружения спама на основании статистических данных писем, включающий шаги, согласно которым:1. A method for classifying email messages to detect spam based on email statistics, comprising the steps of: получают статистические данные писем клиентов и результат классификации писем на стороне клиентов;receive statistical data of customer letters and the result of letter classification on the client side; исключают из дальнейшего анализа данные писем, которые относятся по меньшей мере к одному из:exclude from further analysis data from letters that relate to at least one of: письмам, являющимся автоматическими ответами;letters that are automatic responses; письмам, относящимся к внутренней переписке организации;letters related to the internal correspondence of the organization; формируют признаки на основании статистических данных для не исключенных писем;generate features based on statistical data for non-excluded letters; объединяют признаки в единый вектор для каждого письма;combine features into a single vector for each letter; проводят кластеризацию писем с помощью алгоритма машинного обучения на основании векторов признаков писем;carry out clustering of letters using a machine learning algorithm based on the letter feature vectors; классифицируют письма в каждом кластере согласно следующим правилам:classify letters in each cluster according to the following rules: если кластер содержит больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют все письма в кластере как письма, содержащие спам;if a cluster contains more than a pre-defined threshold of emails classified on the client side as spam, classify all emails in the cluster as spam; если кластер содержит не больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют письма, которые не были классифицированы на стороне клиента как письма, содержащие спам, с помощью модели машинного обучения.If the cluster contains no more than a pre-defined threshold of emails classified as spam on the client side, classify the emails that were not classified as spam on the client side using a machine learning model. 2. Способ по п. 1, в котором статистические данные писем содержат по меньшей мере одно из:2. The method according to claim 1, wherein the statistical data of letters contains at least one of: данные о сработавших для письма правилах;data on the rules that worked for writing; категория письма;writing category; последовательность форматов частей письма;sequence of letter part formats; тип вложений письма;type of letter attachments; размер вложений в письме;size of attachments in the letter; тип разделений между частями сообщения;type of divisions between parts of the message; формат письма;letter format; домены из ссылок письма;domains from email links; последовательность технических заголовков в письме;sequence of technical headings in the letter; домен отправителя из заголовка «From»;sender domain from the "From" header; контрольная сумма имени пользователя из заголовка «From»;checksum of the username from the "From" header; ip-адрес отправителя письма;IP address of the letter sender; размер тела письма;letter body size; домен из «message-id»;domain from "message-id"; тип заголовка «message-id»;header type "message-id"; домен отправителя из SMTP-сессии;sender domain from SMTP session; ссылки из письма;links from the letter; количество ссылок в письме;number of links in the letter; заголовок «User-Agent»;header "User-Agent"; заголовок «X-Mailer»."X-Mailer" header. 3. Способ по п. 2, в котором размер вложений письма представлен в виде вектора размеров вложений.3. The method according to paragraph 2, wherein the size of the letter attachments is represented as a vector of attachment sizes. 4. Способ по п. 2, в котором размер вложений письма представлен в виде суммы размеров всех вложений.4. The method according to paragraph 2, in which the size of the letter attachments is presented as the sum of the sizes of all attachments. 5. Способ по п. 1, в котором все статистические данные разделены на два типа: числовые и категориальные.5. The method according to paragraph 1, in which all statistical data are divided into two types: numerical and categorical. 6. Способ по п. 1, в котором формируют каждый признак с помощью одного из следующих методов:6. The method according to item 1, in which each feature is formed using one of the following methods: OneHotEncoding;OneHotEncoding; min-max масштабирование;min-max scaling; хеширование с последующим применением min-max масштабирования;hashing followed by min-max scaling; CountVectorizer.CountVectorizer. 7. Способ по п. 6, в котором для хеширования используют метод MurmurHash3.7. The method according to item 6, in which the MurmurHash3 method is used for hashing. 8. Способ по п. 1, в котором в качестве алгоритма машинного обучения для кластеризации писем используют один из следующих методов:8. The method according to item 1, wherein one of the following methods is used as a machine learning algorithm for clustering letters: k-средних;k-means; k-медиан;k-median; DBSCAN.DBSCAN. 9. Способ по п. 1, в котором кластеризация писем производится каждый раз после окончания заданного промежутка времени.9. The method according to item 1, in which the clustering of letters is performed each time after the end of a specified period of time. 10. Способ по п. 1, в котором на вход модели машинного обучения для классификации письма передают два вектора признаков.10. The method according to claim 1, wherein two feature vectors are transmitted to the input of the machine learning model for classifying writing. 11. Способ по п. 10, в котором в качестве двух векторов признаков выступают:11. The method according to item 10, wherein the two feature vectors are: вектор признаков письма в кластере (первый вектор), которое было классифицировано на стороне клиента как письмо, не содержащее спам;vector of features of a letter in the cluster (the first vector) that was classified on the client side as a non-spam letter; вектор признаков письма, которое было классифицировано на стороне клиента как письмо, содержащее спам, причем косинусное расстояние до первого вектора должно быть минимальным.a vector of features of a letter that was classified on the client side as a letter containing spam, where the cosine distance to the first vector must be minimal. 12. Способ по п. 10, в котором в качестве двух векторов признаков выступают вектор признаков письма в кластере, которое было классифицировано на стороне клиента как письмо, не содержащее спам, и вектор признаков центроида кластера.12. The method according to item 10, wherein the two feature vectors are a feature vector of a letter in a cluster that was classified on the client side as a letter that does not contain spam, and a feature vector of the cluster centroid. 13. Система классификации писем электронной почты для обнаружения спама на основании статистических данных писем, состоящая по меньшей мере из одной компьютерной системы и содержащая:13. A system for classifying e-mail messages for detecting spam based on statistical data of messages, consisting of at least one computer system and containing: средство обработки данных, взаимодействующее с устройством сбора и хранения данных и средством кластеризации и предназначенное для:a data processing facility that interacts with a data collection and storage device and a clustering facility and is designed to: получения статистических данных писем и результата классификации писем на стороне клиентов от устройства сбора и хранения данных;obtaining statistical data of letters and the result of letter classification on the client side from the data collection and storage device; фильтрации писем на основании статистических данных писем;filtering emails based on email statistics; формирования признаков писем на основании статистических данных писем;formation of letter characteristics based on statistical data of letters; средство кластеризации, взаимодействующее со средством обработки данных и средством анализа кластеров и предназначенное для:a clustering tool that interacts with a data processing tool and a cluster analysis tool and is designed to: кластеризации писем на основании сформированных признаков писем, полученных от средства обработки данных;clustering of letters based on the generated characteristics of letters received from the data processing tool; передачи кластеров писем в средство анализа кластеров;transferring email clusters to a cluster analysis tool; средство анализа кластеров, предназначенное для классификации писем в каждом полученном кластере писем согласно следующим правилам:a cluster analysis tool designed to classify the messages in each received message cluster according to the following rules: если кластер содержит больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют все письма в кластере как письма, содержащие спам;if a cluster contains more than a pre-defined threshold of emails classified on the client side as spam, classify all emails in the cluster as spam; если кластер содержит не больше заранее заданного порога писем, классифицированных на стороне клиента как письма, содержащие спам, классифицируют письма, которые не были классифицированы на стороне клиента как письма, содержащие спам, с помощью модели машинного обучения.If the cluster contains no more than a pre-defined threshold of emails classified as spam on the client side, classify the emails that were not classified as spam on the client side using a machine learning model. 14. Система по п. 13, в которой статистические данные писем содержат по меньшей мере одно из:14. The system of claim 13, wherein the statistical data of letters comprises at least one of: данные о сработавших для письма правилах;data on the rules that worked for writing; категория письма;writing category; последовательность форматов частей письма;sequence of letter part formats; тип вложений письма;type of letter attachments; размер вложений в письме;size of attachments in the letter; тип разделений между частями сообщения;type of divisions between parts of the message; формат письма;letter format; домены из ссылок письма;domains from email links; последовательность технических заголовков в письме;sequence of technical headings in the letter; домен отправителя из заголовка «From»;sender domain from the "From" header; контрольная сумма имени пользователя из заголовка «From»;checksum of the username from the "From" header; ip-адрес отправителя письма;IP address of the letter sender; размер тела письма;letter body size; домен из «message-id»;domain from "message-id"; тип заголовка «message-id»;header type "message-id"; домен отправителя из SMTP-сессии;sender domain from SMTP session; ссылки из письма;links from the letter; количество ссылок в письме;number of links in the letter; заголовок «User-Agent»;header "User-Agent"; заголовок «X-Mailer»."X-Mailer" header. 15. Система по п. 13, в которой средство обработки данных формирует каждый признак с помощью одного из следующих методов:15. The system of claim 13, wherein the data processing means generates each feature using one of the following methods: OneHotEncoding;OneHotEncoding; min-max масштабирование;min-max scaling; хеширование с последующим применением min-max масштабирования;hashing followed by min-max scaling; CountVectorizer.CountVectorizer. 16. Система по п. 13, в которой в качестве алгоритма машинного обучения для кластеризации средство кластеризации реализует один из следующих методов:16. The system according to claim 13, wherein, as a machine learning algorithm for clustering, the clustering tool implements one of the following methods: k-средних;k-means; k-медиан;k-median; DBSCAN.DBSCAN. 17. Система по п. 13, в которой средство кластеризации производит кластеризацию писем каждый раз после окончания заданного промежутка времени.17. The system of claim 13, wherein the clustering means clusters the letters each time after a specified period of time has elapsed.
RU2024108073A 2024-03-27 System and method of classifying electronic mail RU2828611C1 (en)

Publications (1)

Publication Number Publication Date
RU2828611C1 true RU2828611C1 (en) 2024-10-14

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010466B2 (en) * 2004-11-04 2011-08-30 Tw Vericept Corporation Method, apparatus, and system for clustering and classification
US8370930B2 (en) * 2008-02-28 2013-02-05 Microsoft Corporation Detecting spam from metafeatures of an email message
US8738721B1 (en) * 2013-06-06 2014-05-27 Kaspersky Lab Zao System and method for detecting spam using clustering and rating of E-mails
RU2710739C1 (en) * 2019-03-29 2020-01-10 Акционерное общество "Лаборатория Касперского" System and method of generating heuristic rules for detecting messages containing spam
US10909198B1 (en) * 2015-06-12 2021-02-02 Veritas Technologies Llc Systems and methods for categorizing electronic messages for compliance reviews
US20220116349A1 (en) * 2017-11-27 2022-04-14 Realnetworks, Inc. Messaging platform communication processing using message cluster detection and categorization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010466B2 (en) * 2004-11-04 2011-08-30 Tw Vericept Corporation Method, apparatus, and system for clustering and classification
US8370930B2 (en) * 2008-02-28 2013-02-05 Microsoft Corporation Detecting spam from metafeatures of an email message
US8738721B1 (en) * 2013-06-06 2014-05-27 Kaspersky Lab Zao System and method for detecting spam using clustering and rating of E-mails
RU2541123C1 (en) * 2013-06-06 2015-02-10 Закрытое акционерное общество "Лаборатория Касперского" System and method of rating electronic messages to control spam
US10909198B1 (en) * 2015-06-12 2021-02-02 Veritas Technologies Llc Systems and methods for categorizing electronic messages for compliance reviews
US20220116349A1 (en) * 2017-11-27 2022-04-14 Realnetworks, Inc. Messaging platform communication processing using message cluster detection and categorization
RU2710739C1 (en) * 2019-03-29 2020-01-10 Акционерное общество "Лаборатория Касперского" System and method of generating heuristic rules for detecting messages containing spam

Similar Documents

Publication Publication Date Title
JP4335582B2 (en) System and method for detecting junk e-mail
RU2710739C1 (en) System and method of generating heuristic rules for detecting messages containing spam
CN100527117C (en) Method and system for determining information in system containing multiple modules against offal mail
US8959159B2 (en) Personalized email interactions applied to global filtering
US11722503B2 (en) Responsive privacy-preserving system for detecting email threats
Saad et al. A survey of machine learning techniques for Spam filtering
US8291054B2 (en) Information processing system, method and program for classifying network nodes
US20220294751A1 (en) System and method for clustering emails identified as spam
EP4187871A1 (en) System and method for identifying a phishing email
Sethi et al. Spam email detection using machine learning and neural networks
US12244562B2 (en) Algorithm to detect malicious emails impersonating brands
Bogawar et al. Email mining: a review
RU2750643C2 (en) Method for recognizing a message as spam through anti-spam quarantine
Kulkarni et al. Effect of header-based features on accuracy of classifiers for spam email classification
CN111010336A (en) Massive mail analysis method and device
RU2828611C1 (en) System and method of classifying electronic mail
RU2828610C1 (en) Method of classifying email messages and system for implementing it
JP5324824B2 (en) Information processing apparatus, information processing system, information processing method, and program for classifying network nodes
US20220182347A1 (en) Methods for managing spam communication and devices thereof
US12143358B2 (en) System and method for creating a signature of a spam message
EP3716540B1 (en) System and method for generating heuristic rules for identifying spam emails
RU2776924C1 (en) Method for generating the signature of an unwanted electronic message
US20250047639A1 (en) System and method for generating a signature of a spam message based on clustering
US12028304B2 (en) System and method for restricting the reception of e-mails from a sender of bulk spam mail
EP4199471A1 (en) System and method for restricting the reception of e-mails from a sender of bulk spam mail