RU2821054C1 - Method and system for forming clusters of nodes in computer network - Google Patents

Method and system for forming clusters of nodes in computer network Download PDF

Info

Publication number
RU2821054C1
RU2821054C1 RU2023101335A RU2023101335A RU2821054C1 RU 2821054 C1 RU2821054 C1 RU 2821054C1 RU 2023101335 A RU2023101335 A RU 2023101335A RU 2023101335 A RU2023101335 A RU 2023101335A RU 2821054 C1 RU2821054 C1 RU 2821054C1
Authority
RU
Russia
Prior art keywords
network
nodes
clusters
computer network
data
Prior art date
Application number
RU2023101335A
Other languages
Russian (ru)
Inventor
Алексей Владимирович Белый
Дмитрий Викторович Жиров
Original Assignee
Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) filed Critical Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Priority to PCT/RU2023/000017 priority Critical patent/WO2024158306A1/en
Application granted granted Critical
Publication of RU2821054C1 publication Critical patent/RU2821054C1/en

Links

Abstract

FIELD: electrical communication equipment.
SUBSTANCE: invention relates to communication networks. Method of forming clusters of nodes in a computer network includes steps of collecting data on network interactions of all nodes of the computer network for a selected period of time, wherein said data contain at least local and remote IP addresses and ports of nodes, determining a list of network connections of each node of a computer network, determining, based on the data, the number of network connections of each node to services by constructing an adjacency matrix of a bipartite graph, generating a graph Laplacian based on the data, and determining eigen values and eigen vectors of each node, performing clustering of computer network based on values of eigen vectors, wherein the clustering process continues until the stop criterion, a graph representing clusters of computer network nodes is formed, network interaction policies are applied in accordance with the obtained clusters of computer network nodes.
EFFECT: increased network security due to accuracy of network nodes clustering.
4 cl, 4 dwg

Description

ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD

[0001] Заявленное техническое решение в общем относится к области сетей связи, а в частности к способу и системе кластеризации сети связи на основе данных сетевых взаимодействий.[0001] The claimed technical solution generally relates to the field of communication networks, and in particular to a method and system for clustering a communication network based on network interaction data.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART

[0002] В настоящее время в мире большое внимание уделяется области сетевой безопасности. Решения, направленные на обеспечение безопасности сетей, позволяют защитить как данные, в том числе критические, передающиеся внутри сети, так и обеспечить защиту от множества угроз и работоспособность сети в целом, что, соответственно, является неотъемлемой частью работоспособности любого современного предприятия или организации.[0002] Currently, the world is paying much attention to the field of network security. Solutions aimed at ensuring network security make it possible to protect both data, including critical data, transmitted within the network, as well as to ensure protection from a variety of threats and the performance of the network as a whole, which, accordingly, is an integral part of the performance of any modern enterprise or organization.

[0003] Одним из важных инструментов в управлении сетевыми взаимодействиями на предприятиях и организациях является установление политик сетевой безопасности. Политики сетевых взаимодействий позволяют выявлять как аномалии в поведении устройств сети, так и обеспечивать изоляцию определенных групп от других участников сети, например, для предотвращения утечки критических данных. Как правило, для формирования политик сетевых взаимодействий, требуется сформировать кластеры внутри сети, т.е. разбить все устройства сети на определенные группы, что является сложной и нетривиальной задачей. Точность и качество такого разбиения будет прямо влиять на безопасность сети.[0003] One of the important tools in managing network interactions in enterprises and organizations is the establishment of network security policies. Network interaction policies allow you to detect both anomalies in the behavior of network devices and ensure the isolation of certain groups from other network participants, for example, to prevent leakage of critical data. As a rule, to formulate network interaction policies, it is necessary to form clusters within the network, i.e. divide all network devices into specific groups, which is a complex and non-trivial task. The accuracy and quality of such partitioning will directly affect the security of the network.

[0004] Так, в известном уровне техники, для формирования кластеров в сети применяются подходы, основанные на кластеризации графа связей между хостами сети и интенсивности взаимодействий между хостами сети.[0004] Thus, in the prior art, approaches based on clustering the graph of connections between network hosts and the intensity of interactions between network hosts are used to form clusters in a network.

[0005] Недостатками такого подхода является низкая точность и эффективность кластеризации сети из-за невозможности определения кластеров в сети при заранее неизвестном количестве кластеров в этой сети. Кроме того, из-за построения кластеров только на основе взаимодействии хостов сети, сформированные группы могут включать узлы, фактически не относящиеся к указанной группе, что соответственно приводит к снижению безопасности сети.[0005] The disadvantages of this approach are the low accuracy and efficiency of network clustering due to the impossibility of determining clusters in a network when the number of clusters in this network is unknown in advance. In addition, due to the construction of clusters only based on the interaction of network hosts, the formed groups may include nodes that do not actually belong to the specified group, which accordingly leads to a decrease in network security.

[0006] Из уровня техники также известно решение, раскрытое в патенте США № US 7945668 B1 (NARUS INC), опубл. 17.05.2011. Указанное решение, в частности, раскрывает способ профилирования сетевой активности на основе кластеризации сети. Так, для профилирования сетевой активности, из собранных данных о сетевой активности формируется матрица ассоциаций и сокращенная матрица, на основе которой генерируются промежуточные кластеры, которые в последствии объединяются в совместные кластера в соответствии со степенью похожести объектов. По указанным кластерам выполняются сетевые операции.[0006] The prior art also knows the solution disclosed in US patent No. US 7945668 B1 (NARUS INC), publ. 05/17/2011. This solution, in particular, discloses a method for profiling network activity based on network clustering. Thus, to profile network activity, an association matrix and a reduced matrix are formed from the collected data on network activity, on the basis of which intermediate clusters are generated, which are subsequently combined into joint clusters in accordance with the degree of similarity of objects. Network operations are performed on the specified clusters.

[0007] Недостатком указанного решения является низкая точность непосредственно процесса кластеризации из-за разбиения промежуточных кластеров на основе метрики связности и дальнейшее объединение указанных кластеров в совместный по пороговому значению, что, соответственно, может привести к некорректному итоговому кластеру, и, как следствие не обеспечить требуемую безопасность сети.[0007] The disadvantage of this solution is the low accuracy of the clustering process itself due to the splitting of intermediate clusters based on the connectivity metric and the further merging of these clusters into a joint one based on the threshold value, which, accordingly, can lead to an incorrect final cluster, and, as a result, fail to provide required network security.

