RU2777348C1 - Computing apparatus and method for identifying compromised apparatuses based on dns tunnelling detection - Google Patents

Computing apparatus and method for identifying compromised apparatuses based on dns tunnelling detection Download PDF

Info

Publication number
RU2777348C1
RU2777348C1 RU2021124547A RU2021124547A RU2777348C1 RU 2777348 C1 RU2777348 C1 RU 2777348C1 RU 2021124547 A RU2021124547 A RU 2021124547A RU 2021124547 A RU2021124547 A RU 2021124547A RU 2777348 C1 RU2777348 C1 RU 2777348C1
Authority
RU
Russia
Prior art keywords
domain name
dns
traffic
network
module
Prior art date
Application number
RU2021124547A
Other languages
Russian (ru)
Inventor
Антон Викторович Афонин
Original Assignee
Общество с ограниченной ответственностью "Группа АйБи ТДС"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Группа АйБи ТДС" filed Critical Общество с ограниченной ответственностью "Группа АйБи ТДС"
Priority to NL2031253A priority Critical patent/NL2031253B1/en
Priority to US17/864,551 priority patent/US20230056625A1/en
Application granted granted Critical
Publication of RU2777348C1 publication Critical patent/RU2777348C1/en

Links

Images

Abstract

FIELD: information security.
SUBSTANCE: computer-implemented method for identifying compromised apparatuses using DNS tunnelling includes the following stages: receiving the traffic of the protected network infrastructure; retrieving at least one DNS query from the traffic; filtering the list of identified DNS queries while excluding the queries for previously determined types of domain names therefrom; feeding each of the multiple domain names remaining in the list one by one to the input of a pre-trained deciding rule; if at least one domain name has received a negative estimation of the deciding rule, increasing the penalty for the apparatus having output at least one DNS query containing said domain name; if the total penalty of at least one apparatus exceeds the predetermined threshold, data of the device is considered compromised, wherein a notification thereof is displayed.
EFFECT: increase in the accuracy of identifying compromised apparatuses based on DNS tunnelling detection.
13 cl, 3 dwg

Description

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

[0001] Настоящее техническое решение относится к области вычислительной техники, в частности к области информационной безопасности, а именно к компьютерно-реализуемому способу и вычислительному устройству выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования.[0001] The present technical solution relates to the field of computer technology, in particular to the field of information security, namely to a computer-implemented method and computing device for detecting compromised devices based on DNS tunneling detection.

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

[0002] DNS-туннелирование является одним из самых распространенных способов обмена информацией со скомпрометированным устройством посредством сети Интернет для злоумышленников.[0002] DNS tunneling is one of the most common ways for attackers to exchange information with a compromised device over the Internet.

[0003] Под этим термином обычно подразумевают такой способ обмена информацией, при котором собственно сообщение передается в стандартном DNS-запросе под видом доменного имени третьего или более уровня, например, extremely_hidden_secret_message.domain.com.[0003] This term usually means such a way of exchanging information in which the actual message is transmitted in a standard DNS query under the guise of a third-level domain name or more, for example, extremely_hidden_secret_message.domain.com.

[0004] При этом перед отправкой сообщение, как правило, подвергается шифрованию, поэтому типичное для DNS-туннелирования доменное имя обычно выглядит следующим образом:[0004] In this case, the message is usually encrypted before being sent, so a typical domain name for DNS tunneling usually looks like this:

MV4HI4TFNVSWY6K7NBUWIZDFNZPXGZLDOJSXIX3NMVZXGYLHMU=======.domain.com.MV4HI4TFNVSWY6K7NBUWIZDFNZPXGZLDOJSXIX3NMVZXGYLHMU=======.domain.com.

[0005] Само по себе наличие DNS-туннеля в исходящем трафике сетевой инфраструктуры, как правило, интерпретируется как указание на то, что минимум одно устройство данной инфраструктуры скомпрометировано.[0005] By itself, the presence of a DNS tunnel in the outgoing traffic of a network infrastructure is generally interpreted as an indication that at least one device of this infrastructure has been compromised.

[0006] В уровне техники используются два подхода для обнаружения скомпрометированных устройств, использующих DNS-туннелирование, которые условно можно определить, как основанные на анализе объема трафика и анализе полезной нагрузки.[0006] The prior art uses two approaches to detect compromised devices using DNS tunneling, which can be loosely defined as based on traffic volume analysis and payload analysis.

[0007] В первом случае, при анализе объема трафика обращают внимание на общее количество запросов к конкретному домену и сравнивают это количество со средними значениями. Так как для DNS-туннелирования характерен нетипично большой объем DNS-трафика, а именно в десятки и сотни раз превосходящий типовые значения.[0007] In the first case, when analyzing the amount of traffic, pay attention to the total number of requests to a particular domain and compare this number with average values. Since DNS tunneling is characterized by an atypically large amount of DNS traffic, namely, tens and hundreds of times greater than typical values.

[0008] Так в патентном документе US 10044748 В2 (Georgia Tech Research Corp.) описан способ обнаружения скомпрометированных устройств в сети на основе определения частоты DNS запросов, то есть когда частота запросов подозрительна, выполняется обработка, связанная с определением количества DNS запросов за определенный период и сравнением собранных данных для определения того, превышают ли количество запросов домена третьего уровня количество запросов домена второго уровня.[0008] Thus, US 10044748 B2 (Georgia Tech Research Corp.) describes a method for detecting compromised devices on a network based on determining the frequency of DNS requests, that is, when the frequency of requests is suspicious, processing is performed related to determining the number of DNS requests for a certain period and comparing the collected data to determine if the third level domain requests exceed the second level domain requests.

[0009] Также известно решение, описанное в документе US 10587646 В2, в котором производят обнаружение аномалий DNS трафика на основе порогового значения количества запросов в единицу времени.[0009] Also known is the solution described in US 10587646 B2, which produces anomaly detection of DNS traffic based on a threshold value of the number of requests per unit of time.

[0010] Однако, для систем, реализующих подобные подходы, могут остаться незамеченными сессии с малым объемом обмена, когда, например, вредоносное программное обеспечение (ВПО) использует DNS-туннель для скрытной отправки на командный сервер скомпрометированных учетных данных пользователя, а не для загрузки или выгрузки файла, или другого значительного объема информации.[0010] However, for systems implementing such approaches, low-volume sessions may go unnoticed when, for example, malware uses a DNS tunnel to surreptitiously send compromised user credentials to the command and control server, rather than downloading or uploading a file, or other significant amount of information.

[0011] При анализе полезной нагрузки обращают внимание на аномальные запросы, особенно если они содержат в себе нетипичные доменные имена, странные символы и пр. Чаще всего при таком подходе используются различные статистические методики, позволяющие обнаружить в запросах необычно длинные доменные имена.[0011] When analyzing the payload, attention is paid to anomalous requests, especially if they contain atypical domain names, strange characters, etc. Most often, this approach uses various statistical techniques to detect unusually long domain names in requests.

[0012] В качестве примера в документе US 10270744 В2 (Infoblox Inc.) реализована аналитическая система, которая обрабатывает DNS данные, при этом определяя энтропию текстовой строки в DNS потоке данных на основе распределения набора символов в текстовой строке, определяет лексические признаки на основе символов, читаемых человеком, и символов, не читаемых человеком, в текстовой строке, определяют значение в процентиле распределения баллов в N-граммах из текстовой строки в DNS потоке данных, на основе чего формируются шаблоны для обнаружения скомпрометированных устройств.[0012] As an example, US 10270744 B2 (Infoblox Inc.) implements an analytic system that processes DNS data, while determining the entropy of a text string in the DNS data stream based on the distribution of the character set in the text string, determines lexical features based on the characters , human-readable and non-human-readable characters in a text string determine the percentile value of the distribution of scores in N-grams from the text string in the DNS data stream, based on which patterns are generated for the detection of compromised devices.

[0013] Однако, злоумышленникам этот подход тоже известен, и они могут намеренно не использовать при DNS-туннелировании доменные имена максимально доступной длины, что осложняет обнаружение.[0013] However, this approach is also known to attackers, and they may intentionally not use domain names of the maximum available length in DNS tunneling, which complicates detection.

[0014] Таким образом, становится очевидна необходимость разработки технических решений, которые позволяли бы обнаруживать скомпрометированные устройства сетевой инфраструктуры даже при малых объемах обмена данными и при DNS-туннелировании с заведомо "безобидной" длиной доменного имени.[0014] Thus, it becomes obvious that there is a need to develop technical solutions that would allow detecting compromised network infrastructure devices even with small amounts of data exchange and with DNS tunneling with a known "harmless" domain name length.

[0015] Известно еще одно техническое решение, которое было выбрано в качестве наиболее близкого аналога RU 2668710 С1 (Группа АйБи ТДС), которое направлено на обеспечение обнаружения вредоносных доменных имен в сетевом трафике. В данном документе описан метод эвристического подхода к обнаружению вредоносных доменных имен. Однако вычисление вредоносности доменного имени посредством совокупности методик требует больших ресурсозатрат и временных издержек. Кроме того, решение, описанное далее в настоящем документе, позволяет не только выявить вредоносное доменное имя, но еще и заблокировать устройство, связанное с ним.[0015] Another technical solution is known, which was chosen as the closest analogue to RU 2668710 C1 (IB TDS Group), which is aimed at ensuring the detection of malicious domain names in network traffic. This document describes a heuristic approach to detecting malicious domain names. However, the calculation of the harmfulness of a domain name using a combination of techniques requires large resource and time costs. In addition, the solution described later in this document can not only detect a malicious domain name, but also block the device associated with it.

[0016] Следовательно, настоящее техническое решение создано для преодоления по меньшей мере одного обозначенного выше недостатка известных систем и способов выявления скомпрометированных устройств, использующих DNS-туннелирование.[0016] Therefore, the present technical solution is designed to overcome at least one of the above disadvantages of known systems and methods for detecting compromised devices using DNS tunneling.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0017] Технической проблемой, на решение которой направлено заявленное решение, является создание системы и компьютерно-реализуемого способа выявления скомпрометированных устройств на основе DNS-туннелирования. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.[0017] The technical problem to be solved by the claimed solution is the creation of a system and a computer-implemented method for detecting compromised devices based on DNS tunneling. Additional embodiments of the present invention are presented in dependent claims.

[0018] Технический результат заключается в повышении точности выявления скомпрометированных устройств на основе DNS-туннелирования.[0018] The technical result is to improve the accuracy of identifying compromised devices based on DNS tunneling.

[0019] Заявленный результат достигается за счет осуществления компьютерно-реализуемого способа выявления скомпрометированных устройств, использующих DNS-туннелирование, содержащего этапы, на которых: получают трафик защищаемой сетевой инфраструктуры; извлекают из трафика по меньшей мере один DNS-запрос; фильтруют список из выявленных DNS-запросов, при этом исключая из него запросы к заранее определенным типам доменных имен; каждое из множества оставшихся в списке доменных имен поочередно подают на вход заранее обученного решающего правила; если по меньшей мере одно доменное имя получило негативную оценку решающего правила, увеличивают штраф для устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий это доменное имя; при превышении суммой штрафов по меньшей мере одного устройства заранее заданного порога, данное устройство относят к скомпрометированным, причем об этом выводят алерт.[0019] The claimed result is achieved by implementing a computer-implemented method for detecting compromised devices using DNS tunneling, comprising the steps of: receiving protected network infrastructure traffic; extracting at least one DNS query from the traffic; filtering the list of identified DNS requests, while excluding from it requests for predefined types of domain names; each of the many domain names remaining in the list is alternately fed to the input of a pre-trained decision rule; if at least one domain name received a negative evaluation of the decision rule, increase the penalty for the device from which at least one DNS request containing this domain name left; if the amount of fines of at least one device exceeds a predetermined threshold, this device is classified as compromised, and an alert is displayed about this.

[0020] В частном варианте реализации описываемого способа получают исходящий трафик защищаемой сетевой инфраструктуры, а также дополнительно получают входящий сетевой трафик защищаемой сетевой инфраструктуры.[0020] In a particular embodiment of the described method, outgoing traffic of the protected network infrastructure is received, and also incoming network traffic of the protected network infrastructure is additionally obtained.

[0021] В частном варианте реализации описываемого способа трафик получают методом зеркалирования.[0021] In a private embodiment of the described method, traffic is obtained by mirroring.

[0022] В частном варианте реализации описываемого способа для каждого выявленного в трафике DNS-запроса извлекают по меньшей мере следующие данные: доменное имя; IP-адреса отправителя-и/или адресата.[0022] In a private embodiment of the described method, for each DNS request detected in traffic, at least the following data is retrieved: domain name; The IP address of the sender and/or destination.

[0023] В частном варианте реализации описываемого способа дополнительно осуществляют проверку вхождения по меньшей мере одного IP-адреса получателя в черный и белый список,[0023] In a private embodiment of the described method, the entry of at least one IP address of the recipient into the black and white lists is additionally checked,

если по меньшей мере один IP-адрес получателя обнаружен в черном списке, то увеличивают штраф для по меньшей мере одного устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий по меньшей мере один IP-адрес получателя;if at least one recipient IP address is found in the blacklist, then increasing the penalty for at least one device from which at least one DNS request has left, containing at least one recipient IP address;

если по меньшей мере один IP-адрес получателя обнаружен в белом списке, то отфильтровывают данный DNS-запрос.if at least one recipient IP address is found in the white list, then filter this DNS query.

[0024] В частном варианте реализации описываемого способа к заранее определенным типам доменных имен относят по меньшей мере: доменные имена второго уровня, доменные имена с низкой энтропией, а также заведомо доверенные именам из общеизвестных достоверных источников.[0024] In a particular embodiment of the described method, the predefined types of domain names include at least: second-level domain names, low entropy domain names, and known trusted names from well-known reliable sources.

[0025] В частном варианте реализации описываемого способа в качестве эвристических правил используют по меньшей мере следующие методы: разделение доменов по уровню энтропии, выделение n-грамм в доменных именах.[0025] In a particular embodiment of the described method, at least the following methods are used as heuristic rules: separation of domains by entropy level, selection of n-grams in domain names.

[0026] В частном варианте реализации описываемого способа в качестве статистических методов используют LSTM-нейросеть.[0026] In a particular embodiment of the described method, an LSTM neural network is used as statistical methods.

[0027] В частном варианте реализации описываемого способа на вход решающего правила LSTM-нейросети дополнительно подается статистика сетевых взаимодействий устройства, с которого было получен DNS-запрос, содержавший данное доменное имя за последние Т минут и штраф данного устройства.[0027] In a particular embodiment of the described method, the input of the decision rule of the LSTM neural network is additionally supplied with statistics of network interactions of the device from which the DNS request was received, containing the given domain name in the last T minutes and the fine of this device.