[0008] Общими недостатками существующих решений является отсутствие эффективного способа кластеризации узлов сети, обеспечивающего точный процесс разбиения узлов на группы за счет дополнительных данных о сервисах, с которыми взаимодействуют хосты и интенсивности взаимодействия хостов и сервисов, что, соответственно, позволяет более эффективно формировать политики сетевой безопасности, выявлять аномалии в сетевых узлах и повышает защищенность сети и данных. Кроме того, такого рода решение, должно обеспечивать возможность определить заранее неизвестное количество кластеров в сети.[0008] The general disadvantages of existing solutions is the lack of an effective method for clustering network nodes, providing an accurate process for dividing nodes into groups due to additional data about the services with which the hosts interact and the intensity of interaction between hosts and services, which, accordingly, allows for more efficient formation of network policies security, detect anomalies in network nodes and increases the security of the network and data. In addition, this kind of solution should provide the ability to determine in advance an unknown number of clusters in the network.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION

[0009] В заявленном техническом решении предлагается новый подход к формированию кластеров узлов в компьютерной сети. В данном решении используются данные о взаимодействии сервисов и хостов для формирования кластеров узлов, что соответственно повышает точность формирования таких кластеров и обеспечивает возможность применения сетевых операций к указанным кластерам.[0009] The claimed technical solution proposes a new approach to the formation of clusters of nodes in a computer network. This solution uses data on the interaction of services and hosts to form clusters of nodes, which accordingly increases the accuracy of the formation of such clusters and provides the ability to apply network operations to these clusters.

[0010] Таким образом, решается техническая проблема обеспечения точности кластеризации узлов сети.[0010] Thus, the technical problem of ensuring the accuracy of clustering of network nodes is solved.

[0011] Техническим результатом, достигающимся при решении данной проблемы, является повышение безопасности сети за счет точности кластеризации узлов сети.[0011] The technical result achieved by solving this problem is to increase network security due to the accuracy of clustering of network nodes.

[0012] Указанный технический результат достигается благодаря осуществлению способа формирования кластеров узлов в компьютерной сети, выполняющийся по меньшей мере одним вычислительным устройством, и содержащий этапы, на которых:[0012] The specified technical result is achieved by implementing a method for forming clusters of nodes in a computer network, performed by at least one computing device, and containing the steps of:

a) собирают данные о сетевых взаимодействиях всех узлов компьютерной сети за выбранный период времени, причем указанные данные содержат по меньшей мере: локальные и удаленные IP-адреса и порты узлов;a) collect data on network interactions of all nodes of a computer network for a selected period of time, and the specified data contains at least: local and remote IP addresses and ports of nodes;

b) определяют, на основе данных, полученных на этапе, а), список сетевых соединений каждого узла компьютерной сети;b) determine, based on the data obtained at stage a), a list of network connections for each node of the computer network;

c) определяют, на основе данных, полученных на этапе b), количество сетевых соединений каждого узла к сервисам путем построения матрицы смежности двудольного графа;c) determine, based on the data obtained in step b), the number of network connections of each node to services by constructing an adjacency matrix of a bipartite graph;

d) формируют лапласиан графа на основе данных, полученных на этапе с), и определяют собственные значения и собственные векторы каждого узла;d) forming a Laplacian of the graph based on the data obtained in step c) and determining the eigenvalues and eigenvectors of each node;

e) выполняют кластеризацию компьютерной сети на основе значений собственных векторов, полученных на этапе е), причем процесс кластеризации продолжается до критерия останова;e) perform clustering of the computer network based on the values of the eigenvectors obtained in step e), and the clustering process continues until the stopping criterion;

f) формируют граф, представляющий собой кластеры узлов компьютерной сети;f) form a graph representing clusters of computer network nodes;

g) применяют политики сетевых взаимодействий в соответствии с полученными кластерами узлов компьютерной сети.g) apply network interaction policies in accordance with the resulting clusters of computer network nodes.

[0013] В одном из частных вариантов реализации сервисы представляют собой по меньшей мере одно из: приложение, база данных, программное средство, запущенное на узле.[0013] In one particular embodiment, the services are at least one of an application, a database, or a software tool running on a node.

[0014] В другом частном варианте реализации политики сетевых взаимодействий представляют собой, по меньшей мере, одно из следующего:[0014] In another particular embodiment, the network communication policies are at least one of the following:

a) ограничение сетевых взаимодействий между кластерами узлов;a) limiting network interactions between clusters of nodes;

b) ограничение сетевых взаимодействий между определенными кластерами узлов;b) limiting network interactions between certain clusters of nodes;

c) обеспечение сетевого взаимодействия узлов сети внутри кластера;c) ensuring network interaction of network nodes within the cluster;

d) ограничение аномальных сетевых взаимодействий определенных узлов сети.d) limiting anomalous network interactions of certain network nodes.

[0015] Кроме того, заявленные технические результаты достигаются за счет системы формирования кластеров узлов, содержащей:[0015] In addition, the claimed technical results are achieved through a system for forming clusters of nodes, containing:

по меньшей мере один процессор;at least one processor;

по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа формирования кластеров узлов в компьютерной сети.at least one memory coupled to the processor that contains computer-readable instructions that, when executed by at least one processor, implement a method for forming clusters of nodes in a computer network.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0016] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.[0016] Features and advantages of the present invention will become apparent from the following detailed description of the invention and the accompanying drawings.

[0017] Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа.[0017] FIG. 1 illustrates a block diagram of the claimed method.

[0018] Фиг. 2 иллюстрирует интенсивность взаимодействия хостов и сервисов в компьютерной сети.[0018] FIG. Figure 2 illustrates the intensity of interaction between hosts and services on a computer network.

[0019] Фиг. 3 иллюстрирует результат кластеризации сети.[0019] FIG. 3 illustrates the result of network clustering.