[0028] В частном варианте реализации описываемого способа дополнительно в качестве решающего правила используют совокупность LSTM-нейросети и по меньшей мере одного из эвристических методов.[0028] In a private embodiment of the described method, a combination of an LSTM neural network and at least one of the heuristic methods is additionally used as a decision rule.

[0029] В частном варианте реализации описываемого способа дополнительно осуществляют поиск по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, в истории всего входящего и исходящего трафика, полученного из по меньшей мере одного устройства защищаемой инфраструктуры и,[0029] In a particular embodiment of the described method, at least one domain name that received a negative evaluation of the decision rule is additionally searched in the history of all incoming and outgoing traffic received from at least one device of the protected infrastructure and,

если находят вхождения по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, то все устройства, входящие в защищаемую инфраструктуру, коммуницирующие с указанным доменным именем,if they find occurrences of at least one domain name that has received a negative evaluation of the decision rule, then all devices included in the protected infrastructure that communicate with the specified domain name,

либо дополнительно штрафуют,or additional fines

либо штрафуют, если не оштрафовали их ранее.or fined if they have not been fined before.

[0030] В частном варианте реализации описываемого способа дополнительно блокируют выявленное вредоносного доменного имя для всей защищаемой инфраструктуры, создают уведомления, шаблонные письма для уведомления об инциденте заинтересованных сторон, вносят доменное имя в по меньшей мере один черный список.[0030] In a particular embodiment of the described method, the identified malicious domain name is additionally blocked for the entire protected infrastructure, notifications are created, template letters for notifying interested parties about the incident, and the domain name is added to at least one black list.

[0031] Заявленный результат также достигается за счет создания вычислительного устройства, выполненного с возможностью выполнения способа выявления скомпрометированных устройств на основе DNS-туннелирования.[0031] The claimed result is also achieved by creating a computing device configured to perform a method for detecting compromised devices based on DNS tunneling.

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

[0032] Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:[0032] The implementation of the invention will be described hereinafter in accordance with the accompanying drawings, which are presented to explain the essence of the invention and in no way limit the scope of the invention. The following drawings are attached to the application:

[0033] Фиг. 1 иллюстрирует упрощенный вариант реализации системы выявления скомпрометированных устройств на основе DNS-туннелирования.[0033] FIG. 1 illustrates a simplified implementation of a compromised device detection system based on DNS tunneling.

[0034] Фиг. 2 иллюстрирует последовательность этапов реализации описываемой технологии выявления скомпрометированных устройств на основе DNS-туннелирования.[0034] FIG. 2 illustrates the sequence of stages in the implementation of the described technology for detecting compromised devices based on DNS tunneling.

[0035] Фиг. 3 иллюстрирует упрощенное схематическое представление одной из неограничивающих реализаций компьютерного устройства для осуществления настоящего технического решения.[0035] FIG. 3 illustrates a simplified schematic representation of one of the non-limiting implementations of a computing device for implementing the present technical solution.

ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

[0036] В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящей технологии. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.[0036] In the following detailed description of the implementation of the invention, numerous implementation details are provided to provide a clear understanding of the present technology. However, one skilled in the art will appreciate how the present invention can be used, both with and without these implementation details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to unnecessarily obscure the features of the present invention.

[0037] Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.[0037] In addition, from the foregoing it will be clear that the invention is not limited to the above implementation. Numerous possible modifications, changes, variations and substitutions that retain the spirit and form of the present invention will be apparent to those skilled in the subject area.

[0038] DNS-туннелирование - это техника, позволяющая передавать произвольный трафик поверх DNS-протокола. Для организации DNS-туннеля необходимо чтобы снаружи (то есть, в точке, куда направлен туннель) его кто-то принимал. Точка приема является сервером имен для какой-то зоны. Изнутри сети делаются запросы имен по этой зоне; так передается трафик изнутри сети. В качестве результата преобразования возвращаются ответные данные - так выполняется передача трафик внутрь сети. DNS-туннелирование нельзя запретить простыми правилами брандмауэра, разрешив при этом остальной DNS-трафик. Это связано с тем, что трафик DNS-туннеля и легитимные DNS-запросы неразличимы.[0038] DNS tunneling is a technique that allows arbitrary traffic to be transmitted over the DNS protocol. To organize a DNS tunnel, it is necessary that someone outside (that is, at the point where the tunnel is directed) accept it. The receiving point is the name server for a zone. Name requests for this zone are made from within the network; this is how traffic is transmitted from within the network. As a result of the conversion, response data is returned - this is how traffic is transmitted inside the network. DNS tunneling cannot be blocked by simple firewall rules while allowing other DNS traffic. This is because DNS tunnel traffic and legitimate DNS requests are indistinguishable.

[0039] Защищаемая сетевая инфраструктура - совокупность специального оборудования, программного обеспечения и пользовательских устройств, которые в тексте данной заявки могут быть равно обозначены общим термином для данной совокупности устройств, применительно к которой активно отслеживают факт возможной компрометации.[0039] Protected network infrastructure - a set of special hardware, software and user devices, which in the text of this application can be equally designated by the general term for this set of devices, in relation to which the fact of a possible compromise is actively monitored.

[0040] Под термином штраф в настоящем описании понимают накопленную оценку вредоносности и/или компрометации устройства за определенный период времени.[0040] The term penalty in the present description refers to the accumulated assessment of the harmfulness and / or compromise of the device over a certain period of time.

[0041] Настоящая технология направлена на обеспечение компьютерно-реализуемого способа и системы выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования.[0041] The present technology is directed to providing a computer-implemented method and system for detecting compromised devices based on DNS tunneling detection.

[0042] Заявленный компьютерно-реализуемый способ выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования осуществляется посредством системы выявления скомпрометированных устройств на основе обнаружения DNS-туннелирования, представленной на Фиг. 1, которая по меньшей мере содержит: защищаемую сетевую инфраструктуру 110, сеть связи 120, вычислительное устройство для осуществления выявления скомпрометированных устройств на основе обнаружения- DNS-туннелирования 130.[0042] The disclosed computer-implemented method for detecting compromised devices based on DNS tunneling detection is performed by the system for detecting compromised devices based on DNS tunneling detection shown in FIG. 1, which at least contains: a protected network infrastructure 110, a communication network 120, a computing device for performing detection of compromised devices based on discovery-DNS tunneling 130.

[0043] Вычислительное устройство 130 также соединено с возможностью обмена данными с устройствами 112 захвата трафика для получения от них сетевого трафика, извлеченного из сети 120 передачи данных, и выполнено с возможностью дальнейшей обработки полученного сетевого трафика для определения в нем вредоносных доменных имен, используемых для установки соединения зараженной рабочей станции или зараженного компьютера с управляющим командным центром с последующим получением от него управляющих команд для выполнения набора запрограммированных вредоносных действий.[0043] The computing device 130 is also in communication with the traffic capturing devices 112 to receive from them network traffic extracted from the data network 120, and is configured to further process the received network traffic to determine malicious domain names in it used for Establishing a connection between an infected workstation or an infected computer and a command and control center followed by receiving control commands from it to perform a set of programmed malicious actions.

[0044] Соответственно защищаемая сетевая инфраструктура содержит по меньшей мере одну рабочую станцию пользователя 111, сетевой коммутатор 112, который выполнен с возможностью передавать (ретранслировать) весь трафик сетевой инфраструктуры 110.[0044] Accordingly, the network infrastructure to be protected comprises at least one user workstation 111, a network switch 112, which is configured to transmit (relay) all traffic of the network infrastructure 110.

[0045] В системе 100, показанной на фиг. 1, устройство захвата трафика 112 соединено с вычислительным устройством проводным способом, например с помощью сетевого кабеля, или беспроводным способом, и представляет собой по меньшей мере одно из следующих известных сетевых устройств для перехвата и передачи сетевого трафика: сетевые коммутаторы L2-уровня, работающие с использованием технологии зеркалирования сетевого трафика необходимых сегментов сети, такой как, например, SPAN-технология зеркалирования сетевого трафика в оборудовании компании CISCO, средства обеспечения прозрачности сети, также называемые платформами доставки безопасности (Security Delivery Platform) или сетевые пакетные брокеры (NPB), и ответвители сетевого трафика (Test Access Point) различных типов, а также прокси-серверы с поддержкой ICAP протокола, работающие в рамках установленного TCP-соединения, почтовые серверы с поддержкой SMTP-протокола и др.[0045] In the system 100 shown in FIG. 1, the traffic capture device 112 is connected to the computing device in a wired manner, for example, using a network cable, or wirelessly, and is at least one of the following known network devices for intercepting and transmitting network traffic: L2 network switches operating with using technology that mirrors network traffic of required network segments, such as, for example, CISCO's SPAN mirroring technology for network traffic in equipment from CISCO, network transparency tools, also called Security Delivery Platforms or Network Packet Brokers (NPBs), and taps network traffic (Test Access Point) of various types, as well as proxy servers with ICAP protocol support operating within an established TCP connection, mail servers with SMTP protocol support, etc.

[0046] В одном из вариантов реализации настоящей технологии вычислительное устройство 130 может быть включено непосредственно в сеть передачи данных 120 или соединено непосредственно с сетью 120 передачи данных с возможностью извлечения или захвата из нее сетевого трафика для его дальнейшего анализа и обработки с целью выявления вредоносных доменных имен в указанном сетевом трафике. Другими словами, в таком варианте реализации вычислительное устройство 130 может иметь функциональные возможности вышеописанных устройств 112 захвата трафика, при этом вычислительное устройство 130, при необходимости, может использовать защищенный канал приема/ передачи данных для получения сетевого трафика, извлеченного из сети передачи данных 120.[0046] In one of the embodiments of the present technology, the computing device 130 can be included directly in the data network 120 or connected directly to the data network 120 with the ability to extract or capture network traffic from it for further analysis and processing in order to detect malicious domain names in the specified network traffic. In other words, in such an implementation, the computing device 130 may have the functionality of the traffic capture devices 112 described above, while the computing device 130, if necessary, can use a secure data transmission/reception channel to receive network traffic extracted from the data communication network 120.

[0047] Еще в одном дополнительном варианте реализации настоящей технологии вышеописанные устройства 112 захвата сетевого трафика могут быть встроены или интегрированы в вычислительное устройство 130.[0047] In another further embodiment of the present technology, the network traffic capturing devices 112 described above may be incorporated or integrated into the computing device 130.

[0048] В системе 100, показанной на фиг. 1, вычислительное устройство 130 по существу представляет собой программно-аппаратный комплекс и содержит модуль захвата трафика 131, модуль связи 132, фильтрующий модуль 133, анализирующий модуль 134, модуль принятия решения 135 и локальное хранилище данных 136, каждый из которых соединен с шиной связи 137, при этом каждый из модуля захвата трафика 131, модуля связи 132, фильтрующего модуля 133, анализирующего модуля 134 и модуля принятия решения 135 выполнен с возможностью обмена данными, посредством шины 137 связи, с локальным хранилищем данных 136, причем модуль захвата трафика 131 выполнен с возможностью обмена данными, посредством шины связи 137, и модуль связи 132 также выполнен с возможностью обмена данными, посредством шины связи 137, с фильтрующим модулем 133, который в свою очередь выполнен с возможностью обмена данными, посредством шины 137 связи, с анализирующим модулем 134, а анализирующий модуль 134 соединен с возможностью обмена данными, посредством шины 137 связи, с модулем принятия решений 135.[0048] In the system 100 shown in FIG. 1, the computing device 130 is essentially a hardware and software system and includes a traffic capture module 131, a communication module 132, a filter module 133, an analysis module 134, a decision module 135, and a local data store 136, each of which is connected to the communication bus 137 , wherein each of the traffic capture module 131, the communication module 132, the filter module 133, the analyzing module 134 and the decision module 135 is configured to exchange data, via the communication bus 137, with the local data storage 136, and the traffic capture module 131 is configured with the possibility of exchanging data, via the communication bus 137, and the communication module 132 is also configured to communicate, via the communication bus 137, with the filter module 133, which in turn is configured to communicate, via the communication bus 137, with the analyzing module 134, and the analysis module 134 is communicatively connected, via a communication bus 137, with decision-making power 135.

[0049] Локальное хранилище 136 данных предназначено для хранения исполняемых программных инструкций, которые могут управлять работой модуля захвата трафика 131, модуля связи 132, фильтрующего модуля 133, анализирующего модуля 134 и модуля принятия решения 135. Кроме того, локальное хранилище 136 данных используют в вычислительном устройстве 130 для хранения различных данных, используемых при работе вычислительного устройства 130.[0049] The local data store 136 is designed to store executable program instructions that can control the operation of the traffic capture module 131, the communication module 132, the filter module 133, the analysis module 134, and the decision module 135. In addition, the local data store 136 is used in computing a device 130 for storing various data used in the operation of the computing device 130.

[0050] В частности, в локальном хранилище 136 данных хранятся данные об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем и в каждом из которых представлены данные о численных значениях штрафов, присвоенных анализирующим модулем 134 конкретному доменному имени, а также данные, связанные с решением, принятым модулем принятия решений 135 в отношении устройства, с которого ушел DNS-запрос, содержавший данное доменное имя.[0050] In particular, the local data store 136 stores data about the available analytical reports, each of which is associated with a specific domain name and each of which provides data on the numerical values of penalties assigned by the analyzing module 134 to a specific domain name, as well as data associated with the decision made by the decision module 135 in relation to the device from which the DNS request originated containing this domain name.

[0051] В локальном хранилище данных 136 также хранятся данные об известных доменных именах, черных и белых списках доменных имен. Стоит дополнительно отметить, что информация о черных и белых списках в дополнительном варианте реализации может быть получена из внешних доверенных баз данных (не показано) по сети связи 120.[0051] The local data store 136 also stores data about well-known domain names, blacklists and whitelists of domain names. It is additionally worth noting that information about blacklists and whitelists in an additional implementation can be obtained from external trusted databases (not shown) over the communication network 120.

[0052] В дополнительных вариантах осуществления настоящей технологии локальное хранилище данных 136 также содержит данные о каждом из устройств 111 (например, пользовательских) в защищаемой инфраструктуре 110, в том числе к описанным данным относят по меньшей мере: статистику взаимодействия определенного устройства 111 в защищаемой инфраструктуре 110 за Т минут, где численная величина Т выбирается заблаговременно, штрафы данного устройства, а также пометки о факте компрометации данного устройства 111.[0052] In additional embodiments of the present technology, the local data store 136 also contains data about each of the devices 111 (for example, user devices) in the protected infrastructure 110, including the described data include at least: interaction statistics of a specific device 111 in the protected infrastructure 110 for T minutes, where the numerical value of T is selected in advance, the fines of this device, as well as notes about the fact of compromising this device 111.

[0053] В некоторых вариантах реализации настоящей технологии по меньшей мере некоторые из вышеописанных данных, хранящихся в локальном хранилище данных 136, могут быть сохранены в облачном хранилище данных (не показано), при этом эти данные могут находиться как на одиночном удаленном файловом сервере, включенном в сеть передачи данных 120 или в иную сеть передачи данных, отличную от сети передачи данных 120, так и на множестве удаленных файловых серверов, распределенных в сети передачи данных 120 или в иной сети передачи данных, отличной от сети передачи данных 120, при этом вычислительное устройство 130 может быть выполнено с возможностью установления связи для обмена данными, в частности защищенного канала связи для приема/передачи данных, с таким облачным хранилищем данных с использованием проводного и/или беспроводного способа соединения. В варианте реализации, в котором вычислительное устройство 130, включенное в сеть 120 передачи данных, соединено с облачным хранилищем данных по меньшей мере через одну другую сеть передачи данных, отличную от сети передачи данных 120, для соединения этих разных сетей передачи данных может быть использовано по меньшей мере одно специальное коммутирующее устройство, такое как сетевые концентраторы, также известные как сетевые хабы, сетевые маршрутизаторы и прочие известные коммутирующие устройства.[0053] In some embodiments of the present technology, at least some of the above data stored in the local data store 136 may be stored in a cloud data store (not shown), while this data may be located on a single remote file server included to the data network 120 or to another data network other than the data network 120, and on a plurality of remote file servers distributed in the data network 120 or in another data network other than the data network 120, while computing the device 130 may be configured to establish communication for data exchange, in particular a secure communication channel for receiving/transmitting data, with such a cloud storage using a wired and/or wireless connection method. In an embodiment in which the computing device 130 included in the data network 120 is connected to the cloud storage via at least one other data network other than the data network 120, a link may be used to connect these different data networks. at least one dedicated switching device, such as network hubs, also known as network hubs, network routers, and other known switching devices.

[0054] В одном из вариантов реализации настоящей технологии вычислительное устройство 130 может содержать обособленное локальное хранилище аналитических отчетов (не показано), предназначенное для хранения данных об имеющихся аналитических отчетах. Такое обособленное локальное хранилище аналитических отчетов может быть соединено, посредством шины 137 связи, с фильтрующим модулем 133 с предоставлением возможности фильтрующему модулю 133 получать доступ к такому локальному хранилищу аналитических отчетов для получения из него данных об имеющихся аналитических отчетах, а также соединено, посредством шины 137 связи, с модулем принятия решений 135 с предоставлением возможности получать доступ к такому локальному хранилищу аналитических отчетов для записи в него нового аналитического отчета, что более подробно будет описано ниже.[0054] In one embodiment of the present technology, computing device 130 may include a separate local storage of analytical reports (not shown) for storing data about available analytical reports. Such a separate local storage of analytical reports can be connected, via a communication bus 137, to the filter module 133, allowing the filter module 133 to access such a local storage of analytical reports in order to obtain data from it about the available analytical reports, and also connected via a bus 137 communication, with the decision module 135 with the ability to access such a local storage of analytical reports to write a new analytical report, which will be described in more detail below.

[0055] В одном из вариантов реализации фильтрующий модуль 133, анализирующий модуль 134 и модуль принятия решений 135 могут быть реализованы в виде одиночного процессора, такого как процессор общего назначения или процессор специального назначения (например, процессоры для цифровой обработки сигналов, специализированные интегральные схемы и т.п.). Таким образом, процессор, реализующий указанные модули 131-135 в вычислительном устройстве 130, может быть выполнен с возможностью исполнения программных инструкций, хранящихся в локальном хранилище 136 данных с обеспечением реализации функциональных возможностей модуля захвата трафика 131 для получения трафика из защищаемой инфраструктуры 110, фильтрующего модуля 133 по извлечению данных доменных имен из пакетов данных в полученном сетевом трафике, функциональных возможностей анализирующего модуля 134 по определению численных значений признаков подозрительности для анализируемого доменного имени и функциональных возможностей модуля принятия решения 135 по вынесению окончательного решения в отношении вредоносности определенного устройства с использованием полученного набора признаков подозрительности в присвоенными им численными значениями.[0055] In one embodiment, filter module 133, analysis module 134, and decision module 135 may be implemented as a single processor, such as a general purpose or special purpose processor (e.g., digital signal processors, ASICs, and etc.). Thus, the processor implementing these modules 131-135 in the computing device 130 can be configured to execute program instructions stored in the local data store 136 to implement the functionality of the traffic capture module 131 to receive traffic from the protected infrastructure 110, the filter module 133 for extracting domain name data from data packets in received network traffic, the functionality of the analysis module 134 for determining the numerical values of signs of suspicion for the analyzed domain name, and the functionality of the decision module 135 for making a final decision regarding the maliciousness of a particular device using the received set of features suspiciousness in the numerical values assigned to them.

[0056] В одном из вариантов реализации настоящей технологии каждый из фильтрующего модуля 133, анализирующего модуля 134 и модуля принятия решений 135 может быть реализован в виде по меньшей мере одного обособленного процессора, выполненного с возможностью реализации специфических функций модулей.[0056] In one embodiment of the present technology, filter module 133, analysis module 134, and decision module 135 may each be implemented as at least one separate processor capable of implementing the specific functions of the modules.

[0057] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, модуль 132 связи соединен проводным способом, например с помощью коаксиального кабеля, витой пары, оптоволоконного кабеля или другого физического соединения, с устройством захвата трафика (112 или 131) с возможностью получения от них сетевого трафика.[0057] In computing device 130 of system 100 shown in FIG. 1, communication module 132 is wired, such as via a coaxial cable, twisted pair, fiber optic cable, or other physical connection, to a traffic capture device (112 or 131) to receive network traffic from them.

[0058] Таким образом, модуль связи 132 выполнен с возможностью подключения к одному или более из вышеописанных устройств (112 или 131) захвата трафика, включенных в сеть 120 передачи данных, и с возможностью приема сетевого трафика, извлеченного указанными устройствами 112 захвата трафика из сети 120 передачи данных, от указанного одного или более устройств (112 или 131) захвата трафика. Еще в одном варианте реализации настоящей технологии модуль 132 связи может быть соединен с устройствами захвата трафика (112 или 113) беспроводным способом, например, с помощью линии связи на основе технологии WiFi, линии связи на основе технологии 3G, линии связи на основе технологии LTE и т.п.[0058] Thus, the communication module 132 is configured to connect to one or more of the above-described traffic capture devices (112 or 131) included in the data network 120 and to receive network traffic extracted by said traffic capture devices 112 from the network. 120 data transmission, from the specified one or more devices (112 or 131) traffic capture. In yet another embodiment of the present technology, the communication module 132 may be wirelessly connected to the traffic capturing devices (112 or 113), for example, via a WiFi technology link, a 3G technology link, an LTE technology link, and etc.

[0059] Модуль 132 связи в вычислительном устройстве 130 согласно настоящей технологии может быть реализован в виде сетевого адаптера, снабженного необходимыми разъемами для подключения к ним физических кабелей необходимых типов в зависимости от типов физических соединений, использованных для обеспечения связи с устройствами (112 или 131) захвата трафика. В одном из вариантов реализации настоящей технологии модуль 132 связи в вычислительном устройстве 130 может быть реализован виде сетевого адаптера в форме WiFi-адаптера, 3D-адаптера, LTE-адаптера или иного адаптера беспроводной связи в зависимости от типа линии беспроводной связи, использованной для обеспечения связи любыми внешними устройствами и удаленными хранилищами данных, которые могут устанавливать канал беспроводной связи с вычислительным устройством для обмена с ним необходимыми данными. Таким образом, модуль 132 связи в вычислительном устройстве 130 по существу может быть выполнен с возможностью приема или получения входных данных от одного или более устройств проводным способом и/или беспроводным способом, а также с возможностью отправки или выдачи выходных данных на другие устройства проводным способом и/или беспроводным способом.[0059] The communication module 132 in the computing device 130 according to the present technology can be implemented in the form of a network adapter equipped with the necessary connectors for connecting physical cables of the necessary types to them, depending on the types of physical connections used to communicate with devices (112 or 131) capturing traffic. In one embodiment of the present technology, communication module 132 in computing device 130 may be implemented as a network adapter in the form of a WiFi adapter, 3D adapter, LTE adapter, or other wireless adapter, depending on the type of wireless link used to provide communication. any external devices and remote data stores that can establish a wireless communication channel with a computing device to exchange the necessary data with it. Thus, communication module 132 in computing device 130 can be substantially configured to receive or receive input from one or more devices in a wired and/or wireless manner, as well as send or give output to other devices in a wired manner, and /or wirelessly.

[0060] Модуль связи 132 также может представлять собой любое известное устройство связи, такое как приемопередатчик, модем и/или сетевая интерфейсная карта для обмена данными с внешними устройствами любого типа посредством проводной или беспроводной сети связи, например, с помощью сетевого соединения стандарта «Ethernet», цифровой абонентской линия связи (DSL), телефонной линии, коаксиального кабеля, телефонной системы сотовой связи и т.п. В некоторых вариантах реализации настоящей технологии сетевой трафик, полученный модулем связи 132, могут быть по меньшей мере временно сохранен в локальном хранилище 136 данных. В других вариантах реализации настоящей технологии сетевой трафик, полученный модулем 132 связи, могут быть по меньшей мере временно сохранен в обособленном локальном хранилище сетевого трафика (не показано), отличном от локального хранилища 136 данных и соединенном, посредством шины 137 связи, с модулем связи 132. В иных вариантах реализации настоящей технологии сетевой трафик, полученный модулем связи 132, может быть по меньшей мере временно сохранен в обособленном удаленном хранилище сетевого трафика (не показано), соединенном с возможностью обмена данными с модулем связи 132 проводным и/или беспроводным способом.[0060] The communication module 132 may also be any known communication device, such as a transceiver, modem, and/or network interface card for communicating with external devices of any type via a wired or wireless communication network, for example, using an Ethernet network connection. ”, digital subscriber line (DSL), telephone line, coaxial cable, cellular telephone system, etc. In some embodiments of the present technology, network traffic received by communication module 132 may be at least temporarily stored in local data storage 136 . In other embodiments of the present technology, the network traffic received by the communication module 132 may be at least temporarily stored in a separate local network traffic store (not shown), different from the local data store 136 and connected via the communication bus 137 to the communication module 132 In other embodiments of the present technology, the network traffic received by the communication module 132 may be at least temporarily stored in a separate remote network traffic store (not shown), connected with the ability to communicate with the communication module 132 in a wired and/or wireless manner.

[0061] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, фильтрующий модуль 133 выполнен с возможностью подключения или связи, посредством шины 137 связи, к модулю связи 132 с обеспечением возможности получения от него захваченного сетевого трафика. Фильтрующий модуль 133 извлекает множество отдельных пакетов данных, которые содержат DNS-запросы, из полученного сетевого трафика с использованием, например, известных технологий для извлечения DNS-запросов в пакетах данных, таких как zeek, snort, Surikata, Bro, Kuko и т.п. технологий, в том числе с помощью усовершенствованных технологий на основе по меньшей мере одной из вышеперечисленных технологий. Фильтрующий модуль 133 также выполнен с возможностью анализа каждого из множества извлеченных пакетов данных с обеспечением извлечения из них по меньшей мере одного доменного имени и IP-адресов отправителя и адресата.[0061] In computing device 130 of system 100 shown in FIG. 1, filter module 133 is configured to connect or communicate, via communication bus 137, to communication module 132 to receive captured network traffic from it. The filter module 133 extracts a plurality of individual data packets that contain DNS queries from the received network traffic using, for example, known technologies for extracting DNS queries in data packets such as zeek, snort, Surikata, Bro, Kuko, and the like. . technologies, including using advanced technologies based on at least one of the above technologies. The filter module 133 is also configured to parse each of the plurality of retrieved data packets to extract at least one domain name and source and destination IP addresses from them.

[0062] В варианте реализации настоящей технологии, в котором полученный сетевой трафик хранится в локальном хранилище данных 136, фильтрующий модуль 133 может быть выполнен с возможностью получения доступа к локальному хранилищу данных 136 или возможностью установления с ним связи с использованием шины связи 137 с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше.[0062] In an embodiment of the present technology in which the received network traffic is stored in the local data store 136, the filter module 133 can be configured to access or communicate with the local data store 136 using the communication bus 137 to extract from it the stored network traffic for subsequent extraction of a plurality of data packets from it, as described above.

[0063] В варианте реализации настоящей технологии, в котором полученный сетевой трафик хранится в обособленном локальном хранилище сетевого трафика (не показано), фильтрующий модуль 133 может быть выполнен с возможностью получения доступа к такому локальному хранилищу сетевого трафика или возможностью установления с ним связи с использованием шины 137 связи с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше. В варианте реализации настоящей технологии, в котором полученный сетевой трафик хранится в обособленном удаленном хранилище сетевого трафика (не показано), фильтрующий модуль 133 может быть выполнен с возможностью получения доступа к такому удаленному хранилищу сетевого трафика или возможностью установления с ним связи с использованием модуля 132 связи, соединенного с фильтрующим модулем 133 с помощью шины связи 137, с обеспечением извлечения из него сохраненного сетевого трафика для последующего извлечения из него множества пакетов данных, как описано выше.[0063] In an embodiment of the present technology in which the received network traffic is stored in a separate local network traffic store (not shown), the filter module 133 can be configured to access or communicate with such a local network traffic store using communication bus 137 to extract stored network traffic from it for subsequent extraction of multiple data packets from it, as described above. In an embodiment of the present technology in which the received network traffic is stored in a separate remote network traffic store (not shown), the filter module 133 can be configured to access or communicate with such a remote network traffic store using the communication module 132 connected to the filter module 133 via the communication bus 137 to extract stored network traffic from it for subsequent extraction of a plurality of data packets from it, as described above.

[0064] В дальнейшем, после извлечения доменных имен из анализируемых DNS-запросов, в одном из вариантов осуществления настоящей технологии фильтрующий модуль 133 дополнительно определяет, имеется ли аналитический отчет для каждого из этих извлеченных доменных имен.[0064] Further, after extracting the domain names from the analyzed DNS queries, in one embodiment of the present technology, the filter module 133 further determines whether there is an analysis report for each of these extracted domain names.