[0020] Фиг. 4 иллюстрирует пример общего вида вычислительной системы, которая обеспечивает реализацию заявленного решения.[0020] FIG. 4 illustrates an example of a general view of a computing system that ensures the implementation of the claimed solution.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[0021] Заявленное техническое решение предлагает новый подход, обеспечивающий повышение точности кластеризации узлов сети, что, как следствие, обеспечивает более гибкое и эффективное управление политиками сетевой безопасности, а также повышает защищенность сети в целом. Кроме того, указанное техническое решение обеспечивает возможность выявления аномальных узлов на основе сформированных кластеров.[0021] The claimed technical solution offers a new approach that improves the accuracy of clustering of network nodes, which, as a result, provides more flexible and efficient management of network security policies, and also increases the security of the network as a whole. In addition, the specified technical solution provides the ability to identify anomalous nodes based on the formed clusters.

[0022] Техническое решение может быть реализовано в виде распределенной компьютерной системы.[0022] The technical solution can be implemented in the form of a distributed computer system.

[0023] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).[0023] In this solution, a system means a computer system, a computer (computer), CNC (computer numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of computing operations (actions, instructions).

[0024] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).[0024] By command processing device we mean an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).

[0025] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флэш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др.[0025] A command processing device reads and executes machine instructions (programs) from one or more storage devices, such as devices such as random access memory (RAM) and/or read only memory (ROM). ROM can be, but is not limited to, hard drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.

[0026] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0026] Program - a sequence of instructions intended for execution by a computer control device or command processing device.

[0027] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, получение артефактов программно-аппаратного решения, формирование цифрового стандарта программно-аппаратного решения, формирование результатов проверки программно-аппаратного решения, анализ данных и т.п.Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования С++, Java, Python, различных библиотек (например, MFC; Microsoft Foundation Classes) и т.д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например Wi-Fi, Bluetooth, USB, WLAN, LAN и т.п.[0027] The term "instructions" as used in this application may refer generally to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, retrieving hardware solution artifacts, generating digital standard for a software and hardware solution, generation of test results for a software and hardware solution, data analysis, etc. Instructions can be implemented in a variety of ways, including, for example, object-oriented methods. For example, instructions can be implemented using the programming language C++, Java, Python, various libraries (for example, MFC; Microsoft Foundation Classes), etc. Instructions that carry out the processes described in this solution can be transmitted over both wired and wireless data channels, such as Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.

[0028] На Фиг. 1 представлена блок схема способа 100 формирования кластеров узлов в компьютерной сети, который раскрыт поэтапно более подробно ниже. Указанный способ 100 заключается в выполнении этапов, направленных на обработку различных цифровых данных. Обработка, как правило, выполняется с помощью системы, например, системы 400, которая может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т.д. Более подробно элементы системы 400 раскрыты на Фиг. 4[0028] In FIG. 1 shows a block diagram of a method 100 for forming clusters of nodes in a computer network, which is described step by step in more detail below. Said method 100 involves performing steps to process various digital data. Processing is typically performed by a system, such as system 400, which may be, for example, a server, a computer, a mobile device, a computing device, etc. The elements of the system 400 are disclosed in more detail in FIG. 4

[0029] На этапе 110 собирают данные о сетевых взаимодействиях всех узлов компьютерной сети за выбранный период времени, причем указанные данные содержат по меньшей мере: локальные и удаленные IP-адреса и порты узлов.[0029] At step 110, data is collected about network interactions of all nodes of the computer network for a selected period of time, and the specified data contains at least: local and remote IP addresses and ports of the nodes.

[0030] На указанном этапе 110 выполняется сбор данных о сетевой активности каждого узла сети. Узел сети может представлять собой вычислительное устройство, подключенное к вычислительной сети предприятия. Вычислительным устройством может являться, например, сервер, персональный компьютер, планшет, периферийное устройство, подключенное к сети и т.д. Вычислительная сеть может являться локальной вычислительной сетью предприятия, корпоративной сетью и т.д. Под предприятием может пониматься, любая организация, компания, фирма и т.д., обладающая структурной сетью связи. Так, сетевую активность узлов могут получать с помощью анализаторов сетевого трафика. Анализаторы сетевого трафика представляют собой программно-аппаратные средства для перехвата и анализа сетевого трафика сети. Кроме того, в качестве агента, выполняющего сбор сетевой активности на предприятии может быть использовано непосредственно оборудование сети, например, маршрутизаторы сети. Также, могут применяться и другие средства получения сетевой активности, например, протокол Netftow от компании Cisco, Hadoop и т.д. Собираемые данные о сетевой активности сохраняются в системе, такой как система 400, в виде логов журнала, например, parquet-файлов кластера Hadoop. Так, в одном варианте осуществления, данные о сетевой активности хранятся в неструктурированном виде и извлекаются посредством регулярных выражений. Указанная активность может собираться в определенные периоды времени, например, раз в час и содержать в себе информацию о потоках сетевого взаимодействия, включая следующие поля: локальный IP-адрес устройства сети, локальный порт, удаленный IP-адрес, удаленный порт, состояние соединения, дата и время соединения, тип протокола, имя хоста и т.д. Под хостом в данном решении следует понимать любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определенное на этих интерфейсах. Так хостом может являться сервер, компьютер, подключенный к сети связи и т.д.[0030] At this step 110, data about the network activity of each network node is collected. A network node can be a computing device connected to an enterprise computer network. A computing device can be, for example, a server, a personal computer, a tablet, a peripheral device connected to a network, etc. A computer network can be a local area network of an enterprise, a corporate network, etc. An enterprise can be understood as any organization, company, firm, etc., with a structural communication network. Thus, the network activity of nodes can be obtained using network traffic analyzers. Network traffic analyzers are software and hardware tools for intercepting and analyzing network network traffic. In addition, network equipment, for example, network routers, can be used as an agent collecting network activity in an enterprise. Also, other means of obtaining network activity can be used, for example, the Netftow protocol from Cisco, Hadoop, etc. Collected network activity data is stored on a system, such as system 400, in the form of logs, such as Hadoop cluster parquet files. Thus, in one embodiment, network activity data is stored in an unstructured form and retrieved using regular expressions. This activity can be collected at certain periods of time, for example once an hour, and contain information about network communication flows, including the following fields: local IP address of the network device, local port, remote IP address, remote port, connection status, date and connection time, protocol type, host name, etc. In this solution, a host should be understood as any device that provides client-server format services in server mode over any interfaces and is uniquely defined on these interfaces. So a host can be a server, a computer connected to a communication network, etc.