[0065] Для выявления наличия уже созданного для данного доменного имени аналитического отчета фильтрующий модуль 133 выполняет по меньшей мере следующие операции: получение доступа к локальному хранилищу данных 136 или установление с ним связи с использованием шины связи 137 с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан; установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов. Таким образом, фильтрующий модуль 133 сравнивает каждое извлеченное доменное имя с доменными именами, идентифицирующими аналитические отчеты, в полученных данных об аналитических отчетах, при этом совпадение извлеченного доменного имени с доменным именем, идентифицирующим один из имеющихся аналитических отчетов, означает, что для извлеченного доменного имени уже имеется аналитический отчет, хранящийся в локальном хранилище 136 данных, что свидетельствует о том, что извлеченное доменное имя уже ранее было проанализировано в вычислительном устройстве 130.[0065] To detect the presence of an analytical report already created for a given domain name, the filtering module 133 performs at least the following operations: accessing or communicating with the local data store 136 using the communication bus 137 to obtain data from it about the available analytical reports, each of which is associated with a specific domain name for which this analytical report was created; establishing, by character-by-character comparison of each of the extracted domain names with domain names that identify analytic reports in the specified received data, the correspondence of each of the extracted domain names to one of the available analytic reports. Thus, the filter module 133 compares each extracted domain name with the domain names identifying the analytics in the received analytics data, wherein the match of the extracted domain name with the domain name identifying one of the available analytics means that for the extracted domain name there is already an analysis report stored in the local data store 136, which indicates that the retrieved domain name has already been previously analyzed in the computing device 130.

[0066] В варианте реализации, в котором данные об аналитических отчетах хранятся в обособленном локальном хранилище аналитических отчетов (не показано), фильтрующий модуль 133 получает доступ к такому локальному хранилищу аналитических отчетов или устанавливает с ним связь с использованием модуля связи 132 с обеспечением получения из него данных об имеющихся аналитических отчетах, каждый из которых поставлен в соответствие с конкретным доменным именем, для которого этот аналитический отчет был создан, для последующего установления соответствия извлеченного доменного имени одному из имеющихся аналитических отчетов.[0066] In an implementation in which data about analytical reports are stored in a separate local repository of analytical reports (not shown), the filter module 133 accesses or communicates with such a local repository of analytical reports using the communication module 132 to obtain from It contains data about available analytical reports, each of which is matched with a specific domain name for which this analytical report was created, in order to subsequently match the extracted domain name to one of the available analytical reports.

[0067] Таким образом, фильтрующий модуль 133 обеспечивает возможность фильтрации по меньшей мере части доменных имен, извлеченных из пакетов данных полученного сетевого трафика, с использованием минимальных вычислительных ресурсов вычислительного устройства 130, что в конечном итоге значительно ускоряет процесс выявления вредоносных доменных имен в сетевом трафике.[0067] Thus, the filter module 133 provides the ability to filter at least part of the domain names extracted from the data packets of the received network traffic, using the minimum computing resources of the computing device 130, which ultimately significantly speeds up the process of detecting malicious domain names in network traffic .

[0068] В дальнейшем фильтрующий модуль 133 передает на анализирующий модуль 134 только те извлеченные доменные имена, для которых в локальном хранилище данных 136 не имеется аналитического отчета, то есть только те доменные имена, которые ранее не анализировались в вычислительном устройстве 130, в частности в его модуле принятия решений 135.[0068] Subsequently, the filter module 133 transmits to the parsing module 134 only those extracted domain names for which there is no analytical report in the local data store 136, that is, only those domain names that have not previously been parsed in the computing device 130, in particular in its decision module 135.

[0069] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, анализирующий модуль 134 выполнен с возможностью подключения к фильтрующему модулю 133 или установления с ним связи с использованием шины 137 связи с обеспечением возможности получения от него информации, например о доменных именах, для которых фильтрующим модулем 133 было выявлено отсутствие аналитического отчета, как описано выше.[0069] In computing device 130 of system 100 shown in FIG. 1, the parsing module 134 is configured to connect to or communicate with the filtering module 133 using the communication bus 137 so as to be able to obtain information from it, for example, about domain names for which the filtering module 133 has detected the absence of an analysis report, as described above. .

[0070] В варианте реализации настоящей технологии, в котором доменные имена, извлеченные фильтрующим модулем 133, хранятся в локальном хранилище 136 данных, анализирующий модуль 134 получает доступ к локальному хранилищу данных 136 или устанавливает с ним связь с использованием шины связи 137 с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 134, как будет описано ниже.[0070] In an embodiment of the present technology, in which the domain names extracted by the filter module 133 are stored in the local data store 136, the parsing module 134 accesses or communicates with the local data store 136 using the communication bus 137 to obtain from it data about the extracted domain names to be further analyzed in this parsing module 134, as will be described below.

[0071] Еще в одном варианте реализации настоящей технологии, в котором доменные имена, извлеченные фильтрующим модулем 133, хранятся в обособленном локальном хранилище данных, анализирующий модуль 134 получает доступ к такому локальному хранилищу данных или устанавливает с ним связь с использованием шины 137 связи или по беспроводному каналу связи посредством модуля связи 132 с обеспечением получения из него данных об извлеченных доменных именах, подлежащих дальнейшему анализу в этом анализирующем модуле 134, как будет описано ниже.[0071] In another embodiment of the present technology, in which the domain names extracted by the filter module 133 are stored in a separate local data store, the parsing module 134 accesses or communicates with such a local data store using the communication bus 137 or via wireless communication channel through the communication module 132 to receive from it data about the extracted domain names to be further analyzed in this analyzing module 134, as will be described below.

[0072] Анализирующий модуль 134 анализирует каждое из полученных доменных имен с использованием заданного набора методик или способов анализа подозрительности с обеспечением присвоения заданного численного значения штрафа каждому из полученных доменных имен.[0072] The parsing module 134 analyzes each of the received domain names using a predetermined set of suspiciousness analysis techniques or methods to assign a predetermined numerical penalty value to each of the received domain names.

[0073] В частности, в основе работы анализирующего модуля 134 лежит решающее правило, на основе которого выносится вердикт в отношении вредоносности или безвредности конкретного доменного имени с использованием набора признаков подозрительности этого доменного имени, и является показательным в отношении потенциальной вредоносности устройства (пользовательского устройства 111) для модуля принятия решений 135. В качестве решающего правила могут выступать как эвристические алгоритмы, так и статистические, в том числе алгоритмы машинного обучения (MLA). Примером эвристического правила может быть разделение доменов по уровню энтропии таким образом, что домены с высоким уровнем энтропии признаются подозрительными, то есть подозрительными признаются доменные имена, уровень энтропии которых превышает заранее заданный эмпирически выведенный порог. Также возможны подходы, опирающиеся на эвристические методы, например, на такие как выделение n-грамм и последующим подсчетом энтропии доменных имен.[0073] In particular, the operation of the analyzing module 134 is based on a decision rule, on the basis of which a verdict is made regarding the harmfulness or harmlessness of a particular domain name using a set of signs of suspiciousness of this domain name, and is indicative of the potential harmfulness of the device (user device 111 ) for the decision module 135. Both heuristic and statistical algorithms, including machine learning algorithms (MLA), can act as a decision rule. An example of a heuristic rule can be the division of domains according to the level of entropy in such a way that domains with a high level of entropy are recognized as suspicious, that is, domain names whose entropy level exceeds a predetermined empirically derived threshold are recognized as suspicious. There are also possible approaches based on heuristic methods, such as extracting n-grams and then calculating the entropy of domain names.

[0074] Один из примеров реализации в основе имеет нейронную сеть LSTM, где на первом слое общеизвестным способом нормируется и сокращается размерность пространства признаков, после него идет первый обучающий слой, непосредственно LSTM с эмпирически выведенными коэффициентами. Следующий слой очищает результаты известным способом. После этого идут два дополнительных промежуточных слоя, а на последнем устанавливается бинарный вердикт: является ли домен подозрительным.[0074] One of the implementation examples is based on an LSTM neural network, where on the first layer the dimension of the feature space is normalized and reduced in a well-known way, after it comes the first training layer, directly LSTM with empirically derived coefficients. The next layer cleans up the results in a known way. After that, there are two additional intermediate layers, and on the last one, a binary verdict is established: whether the domain is suspicious.

[0075] В одном из вариантов реализации в основе работы анализирующего модуля 134 может лежать набор решающих правил, каждое из которых принимает свое решение или выносит свой вердикт в отношении вредоносности или безвредности конкретного доменного имени с использованием одного и того же набора признаков подозрительности этого доменного имени. В одной из разновидностей данного варианта реализации настоящей технологии окончательный вердикт в отношении безвредности доменного имени может быть вынесен анализирующем модулем 134, например, в случае, в котором по меньшей мере одно из заданного набора решающих правил или все из заданного набора решающих правил вынесло вердикт в отношении безвредности доменного имени, в противном же случае, в котором ни одно из заданного набора решающих правил не вынесло вердикта в отношении безвредности доменного имени, модуль 134 может вынести окончательный вердикт в отношении вредоносности доменного имени. Еще в одной разновидности данного варианта реализации анализирующий модуль 134 может вынести свой окончательный вердикт в отношении вредоносности или безвредности доменного имени путем сравнения суммарного веса персональных вердиктов, принятых заданным набором решающих правил, при этом любому персональному вердикту, вынесенному каждым решающим правилом из заданного набора, автоматически присваивается свой предварительно заданный весовой коэффициент. Таким образом, анализирующий модуль 134 выносит тот или иной окончательный вердикт с учетом всех промежуточных вердиктов, имеющих тот или иной вес в суммарном весе, учитываемом для вынесения окончательного вердикта.[0075] In one implementation, the analysis module 134 may be based on a set of decision rules, each of which makes its own decision or makes its own verdict regarding the harmfulness or harmlessness of a particular domain name using the same set of signs of suspiciousness of this domain name . In one variation of this embodiment of the present technology, the final verdict on the harmlessness of the domain name may be issued by the parsing module 134, for example, in the case in which at least one of the given set of decision rules or all of the given set of decision rules rendered a verdict on otherwise, in which none of the predetermined set of decision rules rendered a verdict on the harmlessness of the domain name, module 134 may render a final verdict on the harmlessness of the domain name. In another variant of this embodiment, the parsing module 134 may make its final verdict on whether a domain name is harmful or not by comparing the total weight of the personal verdicts made by a given set of decision rules, with any personal verdict made by each decision rule in the given set automatically assigned its own predefined weighting factor. Thus, the parsing module 134 renders one or another final verdict, taking into account all intermediate verdicts that have one or another weight in the total weight taken into account for the final verdict.

[0076] В одном из вариантов реализации настоящей технологии анализирующий модуль 134 может быть снабжен специальным фреймворком (программной платформой), позволяющим, например, оператору или пользователю вычислительного устройства 130 изменять заданный набор методик анализа вредоносности доменного имени используемых анализирующим модулем 134 для получения вердикта о вредоносности доменного имени, соответствующему одной из заданного набора методик анализа, например, выбор группы эвристических методик, описанных далее или алгоритмов машинного обучения, что обеспечивает расширение функциональных возможностей как анализирующего модуля 134 в отдельности, так и вычислительного устройства 130 в целом. Кроме того, данный фреймворк служит для получение данных о значении времени Т, которое определяет статистику взаимодействия конкретного устройства 111 и защищаемой инфраструктуры 110.[0076] In one of the embodiments of the present technology, the analyzing module 134 can be equipped with a special framework (software platform) that allows, for example, the operator or user of the computing device 130 to change a given set of methods for analyzing the harmfulness of the domain name used by the analyzing module 134 to obtain a verdict of harmfulness a domain name corresponding to one of a given set of analysis techniques, for example, a selection of a group of heuristic techniques described below or machine learning algorithms, which provides an extension of the functionality of both the analyzing module 134 individually and the computing device 130 as a whole. In addition, this framework serves to obtain data on the value of time T, which determines the statistics of the interaction of a particular device 111 and the protected infrastructure 110.

[0077] После вынесения окончательного вердикта анализирующий модуль 134 и подготавливает или создает отдельный аналитический отчет по каждому исследуемому доменному имени, причем такой аналитический отчет по меньшей мере содержит все сведения из соответствующего лог-файла, созданного в процессе анализа для указанного доменного имени, а также данные об окончательном вердикте, вынесенном анализирующим модулем 134 в отношении доменного имени, а также данные о решающем правиле, использованном анализирующим модулем 134. В варианте реализации настоящей технологии, в котором используют несколько решающих правил, аналитический отчет, подготовленный или созданный анализирующим модулем 134, также может содержать данные о каждом из решающих правил, используемых для вынесения окончательного вердикта, и данные о вердиктах каждого из решающих правил в отношении вредоносности или безвредности доменного имени.[0077] After the final verdict is reached, the analysis module 134 and prepares or generates a separate analysis report for each examined domain name, and such an analysis report at least contains all the information from the corresponding log file created during the analysis process for the specified domain name, and also data on the final verdict made by the parsing module 134 in relation to the domain name, as well as data on the decision rule used by the parsing module 134. may contain data about each of the decision rules used to make the final verdict, and data about the verdicts of each of the decision rules regarding the harmfulness or harmlessness of the domain name.

[0078] В некоторых вариантах реализации настоящей технологии анализирующий модуль 134 может быть разделен на несколько независимых модулей, каждый из которых может выполнять по меньшей мере одну из вышеописанных функциональных возможностей, присущих анализирующему модулю 134, и которые выполнены с возможностью связи друг с другом и остальными конструктивными модулями вычислительного устройства 130 с помощью шины связи 137. При этом один из таких независимых модулей может быть выполнен с возможностью создания по меньшей мере одного лог-файла, или может иметься, например, дополнительный модуль создания лог-файлов, выполненный с возможностью связи с указанными независимыми модулями с помощью, например, шины связи 137 с обеспечением получения от каждого из них, например, данных о конкретном признаке подозрительности с присвоенным ему числовым значением для одного и того же доменного имени.[0078] In some embodiments of the present technology, the analysis module 134 may be divided into several independent modules, each of which can perform at least one of the above-described functionality inherent in the analysis module 134, and which are configured to communicate with each other and the rest constructive modules of the computing device 130 using the communication bus 137. In this case, one of these independent modules may be configured to create at least one log file, or there may be, for example, an additional module for creating log files, configured to communicate with by the specified independent modules using, for example, the communication bus 137 with the provision of obtaining from each of them, for example, data on a specific sign of suspicion with a numerical value assigned to it for the same domain name.