[0031] На этапе 120 определяют, на основе данных, полученных на этапе 110, список сетевых соединений каждого узла компьютерной сети. На основе данных о сетевых взаимодействиях, содержащих по меньшей мере локальные и удаленные IP-адреса и порты узлов сети, отфильтровываются записи, в которых локальный IP адрес и удаленный IP адрес равны 127.0.0.1 или 0.0.0.0, что означает взаимодействие хоста исключительно внутри своего домена. Указанная фильтрация необходима, в частотности, для исключения данных о сетевых взаимодействиях внутренних процессов хоста, т.е. данных, не относящихся к процессу кластеризации. Отфильтрованный набор данных разделяется на два поля, содержащие данные о взаимодействиях каждого хоста и данные о взаимодействиях с сервисами. В данном решении под сервисами следует понимать любое программное средство и/или приложение, запущенное на хосте, к которому осуществлялось обращение. Так, сервисом может являться база данных, приложение совместной работы, приложение видеоконференции и т.д.[0031] At step 120, a list of network connections for each node on the computer network is determined, based on the data obtained at step 110. Based on data on network interactions containing at least local and remote IP addresses and ports of network hosts, records are filtered out in which the local IP address and remote IP address are equal to 127.0.0.1 or 0.0.0.0, which means that the host interacts exclusively within its domain. The specified filtering is necessary, in frequency, to exclude data about network interactions of internal host processes, i.e. data not related to the clustering process. The filtered data set is divided into two fields containing data about interactions of each host and data about interactions with services. In this solution, services should be understood as any software and/or application running on the host that was accessed. So, a service can be a database, a collaboration application, a video conferencing application, etc.

[0032] На этапе 130 определяют, на основе данных, полученных на этапе 120, количество сетевых соединений каждого узла к сервисам путем построения матрицы смежности двудольного графа.[0032] At step 130, the number of network connections of each node to services is determined, based on the data obtained at step 120, by constructing a bipartite graph adjacency matrix.

[0033] На фиг. 2 раскрыт пример двудольного графа. Указанный граф отображает все взаимодействия хостов (круги) с сервисами (квадраты) в компьютерной сети. Т.к. граф - это структура данных, которая представляет собой сеть со связями внутри, то для обеспечения возможности определения всех связей между узлами сети, на этапе 130 строится граф. Указанный граф может быть сформирован в системе управления безопасностью и отображен, посредством интерфейсов ввода/вывода. Для формирования указанного графа, характеризующего интенсивность взаимодействия узлов в сети, на указанном этапе 130, из двух полей данных о сетевых взаимодействиях, полученных на этапе 120, формируют прямоугольную матрицу, в которой в строках идут все встречающиеся значения сервисов, а в столбцах все встречающиеся значения хостов. На основе указанной матрицы формируется матрица смежности двудольного графа. Она является квадратной, состоящей из четырех блоков: два квадратных блока по главной диагонали и два прямоугольных блока - над главной диагональю, под диагональю. Размер матрицы равен количеству хостов и сервисов. В ячейках матрицы получается количество сетевых соединений от хоста к сервису за рассматриваемый период. В указанной матрице смежности, индексы строк и столбцов представляют узлы, а записи представляют отсутствие или наличие ребра между узлами. Веса на ребрах могут представлять интенсивность взаимодействий, между соединенными ими хостами.[0033] In FIG. 2 shows an example of a bipartite graph. The specified graph displays all interactions of hosts (circles) with services (squares) on a computer network. Because a graph is a data structure that represents a network with connections inside, then to ensure that all connections between network nodes can be determined, a graph is constructed at step 130. The specified graph can be generated in the security management system and displayed through input/output interfaces. To form the specified graph characterizing the intensity of interaction of nodes in the network, at the specified stage 130, from two fields of data on network interactions obtained at stage 120, a rectangular matrix is formed in which all occurring values of services are in the rows, and all occurring values are in the columns hosts. Based on the specified matrix, an adjacency matrix of a bipartite graph is formed. It is square, consisting of four blocks: two square blocks along the main diagonal and two rectangular blocks - above the main diagonal, below the diagonal. The size of the matrix is equal to the number of hosts and services. The matrix cells contain the number of network connections from the host to the service for the period under consideration. In the specified adjacency matrix, row and column indices represent nodes, and entries represent the absence or presence of an edge between nodes. The weights on the edges can represent the intensity of interactions between the hosts they connect.

[0034] Указанную матрицу сохраняют в память системы 200. На основе указанной матрицы формируется двудольный граф. Таким образом, на указанном этапе 130 формируется количество сетевых взаимодействий каждого хоста с сервисами, т.е. обеспечивается возможность определения общего количества хостов и общего количества сервисов, а также интенсивность их взаимодействий.[0034] The specified matrix is stored in the memory of the system 200. Based on the specified matrix, a bipartite graph is generated. Thus, at the specified stage 130, the number of network interactions of each host with services is formed, i.e. provides the ability to determine the total number of hosts and the total number of services, as well as the intensity of their interactions.

[0035] Далее на основе полученных данных выполняется процесс кластеризации сети. В одном частном варианте осуществления кластеризация узлов сети выполняется с помощью алгоритма спектральной кластеризации. Более подробно алгоритм спектральной кластеризации раскрыт на этапах 140-160.[0035] Next, based on the received data, the network clustering process is performed. In one particular embodiment, clustering of network nodes is performed using a spectral clustering algorithm. The spectral clustering algorithm is disclosed in more detail in steps 140-160.

[0036] Алгоритм спектральной кластеризации обеспечивает возможность выделения кластеров в компьютерных сетях на основе взаимодействий, происходящих в этих сетях.[0036] The spectral clustering algorithm provides the ability to identify clusters in computer networks based on the interactions that occur in those networks.

[0037] На этапе 140 формируют лапласиан графа на основе данных, полученных на этапе 130, и определяют собственные значения и собственные векторы каждого узла.[0037] At step 140, a Laplacian of the graph is generated based on the data obtained at step 130, and the eigenvalues and eigenvectors of each node are determined.