[0079] Для сохранения, подготовленного или созданного аналитического отчета в локальном хранилище 136 данных анализирующий модуль 134 получает доступ к локальному хранилищу данных 136 или устанавливает с ним связь с использованием шины связи 137 с обеспечением передачи указанного аналитического отчета в локальное хранилище данных 136 для его сохранения. Кроме того, возможен вариант осуществления, когда м подготовленный или созданный аналитический отчет сохраняют в обособленном локальном хранилище аналитических отчетов (не показано).[0079] To save a prepared or created analytical report in the local data store 136, the analyzing module 134 accesses or communicates with the local data store 136 using the communication bus 137 to ensure that the specified analytical report is transferred to the local data store 136 for saving . In addition, an implementation option is possible when the prepared or created analytical report is stored in a separate local storage of analytical reports (not shown).

[0080] В вычислительном устройстве 130 системы 100, показанной на фиг. 1, модуль принятия решений 135 выполнен с возможностью подключения к анализирующему модулю 134 или установления с ним связи с использованием посредством шины 137 связи с обеспечением возможности получения от него лог-файлов, подготовленных или созданных анализирующим модулем 134.[0080] In computing device 130 of system 100 shown in FIG. 1, the decision module 135 is configured to connect to or communicate with the analysis module 134 using a communication bus 137 to receive from it log files prepared or created by the analysis module 134.

[0081] Модуль принятия решений 135 анализирует штрафы, ассоциированные с каждым доменным именем с присвоенными им численными значениями, содержащиеся в каждом из полученных лог-файлов, с использованием заданного набора правил анализа с обеспечением отнесения каждого доменного имени, для которого был создан соответствующий лог-файл, к вредоносным доменным именам, если полученные результаты анализа признаков подозрительности характерны для вредоносных доменных имен, или к доверенным доменным именам, если полученные результаты анализа признаков подозрительности характерны для доверенных доменных имен. Таким образом, модуль принятия решения 135 принимает окончательное решение или выносит окончательный вердикт в отношении компрометации устройств на основе оценки вредоносности или безвредности доменного имени с использованием лог-файла, созданного анализирующим модулем 134 для каждого извлеченного доменного имени.[0081] The decision module 135 analyzes the penalties associated with each domain name with their assigned numerical values contained in each of the received log files, using a given set of analysis rules, ensuring that each domain name for which a corresponding log has been created is assigned. file, to malicious domain names, if the results of the analysis of signs of suspicion are characteristic of malicious domain names, or to trusted domain names, if the results of the analysis of signs of suspicion are characteristic of trusted domain names. Thus, the decision module 135 makes a final decision or renders a final verdict regarding the compromised devices based on the assessment of the harmfulness or harmlessness of the domain name using the log file generated by the parsing module 134 for each retrieved domain name.

[0082] Следует отметить, что модуль связи 132, фильтрующий модуль 133, анализирующий модуль 134 и модуль принятия решений 135 реализуют свои вышеописанные функции по существу в режиме реального времени, то есть модуль связи 132 продолжает принимать сетевой трафик, фильтрующий модуль 133 выполняет свои операции по фильтрации по меньшей мере части DNS-запросов, извлеченных из пакетов данных в полученном сетевом трафике, на основе заранее определенных типов доменных имен, анализирующий модуль 134 выполняет свои операции по анализу доменных имен и присвоению им признакам подозрительности - значений штрафов с последующим созданием лог-файла для каждого доменного имени по отдельности, а модуль принятия решений 135 выполняет свои операции по анализу по меньшей мере части лог-файлов, полученных от анализирующего модуля 134, и сохранению по меньшей мере части из созданных или подготовленных аналитических отчетов в локальном хранилище данных 136.[0082] It should be noted that the communication module 132, the filter module 133, the analysis module 134 and the decision module 135 implement their above-described functions essentially in real time, that is, the communication module 132 continues to receive network traffic, the filter module 133 performs its operations filtering at least part of the DNS queries extracted from the data packets in the received network traffic, based on predefined types of domain names, the parsing module 134 performs its operations of parsing domain names and assigning them suspicious signs - fine values, followed by the creation of a log - file for each domain name separately, and the decision module 135 performs its operations of parsing at least a portion of the log files received from the parsing module 134 and storing at least a portion of the generated or prepared analytical reports in the local data store 136.

[0083] В одном из вариантов реализации настоящей технологии описанные выше функциональные модули могут быть разделены или объединены с сохранением присущих каждому в отдельности функций. Например, анализирующий модуль 134 и модуль принятия решений 135 могут быть объединены, например, в один модуль выявления зловредных доменных имен и на основе них выявлении скомпрометированных устройств 111, защищаемой инфраструктуры, имеющий все вышеописанные функциональные возможности, присущие каждому из них в отдельности. Альтернативно еще в одном варианте реализации настоящей технологии фильтрующий модуль 133 и анализирующий модуль 134 могут быть объединены, например, в один модуль, имеющий все вышеописанные функциональные возможности, присущие каждому из них отдельно.[0083] In one embodiment of the present technology, the functional modules described above may be separated or combined while retaining the inherent functions of each. For example, the analyzing module 134 and the decision module 135 can be combined, for example, into one module for detecting malicious domain names and, based on them, identifying compromised devices 111, a protected infrastructure, having all the above-described functionality inherent in each of them separately. Alternatively, in yet another embodiment of the present technology, the filter module 133 and the analysis module 134 may be combined, for example, into one module having all of the above-described functionality inherent in each of them separately.

[0084] В качестве еще одного варианта реализации настоящей технологии модуль 132 связи может быть разделен на несколько отдельных модулей связи, каждый из которых обеспечивает по меньшей мере один из известных способов проводной и/или беспроводной связи в вычислительном устройстве 130.[0084] As another embodiment of the present technology, communication module 132 may be divided into multiple separate communication modules, each of which provides at least one of known wired and/or wireless communication methods to computing device 130.

[0085] Согласно еще одному аспекту предложен способ выявления скомпрометированных устройств, использующих DNS-туннелирование, показанный в виде упрощенной блок-схемы на фиг. 2.[0085] According to another aspect, a method for detecting compromised devices using DNS tunneling is provided, shown as a simplified flowchart in FIG. 2.

ШАГ 210 ПОЛУЧЕНИЕ ТРАФИКА ЗАЩИЩАЕМОЙ СЕТЕВОЙ ИНФРАСТРУКТУРЫSTEP 210 RECEIVING TRAFFIC OF PROTECTED NETWORK INFRASTRUCTURE

[0086] На первом шаге выполнения описываемой технологии на устройстве 130 по сети передачи данных 120 получают трафик защищаемой сетевой инфраструктуры 110.[0086] At the first step of the implementation of the described technology, the traffic of the protected network infrastructure 110 is received on the device 130 via the data network 120.

[0087] Операции на данном этапе реализации заявленного способа 200 включают подключение, посредством модуля 132 связи, по меньшей мере к одному из устройств захвата сетевого трафика, включенных в сеть передачи данных (112 или 131).[0087] The operations at this stage of the implementation of the claimed method 200 include connecting, via the communication module 132, to at least one of the network traffic capture devices included in the data network (112 or 131).

[0088] В данном случае под трафиком защищаемой сетевой инфраструктуры может подразумеваться как исходящий трафик защищаемой сетевой инфраструктуры, также и дополнительно входящий сетевой трафик.[0088] In this case, the traffic of the protected network infrastructure can be understood as outgoing traffic of the protected network infrastructure, as well as additionally incoming network traffic.

[0089] Стоит отметить, что получение трафика может быть осуществлено любым известным в уровне техники методом, например, зеркалированием.[0089] It is worth noting that the acquisition of traffic can be carried out by any method known in the art, for example, mirroring.

[0090] В качестве примера, но не ограничиваясь им, зеркалирование осуществляется посредством дублирования пакетов, передаваемых через один порт сетевого коммутатора 112 на другой для получения вычислительным устройством 130. Стоит отметить, что большинство современных сетевых коммутаторов позволяют дублировать трафик посредством встроенных функций. Кроме того, дополнительно возможно использование, например, консольной утилиты tcpdump, которая входит в состав большинства Unix-систем и позволяет перехватывать и отображать сетевой трафик модулем захваты трафика 131.[0090] By way of example, but not limitation, mirroring is accomplished by duplicating packets transmitted through one port of network switch 112 to another for receipt by computing device 130. It is worth noting that most modern network switches allow traffic to be duplicated through built-in features. In addition, it is additionally possible to use, for example, the tcpdump console utility, which is included in most Unix systems and allows you to intercept and display network traffic by the traffic capture module 131.

[0091] После получения трафика из защищаемой сетевой инфраструктуры 110 он сохраняется в базу данных 136 вычислительного устройства 130.[0091] After receiving traffic from the protected network infrastructure 110, it is stored in the database 136 of the computing device 130.

[0092] Далее настоящая технология переходит к анализу полученного трафика методами, описанными далее.[0092] Next, the present technology proceeds to analyze the received traffic by the methods described below.

ШАГ 220 ИЗВЛЕЧЕНИЕ ИЗ ТРАФИКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО DNS-ЗАПРОСАSTEP 220 EXTRACT AT LEAST ONE DNS REQUEST FROM THE TRAFFIC

[0093] Анализ полученного на предыдущем этапе трафика начинается на шаге 220, на котором из него извлекают по меньшей мере один DNS-запрос.[0093] The analysis of the traffic received in the previous step begins at step 220, at which at least one DNS query is extracted from it.

[0094] Извлечение из трафика по меньшей мере одного DNS-запроса может быть осуществлено вычислительным устройством 130 посредством фильтрующего модуля 133 на основе любого известного в уровне технике метода, например, с помощью использования специально написанного парсера или сервисов анализа сетевого трафика.[0094] Extracting at least one DNS query from the traffic can be performed by the computing device 130 through the filter module 133 based on any method known in the art, for example, using a specially written parser or network traffic analysis services.

[0095] В качестве примера реализации настоящей технологии, но не ограничиваясь им, для обнаружения DNS-запросов могут быть использованы следующие инструменты: zeek, snort, Suricata и др. Однако, стоит отметить, что использование подобных инструментов позволяет получать полную картину происходящего в сети по всем наиболее популярным протоколам: HTTP, DNS, TLS, SMB, FTP, RDP, SSH, ICMP и т.д., в том числе и по промышленным протоколам s7, iec104, opcua и тд.[0095] As an example of the implementation of this technology, but not limited to, the following tools can be used to detect DNS queries: zeek, snort, Suricata, etc. However, it is worth noting that the use of such tools allows you to get a complete picture of what is happening on the network over all the most popular protocols: HTTP, DNS, TLS, SMB, FTP, RDP, SSH, ICMP, etc., including industrial protocols s7, iec104, opcua, etc.

[0096] В одном из дополнительных вариантов осуществления описываемой технологии посредством фильтрующего модуля 133, для каждого выявленного в трафике DNS-запроса извлекают по меньшей мере следующие данные: доменное имя; IP-адреса отправителя-и адресата.[0096] In one of the additional embodiments of the described technology through the filter module 133, for each DNS request detected in traffic, at least the following data is retrieved: domain name; Sender and destination IP addresses.

[0097] Дополнительно на описываемом этапе реализации способа 200 может присутствовать этап проверки наличия аналитического отчета, связанного с исследуемыми доменными именами, в локальном хранилище данных 136 и может включать выполнение, посредством фильтрующего модуля 133, меньшей мере следующих подэтапов: (i) получение данных об аналитических отчетах; (ii) установление, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами, идентифицирующими аналитические отчеты в указанных полученных данных, соответствия каждого из извлеченных доменных имен одному из имеющихся аналитических отчетов. В некоторых вариантах реализации настоящего изобретения в ответ на то, что для извлеченного доменного имени не имеется аналитического отчета, согласно предложенному способу передают, посредством фильтрующего модуля, указанное доменное имя в анализирующий модуль 134.[0097] Additionally, at the described step of implementing the method 200, there may be a step of checking for the presence of an analytical report associated with the investigated domain names in the local data store 136 and may include performing, through the filter module 133, at least the following sub-steps: (i) obtaining data about analytical reports; (ii) establishing, by character-by-character comparison of each of the extracted domain names with domain names identifying analytics in said retrieved data, that each of the extracted domain names matches one of the available analytics. In some embodiments of the present invention, in response to the fact that there is no analysis report for the extracted domain name, according to the proposed method, the specified domain name is transmitted, by means of a filter module, to the analysis module 134.

[0098] В случае если фильтрующий модуль 133 извлекает аналитический отчет, который свидетельствует о легитимности доменного имени, то все DNS-запросы, содержащие указанное в отчете доменное имя отфильтровываются (исключаются из дальнейшего анализа). В противоположном случае, когда фильтрующий модуль 133 извлекает аналитический отчет, содержащий сведения о вредоносности доменного имени, то в трафике защищаемой инфраструктуры 110 осуществляют поиск всех устройств 111, которые взаимодействуют с выявленным доменным именем и начисляют штраф для выявленных устройств 111, в соответствии с правилами, которые будут описаны далее (шаг 250).[0098] If the filter module 133 retrieves an analytical report that indicates the legitimacy of the domain name, then all DNS queries containing the domain name specified in the report are filtered out (excluded from further analysis). In the opposite case, when the filtering module 133 extracts an analytical report containing information about the maliciousness of the domain name, then in the traffic of the protected infrastructure 110 they search for all devices 111 that interact with the identified domain name and charge a fine for the detected devices 111, in accordance with the rules which will be described later (step 250).

[0099] Далее все выявленные в трафике запросы сохраняются в локальное хранилище данных 136 системы 100 в виде списка, содержащего DNS-запрос, и соответствующие ему доменное имя; IP-адреса отправителя и/или адресата.[0099] Further, all requests identified in the traffic are stored in the local data store 136 of the system 100 in the form of a list containing a DNS query and its corresponding domain name; Sender and/or destination IP addresses.

ШАГ 230 ФИЛЬТРУЮТ СПИСОК ИЗ ВЫЯВЛЕННЫХ DNS-ЗАПРОСОВ, ПРИ ЭТОМ ИСКЛЮЧАЯ ИЗ НЕГО ЗАПРОСЫ К ЗАРАНЕЕ ОПРЕДЕЛЕННЫЕ ТИПАМ ДОМЕННЫХ ИМЕН.STEP 230 FILTERING THE LIST OF DETECTED DNS REQUESTS AND EXCLUDING REQUESTS FOR PRE-DETERMINED TYPES OF DOMAIN NAMES.

[0100] Далее в ходе второго этапа анализа сохраненный в локальном хранилище данных 136 список фильтруют посредством фильтрующего модуля 133. Стоит отметить, что фильтрация всех типов запросов к доменным именам происходит на основе общеизвестных методов, причем основой данной фильтрации служат особенности доменного имени, к которому направлен запрос.[0100] Further, during the second stage of analysis, the list stored in the local data store 136 is filtered by the filter module 133. request sent.