[0038] Важно понимать концепцию собственных значений и собственных векторов матриц. Для квадратной матрицы А, если существует ненулевой вектор х и некоторый скаляр λ, такие, что Ах=λх, то х называется собственным вектором матрицы А с соответствующим собственным значением λ. Матрица А, по сути, является функцией, которая отображает векторы в новые векторы. Большинство векторов поменяются совершенно произвольным образом, когда к ним будет применен А, но собственные векторы меняются только по величине. Собственный вектор масштабируется в соответствии с собственным значением λ. Собственные векторы помогают описать динамику систем, представленных матрицами, а именно динамику сети связи. Указанные собственные векторы необходимы для реализации алгоритма спектральной кластеризации.[0038] It is important to understand the concept of eigenvalues and eigenvectors of matrices. For a square matrix A, if there is a nonzero vector x and some scalar λ such that Ax = λx, then x is called an eigenvector of matrix A with a corresponding eigenvalue λ. Matrix A is essentially a function that maps vectors into new vectors. Most vectors will change in a completely random way when A is applied to them, but eigenvectors only change in magnitude. The eigenvector is scaled according to the eigenvalue λ. Eigenvectors help describe the dynamics of systems represented by matrices, namely the dynamics of a communication network. The specified eigenvectors are necessary to implement the spectral clustering algorithm.

[0039] Так, на указанном этапе 140 находятся собственные значения и собственные векторы матрицы. Указанные собственные векторы отражают данные о принадлежности узла к кластеру. Так как матрица симметричная относительно главной диагонали и состоит из вещественных чисел, все собственные числа являются неотрицательными вещественными числами. А собственные векторы состоят из вещественных чисел. Далее рассматриваются собственные значения в порядке возрастания и соответствующие им собственные векторы. При этом первое собственное значение матрицы всегда равно 0 (по построению матрицы, степень каждой вершины равна сумме по строке и по столбцу матрицы смежности графа). В общем случае число нулевых собственных чисел равно количеству компонент связности графа. Так, нулевые собственные значения представляют компоненты связности, соответственно, собственные значения около нуля говорят нам, что существует разделение двух компонентов. Так, например, при наличии четырех собственных значений перед разрывом, будет означать, что существует четыре кластера. Векторы, связанные с первыми тремя положительными собственными значениями, должны дать нам информацию о том, какие три разреза необходимо сделать на графике, чтобы назначить каждый узел одному из четырех приближенных компонентов.[0039] Thus, at said step 140, the eigenvalues and eigenvectors of the matrix are found. The specified eigenvectors reflect data about the node's membership in the cluster. Since the matrix is symmetric about the main diagonal and consists of real numbers, all eigenvalues are non-negative real numbers. And eigenvectors consist of real numbers. Next, we consider the eigenvalues in ascending order and their corresponding eigenvectors. In this case, the first eigenvalue of the matrix is always equal to 0 (by construction of the matrix, the degree of each vertex is equal to the sum of the row and column of the adjacency matrix of the graph). In general, the number of zero eigenvalues is equal to the number of connected components of the graph. Thus, zero eigenvalues represent connected components, so eigenvalues near zero tell us that there is a separation of two components. So, for example, having four eigenvalues before the break would mean that there are four clusters. The vectors associated with the first three positive eigenvalues should tell us which three cuts need to be made in the graph to assign each node to one of the four approximate components.

[0040] Таким образом, определение собственных значений обеспечивает возможность определения количества кластеров в сети. Следовательно, на указанном этапе 140 получают данные о количестве кластеров в сети.[0040] Thus, determining the eigenvalues makes it possible to determine the number of clusters in the network. Therefore, at this step 140, data on the number of clusters in the network is obtained.

[0041] На этапе 150 выполняют кластеризацию компьютерной сети на основе значений собственных векторов, полученных на этапе 140, причем процесс кластеризации продолжается до критерия останова.[0041] At step 150, the computer network is clustered based on the eigenvector values obtained at step 140, with the clustering process continuing until the stopping criterion.

[0042] Для непосредственного определения количества кластеров в сети и принадлежности каждого узла к определенному кластеру, рассматриваются в цикле собственные векторы, начиная со второго. Смотрятся знаки чисел, входящих в собственный вектор. Если больше нуля, то соответствующая вершина графа относится к одному кластеру, если меньше нуля, к другому. Если значение близко к нулю, то такие вершины относятся или к первому, или ко второму кластеру или выделяются в отдельный кластер (плохо различимые вершины). Рассмотрение каждого последующего собственного вектора даст разбиение уже полученных кластеров на более мелкие части. Эмпирически подобранный критерий останова позволяет рассматривать собственные векторы, соответствующие собственным числам меньше 1. Обычно это 4-10 собственных векторов. Далее в спектре матрицы встречаются несколько десятков или сотен собственных чисел, равных 1. Если рассматривать разбиения, используя соответствующие собственные векторы, то получающиеся разбиения не затрагивают разбиения хостов на кластеры, но делают все более детальные разбиения сервисов. Благодаря указанной особенности обеспечивается возможность точного разбиения узлов на кластеры сети. При этом, стоит отметить, что также сокращается время и требуемые затрачиваемые вычислительные ресурсы, т.к. в известных из уровня техники алгоритмах рассматриваются все векторы, что приводит к неточному разбиению узлов на кластеры.[0042] To directly determine the number of clusters in the network and the belonging of each node to a specific cluster, eigenvectors are considered in a cycle, starting from the second. Look at the signs of the numbers included in the eigenvector. If it is greater than zero, then the corresponding vertex of the graph belongs to one cluster; if it is less than zero, to another. If the value is close to zero, then such vertices belong to either the first or second cluster or are separated into a separate cluster (poorly distinguishable vertices). Consideration of each subsequent eigenvector will result in the division of the already obtained clusters into smaller parts. An empirically selected stopping criterion allows us to consider eigenvectors corresponding to eigenvalues less than 1. Typically these are 4-10 eigenvectors. Further, in the spectrum of the matrix there are several tens or hundreds of eigenvalues equal to 1. If we consider the partitions using the corresponding eigenvectors, then the resulting partitions do not affect the partitioning of hosts into clusters, but make increasingly detailed partitions of services. Thanks to this feature, it is possible to accurately divide nodes into network clusters. At the same time, it is worth noting that the time and required expended computing resources are also reduced, because In prior art algorithms, all vectors are considered, which leads to an inaccurate division of nodes into clusters.

[0043] На этапе 160 формируют граф, представляющий собой кластеры узлов компьютерной сети;[0043] At step 160, a graph is formed that represents clusters of computer network nodes;

[0044] На основе данных, полученных на этапе 150, выполняется формирование графа, представляющего собой кластеры узлов. Так, указанный процесс может выполняться в системе 400. Результат формирования графа может быть представлен администратору сети, например, в графическом интерфейсе.[0044] Based on the data obtained at step 150, a graph is generated that represents clusters of nodes. Thus, the specified process can be performed in the system 400. The result of the graph formation can be presented to the network administrator, for example, in a graphical interface.

[0045] Так, фиг. 3 раскрывает результат кластеризации узлов сети предприятия, полученный в ходе создания указанного технического решения. Квадратами отмечены сервисы, а кругами - хосты. Указанный граф отражает фактическую структуру предприятия. Для формирования графа производилась симуляция физического взаимодействия вершин графа (вершины, принадлежащие к одному кластеру, притягиваются до определенного расстояния, вершины, принадлежащие различным кластерам, отталкиваются, вдоль ребер действуют силы притяжения подобно растянутым резинкам).[0045] So, FIG. 3 reveals the result of clustering of enterprise network nodes, obtained during the creation of the specified technical solution. Services are marked with squares, and hosts are marked with circles. This column reflects the actual structure of the enterprise. To form the graph, a simulation of the physical interaction of the graph vertices was carried out (vertices belonging to one cluster are attracted to a certain distance, vertices belonging to different clusters repel, attractive forces act along the edges like stretched elastic bands).

[0046] На этапе 170 применяют политики сетевых взаимодействий в соответствии с полученными кластерами узлов компьютерной сети.[0046] At step 170, network communication policies are applied in accordance with the resulting clusters of computer network nodes.

[0047] На указанном этапе 170, к кластеризованной сети предприятия применяются политики сетевой безопасности в соответствии с установленными требованиями.[0047] At step 170, network security policies are applied to the clustered enterprise network in accordance with established requirements.

[0048] Так, политики сетевых взаимодействий представляют собой, по меньшей мере, одно из следующего: ограничение сетевых взаимодействий между кластерами узлов; ограничение сетевых взаимодействий между определенными кластерами узлов; обеспечение сетевого взаимодействия узлов сети внутри кластера; ограничение аномальных сетевых взаимодействий определенных узлов сети.[0048] Thus, network communication policies are at least one of the following: limiting network communications between clusters of nodes; limiting network interactions between certain clusters of nodes; ensuring network interaction of network nodes within the cluster; limiting anomalous network interactions of certain network nodes.

[0049] Так как сеть предприятия может обладать большим количеством хостов и сервисов, индивидуальное применение политики безопасности к каждому узлу является невыполнимой задачей. Указанный способ 100 благодаря реализации алгоритма кластеризации обеспечивает возможность эффективного управления безопасностью сети, а за счет точности алгоритма, достигнутой в указанном решении, также повышается защита сети в целом, т.к. политика сетевой безопасности устанавливается на релевантном кластере.[0049] Since an enterprise network may have a large number of hosts and services, individually applying security policies to each node is an impossible task. The specified method 100, thanks to the implementation of the clustering algorithm, provides the ability to effectively manage network security, and due to the accuracy of the algorithm achieved in the specified solution, the security of the network as a whole is also increased, because The network security policy is installed on the relevant cluster.

[0050] Так, продолжая рассмотрение этапа 170, данные о кластеризации сети, полученные на этапе 160, могут сравниваться с данными о кластерах, содержащимися в учетной системе, например, системе безопасности предприятия. Так, в указанной системе безопасности может содержаться, например, в базе данных, сведения о принадлежности узлов к определенному кластеру. Как упоминалось выше, кластером может являться группа узлов компьютерной сети, например, департамент, отдел и т.д. По результатам сравнения фактической и заданной структуры обнаруживаются аномалии, когда фактические и учетные кластера совпадают, допустим, на 80-90 процентов, а 10-20 процентов хостов попадают в другие кластера (собственно составляют аномалии). Такие случаи характеризуют нетипичное поведение узла в сети, например, обращение в базы данных, не использующихся в его кластере, что соответственно может указывать на аномальное поведение. К выявленным аномальным узлам далее могут быть применены меры безопасности, например, автоматическая временная блокировка, ограничение сетевых взаимодействий и т.д.[0050] Thus, continuing with step 170, the network clustering data obtained at step 160 can be compared with cluster data contained in an accounting system, such as an enterprise security system. Thus, the specified security system may contain, for example, in a database, information about the membership of nodes in a specific cluster. As mentioned above, a cluster can be a group of computer network nodes, for example, a department, department, etc. Based on the results of comparing the actual and specified structure, anomalies are detected when the actual and accounting clusters coincide, say, by 80-90 percent, and 10-20 percent of hosts fall into other clusters (actually constitute anomalies). Such cases characterize atypical behavior of a node on the network, for example, accessing databases that are not used in its cluster, which, accordingly, may indicate anomalous behavior. Security measures can then be applied to identified anomalous nodes, for example, automatic temporary blocking, restriction of network interactions, etc.

[0051] Кроме того, в еще одном частном варианте осуществления, по результатам определенных кластеров сети (этап 160), система безопасности может автоматически применять сетевые политики, например разрешающие сетевые взаимодействия внутри кластеров, и ограничивающие сетевые взаимодействия между кластерами. Для специалиста в данной области техники очевидно, что ограничения могут зависеть от степени критичности данных, обмениваемых каждым кластером. Так, например, кластеру, относящемуся к отделу, имеющему доступ к банковским тайнам, может быть ограничен обмен данными только внутри сети предприятия. В еще одном примере, отделу по связям с общественностью может быть применена политика, разрешающая использование сети Интернет, однако запрещающая скачивание файлов.[0051] Additionally, in yet another particular embodiment, based on the results of identified network clusters (step 160), the security system may automatically enforce network policies, such as allowing network interactions within clusters and restricting network interactions between clusters. It will be apparent to one skilled in the art that the limitations may depend on the sensitivity of the data exchanged by each cluster. For example, a cluster belonging to a department that has access to bank secrets may be limited to data exchange only within the enterprise network. In another example, the public relations department might have a policy that allows Internet use but prohibits downloading files.