[0101] К типам доменных имен, которые фильтруются, то есть исключаются из заранее сформированного списка, относятся по меньшей мере следующие: доменные имена второго уровня, доменные имена с низкой энтропией, а также заведомо доверенные именам из общеизвестных достоверных источников.[0101] The types of domain names that are filtered, that is, excluded from a pre-generated list, include at least the following: second-level domain names, domain names with low entropy, as well as known trusted names from well-known reliable sources.

[0102] Так посредством фильтрующего модуля 134 из списка, хранящегося в локальном хранилище данных 136 дополнительно исключают доменные имена второго уровня. При этом выполняется по меньшей мере следующие операции: (i) устанавливается связь с хранилищем данных, в том числе обособленным локальным 136 или удаленным доверенным хранилищем доменных имен (не показано) в зависимости от варианта реализации, как описано выше для получения от него списка доменных имен, (ii) преобразуют каждое доменное имя в строку и проверяют количество точек в этой строке (iii) в зависимости от того, превышает ли количество точек в строке одну (что соответствует доменному имени второго уровня), доменное имя либо отфильтровывается и помечается как доверенное доменное имя, либо остается в списке.[0102] Thus, by means of the filter module 134, second-level domain names are additionally excluded from the list stored in the local data store 136. This performs at least the following operations: (i) establishes a connection with the data store, including a separate local 136 or remote trusted store of domain names (not shown), depending on the implementation, as described above to obtain a list of domain names from it , (ii) convert each domain name to a string and check the number of dots in that string (iii) depending on whether the number of dots in the string is greater than one (corresponding to a second-level domain name), the domain name is either filtered and marked as a trusted domain name name, or remains in the list.

[0103] Стоит отметить, что к признакам, позволяющим определение использования туннелей можно отнести энтропию доменных имен. Обычные доменные имена, как правило, состоят из слов английского языка; такие имена имеют низкую энтропию. В то же время, закодированные данные (а инструменты для DNS-туннелирования кодируют данные, которые помещают в DNS-запрос) имеют высокую энтропию. Таким образом доменные имена, имеющие высокую энтропию, могут служить признаком использования туннелирования. Исходя из этого на данном этапе реализации настоящей технологии предлагается фильтровать те доменные имена, у которых энтропия низкая.[0103] It is worth noting that the features that allow the determination of the use of tunnels include the entropy of domain names. Ordinary domain names usually consist of English words; such names have low entropy. At the same time, encoded data (and DNS tunneling tools encode data that is placed in a DNS query) has a high entropy. Thus, domain names that have high entropy may indicate that tunneling is being used. Based on this, at this stage of the implementation of this technology, it is proposed to filter those domain names that have low entropy.

[0104] Определение энтропии доменного имени может осуществляться любым общеизвестным методом посредством фильтрующего модуля 133. В качестве примера, но не ограничиваясь им, энтропия может быть определена методом, описанным ниже.[0104] Determining the entropy of a domain name can be performed by any well-known method through the filter module 133. As an example, but not limited to, the entropy can be determined by the method described below.

[0105] В качестве примера осуществления настоящей технологии в фильтрующем модуле для сортировки доменных имен, обладающих низкой энтропией могут выполняться по меньшей мере следующие подэтапы: (i) определение частоты появления каждой из множества заданных N-грамм в каждом из полученных доменных имен, при этом каждая N-грамма соответствует комбинации из N последовательных символов. N-граммы могут быть получены из локального хранилища данных 136, или из подключаемого по беспроводной связи хранилища данных; альтернативно, они могут быть заданы оператором в специальном интерфейсе вычислительного устройства 130; (ii) определение энтропии N-грамм указанного анализируемого доменного имени как функции от определенной частоты появления каждой N-граммы в этом анализируемом доменном имени. Собственно вычисление может осуществляться любым известным в уровне технике методом; (iii) сравнение определенной энтропии N-грамм анализируемого доменного имени с заданным пороговым значением энтропии N-грамм, которое определяет доменные имена с низкой энтропией; пороговое значение предварительно определяют эмпирическим путем; (iv) отфильтровывание (исключение) доменных имен, чья энтропия ниже заданного порогового значения.[0105] As an exemplary implementation of the present technology, at least the following sub-steps may be performed in the filter module for sorting domain names having low entropy: (i) determining the frequency of occurrence of each of the set of given N-grams in each of the received domain names, while each N-gram corresponds to a combination of N consecutive characters. N-grams may be obtained from local data store 136, or from a wirelessly connected data store; alternatively, they can be set by the operator in a special interface of the computing device 130; (ii) determining the entropy of the N-grams of said analyzed domain name as a function of the determined frequency of occurrence of each N-gram in that analyzed domain name. The calculation itself can be carried out by any method known in the art; (iii) comparing the determined N-gram entropy of the analyzed domain name with a predetermined N-gram entropy threshold that identifies low entropy domain names; the threshold value is pre-determined empirically; (iv) filtering out (exclusion) of domain names whose entropy is below a given threshold value.

[0106] Также посредством фильтрующего модуля 134 из списка, хранящегося в локальном хранилище данных 136 дополнительно исключают заведомо доверенные имена, предварительно полученные из общеизвестных достоверных источников. При этом выполняется по меньшей мере следующие операции: (i) устанавливается связь с хранилищем данных, в том числе обособленным локальным 136 или удаленным доверенным хранилищем доменных имен (не показано) в зависимости от варианта реализации, как описано выше для получения от него набора известных доверенных доменных имен, (ii) устанавливают, путем посимвольного сравнения каждого из извлеченных доменных имен с доменными именами в полученном наборе доменных имен, совпадение каждого из извлеченных доменных имен с одним из известных доменных имен, и (iii) в зависимости от результата установления совпадения доменное имя либо отфильтровывается и помечается как доверенное доменное имя, либо остается.[0106] Also, by means of the filter module 134, the list stored in the local data store 136 further excludes known trusted names previously obtained from well-known reliable sources. This performs at least the following operations: (i) establishes a connection with the data store, including a separate local 136 or remote trusted domain name store (not shown), depending on the implementation option, as described above to obtain from it a set of known trusted domain names, (ii) determine, by character-by-character comparison of each of the extracted domain names with the domain names in the resulting set of domain names, a match of each of the extracted domain names with one of the known domain names, and (iii) depending on the result of the match, the domain name either filtered out and marked as a trusted domain name, or left.

[0107] Альтернативно в дополнительных вариантах реализации возможен случай, когда шаг фильтрации запросов к заведомо доверенным именам из общеизвестных достоверных источников может быть пропущен и выполнен на последующем этапе с использованием анализирующего модуля 134, будучи включенным в формирование обучающих выборок решающего правила.[0107] Alternatively, in additional implementations, it is possible that the step of filtering requests for known trusted names from well-known reliable sources can be skipped and performed in a subsequent step using the parsing module 134, being included in the formation of training samples of the decision rule.

[0108] В некоторых дополнительных вариантах реализации настоящей технологии доменные имена могут также быть закодированы любым общеизвестным методом для поддержки локализованных доменных имен, то есть доменных имен, состоящих не из латиницы, а из символов других национальных алфавитов, таких, например, как доменное.имя.на.русском.рф.[0108] In some additional implementations of the present technology, domain names may also be encoded by any well-known method to support localized domain names, that is, domain names consisting not of the Latin alphabet, but of characters from other national alphabets, such as, for example, domain.name .in.Russian.rf.

[0109] В одном из вариантов реализации настоящей технологии, если доменное имя найдено в доступной локально базе данных 132 в системе 100 или доверенной базе данных, доступ к которой осуществляется по сети, то тогда способ переходит к последнему этапу настоящей технологии, который будет подробно раскрыт ниже (шаг 260).[0109] In one embodiment of the present technology, if the domain name is found in a locally accessible database 132 in the system 100 or a trusted database accessed over the network, then the method proceeds to the last step of the present technology, which will be discussed in detail. below (step 260).

[0110] В одном из вариантов реализации на данном шаге выполняется дополнительная проверка по меньшей мере одного извлеченного IP-адреса отправителя и/или IP-адреса адресата в общеизвестных достоверных источниках и в белом и черном листе, хранящемся в базе данных 136. Это может выполняться методом, описанным выше для проверки доменных имен. Причем в зависимости от результата установления совпадения доменное имя, связанное с установленным IP-адресом отправителя и/или адресата, либо отфильтровывается и помечается как доверенное доменное имя, либо переходит на следующий этап, описанный далее, либо блокируется, если обнаружено в черном списке или в базе данных, например, веб-ресурсов, заведомо принадлежащих киберпреступникам.[0110] In one implementation, this step further checks at least one extracted source IP address and/or destination IP address against well-known trusted sources and against the whitelist and blacklist stored in database 136. This may be performed the method described above for checking domain names. Moreover, depending on the result of establishing a match, the domain name associated with the set IP address of the sender and / or addressee is either filtered and marked as a trusted domain name, or proceeds to the next stage described below, or is blocked if found in the black list or in a database, for example, of web resources that are known to be owned by cybercriminals.

ШАГ 240 КАЖДОЕ ИЗ МНОЖЕСТВА ОСТАВШИХСЯ В СПИСКЕ ДОМЕННЫХ ИМЕН ПООЧЕРЕДНО ПОДАЮТ НА ВХОД ПРЕДВАРИТЕЛЬНО ОБУЧЕННОГО РЕШАЮЩЕГО ПРАВИЛА.STEP 240 EACH OF THE MULTIPLE DOMAIN NAMES REMAINING IN THE LIST ARE SUPPLIED IN TURN TO THE PRE-LEARNED DECISION RULE.

[0111] В вариантах осуществления описываемой технологии операции, выполняемые на шаге 240 способа 200 включают анализ, посредством анализирующего модуля 134, полученной совокупности признаков подозрительности анализируемого доменного имени с использованием по меньшей мере одного предварительно составленного решающего правила, которыми могут являться как эвристические алгоритмы, так и статистические, в т.ч. алгоритмы машинного обучения.[0111] In the embodiments of the described technology, the operations performed in step 240 of the method 200 include analysis, by means of the analyzing module 134, of the obtained set of signs of suspiciousness of the analyzed domain name using at least one pre-compiled decision rule, which can be both heuristic algorithms and and statistical, incl. machine learning algorithms.

[0112] В одном из описываемых вариантов реализации настоящей технологии в качестве решающего правила выступают эвристические правила. Так, примером эвристического правила может быть разделение доменов по уровню энтропии таким образом, что домены с высоким уровнем энтропии признаются подозрительными. Причем пороговый уровень энтропии определяют эмпирически. Также возможны подходы, опирающиеся на выделение N-грамм и последующий подсчет их энтропии, а также сравнение подсчитанной энтропии с заранее заданным пороговым значением.[0112] In one of the described embodiments of the present technology, heuristic rules act as a decision rule. So, an example of a heuristic rule can be the division of domains according to the level of entropy in such a way that domains with a high level of entropy are recognized as suspicious. Moreover, the threshold level of entropy is determined empirically. Approaches based on the selection of N-grams and the subsequent calculation of their entropy, as well as the comparison of the calculated entropy with a predetermined threshold value, are also possible.

[0113] Кроме того, возможны варианты осуществления настоящей технологии, когда используют несколько эвристических подходов параллельно и приводят их результаты к единой бинарной оценке, то есть решение может быть одним из двух: доменное имя является вредоносным или нет. В данном случае анализирующий модуль 134 выполнен с возможностью присвоения коэффициента надежности каждому использованному в процессе получения итоговой оценки эвристическому правилу и выведению единой оценки о подозрительности домена на основе данных коэффициентов, при этом анализирующий модуль 134 выполнен с возможностью реализации любых известных эвристических алгоритмов определения вредоносности доменного имени, например, алгоритмов машинного обучения, такие как нейронные сети, деревья решений, бустинговые алгоритмы, а также сигнатуры.[0113] In addition, embodiments of the present technology are possible when several heuristic approaches are used in parallel and their results are brought to a single binary assessment, that is, the decision can be one of two: the domain name is malicious or not. In this case, the analyzing module 134 is configured to assign a reliability coefficient to each heuristic rule used in the process of obtaining the final score and to derive a single assessment of the suspiciousness of the domain based on these coefficients, while the analyzing module 134 is configured to implement any known heuristic algorithms for determining the harmfulness of a domain name , for example, machine learning algorithms such as neural networks, decision trees, boosting algorithms, and signatures.

[0114] В одном из описываемых вариантов реализации настоящей технологии в качестве решающего правила может выступать предварительно обученная нейронная сеть.[0114] In one of the described embodiments of the present technology, a pre-trained neural network can act as a decision rule.

[0115] В качестве иллюстрации, но не ограничиваясь ей, в качестве решающего правила, основанного на нейронной сети может быть использована LSTM-нейросеть. LSTM - это сети с долгосрочной кратковременной памятью (является представителем семейства рекуррентных сетей, RNN), они позволяют анализировать зависимости в последовательности данных.[0115] By way of illustration, but not limitation, an LSTM neural network can be used as a decision rule based on a neural network. LSTMs are networks with long-term short-term memory (is a member of the family of recurrent networks, RNN), they allow you to analyze dependencies in a sequence of data.

[0116] Далее спроектированная нейронная сеть в качестве признаков для обучения использует векторные представления символов префикса входного доменного имени. Префиксом в данной реализации считают часть домена, составленную из поддоменов третьего и более высоких уровней. Например, для домена aaaa.drive.google.com префиксом будет являться строка "aaaa.drive".[0116] Next, the designed neural network uses vector representations of the input domain name prefix characters as features for learning. The prefix in this implementation is considered to be a part of the domain, composed of subdomains of the third and higher levels. For example, for the domain aaaa.drive.google.com, the prefix would be the string "aaaa.drive".

[0117] В вариантах осуществления настоящей технологии определение префикса доменного имени может осуществляться любым известным способом. Так, в качестве иллюстрации может быть использован специально написанный скрипт, в реализации которого сначала выделяют общий домен верхнего уровня (gTLD) и/или национальный домен высшего уровня (ccTLD), которые являются общими доменами верхнего уровня, при помощи общеизвестных методов. Например, в URL https://www.xyz.example.com/doc.html строка example.com - это домен второго уровня, a.com - общий домен верхнего уровня (gTLD). Аналогично, в https://www.example.ac.ru/ example.ac.ru является общим доменом второго уровня, a.ru - TLD с кодом страны (ccTLD). Далее выделяется поддомен более низкого уровня и также исключается из префикса.[0117] In embodiments of the present technology, determination of the domain name prefix may be performed in any known manner. Thus, as an illustration, a specially written script can be used, in the implementation of which a generic top-level domain (gTLD) and/or a country code top-level domain (ccTLD), which are generic top-level domains, are first allocated using well-known methods. For example, in the URL https://www.xyz.example.com/doc.html, example.com is the second-level domain and a.com is the generic top-level domain (gTLD). Similarly, in https://www.example.ac.ru/ example.ac.ru is a generic second-level domain, a.ru is a country code TLD (ccTLD). Next, a lower-level subdomain is allocated and also excluded from the prefix.