[0052] Таким образом, в приведенных материалах заявленного технического решения раскрывается эффективный и точный способ кластеризации сети связи предприятия для установления политик сетевой безопасности, обеспечивающий повышение безопасности сети за счет возможности установления групповых политик и выявления аномалий на основе точной кластеризации сети. Кроме того, как следует из приведенных материалов заявки, указанный способ кластеризации сети связи может являться частью способа ограничения сетевых взаимодействий на предприятии, т.е. защиты сети связи с помощью установления политик сетевой безопасности и/или выявления аномальных узлов в указанной сети связи.[0052] Thus, the above materials of the claimed technical solution disclose an effective and accurate method for clustering an enterprise communications network to establish network security policies, which improves network security due to the ability to establish group policies and identify anomalies based on accurate network clustering. In addition, as follows from the above application materials, the specified method of clustering a communication network may be part of a method for limiting network interactions in an enterprise, i.e. protecting the communication network by establishing network security policies and/or identifying anomalous nodes in the specified communication network.

[0053] На Фиг. 4 представлен пример общего вида вычислительной системы 400, которая обеспечивает реализацию заявленного способа или является частью компьютерной системы, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.[0053] In FIG. 4 shows an example of a general view of a computer system 400, which provides the implementation of the claimed method or is part of a computer system, for example, a server, a personal computer, or part of a computing cluster that processes the necessary data to implement the claimed technical solution.

[0054] В общем случае система 400 содержит такие компоненты, как: один или более процессоров 401, по меньшей мере одну память 402, средство хранения данных 403, интерфейсы ввода/вывода 404, средство В/В 405, средство сетевого взаимодействия 406, которые объединяются посредством универсальной шины.[0054] In general, system 400 includes components such as: one or more processors 401, at least one memory 402, data storage 403, input/output interfaces 404, I/O 405, networking 406, which are connected via a universal bus.

[0055] Процессор 401 выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа 100. Процессор 401 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 402.[0055] The processor 401 performs the basic computational operations necessary to process data when executing the method 100. The processor 401 executes the necessary computer-readable instructions contained in the main memory 402.

[0056] Память 402, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.[0056] Memory 402 is typically in the form of RAM and contains the necessary software logic to provide the required functionality.

[0057] Средство хранения данных 403 может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства 403 позволяют выполнять долгосрочное хранение различного вида информации, например, данные о сетевой активности узлов и т.п.[0057] The data storage medium 403 can be in the form of HDD, SSD drives, raid array, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc. The means 403 allow for long-term storage of various types of information, for example, data on network activity of nodes, etc.

[0058] Для организации работы компонентов системы 400 и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В 404. Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, Fire Wire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.[0058] To organize the operation of system components 400 and organize the operation of external connected devices, various types of I/O interfaces 404 are used. The choice of appropriate interfaces depends on the specific design of the computing device, which can be, but is not limited to: PCI, AGP, PS/2, IrDa, Fire Wire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.

[0059] Выбор интерфейсов 404 зависит от конкретного исполнения системы 400, которая может быть реализована на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т.п.[0059] The choice of interfaces 404 depends on the specific implementation of the system 400, which can be implemented on a wide class of devices, for example, a personal computer, mainframe, laptop, server cluster, thin client, smartphone, server, etc.

[0060] В качестве средств В/В данных 405 может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тачпад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.[0060] The following can be used as I/O data 405: keyboard, joystick, display (touch display), monitor, touch display, touchpad, mouse, light pen, stylus, touchpad, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.

[0061] Средства сетевого взаимодействия 406 выбираются из устройств, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств 405 обеспечивается организация обмена данными между, например, системой 400, представленной в виде сервера и вычислительным устройством пользователя, на котором могут отображаться полученные данные (кластеризация узлов сети) по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0061] Network communication means 406 are selected from devices that provide network reception and transmission of data, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. . Using tools 405, the organization of data exchange is ensured between, for example, a system 400, represented in the form of a server, and a user’s computing device, on which the received data can be displayed (clustering of network nodes) via a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM.

[0062] Конкретный выбор элементов устройства 400 для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.[0062] The specific selection of elements of the device 400 to implement various software and hardware architectural solutions may vary while maintaining the required functionality provided.

[0063] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы.[0063] The submitted application materials disclose preferred examples of implementation of a technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology. Thus, the scope of the present technical solution is limited only by the scope of the attached formula.

Claims (19)

1. Способ формирования кластеров узлов в компьютерной сети, выполняющийся по меньшей мере одним вычислительным устройством и содержащий этапы, на которых:1. A method for forming clusters of nodes in a computer network, performed by at least one computing device and containing the steps of: a) собирают данные о сетевых взаимодействиях всех узлов компьютерной сети за выбранный период времени, причем указанные данные содержат по меньшей мере: локальные и удаленные IP-адреса и порты узлов;a) collect data on network interactions of all nodes of a computer network for a selected period of time, and the specified data contains at least: local and remote IP addresses and ports of nodes; b) определяют, на основе данных, полученных на этапе а), список сетевых соединений каждого узла компьютерной сети;b) determine, based on the data obtained in step a), a list of network connections for each node of the computer network; c) осуществляют фильтрацию сетевых соединений, в ходе которой исключают соединения, характеризующие взаимодействие узла внутри своего домена;c) filter network connections, during which they exclude connections that characterize the interaction of a node within its domain; d) определяют, на основе данных, полученных на этапе с), количество сетевых соединений каждого узла к сервисам путем построения матрицы смежности двудольного графа;d) determine, based on the data obtained in step c), the number of network connections of each node to services by constructing an adjacency matrix of a bipartite graph; e) формируют, на основе данных, полученных на этапе d), двудольный граф, характеризующий общее количество узлов, общее количество сервисов и интенсивность их взаимодействий;e) form, based on the data obtained at stage d), a bipartite graph characterizing the total number of nodes, the total number of services and the intensity of their interactions; f) формируют лапласиан графа на основе данных, полученных на этапе е), и определяют собственные значения и собственные векторы каждого узла;f) forming a Laplacian of the graph based on the data obtained in step e) and determining the eigenvalues and eigenvectors of each node; g) выполняют кластеризацию компьютерной сети на основе значений собственных векторов, полученных на этапе f), причем процесс кластеризации продолжается до критерия останова;g) perform clustering of the computer network based on the eigenvector values obtained in step f), and the clustering process continues until the stopping criterion; h) формируют граф, представляющий собой кластеры узлов компьютерной сети;h) form a graph representing clusters of computer network nodes; i) применяют политики сетевых взаимодействий в соответствии с полученными кластерами узлов компьютерной сети. i) apply network interaction policies in accordance with the resulting clusters of computer network nodes. 2. Способ по п. 1, характеризующийся тем, что сервисы представляют собой по меньшей мере одно из: приложение, база данных, программное средство, запущенное на узле.2. The method according to claim 1, characterized in that the services represent at least one of: an application, a database, a software tool running on the node. 3. Способ по п. 1, характеризующийся тем, что политики сетевых взаимодействий представляют собой, по меньшей мере, одно из следующего:3. The method according to claim 1, characterized in that the network interaction policies are at least one of the following: a) ограничение сетевых взаимодействий между кластерами узлов;a) limiting network interactions between clusters of nodes; b) ограничение сетевых взаимодействий между определенными кластерами узлов;b) limiting network interactions between certain clusters of nodes; c) обеспечение сетевого взаимодействия узлов сети внутри кластера;c) ensuring network interaction of network nodes within the cluster; d) ограничение аномальных сетевых взаимодействий определенных узлов сети.d) limiting anomalous network interactions of certain network nodes. 4. Система формирования кластеров узлов в компьютерной сети, содержащая:4. A system for forming clusters of nodes in a computer network, containing: по меньшей мере один процессор;at least one processor; по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по любому из пп. 1-3.at least one memory coupled to the processor, which contains machine-readable instructions that, when executed by at least one processor, enable the method of any one of claims to be carried out. 1-3.
RU2023101335A 2023-01-23 2023-01-23 Method and system for forming clusters of nodes in computer network RU2821054C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2023/000017 WO2024158306A1 (en) 2023-01-23 2023-01-23 Method and system for clustering nodes in a computer network

Publications (1)

Publication Number Publication Date
RU2821054C1 true RU2821054C1 (en) 2024-06-17

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113034A1 (en) * 2007-10-30 2009-04-30 Nagendra Krishnappa Method And System For Clustering
US20150324699A1 (en) * 2011-12-06 2015-11-12 The Trustees Of Columbia University In The City Of New York Network information methods devices and systems
US20200342006A1 (en) * 2019-04-29 2020-10-29 Adobe Inc. Higher-Order Graph Clustering
CN112565327A (en) * 2019-09-26 2021-03-26 广州虎牙科技有限公司 Access flow forwarding method, cluster management method and related device
RU2747452C2 (en) * 2019-09-30 2021-05-05 Акционерное общество "Лаборатория Касперского" Method for forming device clusters

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113034A1 (en) * 2007-10-30 2009-04-30 Nagendra Krishnappa Method And System For Clustering
US20150324699A1 (en) * 2011-12-06 2015-11-12 The Trustees Of Columbia University In The City Of New York Network information methods devices and systems
US20200342006A1 (en) * 2019-04-29 2020-10-29 Adobe Inc. Higher-Order Graph Clustering
CN112565327A (en) * 2019-09-26 2021-03-26 广州虎牙科技有限公司 Access flow forwarding method, cluster management method and related device
RU2747452C2 (en) * 2019-09-30 2021-05-05 Акционерное общество "Лаборатория Касперского" Method for forming device clusters

Similar Documents

Publication Publication Date Title
WO2021077642A1 (en) Network space security threat detection method and system based on heterogeneous graph embedding
US20180137288A1 (en) System and method for modeling security threats to prioritize threat remediation scheduling
US10140453B1 (en) Vulnerability management using taxonomy-based normalization
US9009653B2 (en) Identifying quality requirements of a software product
CN114301712B (en) Industrial internet alarm log correlation analysis method and system based on graph method
CN104796270A (en) Method and device for recommending suspicious components during problem diagnosis of cloud application
US9503341B2 (en) Dynamic discovery of applications, external dependencies, and relationships
US11372908B1 (en) Computer-implemented methods, systems comprising computer-readable media, and electronic devices for narrative-structured representation of and intervention into a network computing environment
US20200311231A1 (en) Anomalous user session detector
US12069099B2 (en) Computer-implemented methods, systems comprising computer-readable media, and electronic devices for autonomous cybersecurity within a network computing environment
CN109446768B (en) Application access behavior abnormity detection method and system
US20240048629A1 (en) Determining Application Security and Correctness using Machine Learning Based Clustering and Similarity
CN113836237A (en) Method and device for auditing data operation of database
Montes et al. Finding order in chaos: a behavior model of the whole grid
RU2821054C1 (en) Method and system for forming clusters of nodes in computer network
WO2022031184A1 (en) System for intelligent risk and vulnerability management for infrastructure elements
WO2024158306A1 (en) Method and system for clustering nodes in a computer network
CN114039837B (en) Alarm data processing method, device, system, equipment and storage medium
RU2589863C2 (en) System and method for assessing resources in computer network with position of objects of interest
RU2826430C1 (en) Method and system for preventing compromise of network infrastructure objects in freeipa directory service
RU2824919C1 (en) Method and system for determining activity of accounts in computing environment
RU2799117C1 (en) Method and system for preventing unauthorized access to corporate network objects
CN115878439B (en) System performance bottleneck positioning method and device, electronic equipment and storage medium
CN117236645B (en) IT asset management system for data center based on equipment information classification
CN117688615B (en) Cloud asset management method and device, electronic equipment and storage medium