[0118] Указанные выше операции, в качестве примера, могут быть реализованы посредством скрипта, написанного на языке Python, при использовании библиотеки 'tldextract', которая использует известные справочники суффиксов доменов, в том числе PUBLIC SUFFIX LIST (https://publicsuffix.org/). Упрощенный вариант полученных результатов выполнения указанного скрипта представлен ниже:[0118] The above operations, as an example, can be implemented through a script written in Python using the 'tldextract' library, which uses well-known domain suffix directories, including PUBLIC SUFFIX LIST (https://publicsuffix.org /). A simplified version of the results obtained by executing the specified script is presented below:

tldextract.extract('http://forums.news.cnn.com/')tldextract.extract('http://forums.news.cnn.com/')

ExtractResult (subdomain-'forums.news', domain-cnn', suffix-'com').ExtractResult(subdomain-'forums.news', domain-cnn', suffix-'com').

[0119] Стоит отметить, что помимо доменного имени на вход решающего правила дополнительно подается собранная за последние Т минут статистика сетевых взаимодействий устройства, с которого было получен DNS-запрос, содержавший данное доменное имя, и штраф данного устройства.[0119] It is worth noting that, in addition to the domain name, the decision rule input is additionally fed the statistics of network interactions collected over the last T minutes of the device from which the DNS request containing this domain name was received, and the fine of this device.

[0120] Под статистикой в контексте данного описания понимается количество взаимодействий по упомянутым выше протоколам за последние Т минут, причем для протоколов над TCP это количество сессий, а для UDP-протоколов это количество дейтаграмм.[0120] Statistics in the context of this description refers to the number of interactions on the above protocols in the last T minutes, and for protocols over TCP this is the number of sessions, and for UDP protocols this is the number of datagrams.

[0121] В различных вариантах осуществления число Т минут может быть задано вручную экспертом или пользователем вычислительного устройства 130 или может быть задано автоматически, например, в зависимости от количества устройств в защищаемой инфраструктуре 110.[0121] In various embodiments, the number of T minutes may be set manually by an expert or user of the computing device 130, or may be set automatically, for example, depending on the number of devices in the protected infrastructure 110.

[0122] Стоит отметить, что выстроенная нейросеть может функционировать и с нулевыми параметрами статистик, но Т предполагается небольшим, то есть в качестве примера, но не ограничиваясь им, 10 минут, соответственно эта статистика появится быстро.[0122] It is worth noting that the built neural network can also function with zero statistics parameters, but T is assumed to be small, that is, as an example, but not limited to 10 minutes, respectively, these statistics will appear quickly.

[0123] Что касается штрафа устройства пользователя 111, то изначально его значение установлено в ноль, который изменяется с количеством итераций в системе 100 методом, описанным подробнее далее. При этом все промежуточные значения штрафов хранятся в локальном хранилище данных 136.[0123] With regard to the user device penalty 111, its value is initially set to zero, which changes with the number of iterations in the system 100 in a manner described in more detail below. In this case, all intermediate values of fines are stored in the local data storage 136.

[0124] В вариантах осуществления настоящей технологии обучающие выборки могут быть сформированы как в условиях изолированного стенда, так и в "боевых" условиях, внутри действующей и высоконагруженной сети с использованием общеизвестных методов построения DNS-туннелей. Например, к таким способам относят использование специальных утилит, таких как_NameServer (NSTX), Dns2tcp, lodine, dnscat2 и др.[0124] In embodiments of the present technology, training samples can be formed both in an isolated stand, and in "combat" conditions, within an operating and highly loaded network using well-known methods for building DNS tunnels. For example, such methods include the use of special utilities such as _NameServer (NSTX), Dns2tcp, lodine, dnscat2, etc.

[0125] Далее будут описаны общие моменты построения нейронной сети для примера. На первом слое общеизвестным способом нормируется размерность пространства признаков. В качестве примера процедуры нормирования пространства признаков может служить то, что все выявленные домены дополняются до длины 256 специальными символами справа.[0125] The following will describe the general points of building a neural network for example. On the first layer, the dimension of the feature space is normalized in a well-known way. As an example of a feature space normalization procedure, all identified domains are padded to a length of 256 with special characters on the right.

[0126] После этого слоя идет первый обучающий слой, непосредственно LSTM с эмпирически выведенными коэффициентами. Указанные коэффициенты формируются непосредственно на этапе обучения, когда загружают в нейронную сеть размеченные выборки доменных имен, т.е. те, для которых заранее известен вердикт, т.е. факт принадлежности их к вредоносным либо к не вредоносным. Стоит отметить, что указанные выборки могут быть получены как из внешних доверенных источников, так и эмпирическим методом, например, ручной установкой флага "вредоносности" для вредоносных доменных имен. Кроме того, указанные выше данные обогащают также легитимными размеченными доменными именами. То есть, анализирующий модуль 134 работающий на основе LSTM нейросети принимает на подготовительном этапе как размеченные вредоносные, так и легитимные доменные имена, на основе которых LSTM нейросеть формирует коэффициенты, которые потом используются в режиме классификации (предсказания).[0126] After this layer comes the first training layer, directly LSTM with empirically derived coefficients. These coefficients are formed directly at the training stage, when labeled samples of domain names are loaded into the neural network, i.e. those for which the verdict is known in advance, i.e. the fact that they belong to malicious or non-malicious. It should be noted that these samples can be obtained both from external trusted sources and by an empirical method, for example, by manually setting the "harmful" flag for malicious domain names. In addition, the above data is also enriched with legitimate tagged domain names. That is, the analysis module 134 based on the LSTM neural network receives at the preparatory stage both marked malicious and legitimate domain names, on the basis of which the LSTM neural network generates coefficients, which are then used in the classification (prediction) mode.

[0127] Следующий слой LSTM нейросети очищает результаты работы предыдущего для получения наиболее достоверных результатов. В уровне технике существует множество методологий очистки, которые могут быть реализованы для данной технологии, одним из примеров подобных методов является отбрасывание части полученных при анализе крайних (максимальных и минимальных) значений, например, по 25% тех и других.[0127] The next layer of the LSTM neural network cleans up the results of the previous one to obtain the most reliable results. In the prior art there are many cleaning methodologies that can be implemented for this technology, one example of such methods is the rejection of a part of the extreme (maximum and minimum) values obtained during the analysis, for example, 25% of both.

[0128] После этого идут два дополнительных промежуточных слоя, которые служат для того, чтобы LSTM-нейросеть могла выделять более длинные цепочки зависимостей в качестве признаков. Эмпирическим путем установлено, что данное количество внутренних слоев дает необходимый баланс скорости работы и ошибок. На последнем слое нейронной сети выносится бинарный вердикт: является ли домен вредоносным.[0128] After that, there are two additional intermediate layers that serve to enable the LSTM neural network to extract longer chains of dependencies as features. Empirically, it has been established that a given number of internal layers gives the necessary balance of speed and errors. At the last layer of the neural network, a binary verdict is issued: is the domain malicious.

[0129] Полученная в анализирующем модуле 134 позитивная или негативная оценка доменного имени сохраняется в локальном хранилище данных 136.[0129] The positive or negative evaluation of the domain name received in the analyzing module 134 is stored in the local data store 136.

ШАГ 250 ЕСЛИ ДОМЕННОЕ ИМЯ ПОЛУЧИЛО НЕГАТИВНУЮ ОЦЕНКУ РЕШАЮЩЕГО ПРАВИЛА, УВЕЛИЧИВАЮТ ШТРАФ ДЛЯ УСТРОЙСТВА, С КОТОРОГО УШЕЛ DNS-ЗАПРОС, СОДЕРЖАЩИЙ ДОМЕННОЕ ИМЯSTEP 250 IF THE DOMAIN NAME GOT A NEGATIVE DECISION VALUE, INCREASE THE PENALTY FOR THE DEVICE FROM WHICH THE DNS REQUEST CONTAINING THE DOMAIN NAME WAS GONE

[0130] Далее вердикт из анализирующего модуля 134 передается в модуль принятия решений 135, где, основываясь на параметрах, описанных далее, принимается решение о том, обнаружена ли компрометация устройства и о степени его вредоносности.[0130] Next, the verdict from the analyzing module 134 is passed to the decision module 135, where, based on the parameters described below, a decision is made on whether a device has been compromised and on the degree of its harmfulness.

[0131] Таким образом, модуль принятия решений 135 проверяет оценку решающего правила, заложенного в анализирующий модуль 134, и если доменное имя получило негативную оценку решающего правила, увеличивает величину штрафа, хранящегося в локальном хранилище данных 136 для устройства, с которого ушел DNS-запрос, содержавший данное исследованное доменное имя.[0131] Thus, the decision module 135 checks the evaluation of the decision rule embedded in the analysis module 134, and if the domain name received a negative evaluation of the decision rule, increases the value of the penalty stored in the local data store 136 for the device from which the DNS request left The that contained the examined domain name.

[0132] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно осуществляет поиск определенного доменного имени в истории всего входящего и исходящего трафика, полученного из защищаемой инфраструктуры 110. Причем стоит отметить, что при этом рассматривают не только DNS-запросы. Если модуль принятия решений находит другие вхождения определенного доменного имени, то все устройства 111 защищаемой инфраструктуры 110, коммуницирующие с данным доменным именем, либо дополнительно штрафуют, либо штрафуют их в том случае, если не оштрафовали при прошлом обнаружении.[0132] In one additional implementation, the decision module 135 additionally searches for a specific domain name in the history of all incoming and outgoing traffic received from the protected infrastructure 110. Moreover, it is worth noting that this considers not only DNS queries. If the decision module finds other occurrences of a particular domain name, then all devices 111 of the protected infrastructure 110 communicating with this domain name either additionally penalize or penalize them if they did not penalize at the last discovery.

[0133] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно выполнен с возможностью блокировки выявленного вредоносного доменного имени для всей защищаемой инфраструктуры 110, создание уведомлений (алертов), шаблонных писем для уведомления об инциденте заинтересованных сторон, внесения в черные списки, доступные по сети связи вычислительному устройству 130 и т.д.[0133] In one of the additional implementation options, the decision-making module 135 is additionally configured to block the detected malicious domain name for the entire protected infrastructure 110, create notifications (alerts), template letters to notify interested parties about the incident, blacklisting, available by communication network to computing device 130, etc.

[0134] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно выполнен с возможностью извлечения из локального хранилища данных 136 по меньшей мере одного IP адреса отправителя и/или адресата, которые соотносятся с вредоносным доменным именем, определения в локальном хранилище данных 136 по меньшей мере одного дополнительного доменного имени, которое расположено по одному и тому же извлеченному IP-адресу, а также выявление всех устройств 111 защищаемой инфраструктуры 110, коммуницировавших с по меньшей мере одним дополнительно выявленным доменным именем и добавлением штрафа этим устройствам.[0134] In one of the additional implementation options, the decision module 135 is further configured to extract from the local data store 136 at least one IP address of the sender and / or destination that correlates with a malicious domain name, definitions in the local data store 136 at least at least one additional domain name that is located at the same extracted IP address, as well as identifying all devices 111 of the protected infrastructure 110 that communicated with at least one additionally identified domain name and adding a penalty to these devices.

[0135] Стоит отметить, что модуль принятия решений в том числе обновляет черный список (перечень вредоносных доменных имен), который используется на этапе фильтрации в фильтрующем модуле 133, чтобы сократить время обработки и мгновенно выносить вердикт по аналогичному запросу.[0135] It is worth noting that the decision module also updates the blacklist (list of malicious domain names) that is used in the filtering step in the filter module 133 to reduce processing time and instantly issue a verdict on a similar request.

[0136] Кроме того, модуль принятия решения обрабатывает полученные значения штрафов каждого устройства 111 и выносит решение о его компрометации.[0136] In addition, the decision module processes the received penalty values of each device 111 and makes a decision about its compromise.

ШАГ 260 ПРИ ПРЕВЫШЕНИИ СУММОЙ ШТРАФОВ ПО МЕНЬШЕЙ МЕРЕ ОДНОГО УСТРОЙСТВА ЗАРАНЕЕ ЗАДАННОГО ПОРОГА ДАННОЕ УСТРОЙСТВО ОТНОСЯТ К СКОМПРОМЕТИРОВАННЫМ, ПРИЧЕМ ОБ ЭТОМ ВЫВОДЯТ УВЕДОМЛЕНИЕ.STEP 260 WHEN THE SUM OF PENALTY ON AT LEAST ONE DEVICE EXCEEDS A PRESET THRESHOLD, THIS DEVICE IS CLASSIFIED AS COMPROMISED AND A NOTIFICATION IS DISPLAYED ABOUT THIS.

[0137] Модуль принятия решения 135 выполнен с возможностью проверки превышения суммы штрафов каждого устройства (устройства 111) заранее заданного порога, отнесения его к скомпрометированным в случае превышения порога, а также выводе уведомлений, сообщений, алертов и т.д. о данном инциденте.[0137] The decision module 135 is configured to check if the amount of fines of each device (device 111) exceeds a predetermined threshold, classify it as compromised if the threshold is exceeded, and output notifications, messages, alerts, etc. about this incident.

[0138] Пороговое значение штрафов выбирается эмпирически, исходя из статистических данных о компрометации устройств, частоты взаимодействия с вредоносным доменными именами и так далее.[0138] The penalty threshold is chosen empirically based on device compromise statistics, frequency of interaction with malicious domain names, and so on.

[0139] В одном из дополнительных вариантов реализации модуль принятия решений 135 дополнительно выполнен с возможностью выявления всех контактов (взаимодействий) выявленного скомпрометированного устройства 111 внутри защищаемой инфраструктуры 110. Причем особое внимание уделяется протоколам удаленного управления. В случае большого количества критических операций, например, таких, как удаленный запуск приложений, получение доступа к общим ресурсам и т.д. при взаимодействии с каким-либо другим устройством 111, оно также штрафуется и затем проверяется на превышение штрафом порогового значения компрометации.[0139] In one of the additional implementation options, the decision module 135 is additionally configured to identify all contacts (interactions) of the identified compromised device 111 within the protected infrastructure 110. Moreover, special attention is paid to remote control protocols. In the case of a large number of critical operations, such as launching applications remotely, accessing shared resources, etc. when interacting with some other device 111, it is also penalized and then checked to see if the penal exceeds the compromise threshold.

[0140] Стоит дополнительно отметить, что осуществление описанного выше способа 200 также возможно в специфичных сетях. Особую эффективность заявленная технология показывает в сетях со строгими политиками безопасности. Например, в сети видеокамер скорее всего будут отключены взаимодействия по всем сетевым протоколам, кроме протокола, необходимого для передачи видеоинформации. Протокол DNS необходим для обеспечения маршрутизации в сети и, как правило, разрешен даже в таких сетях. В таком случае велика вероятность того, что злоумышленники воспользуются именно DNS как транспортом для эксфильтрации данных.[0140] It is worth further noting that the implementation of the method 200 described above is also possible in specific networks. The claimed technology shows particular effectiveness in networks with strict security policies. For example, in a network of video cameras, interactions over all network protocols will most likely be disabled, except for the protocol necessary for transmitting video information. The DNS protocol is required to provide routing on a network and is generally allowed even on such networks. In this case, it is highly likely that attackers will use DNS as a transport to exfiltrate data.

[0141] На Фиг. 3 далее будет представлена общая схема вычислительного устройства 130, обеспечивающего обработку данных, необходимую для реализации заявленного решения.[0141] In FIG. 3, the general scheme of the computing device 130 will be presented below, providing the data processing necessary to implement the claimed solution.

[0142] В общем случае устройство 300 содержит такие компоненты, как: один или более процессоров 301, по меньшей мере одну память 302, средство хранения данных 303, интерфейсы ввода/вывода 304, средство В/В 305, средства сетевого взаимодействия 306.[0142] In general, device 300 includes components such as: one or more processors 301, at least one memory 302, data storage 303, I/O interfaces 304, I/O 305, networking 306.

[0143] Процессор 301 устройства выполняет основные вычислительные операции, необходимые для функционирования устройства 300 или функциональности одного или более его компонентов. Процессор 301 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 302.[0143] The processor 301 of the device performs the basic computing operations necessary for the operation of the device 300 or the functionality of one or more of its components. The processor 301 executes the necessary machine-readable instructions contained in the main memory 302.

[0144] Память 302, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.[0144] The memory 302 is typically implemented as RAM and contains the necessary software logic to provide the desired functionality.

[0145] Средство хранения данных 303 может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п.[0145] The storage medium 303 may be in the form of HDD, SSD disks, raid array, network storage, flash memory, optical storage media (CD, DVD, MD, Blue-Ray disks), etc.

[0146] Интерфейсы 304 представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п. Выбор интерфейсов 304 зависит от конкретного исполнения устройства 300, которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.[0146] Interfaces 304 are standard means for connecting and working with the server side, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire, and the like. The choice of interfaces 304 depends on the specific implementation of device 300, which may be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, and the like.

[0147] В качестве средств В/В данных 305 могут использоваться клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.[0147] The data I/O means 305 can be a keyboard, joystick, display (touchscreen), projector, touchpad, mouse, trackball, light pen, speakers, microphone, and the like.

[0148] Средства сетевого взаимодействия 306 выбираются из устройств, обеспечивающих прием и передачу данных по сети, например, Ethernet-карта, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFTD модуль, GSM модем и т.п. С помощью средств 305 обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0148] Means of networking 306 are selected from devices that receive and transmit data over the network, for example, an Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFTD module, GSM modem, etc. .P. With the help of means 305, the organization of data exchange over a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM, is provided.

[0149] Компоненты устройства 130 сопряжены посредством общей шины передачи данных 310.[0149] The components of the device 130 are interfaced through a common data bus 310.

[0150] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.[0150] In the present application materials, a preferred disclosure of the implementation of the claimed technical solution was presented, which should not be used as limiting other, private embodiments of its implementation, which do not go beyond the scope of the requested legal protection and are obvious to specialists in the relevant field of technology.

[0151] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.[0151] Modifications and improvements to the above described embodiments of the present technical solution will be clear to specialists in this field of technology. The foregoing description is provided by way of example only and is not intended to be limiting in any way. Thus, the scope of the present technical solution is limited only by the scope of the appended claims.

Claims (28)

1. Компьютерно-реализуемый способ выявления скомпрометированных устройств, использующих DNS-туннелирование, содержащий этапы, на которых:1. A computer-implemented method for detecting compromised devices using DNS tunneling, comprising the steps of: получают трафик защищаемой сетевой инфраструктуры;receive traffic of the protected network infrastructure; извлекают из трафика по меньшей мере один DNS-запрос;extracting at least one DNS query from the traffic; фильтруют список выявленных DNS-запросов, при этом исключая из него запросы к заранее определенным типам доменных имен;filtering the list of identified DNS queries, while excluding from it requests to predefined types of domain names; каждое из множества оставшихся в списке доменных имен поочередно подают на вход заранее обученного решающего правила;each of the many domain names remaining in the list is alternately fed to the input of a pre-trained decision rule; если по меньшей мере одно доменное имя получило негативную оценку решающего правила, увеличивают штраф для по меньшей мере одного устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий это доменное имя;if at least one domain name received a negative evaluation of the decision rule, increase the penalty for at least one device from which at least one DNS request containing this domain name left; при превышении суммой штрафов по меньшей мере одного устройства заранее заданного порога данное устройство относят к скомпрометированным,if the amount of fines for at least one device exceeds a predetermined threshold, this device is classified as compromised, причем об этом выводят уведомление.and a notification is given about it. 2. Компьютерно-реализуемый способ по п. 1, в котором получают исходящий трафик защищаемой сетевой инфраструктуры, а также дополнительно получают входящий сетевой трафик защищаемой сетевой инфраструктуры.2. A computer-implemented method according to claim 1, in which outgoing traffic of the protected network infrastructure is received, and also incoming network traffic of the protected network infrastructure is additionally received. 3. Компьютерно-реализуемый способ по п. 1, в котором трафик получают методом зеркалирования.3. The computer-implemented method of claim 1, wherein the traffic is received by mirroring. 4. Компьютерно-реализуемый способ по п. 1, в котором для каждого выявленного в трафике DNS-запроса извлекают, по меньшей мере, следующие данные: доменное имя; IP-адреса отправителя и адресата.4. The computer-implemented method according to claim 1, wherein for each DNS query detected in traffic, at least the following data is retrieved: domain name; Sender and destination IP addresses. 5. Компьютерно-реализуемый способ по п. 4, в котором дополнительно осуществляют проверку вхождения по меньшей мере одного IP-адреса получателя в черный и белый список,5. The computer-implemented method according to claim 4, which additionally checks whether at least one recipient IP address is in the black and white list, если по меньшей мере один IP-адрес получателя обнаружен в черном списке, то увеличивают штраф для по меньшей мере одного устройства, с которого ушел по меньшей мере один DNS-запрос, содержащий по меньшей мере один IP-адрес получателя;if at least one recipient IP address is found in the black list, then increase the penalty for at least one device from which at least one DNS request has left, containing at least one recipient IP address; если по меньшей мере один IP-адрес получателя обнаружен в белом списке, то отфильтровывают данный DNS-запрос.if at least one recipient IP address is found in the white list, then filter this DNS query. 6. Компьютерно-реализуемый способ по п. 1, в котором к заранее определенным типам доменных имен относят по меньшей мере:6. The computer-implemented method of claim 1, wherein the predefined domain name types include at least: доменные имена второго уровня,second level domain names, доменные имена с низкой энтропией, а такжеlow entropy domain names, and заведомо доверенные доменные имена из общеизвестных достоверных источников.known trusted domain names from well-known reliable sources. 7. Компьютерно-реализуемый способ по п. 1, в котором в качестве решающего правила используют, по меньшей мере, следующие эвристические методы: разделение доменов по уровню энтропии, выделение n-грамм в доменных именах.7. A computer-implemented method according to claim 1, in which at least the following heuristic methods are used as a decision rule: separation of domains by entropy level, selection of n-grams in domain names. 8. Компьютерно-реализуемый способ по п. 1, в котором в качестве решающего правила используют LSTM-нейросеть.8. The computer-implemented method of claim 1, wherein an LSTM neural network is used as the decision rule. 9. Компьютерно-реализуемый способ по п. 8, в котором на вход LSTM-нейросети дополнительно подается статистика сетевых взаимодействий за последние Т минут того устройства, с которого было получен DNS-запрос, содержавший данное доменное имя, и штраф данного устройства.9. The computer-implemented method according to claim 8, in which the input of the LSTM neural network is additionally supplied with statistics of network interactions for the last T minutes of the device from which the DNS request containing the given domain name was received, and the fine of this device. 10. Компьютерно-реализуемый способ по п. 1, в котором дополнительно в качестве решающего правила используют совокупность LSTM-нейросети и по меньшей мере одного из эвристических методов.10. The computer-implemented method of claim 1, further comprising using a combination of an LSTM neural network and at least one of the heuristic methods as a decision rule. 11. Компьютерно-реализуемый способ по п. 1, в котором дополнительно осуществляют поиск по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, в истории всего входящего и исходящего трафика, полученного от по меньшей мере одного устройства защищаемой инфраструктуры и,11. The computer-implemented method of claim 1, further comprising searching for at least one domain name that received a negative decision rule score in the history of all incoming and outgoing traffic received from at least one protected infrastructure device and, если находят вхождения по меньшей мере одного доменного имени, которое получило негативную оценку решающего правила, то все устройства, входящие в защищаемую инфраструктуру и коммуницировавшие с указанным доменным именем,if they find occurrences of at least one domain name that received a negative evaluation of the decision rule, then all devices included in the protected infrastructure and communicating with the specified domain name, либо дополнительно штрафуют,or additional fines либо штрафуют, если не оштрафовали их ранее.or fined if they have not been fined before. 12. Компьютерно-реализуемый способ по п. 1, в котором дополнительно блокируют выявленное вредоносное доменное имя для всех устройств, входящих в одну защищаемую инфраструктуру, создают уведомления о вредоносности доменного имени, создают шаблонные письма для уведомления об инциденте заинтересованных сторон, а также вносят доменное имя в по меньшей мере один черный список.12. The computer-implemented method according to claim 1, in which the detected malicious domain name is additionally blocked for all devices included in the same protected infrastructure, notifications about the maliciousness of the domain name are created, template letters are created to notify interested parties about the incident, and the domain name on at least one black list. 13. Вычислительное устройство для выявления скомпрометированных устройств на основе DNS-туннелирования, выполненное с возможностью выполнения способа выявления скомпрометированных устройств на основе DNS-туннелирования по любому из пп. 1-12.13. A computing device for detecting compromised devices based on DNS tunneling, configured to perform a method for detecting compromised devices based on DNS tunneling according to any one of paragraphs. 1-12.
RU2021124547A 2021-08-19 2021-08-19 Computing apparatus and method for identifying compromised apparatuses based on dns tunnelling detection RU2777348C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
NL2031253A NL2031253B1 (en) 2021-08-19 2022-03-11 Computing device and method of detecting compromised network devices based on dns tunneling detection
US17/864,551 US20230056625A1 (en) 2021-08-19 2022-07-14 Computing device and method of detecting compromised network devices

Publications (1)

Publication Number Publication Date
RU2777348C1 true RU2777348C1 (en) 2022-08-02

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294773A1 (en) * 2015-04-03 2016-10-06 Infoblox Inc. Behavior analysis based dns tunneling detection and classification framework for network security
RU2668710C1 (en) * 2018-01-17 2018-10-02 Общество с ограниченной ответственностью "Группа АйБи ТДС" Computing device and method for detecting malicious domain names in network traffic
US20180351974A1 (en) * 2016-04-29 2018-12-06 International Business Machines Corporation Cognitive and contextual detection of malicious dns
US20190058718A1 (en) * 2017-08-17 2019-02-21 Zscaler, Inc. Systems and methods to detect and monitor dns tunneling
RU2690758C1 (en) * 2018-09-12 2019-06-05 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Method for automatic classification of network traffic based on heuristic analysis
RU2709647C1 (en) * 2016-04-14 2019-12-19 Шанхай Яму Коммюникейшн Текнолоджи Ко., Лтд Method of associating a domain name with a characteristic of visiting a website

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294773A1 (en) * 2015-04-03 2016-10-06 Infoblox Inc. Behavior analysis based dns tunneling detection and classification framework for network security
RU2709647C1 (en) * 2016-04-14 2019-12-19 Шанхай Яму Коммюникейшн Текнолоджи Ко., Лтд Method of associating a domain name with a characteristic of visiting a website
US20180351974A1 (en) * 2016-04-29 2018-12-06 International Business Machines Corporation Cognitive and contextual detection of malicious dns
US20190058718A1 (en) * 2017-08-17 2019-02-21 Zscaler, Inc. Systems and methods to detect and monitor dns tunneling
RU2668710C1 (en) * 2018-01-17 2018-10-02 Общество с ограниченной ответственностью "Группа АйБи ТДС" Computing device and method for detecting malicious domain names in network traffic
RU2690758C1 (en) * 2018-09-12 2019-06-05 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Method for automatic classification of network traffic based on heuristic analysis

Similar Documents

Publication Publication Date Title
US10218740B1 (en) Fuzzy hash of behavioral results
US10270744B2 (en) Behavior analysis based DNS tunneling detection and classification framework for network security
US11503044B2 (en) Method computing device for detecting malicious domain names in network traffic
US10735379B2 (en) Hybrid hardware-software distributed threat analysis
Vinayakumar et al. Scalable framework for cyber threat situational awareness based on domain name systems data analysis
US10608992B2 (en) Hybrid hardware-software distributed threat analysis
US9369479B2 (en) Detection of malware beaconing activities
US11399288B2 (en) Method for HTTP-based access point fingerprint and classification using machine learning
US8260914B1 (en) Detecting DNS fast-flux anomalies
CN113228585A (en) Network security system with feedback loop based enhanced traffic analysis
US9106688B2 (en) System, method and computer program product for sending information extracted from a potentially unwanted data sample to generate a signature
Yen Detecting stealthy malware using behavioral features in network traffic
CN114301659A (en) Network attack early warning method, system, device and storage medium
Jafar et al. Analysis and investigation of malicious DNS queries using CIRA-CIC-DoHBrw-2020 dataset
US11159548B2 (en) Analysis method, analysis device, and analysis program
RU2777348C1 (en) Computing apparatus and method for identifying compromised apparatuses based on dns tunnelling detection
NL2031253B1 (en) Computing device and method of detecting compromised network devices based on dns tunneling detection
CN117242446A (en) Automatic extraction and classification of malicious indicators
Jeng et al. Md-minerp: Interaction profiling bipartite graph mining for malware-control domain detection
US20230306297A1 (en) System and method for device attribute identification based on host configuration protocols
US20230185915A1 (en) Detecting microsoft windows installer malware using text classification models
Nagarajan Analysis of Periodicity in Botnets
CN114070819A (en) Malicious domain name detection method, device, electronic device and storage medium