RU2778635C1 - System and method for outside control of the cyberattack surface - Google Patents

System and method for outside control of the cyberattack surface Download PDF

Info

Publication number
RU2778635C1
RU2778635C1 RU2021115690A RU2021115690A RU2778635C1 RU 2778635 C1 RU2778635 C1 RU 2778635C1 RU 2021115690 A RU2021115690 A RU 2021115690A RU 2021115690 A RU2021115690 A RU 2021115690A RU 2778635 C1 RU2778635 C1 RU 2778635C1
Authority
RU
Russia
Prior art keywords
infrastructure
dns
protected
address
information
Prior art date
Application number
RU2021115690A
Other languages
Russian (ru)
Inventor
Тим Джон Оскар Бобак
Дмитрий Александрович Волков
Original Assignee
Общество с ограниченной ответственностью "Траст"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Траст" filed Critical Общество с ограниченной ответственностью "Траст"
Priority to NL2030861A priority Critical patent/NL2030861B1/en
Priority to US17/712,243 priority patent/US20220385678A1/en
Application granted granted Critical
Publication of RU2778635C1 publication Critical patent/RU2778635C1/en

Links

Images

Abstract

FIELD: information security.
SUBSTANCE: method for outside control of the cyberattack surface includes the stages of obtaining information about the compromise indicators and the elements of the protected infrastructure and storing said information, detecting control points of the protected infrastructure, scanning the control points of the protected infrastructure and obtaining information on the statuses of the control points of the protected infrastructure, verifying the presence of compromise indicators in the information on the statuses of the control points, and, in response to detecting at least one compromise indicator, forming at least one warning of a possible cyberattack and transmitting at least one generated warning of a possible cyberattack.
EFFECT: prevention of compromise of the protected infrastructure by intruders or malware and timely information of the cybersecurity service about the detection of compromise attempts.
13 cl, 9 dwg

Description

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

[0001] Изобретение относится к области вычислительной техники, а именно к системам и способам внешнего контроля поверхности кибератаки.[0001] The invention relates to the field of computer technology, namely to systems and methods for external control of the cyberattack surface.

[0002] Поверхностью атаки или поверхностью кибератаки в контексте данной заявки называется совокупность всех потенциально уязвимых аппаратных и программных решений, присутствующих в защищаемой сетевой инфраструктуре (таких, например, как порты, открытые на сервере, и веб-сервисы, запущенные на нем), а также отдельных свойств и параметров этих решений (например, SSL-сертификат и срок его действия, IP-адрес сервера и регистрационные данные его владельца, имя учетной записи пользователя и пароль от нее, и т.д.).[0002] An attack surface or a cyberattack surface in the context of this application is the totality of all potentially vulnerable hardware and software solutions present in the protected network infrastructure (such as, for example, ports open on a server and web services running on it), and as well as individual properties and parameters of these solutions (for example, SSL certificate and its validity period, server IP address and registration data of its owner, user account name and password, etc.).

[0003] Собирательно эти потенциально уязвимые решения, а также их свойства и параметры, контроль которых обеспечивает заявленная технология, в рамках данного описания будут также называться контрольными точками защищаемой инфраструктуры. Иными словами, поверхность кибератаки состоит из совокупности контрольных точек защищаемой сетевой инфраструктуры.[0003] Collectively, these potentially vulnerable solutions, as well as their properties and parameters, which are controlled by the claimed technology, will also be referred to as control points of the protected infrastructure within this description. In other words, the cyber attack surface consists of a set of control points of the protected network infrastructure.

[0004] Сам термин сетевая инфраструктура в рамках данного описания понимается в общепринятом смысле; это совокупность программного обеспечения и аппаратных средств, создающая основу для эффективного обмена информацией и способная стать предметом интереса злоумышленников (такова, например, компьютерная сеть предприятия, содержащая серверы, рабочие станции, маршрутизаторы и т.д).[0004] The term network infrastructure itself is understood in the conventional sense within this specification; this is a combination of software and hardware that creates the basis for the effective exchange of information and can become the subject of interest of intruders (for example, an enterprise computer network containing servers, workstations, routers, etc.).

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

[0005] Задача мониторинга состояния сетевой инфраструктуры и предупреждения о возможной ее компрометации известна достаточно давно.[0005] The task of monitoring the state of the network infrastructure and warning about its possible compromise has been known for a long time.

[0006] Например, существует целый класс решений, называемых сканерами уязвимостей и позволяющих сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности. В данном классе решений обычно различают: сканеры портов, средства исследования топологии компьютерных сетей, средства исследования уязвимости сетевых сервисов и средства исследования скриптов (CGI-сканеры). Однако, все эти решения нацелены скорее на исследовательскую деятельность, чем на предупреждение компрометации некоторой заранее заданной сетевой инфраструктуры.[0006] For example, there is a whole class of solutions called vulnerability scanners that allow you to scan networks, computers, and applications for possible security problems. In this class of solutions, there are usually distinguished: port scanners, computer network topology research tools, network service vulnerability research tools, and script research tools (CGI scanners). However, all these solutions are aimed more at research activities than at preventing the compromise of some predetermined network infrastructure.

[0007] Существуют и исключения; так, например, известен сканер уязвимостей SAINT (https://en.wikipedia.org/wiki/SAINT (software)), позволяющий контролировать заданную сетевую инфраструктуру и обнаруживать возможные уязвимости. Однако, данное решение, в отличие от решения, которое будет описано ниже, рассчитано на сканирование предварительно заданных контрольных точек инфраструктуры. Кроме того, функционирование SAINT основано на анализе служб TCP и UDP, а такие виды уязвимостей, как например, утечка учетных данных корпоративной электронной почты, находятся за пределами его возможностей, что также отличает его от решения, описываемого ниже.[0007] There are exceptions; for example, the SAINT vulnerability scanner (https://en.wikipedia.org/wiki/SAINT (software)) is known, which allows you to control a given network infrastructure and detect possible vulnerabilities. However, this solution, unlike the solution that will be described below, is designed to scan predefined infrastructure checkpoints. In addition, SAINT is based on the analysis of TCP and UDP services, and vulnerabilities such as leaked corporate email credentials are beyond its capabilities, which also distinguishes it from the solution described below.

[0008] Известны и другие решения, предназначенные для контроля состояния заранее заданной сетевой инфраструктуры.[0008] Other solutions are known for monitoring the status of a predetermined network infrastructure.

[0009] Так, из уровня техники известно решение US 10,721,262 В2 «RESOUR.CE -CENTRIC NETWORK CYBER ATTACK WARNING SYSTEM» от 13.10.2017. Решение может генерировать предупреждения, связанные с потенциальной кибератакой на ресурс организации. Для этого оно может получать информацию об активности в компьютерной сети организации, получать доступ к контекстной информации, определять на основе контекстной информации один или несколько индикаторов компрометации и вычислять оценку риска, где оценка риска указывает вероятность того, что ресурс находится под угрозой кибератаки. В ответ на то, что оценка риска соответствует пороговому значению, генерируют соответствующее предупреждение.[0009] Thus, the solution US 10,721,262 B2 "RESOUR.CE -CENTRIC NETWORK CYBER ATTACK WARNING SYSTEM" dated 10/13/2017 is known from the prior art. The solution can generate alerts related to a potential cyberattack on an organization's resource. To do this, it can obtain information about activity in the organization's computer network, access contextual information, determine one or more indicators of compromise based on the contextual information, and calculate a risk score, where the risk score indicates the likelihood that the resource is at risk of a cyberattack. In response to the fact that the risk assessment meets the threshold value, an appropriate alert is generated.

[0010] Отличие данного известного решения от решения, описанного ниже, заключается в том, что:[0010] The difference between this known solution and the solution described below is that:

a. Известное решение не нацелено на защиту всей сетевой инфраструктуры в целом; объектом защиты выступает некоторый заранее заданный ресурс, например, база данных или платежная система.a. The known solution is not aimed at protecting the entire network infrastructure as a whole; the object of protection is some predetermined resource, for example, a database or a payment system.

b. Архитектура известного решения внутренняя; оно находится внутри защищаемой сетевой инфраструктуры, и следовательно, требует работ по интеграции в защищаемую инфраструктуру.b. The architecture of the known solution is internal; it is located inside the protected network infrastructure, and therefore requires integration work into the protected infrastructure.

c. Алгоритм вычисления оценки риска в известном решении основан на использовании т.н. «контекстной информации», к которой относятся такие данные, как списки пользователей, допущенных к работе с ресурсом, типовые пользовательские сценарии, местонахождение ресурса в топологии защищаемой сетевой инфраструктуры, физическое местонахождение и т.д. В то же время, предлагаемое решение не требует для работы подобных данных.c. The algorithm for calculating the risk assessment in the well-known solution is based on the use of the so-called. "contextual information", which includes data such as lists of users allowed to work with the resource, typical user scenarios, location of the resource in the topology of the protected network infrastructure, physical location, etc. At the same time, the proposed solution does not require such data to work.

[0011] Из уровня техники также известен патент US 10,778,701 В2 «Mitigating cyber-attacks by automatically coordinating responses from cyber-security tools», в котором описан способ автоматической координации ответов инструментов кибербезопасности. Механизм кибербезопасности может включать в себя программные модули, созданные из нескольких источников, причем каждый из программных модулей предназначен для интеграции соответствующего инструмента кибербезопасности с механизмом кибербезопасности. Механизм кибербезопасности может использовать программные модули для связи с инструментами кибербезопасности, чтобы обнаруживать одно или несколько событий, указывающих на кибератаку на вычислительную среду. Затем механизм кибербезопасности может определить стратегию скоординированного реагирования, предполагающую сотрудничество между инструментами кибербезопасности для снижения эффективности кибератаки.[0011] Also known in the art is US Patent 10,778,701 B2 "Mitigating cyber-attacks by automatically coordinating responses from cyber-security tools", which describes a method for automatically coordinating responses from cyber-security tools. The cybersecurity engine may include software modules created from multiple sources, each of the software modules being designed to integrate a respective cybersecurity tool with the cybersecurity engine. The cybersecurity engine may use software modules to communicate with cybersecurity tools to detect one or more events indicative of a cyber attack on the computing environment. The cybersecurity mechanism can then define a coordinated response strategy involving collaboration between cybersecurity tools to reduce the effectiveness of a cyberattack.

[0012] Отличие известного решения, представленного в US 10,778,701 В2, от решения, которое будет раскрыто ниже, заключается в том, что:[0012] The difference between the known solution presented in US 10,778,701 B2 and the solution to be disclosed below is that:

a. Известное решение решает задачу координации действий множества независимых и разнородных программных модулей, таких как антивирус, файрволл и т.д, что требует интеграции таких модулей в данное решение.a. The known solution solves the problem of coordinating the actions of many independent and heterogeneous software modules, such as antivirus, firewall, etc., which requires the integration of such modules into this solution.

b. Упомянутые программные модули находятся внутри защищаемой сетевой инфраструктуры.b. The mentioned software modules are located inside the protected network infrastructure.

c. Известное решение не обладает возможностями реагирования на те способы компрометации защищаемой сетевой инфраструктуры, при реализации которых злоумышленник предварительно приобретает легитимные учетные данные одной или нескольких учетных записей и получает доступ внутрь сетевой инфраструктуры на правах легитимного пользователя.c. The known solution does not have the ability to respond to those methods of compromising the protected network infrastructure, in the implementation of which the attacker first acquires legitimate credentials of one or more accounts and gains access to the network infrastructure as a legitimate user.

[0013] Также из уровня техники известно решение, описанное в публикации US 2016/0308898 A1 «Systems and methods for tracking, analyzing and mitigating security threats in networks via a network traffic analysis platform». Публикация раскрывает способ анализа сетевого трафика, который включает в себя прием информации на основе мониторинга трафика на множестве уровней на одном или нескольких мониторах, развернутых в сети, с использованием глубокой проверки пакетов; получение информации на основе мониторинга трафика в конечной точке сети; анализ отслеживаемого трафика от конечной точки и одного или нескольких мониторов для определения сетевой инфраструктуры и состояния кибербезопасности сетевой инфраструктуры; и предоставление визуализаций, основанных на сетевой инфраструктуре и состоянии кибербезопасности, для непрерывного отслеживания угроз.[0013] Also known from the prior art is the solution described in US 2016/0308898 A1 "Systems and methods for tracking, analyzing and mitigating security threats in networks via a network traffic analysis platform". The publication discloses a method for analyzing network traffic, which includes receiving information based on monitoring traffic at multiple levels on one or more monitors deployed in a network using deep packet inspection; obtaining information based on traffic monitoring at the end point of the network; analysis of monitored traffic from the endpoint and one or more monitors to determine the network infrastructure and the cybersecurity status of the network infrastructure; and providing visualizations based on network infrastructure and cybersecurity status for continuous monitoring of threats.

[0014] Отличие данного известного решения от решения, которое будет раскрыто ниже, заключается в том, что:[0014] The difference between this known solution and the solution that will be disclosed below is that:

а. Известное решение нацелено на анализ исключительно сетевого трафика, поэтому оно не обладает способностью обнаружить компрометацию сетевой инфраструктуры, состоявшуюся, например, за счет предварительного приобретения злоумышленником легитимных учетных данных.a. The well-known solution is aimed at analyzing only network traffic, so it does not have the ability to detect a compromise of the network infrastructure, which took place, for example, due to the preliminary acquisition of legitimate credentials by an attacker.

b. Упомянутые мониторы должны находиться внутри защищаемой сетевой инфраструктуры.b. These monitors must be located within the protected network infrastructure.

[0015] Кроме того, из уровня техники известно решение US 10873597 В1, «Cyber attack early warning system». Данное решение раскрывает метод, который включает получение данных, связанных с ранее проанализированными или известными вредоносными атаками с первого сетевого устройства. Кроме того, первое сетевое устройство получает предупреждение об атаке, связанное с объектом, проанализированным и идентифицированным как подозрительный вторым сетевым устройством. Оповещение об атаке включает информацию, связанную с подозрительным объектом. При этом для генерации предупреждений по крайней мере часть информации предупреждения об атаке предоставляется системе, сконфигурированной, по крайней мере, для (i) извлечения функции из предупреждения об атаке, (ii) определения сходства между извлеченными функциями и функциями, связанными с ранее проанализированные или известные вредоносные атаки для определения результата.[0015] In addition, US 10873597 B1, "Cyber attack early warning system", is known from the prior art. This solution discloses a method that involves obtaining data related to previously analyzed or known malicious attacks from a first network device. In addition, the first network device receives an attack warning associated with the object analyzed and identified as suspicious by the second network device. The attack alert includes information related to the suspicious object. In doing so, to generate alerts, at least a portion of the attack alert information is provided to a system configured to at least (i) extract a feature from an attack alert, (ii) determine similarities between the extracted features and features associated with previously analyzed or known malicious attacks to determine the outcome.

[0016] Отличие данного известного решения от решения, которое будет раскрыто ниже, заключается в том, что:[0016] The difference between this known solution and the solution that will be disclosed below is that:

a. Известное решение подразумевает наличие специализированного центра обнаружения угроз (MCD), причем функционирование данного центра основано на использовании по меньшей мере одной виртуальной среды, где проверяются подозрительные файлы.a. The known solution implies the presence of a specialized threat detection center (MCD), and the functioning of this center is based on the use of at least one virtual environment where suspicious files are checked.

b. Известное решение основано на анализе сетевого трафика, тогда как поверхность кибератаки защищаемой сетевой инфраструктуры в рамках известного решения не определяют и не контролируют.b. The well-known solution is based on the analysis of network traffic, while the cyberattack surface of the protected network infrastructure within the known solution is not defined and controlled.

[0017] Кроме того, из уровня техники известно решение US 7,930,256 В2, «SECURITY SYSTEM FOR AND METHOD OF DETECTING AND RESPONDING TO CYBER ATTACKS ON LARGE NETWORK SYSTEMS». Данное решение включает в себя: (а) основанную на совокупности так называемых интеллектуальных агентов подсистему поиска информации, сконфигурированную так, чтобы автоматически искать и извлекать соответствующие данные из распределенных источников; (b) основанный на правилах механизм логического вывода, сконфигурированный так, чтобы интерпретировать извлеченные данные в ситуационном контексте для поддержки генерации событий и предупреждений для оценки и прогнозирования киберугроз; и (с) механизм оценки и прогнозирования угроз, сконфигурированный так, чтобы фиксировать взаимосвязь между выходными сигналами киберсенсоров и кибератаками.[0017] In addition, US 7,930,256 B2, "SECURITY SYSTEM FOR AND METHOD OF DETECTING AND RESPONDING TO CYBER ATTACKS ON LARGE NETWORK SYSTEMS" is known from the prior art. This solution includes: (a) an information retrieval subsystem based on a collection of so-called intelligent agents, configured to automatically search and retrieve relevant data from distributed sources; (b) a rule-based inference engine configured to interpret the extracted data in a situational context to support the generation of events and alerts for evaluating and predicting cyber threats; and (c) a threat assessment and prediction engine configured to capture the relationship between cyber sensor outputs and cyber attacks.

[0018] Отличие данного известного решения от решения, которое будет раскрыто ниже, заключается в том, что:[0018] The difference between this known solution and the solution that will be disclosed below is that:

a. Известное решение основано на данных, получаемых от так называемых интеллектуальных агентов; эти агенты находятся внутри защищаемых сетевых инфраструктур.a. The known solution is based on data obtained from so-called intelligent agents; these agents reside within protected network infrastructures.

b. Известное решение представляет собой сверхбольшую систему, предназначенную для анализа и предупреждения вредоносной активности в масштабах целого государства. Использование подобной системы в целях предотвращения компрометации сетевой инфраструктуры какого-либо конкретного предприятия, даже весьма большого, в описании известного решения не раскрыто.b. The well-known solution is a super-large system designed to analyze and prevent malicious activity on a national scale. The use of such a system in order to prevent compromise of the network infrastructure of any particular enterprise, even a very large one, is not disclosed in the description of the well-known solution.

[0019] При этом следует заметить, что использование любого решения, предназначенного для работы внутри защищаемой сетевой инфраструктуры, такого, как все решения, описанные выше применительно к уровню техники, на практике обязательно подразумевает принятие ряда организационных и технических мер. Они необходимы, чтобы обеспечить не только интеграцию решения в существующую инфраструктуру, но и тестирование, как решения, так и модифицированной инфраструктуры, на правильное и бесперебойное функционирование. Но такие меры возможны далеко не всегда, поскольку достаточно часто владельцами сетевой инфраструктуры предъявляются жесткие требования по информационной безопасности и бесперебойному функционированию. Вследствие этого ни временный останов каких-либо компонент сетевой инфраструктуры, ни размещение внутри защищаемого периметра дополнительного оборудования и программ не допускаются.[0019] At the same time, it should be noted that the use of any solution designed to work inside a protected network infrastructure, such as all the solutions described above in relation to the prior art, in practice necessarily implies the adoption of a number of organizational and technical measures. They are necessary to ensure not only the integration of the solution into the existing infrastructure, but also testing both the solution and the modified infrastructure for correct and uninterrupted functioning. But such measures are far from always possible, since quite often the owners of the network infrastructure impose strict requirements for information security and uninterrupted operation. As a result, neither temporary shutdown of any components of the network infrastructure, nor placement of additional equipment and programs inside the protected perimeter is allowed.

[0020] В таких условиях использование каких-либо решений наподобие перечисленных выше применительно к уровню техники, оказывается крайне затруднительным.[0020] In such circumstances, the use of any solutions like those listed above in relation to the prior art, is extremely difficult.

[0021] Описываемое ниже решение создано для решения по меньшей мере части проблем, выявленных при анализе предшествующего уровня техники.[0021] The solution described below is designed to solve at least some of the problems identified in the analysis of the prior art.

РАСКРЫТИЕ (СУЩНОСТЬ) ИЗОБРЕТЕНИЯDISCLOSURE (ESSENCE) OF THE INVENTION

[0022] Задача предполагаемого изобретения заключается в разработке способа и системы внешнего контроля поверхности кибератаки.[0022] The objective of the proposed invention is to develop a method and system for external control of the cyberattack surface.

[0023] Техническим результатом заявленной технологии является предупреждение компрометации защищаемой инфраструктуры злоумышленниками или вредоносными программами, а также своевременное информирование службы кибербезопасности об обнаружении попыток компрометации.[0023] The technical result of the claimed technology is to prevent the compromise of the protected infrastructure by intruders or malware, as well as timely informing the cybersecurity service about the detection of compromise attempts.

[0024] Данный технический результат достигается за счет того, что способ внешнего контроля поверхности кибератаки, выполняемый вычислительным устройством, содержит шаги, на которых получают сведения об индикаторах компрометации и об элементах защищаемой инфраструктуры и сохраняют их, обнаруживают контрольные точки защищаемой инфраструктуры, сканируют контрольные точки защищаемой инфраструктуры и получают информацию о статусах контрольных точек защищаемой инфраструктуры, проверяют наличие индикаторов компрометации в информации о статусах контрольных точек, и в ответ на обнаружение по меньшей мере одного индикатора компрометации формируют по меньшей мере одно предупреждение о возможной кибератаке и передают по меньшей мере одно сформированное предупреждение о возможной кибератаке.[0024] This technical result is achieved due to the fact that the method of external control of the cyber attack surface, performed by a computing device, contains steps in which information is obtained about indicators of compromise and elements of the protected infrastructure and save them, detect control points of the protected infrastructure, scan control points of the protected infrastructure and receive information about the statuses of control points of the protected infrastructure, check for the presence of indicators of compromise in the information about the statuses of control points, and in response to the detection of at least one indicator of compromise, at least one warning about a possible cyber attack is generated and at least one generated warning is transmitted warning of a possible cyber attack.

[0025] Технический результат также достигается за счет того, что система внешнего контроля поверхности кибератаки, выполненная с возможностью обмена трафиком с устройствами защищаемой инфраструктуры, содержит, по меньшей мере, модуль связи, модуль обнаружения инфраструктуры, модуль сканирования, модуль анализа, модуль оповещения и модуль хранения информации, содержащий по меньшей мере одну базу данных, а также машиночитаемые инструкции, которые при исполнении обеспечивают выполнение описанного способа.[0025] The technical result is also achieved due to the fact that the system of external control of the cyber attack surface, configured to exchange traffic with devices of the protected infrastructure, contains at least a communication module, an infrastructure detection module, a scanning module, an analysis module, an alert module, and an information storage module containing at least one database, as well as machine-readable instructions, which, when executed, ensure the implementation of the described method.

[0026] В частном варианте реализации способ отличается тем, что к основным сведениям об элементах защищаемой инфраструктуры относится по меньшей мере одно из перечисленного:[0026] In a particular implementation, the method differs in that the basic information about the elements of the protected infrastructure includes at least one of the following:

• домен,• domain,

• IP-адрес,• IP address,

• SSL-сертификат,• SSL certificate,

• адрес электронной почты,• E-mail address,

• адрес FTP-сервера,• FTP server address,

• адрес системы управления базами данных,• address of the database management system,

• адрес веб-службы хостинга файлов,• the address of the file hosting web service,

• название веб-сервиса и порт, на котором он запущен• the name of the web service and the port on which it is running

[0027] В другом частном варианте реализации способ отличается тем, что к контрольным точкам защищаемой инфраструктуры относится по меньшей мере одно из перечисленного:[0027] In another particular implementation, the method is characterized in that the control points of the protected infrastructure include at least one of the following:

• домены,• domains,

• IP-адреса,• IP addresses,

• SSL-сертификаты• SSL certificates

• TLS-сертификаты.• TLS certificates.

• названия и номера версий веб-сервисов,• names and version numbers of web services,

• ссылка на по меньшей мере одну веб-страницу, подлежащую проверке на наличие вредоносного кода,• a link to at least one web page to be checked for malicious code,

• список ссылок на веб-страницы, содержащие высокорискованный контент.• a list of links to web pages containing high-risk content.

[0028] Еще в одном возможном варианте реализации способ отличается тем, что для обнаружения контрольных точек защищаемой инфраструктуры используют графовую модель сети Интернет.[0028] In another possible implementation, the method is characterized in that a graph model of the Internet is used to detect checkpoints of the protected infrastructure.

[0029] Еще в одном возможном варианте реализации способ отличается тем, что при обнаружении контрольных точек защищаемой инфраструктуры дополнительно выполняют сканирование защищаемой инфраструктуры.[0029] In another possible embodiment, the method is characterized in that when checkpoints of the protected infrastructure are detected, the protected infrastructure is additionally scanned.

[0030] Еще в одном возможном варианте реализации способ отличается тем, что к статусам контрольных точек защищаемой инфраструктуры относится по меньшей мере одно из перечисленного:[0030] In another possible implementation, the method is characterized in that the checkpoint statuses of the protected infrastructure include at least one of the following:

• Значения ресурсных записей системы доменных имен (DNS),• Values of Domain Name System (DNS) resource records,

• Значение записи системы доменных имен, содержащей параметры настройки протокола DMARC,• The value of the Domain Name System entry containing the DMARC protocol settings,

• Название компании-владельца IP-адреса,• The name of the company that owns the IP address,

• Хостинг-провайдер IP-адреса,• Hosting provider IP address,

• Срок действия IP-адреса,• The expiration date of the IP address,

• Список портов, открытых на данном IP-адресе,• List of ports open on this IP address,

• Список сетевых сервисов, запущенных на данном IP-адресе,• List of network services running on this IP address,

• Название компании-владельца (org) домена,• The name of the company that owns (org) the domain,

• Регистратор (registrar) домена,• Registrar (registrar) of the domain,

• Срок действия домена,• Domain expiration date,

• Статус SSL- или TLS-сертификата,• Status of the SSL or TLS certificate,

• Параметры SSL- или TLS-сертификата, а именно алгоритмы шифрования, который могут быть использованы сервером, на котором установлен данный сертификат.• Parameters of an SSL or TLS certificate, namely the encryption algorithms that can be used by the server on which this certificate is installed.

• Срок действия SSL- или TLS-сертификата,• The validity period of the SSL or TLS certificate,

• Статус безопасности веб-страницы, подлежащей проверке на наличие вредоносного кода,• The security status of the web page to be checked for malicious code,

• Длина списка ссылок на веб-страницы, содержащие высокорискованный контент.• The length of the list of links to web pages containing high-risk content.

[0031] Еще в одном возможном варианте реализации способ отличается тем, что в состав индикаторов компрометации также входит по меньшей мере одно из нижеперечисленного:[0031] In another possible embodiment, the method is characterized in that the indicators of compromise also include at least one of the following:

• изменение данных DNS,• changing DNS data,

• неверное функционирование DNS,• incorrect functioning of the DNS,

• изменение владельца IP-адреса,• changing the owner of an IP address,

• изменение владельца доменного имени,• change of the owner of a domain name,

• изменение статуса SSL-сертификата,• changing the status of an SSL certificate,

• изменение статуса TLS-сертификата,• changing the status of a TLS certificate,

• принадлежность используемых алгоритмов шифрования SSL к числу слабых алгоритмов шифрования SSL.• belonging of the used SSL encryption algorithms to the number of weak SSL encryption algorithms.

• принадлежность используемых алгоритмов шифрования TLS к числу слабых алгоритмов шифрования TLS.• belonging of the TLS encryption algorithms used to the number of weak TLS encryption algorithms.

• отсутствие или неверная настройка протокола DMARC• absence or incorrect setting of the DMARC protocol

• открытие нового порта,• opening of a new port,

• запуск нового сервиса,• launch of a new service,

• отсутствие запущенного сервиса в списке известных легитимных сервисов,• the absence of a running service in the list of known legitimate services,

• принадлежность версии запущенного легитимного сервиса к числу известных уязвимых версий,• belonging of the version of the launched legitimate service to the number of known vulnerable versions,

• получение, в ответ на тестовый запрос, от легитимного веб-сервиса, представляющего собой СУБД или облачное хранилище, любого другого ответа, кроме ответа "Ошибка авторизации",• receiving, in response to a test request, from a legitimate web service, which is a DBMS or cloud storage, any other response, except for the "Authorization error" response,

• истечение срока действия доменного имени,• domain name expiration,

• истечение срока действия SSL-сертификата.• expiration of the SSL certificate.

• истечение срока действия TLS-сертификата• expiration of the TLS certificate

• выявление в составе защищаемой инфраструктуры по меньшей мере одной веб-страницы с нелегальным контентом,• detection within the protected infrastructure of at least one web page with illegal content,

• выявление на по меньшей мере одной веб-странице защищаемой инфраструктуры вредоносного кода (такого как эксплойт, веб-шелл, JS-сниффер),• detection of malicious code (such as an exploit, web shell, JS sniffer) on at least one web page of the protected infrastructure,

• выявление по меньшей мере одного обращения по меньшей мере одного из устройств, принадлежащего к защищаемой инфраструктур, к по меньшей мере одному командному серверу злоумышленников,• detection of at least one call from at least one of the devices belonging to the protected infrastructure to at least one intruder's C&C server,

• выявление в составе защищаемой инфраструктуры по меньшей мере одного командного сервера злоумышленников.• detection of at least one intruder C&C server within the protected infrastructure.

[0032] Еще в одном возможном варианте реализации способ отличается тем, что неверное функционирование DNS означает по меньшей мере одно из перечисленного:[0032] In yet another possible implementation, the method is characterized in that DNS malfunction means at least one of the following:

• Ни один из DNS не отвечает на запросы.• None of the DNS is responding.

• По меньшей мере один из DNS не ответил вовремя.• At least one of the DNS did not respond in time.

• По меньшей мере один из DNS не объявил себя авторитетным (authoritative).• At least one of the DNS has not declared itself authoritative.

• DNS SEC не поддерживается для данного домена.• DNS SEC is not supported for this domain.

• Список DNS, предоставленный корневым сервером (8.8.8.8), не соответствует списку, опубликованному DNS.• The list of DNS provided by the root server (8.8.8.8) does not match the list published by DNS.

• Для данного домена есть только один DNS.• There is only one DNS for this domain.

• Найден по меньшей мере один DNS, который способен отвечать на любой поиск DNS с любого IP (Open Recursive Name Server).• Found at least one DNS that is able to answer any DNS lookup from any IP (Open Recursive Name Server).

• По меньшей мере один DNS является Open Zone Transfer Server и предоставил информацию во всей DNS-зоне.• At least one DNS is an Open Zone Transfer Server and has provided information in the entire DNS zone.

• По меньшей мере один DNS-сервер имеет частный IP-адрес• At least one DNS server has a private IP address

• Не найдена опубликованная запись DNS для данного домена или имени хоста.• No published DNS record found for the given domain or host name.

• Более одного DNS находятся в одной подсети класса С,• More than one DNS is on the same class C subnet,

• Срок действия DNS SOA не соответствует рекомендуемому RFC.• DNS SOA expiration does not follow the recommended RFC.

• Значение кэша DNS SOA не соответствует рекомендуемому RFC.• The DNS SOA cache value does not comply with the recommended RFC.

• Значение обновления DNS SOA не соответствует рекомендуемому RFC.• The DNS SOA update value does not follow the recommended RFC.

• Значение повторной попытки DNS SOA не соответствует рекомендуемому RFC.• The DNS SOA retry value does not follow the recommended RFC.

• Серийные номера SOA не совпадают.• SOA serial numbers do not match.

• Неверный формат серийного номера DNS SOA.• Incorrect DNS SOA serial number format.

[0033] Еще в одном возможном варианте реализации способ отличается тем, что дополнительно получают информацию об утечках конфиденциальных данных и сохраняют ее.[0033] In yet another possible implementation, the method is characterized in that information about leaks of confidential data is additionally obtained and stored.

[0034] Еще в одном возможном варианте реализации способ отличается тем, что дополнительно проверяют наличие конфиденциальных данных защищаемой инфраструктуры в информации об утечках конфиденциальных данных, и в ответ на обнаружение по меньшей мере одного случая утечки конфиденциальных данных защищаемой инфраструктуры формируют и передают по меньшей мере одно предупреждение о возможной кибератаке,[0034] In another possible implementation, the method is characterized in that it additionally checks for the presence of confidential data of the protected infrastructure in the information about leaks of confidential data, and in response to the detection of at least one case of leakage of confidential data of the protected infrastructure, at least one warning about a possible cyber attack,

[0035] Еще в одном возможном варианте реализации способ отличается тем, что в состав конфиденциальных данных защищаемой инфраструктуры входит по меньшей мере одно из нижеперечисленного:[0035] In another possible implementation, the method is characterized in that the confidential data of the protected infrastructure includes at least one of the following:

• учетные данные пользователей защищаемой инфраструктуры,• credentials of protected infrastructure users,

• персональные данные пользователей защищаемой инфраструктуры,• personal data of protected infrastructure users,

• контактные данные пользователей защищаемой инфраструктуры,• contact details of protected infrastructure users,

• платежные данные пользователей защищаемой инфраструктуры,• payment data of protected infrastructure users,

• конфиденциальная информация, хранящаяся на устройствах защищаемой инфраструктуры• confidential information stored on protected infrastructure devices

[0036] Еще в одном возможном варианте реализации способ отличается тем, что по меньшей мере одно сформированное предупреждение о кибератаке передают посредством по меньшей мере одного из следующих способов коммуникации:[0036] In yet another possible implementation, the method is characterized in that at least one generated cyber attack warning is transmitted via at least one of the following communication methods:

• электронной почты (e-mail),• email (e-mail),

• SMS,• SMS,

• MMS,• MMS,

• push-уведомления,• push notifications,

• сообщения в программе обмена мгновенными сообщениями,• messages in the instant messaging program,

• события API• API events

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

[0037] Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.[0037] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this specification, show embodiments of the invention and, together with the description, serve to explain the principles of the invention.

[0038] Заявленное изобретение поясняется следующими чертежами, на которых:[0038] The claimed invention is illustrated by the following drawings, in which:

[0039] Фиг. 1 показывает пример функциональной схемы вычислительного устройства, реализующего описанный способ.[0039] FIG. 1 shows an example of a functional diagram of a computing device implementing the described method.

[0040] Фиг. 2А иллюстрирует блок-схему алгоритма способа внешнего контроля поверхности кибератаки.[0040] FIG. 2A illustrates a flow diagram of a method for external monitoring of a cyberattack surface.

[0041] Фиг. 2Б иллюстрирует блок-схему алгоритма одного из этапов способа внешнего контроля поверхности кибератаки.[0041] FIG. 2B illustrates a flowchart of one of the steps of the method for externally monitoring the cyberattack surface.

[0042] Фиг. 3А иллюстрирует пример фрагмента графовой модели сети Интернет, используемой на одном из этапов способа внешнего контроля поверхности кибератаки.[0042] FIG. 3A illustrates an example of a fragment of a graph model of the Internet used in one of the stages of the method of external control of the cyber attack surface.

[0043] Фиг. 3Б иллюстрирует пример отфильтрованного фрагмента графовой модели сети Интернет, полученного на одном из этапов способа внешнего контроля поверхности кибератаки.[0043] FIG. 3B illustrates an example of a filtered fragment of the graph model of the Internet, obtained at one of the stages of the method of external control of the cyber attack surface.

[0044] Фиг. 3В иллюстрирует пример отфильтрованного фрагмента графовой модели сети Интернет, дополнительно обогащенного на одном из этапов способа внешнего контроля поверхности кибератаки.[0044] FIG. 3B illustrates an example of a filtered fragment of a graph model of the Internet, further enriched at one of the stages of the method of external control of the cyber attack surface.

[0045] Фиг. 4А иллюстрирует блок-схему алгоритма проверки наличия индикаторов компрометации.[0045] FIG. 4A illustrates a flowchart for checking for indicators of compromise.

[0046] Фиг. 4Б иллюстрирует блок-схему еще одного возможного алгоритма проверки наличия индикаторов компрометации.[0046] FIG. 4B illustrates a block diagram of another possible algorithm for checking for indicators of compromise.

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

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

[0048] Ниже будет приведено описание примерных вариантов осуществления заявленного изобретения.[0048] Exemplary embodiments of the claimed invention will be described below.

[0049] Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.[0049] Objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, but may be embodied in various forms. The gist of the description is nothing but specific details provided to assist a person skilled in the art in a thorough understanding of the invention, and the present invention is defined only within the scope of the appended claims.

[0050] Для реализации описываемого способ внешнего контроля поверхности кибератаки предварительно устанавливают вычислительное устройство (100), как это показано на Фиг. 1, вне подлежащей защите сетевой инфраструктуры (180). Конструктивное исполнение и аппаратная конфигурация данного вычислительного устройства могут быть любыми общеизвестными, позволяющими обеспечить исполнение описанных ниже функций. Это может быть, в качестве примера, но не ограничиваясь им, сервер. В качестве примера варианта осуществления может быть назван, например, сервер Dell™ PowerEdge™. В альтернативном варианте реализации вычислительное устройство (100) может представлять собой облачное решение, то есть совокупность серверов. Еще в одном альтернативном варианте реализации это может быть мобильное устройство, например, смартфон или планшет. Но в любом случае данное устройство должно быть выполнено с возможностью обмена трафиком с устройствами защищаемой инфраструктуры через вычислительную сеть, например, через сеть Интернет (170).[0050] To implement the described method of external control of the cyber attack surface, the computing device (100) is preliminarily installed, as shown in FIG. 1 outside the network infrastructure to be protected (180). The design and hardware configuration of this computing device can be any well-known, allowing the implementation of the functions described below. This may be, by way of example, but not limited to, a server. As an exemplary embodiment, for example, a Dell™ PowerEdge™ server can be mentioned. In an alternative implementation, the computing device (100) may be a cloud solution, ie a collection of servers. In yet another alternative implementation, this may be a mobile device such as a smartphone or tablet. But in any case, this device must be capable of exchanging traffic with devices of the protected infrastructure via a computer network, for example, via the Internet (170).

[0051] В составе функциональной схемы указанного вычислительного устройства должны быть предусмотрены следующие функциональные модули: модуль связи (110), модуль обнаружения инфраструктуры (120), модуль сканирования (130), модуль анализа (140), модуль оповещения (150), а также модуль хранения информации (160).[0051] As part of the functional diagram of the specified computing device, the following functional modules should be provided: a communication module (110), an infrastructure detection module (120), a scanning module (130), an analysis module (140), an alert module (150), and also information storage module (160).

[0052] Перечисленные модули с точки зрения их технической реализации могут быть программными модулями, исполняемыми на одном вычислительном устройстве, программно-аппаратными модулями, например, по меньшей мере некоторые из этих модулей могут быть реализованы как выделенные серверы, каждый из которых выполняет соответствующую функцию, либо представлять собой произвольную комбинацию вышеназванных способов реализации.[0052] The listed modules, from the point of view of their technical implementation, can be software modules executing on a single computing device, software and hardware modules, for example, at least some of these modules can be implemented as dedicated servers, each of which performs a corresponding function, or represent an arbitrary combination of the above methods of implementation.

[0053] При этом основная функция каждого из модулей следующая:[0053] In this case, the main function of each of the modules is as follows:

[0054] Модуль связи (110) выполнен с возможностью обмена данными с модулем обнаружения инфраструктуры (120), модулем сканирования (130), модулем оповещения (150), а также модулем хранения информации (160). Модуль связи (110) обеспечивает возможность связи вычислительного устройства, реализующего данный способ, с вычислительной сетью, например, с сетью Интернет (170). В свою очередь, посредством вычислительной сети модуль связи обеспечивает связь вычислительного устройства (100), реализующего данный способ, с устройствами защищаемой инфраструктуры (180). Кроме того, посредством вычислительной сети модуль связи (110) обеспечивает вычислительному устройству (100) возможность получения дополнительной информации, в частности, индикаторов компрометации. Реализация этих функций модулем связи (110) не имеет особенностей и может быть выполнена любым общеизвестным образом.[0054] The communication module (110) is configured to communicate with the infrastructure detection module (120), the scanning module (130), the notification module (150), and the information storage module (160). The communication module (110) enables communication of the computing device that implements this method with a computer network, for example, with the Internet (170). In turn, by means of a computer network, the communication module provides communication of the computing device (100) that implements this method with devices of the protected infrastructure (180). In addition, via the computer network, the communication module (110) provides the computing device (100) with the possibility of obtaining additional information, in particular indicators of compromise. The implementation of these functions by the communication module (110) has no special features and can be performed in any well-known manner.

[0055] Модуль обнаружения инфраструктуры (120) выполнен с возможностью обмена данными с модулем связи (110) и модулем хранения информации (160). Модуль обнаружения инфраструктуры (120) обеспечивает поиск и идентификацию тех контрольных точек, из которых состоит поверхность кибератаки защищаемой сетевой инфраструктуры (180). К таким контрольным точкам в рамках настоящего описания относятся по меньшей мере доменные имена, IP-адреса, SSL-сертификаты и TLS-сертификаты, номера открытых портов, а также названия и номера версий запущенных на этих портах веб-сервисов. Один из примеров возможной реализации этих функций модулем обнаружения инфраструктуры (120) будет описан ниже со ссылкой на чертежи Фиг. 2А-Б. и Фиг. 3А-Б.[0055] The infrastructure discovery module (120) is configured to communicate with the communication module (110) and the information storage module (160). The infrastructure discovery module (120) provides for the search and identification of those control points that make up the cyberattack surface of the protected network infrastructure (180). Such checkpoints, as used herein, include at least domain names, IP addresses, SSL and TLS certificates, open port numbers, and the names and version numbers of web services running on those ports. One example of the possible implementation of these functions by the infrastructure discovery module (120) will be described below with reference to the drawings of FIG. 2A-B. and Fig. 3A-B.

[0056] Модуль сканирования (130) выполнен с возможностью обмена данными с модулем связи (110) и с модулем хранения данных (160). Модуль сканирования (130) также выполнен с возможностью выполнять сканирование устройств защищаемой сетевой инфраструктуры (180) и получать информацию о веб-сервисах, запущенных на портах этих устройств. Модуль сканирования (130) обеспечивает сканирование контрольных точек защищаемой сетевой инфраструктуры и получение информацию об их статусах, то есть параметрах, характеризующих текущее состояние контрольных точек. Если контрольной точкой является доменное имя, скажем, company.com, то информация о статусах такой контрольной точки может включать в себя, в качестве неограничивающего примера, по меньшей мере: IP-адрес, на который отображается (resolve) данное доменное имя, настройки по меньшей мере одного DNS, соответствующего данному доменному имени, названия и номера версий программного обеспечения (веб-сервисов), функционирующих на сервере, имеющем данное доменное имя, название владельца доменного имени (registrar), его адрес, контактный телефон, адрес его электронной почты, дату регистрации доменного имени, дату окончания регистрации доменного имени, текущий статус доменного имени (например, «активно»), а также даты последнего изменения всех перечисленных параметров. Реализация этих функций модулем сканирования (130) не имеет особенностей и может быть выполнена любым общеизвестным образом.[0056] The scanning module (130) is configured to communicate with the communication module (110) and with the data storage module (160). The scanning module (130) is also configured to scan devices of the protected network infrastructure (180) and obtain information about web services running on the ports of these devices. The scanning module (130) provides scanning of control points of the protected network infrastructure and obtaining information about their status, that is, parameters characterizing the current state of the control points. If the breakpoint is a domain name, say, company.com, then information about the statuses of such a checkpoint may include, as a non-limiting example, at least: the IP address to which this domain name is mapped (resolve), at least one DNS corresponding to this domain name, the name and version number of software (web services) operating on the server that has this domain name, the name of the owner of the domain name (registrar), his address, contact phone number, his e-mail address, the date of registration of the domain name, the date of expiration of the registration of the domain name, the current status of the domain name (for example, "active"), as well as the date of the last change of all listed parameters. The implementation of these functions by the scanning module (130) has no special features and can be performed in any well-known way.

[0057] Модуль анализа (140) выполнен с возможностью обмена данными с модулем сканирования (130), модулем хранения информации (160) и с модулем оповещения (150). Модуль анализа (140) обеспечивает проверку полученной от модуля сканирования (130) информации о статусах контрольных точек защищаемой сетевой инфраструктуры (180) на наличие в ней уязвимостей, небезопасных настроек и других индикаторов компрометации. Реализация этих функций модулем анализа (140) не имеет особенностей и может быть выполнена любым общеизвестным образом.[0057] The analysis module (140) is configured to communicate with the scanning module (130), the information storage module (160), and the notification module (150). The analysis module (140) checks the information received from the scanning module (130) about the status of the control points of the protected network infrastructure (180) for the presence of vulnerabilities, insecure settings and other indicators of compromise in it. The implementation of these functions by the analysis module (140) has no special features and can be performed in any well-known way.

[0058] Модуль оповещения (150) выполнен с возможностью обмена данными с модулем анализа (140) и с модулем связи (110). Модуль оповещения (150) обеспечивает формирование и передачу, посредством модуля связи (110), оповещения о возможной компрометации защищаемой сетевой инфраструктуры по меньшей мере одним из перечисленных способов: по электронной почте, посредством отправки SMS, посредством отправки MMS, посредством отправки push-уведомления, сообщением в программе обмена мгновенными сообщениями, посредством создания события API. Реализация этих функций модулем оповещения (150) не имеет особенностей и может быть выполнена любым общеизвестным образом.[0058] The notification module (150) is configured to communicate with the analysis module (140) and with the communication module (110). The notification module (150) provides for the formation and transmission, by means of the communication module (110), of notification of a possible compromise of the protected network infrastructure in at least one of the following ways: by e-mail, by sending SMS, by sending MMS, by sending a push notification, message in an instant messaging program by raising an API event. The implementation of these functions by the notification module (150) has no special features and can be performed in any well-known manner.

[0059] Модуль хранения информации (160) выполнен с возможностью обмена данными с модулем связи (110), модулем обнаружения инфраструктуры (120), модулем сканирования (130) и модулем анализа (150). Модуль хранения информации (160) обеспечивает хранение информации, как постоянное, так и временное. Для этого модуль хранения информации (160) содержит по меньшей мере одну базу данных (на Фиг. 1 условно не показана), что позволяет хранить информацию упорядоченно и эффективно осуществлять поиск. Также модуль хранения информации (160) может хранить программные инструкции, исполнение которых обеспечивает реализацию устройством (100) описанного способа. Реализация этих функций модулем хранения информации (160) не имеет особенностей и может быть выполнена любым общеизвестным образом.[0059] The information storage module (160) is configured to communicate with the communication module (110), the infrastructure discovery module (120), the scanning module (130), and the analysis module (150). The information storage module (160) provides information storage, both permanent and temporary. To do this, the information storage module (160) contains at least one database (not shown in Fig. 1), which allows you to store information in an orderly manner and efficiently search. Also, the information storage module (160) can store program instructions, the execution of which ensures that the device (100) implements the described method. The implementation of these functions by the information storage module (160) has no special features and can be performed in any well-known manner.

[0060] Далее со ссылкой на Фиг. 2А будут описаны основные этапы способа (200) внешнего контроля поверхности кибератаки.[0060] Next, with reference to FIG. 2A, the main steps of a method (200) for external monitoring of a cyberattack surface will be described.

[0061] Способ (200) начинается на этапе (210), когда получают, посредством модуля связи (110), основные сведения об элементах защищаемой инфраструктуры и сохраняют их в базе данных модуля хранения информации (160).[0061] The method (200) begins at step (210) when basic information about the elements of the protected infrastructure is obtained, by means of the communication module (110), and stored in the database of the information storage module (160).

[0062] Основные сведения об элементах защищаемой инфраструктуры в данном случае могут представлять собой по меньшей мере одно из перечисленного: домен или IP-адрес, относящийся по меньшей мере к одному веб-сайту, входящему в состав защищаемой инфраструктуры, по меньшей мере один SSL-сертификат, установленный на таком по меньшей мере одном сайте или на по меньшей мере одном IP-адресе, адрес электронной почты, относящийся к почтовому сервису, функционирующему в защищаемой инфраструктуре, например, адрес корпоративной электронной почты. Кроме того, в состав основных сведений могут входить указатели, например, ссылки, на хранилища данных, присутствующие в защищаемой инфраструктуре, в одном неограничивающем примере это могут быть: FTP-серверы, системы управления базами данных, такие как MongoDB, веб-службы хостинга файлов, такие как AWS bucket storages, и так далее. Дополнительно в состав сведений о защищаемой инфраструктуре могут входить адреса, идентификаторы и номера версий веб-сервисов, функционирующих в защищаемой инфраструктуре.[0062] Basic information about the elements of the protected infrastructure in this case can be at least one of the following: a domain or IP address related to at least one website that is part of the protected infrastructure, at least one SSL- a certificate installed on at least one such site or on at least one IP address, an e-mail address related to a mail service operating in the protected infrastructure, for example, a corporate e-mail address. In addition, the basic information may include pointers, such as links, to data stores present in the protected infrastructure, in one non-limiting example, this may be: FTP servers, database management systems such as MongoDB, file hosting web services , such as AWS bucket storages, and so on. Additionally, information about the protected infrastructure may include addresses, identifiers, and version numbers of web services operating in the protected infrastructure.

[0063] Адресом веб-сервиса в данном случае считается IP-адрес сервера и номер порта, на котором данный веб-сервис запущен. Идентификатором сервиса может, без ограничений, служить как наименование веб-сервиса, такое, например, как Apache Tomcat, так и условное обозначение, такое, например, как заранее присвоенный порядковый номер веб-сервиса, или число, являющееся результатом взятия хэш-функции, например, от символьной строки наименования веб-сервиса. Номер версии веб-сервиса представляет собой традиционно используемый в IT-индустрии номер версии программного обеспечения.[0063] The address of the web service in this case is the IP address of the server and the port number on which this web service is running. The service identifier can, without limitation, be either the name of a web service, such as Apache Tomcat, or a convention, such as a pre-assigned serial number of a web service, or a number resulting from taking a hash function, for example, from a character string of the web service name. The web service version number is a traditional software version number used in the IT industry.

[0064] Так, в качестве примера, на этапе (210) в качестве основных сведений об элементах защищаемой инфраструктуры мог быть получен домен company.com.[0064] So, as an example, at step (210), the company.com domain could be obtained as basic information about the elements of the protected infrastructure.

[0065] Кроме того, на этапе (210) получают, посредством модуля связи (110), сведения об индикаторах компрометации и сохраняют их в базе данных модуля хранения информации (160).[0065] In addition, at step (210) receive, through the communication module (110), information about indicators of compromise and store them in the database of the information storage module (160).

[0066] Следует заметить, что в рамках данного описания понятие индикатора компрометации трактуют шире общепринятого значения. Помимо артефактов, прямо указывающих на факт компрометации (например, наличие в системном реестре записи, характерной для известной вредоносной программы), в рамках данного описания к индикаторам компрометации относят также значения статусов контрольных точек, которые указывают на изменение состояния данной контрольной точки.[0066] It should be noted that within the framework of this description, the concept of an indicator of compromise is interpreted wider than the generally accepted meaning. In addition to artifacts that directly indicate the fact of a compromise (for example, the presence in the system registry of an entry characteristic of a known malicious program), within the framework of this description, indicators of compromise also include the values of checkpoint statuses that indicate a change in the state of a given checkpoint.

[0067] Например, к индикаторам компрометации также относят: изменение данных DNS, изменение владельца IP-адреса, изменение владельца доменного имени, изменение статуса SSL-сертификата, изменение статуса TLS-сертификата, открытие нового порта, запуск нового сервиса, истечение срока действия доменного имени, истечение срока действия SSL-сертификата, истечение срока действия TLS-сертификата, отсутствие названия обнаруженного программного обеспечения (веб-сервиса) в списке легитимного программного обеспечения, принадлежность версии используемого легитимного программного обеспечения (веб-сервиса) к числу известных уязвимых версий этого сервиса, отсутствие или неверная настройка протокола DMARC, использование в SSL/TLS алгоритмов шифрования, относящихся к слабым алгоритмам, а также утечку конфиденциальных данных.[0067] For example, indicators of compromise also include: changing DNS data, changing the owner of an IP address, changing the owner of a domain name, changing the status of an SSL certificate, changing the status of a TLS certificate, opening a new port, starting a new service, expiration of a domain name, SSL certificate expiration, TLS certificate expiration, absence of the name of the detected software (web service) in the list of legitimate software, if the version of the legitimate software (web service) used is among the known vulnerable versions of this service , the absence or incorrect configuration of the DMARC protocol, the use of weak encryption algorithms in SSL / TLS, and the leakage of confidential data.

[0068] Под конфиденциальными данными, в свою очередь, понимают по меньшей мере: учетные данные пользователей защищаемой инфраструктуры, персональные данные пользователей защищаемой инфраструктуры, контактные данные пользователей защищаемой инфраструктуры, в том числе служебные адреса электронной почты, платежные данные пользователей защищаемой инфраструктуры, а также иную конфиденциальную информацию, хранящуюся внутри периметра защищаемой инфраструктуры, например, базы данных, файловые хранилища, сетевые папки общего доступа и т.д.[0068] Confidential data, in turn, means at least: credentials of users of the protected infrastructure, personal data of users of the protected infrastructure, contact data of users of the protected infrastructure, including business email addresses, payment data of users of the protected infrastructure, as well as other confidential information stored inside the perimeter of the protected infrastructure, for example, databases, file storages, network shared folders, etc.

[0069] Однако, индикаторы компрометации, получаемые на этапе (210), представляют собой именно объекты или артефакты, обнаружение которых в инфраструктуре может свидетельствовать о ее компрометации. Они могут представлять собой, например, хэш-суммы вредоносных файлов, имена вредоносных файлов и пути, по которым они располагаются, IP-адреса командных серверов вредоносных программ, обращение к которым выполнено одним из устройств защищаемой инфраструктуры, адреса DNS-серверов, используемых вредоносными программами и так далее.[0069] However, the indicators of compromise obtained at step (210) are exactly the objects or artifacts, the detection of which in the infrastructure may indicate its compromise. They can be, for example, hash sums of malicious files, names of malicious files and paths where they are located, IP addresses of malware command and control servers accessed by one of the protected infrastructure devices, addresses of DNS servers used by malware and so on.

[0070] Кроме того, наряду с такими объектами в состав индикаторов компрометации, получаемых на данном этапе, могут входить также сведения об утечках конфиденциальных данных, например, сведения о названиях компаний, нелегитимный доступ к инфраструктуре которых был выставлен на продажу на специализированных форумах, используемых киберпреступниками, а также сведения о выставленных на продажу учетных, персональных, платежных данных сотрудников таких компаний.[0070] In addition, along with such objects, indicators of compromise obtained at this stage may also include information about leaks of confidential data, for example, information about the names of companies whose illegal access to the infrastructure was put up for sale on specialized forums used by cybercriminals, as well as information about the accounting, personal, payment data of employees of such companies put up for sale.

[0071] Технически такие индикаторы компрометации могут представлять собой, например, списки, хранящиеся в текстовых файлах, или иным образом упорядоченную структуру данных, например, отдельную базу данных, реализованную в любом общеизвестном формате.[0071] Technically, such indicators of compromise may be, for example, lists stored in text files, or otherwise ordered data structure, such as a separate database, implemented in any well-known format.

[0072] Вся перечисленная информация может быть собрана заблаговременно из любого подходящего источника, например, из открытых сторонних источников данных киберразведки (Threat Intelligence feeds), из результатов анализа трафика или кода вредоносных файлов, выполняемым, например, сторонней платформой детонации вредоносных файлов либо виртуальной средой, "песочницей", сторонними средствами анализа кода вредоносных файлов и т.д. Такая информация может поступать в систему, реализующую способ (200) однократно, на первом этапе (210) ее функционирования. В одном из альтернативных вариантов реализации системы сведения об индикаторах компрометации получают и сохраняют в базе данных модуля хранения информации (160) с заранее заданной периодичностью, например, один раз в сутки, либо, например, каждые четыре часа.[0072] All of the above information can be collected in advance from any suitable source, for example, from open third-party sources of cyber intelligence data (Threat Intelligence feeds), from the results of analysis of traffic or code of malicious files, performed, for example, by a third-party platform for detonating malicious files or a virtual environment , sandbox, third-party code analysis tools for malicious files, etc. Such information can enter the system that implements the method (200) once, at the first stage (210) of its operation. In one alternative implementation of the system, information about indicators of compromise is received and stored in the database of the information storage module (160) at a predetermined frequency, for example, once a day, or, for example, every four hours.

[0073] Действия, выполняемые по способу (200) на этапе (210), не имеют особенностей и могут выполняться любым общеизвестным образом.[0073] The steps performed by the method (200) in step (210) are non-specific and may be performed in any conventional manner.

[0074] По окончании этапа (210) способ (200) переходит к этапу (220), на котором посредством модуля обнаружения инфраструктуры (120) выявляют контрольные точки защищаемой инфраструктуры (180), а именно относящиеся к ней доменные имена, IP-адреса, SSL- и\или TLS-сертификаты.[0074] At the end of step (210), the method (200) proceeds to step (220), where the checkpoints of the protected infrastructure (180) are detected through the infrastructure discovery module (120), namely, domain names, IP addresses, SSL and/or TLS certificates.

[0075] В одном из возможных вариантов реализации описываемого способа основой модуля обнаружения инфраструктуры (120) может являться предварительно построенная графовая модель сети Интернет. Ниже, со ссылкой на Фиг. 3А, будет приведен неограничивающий пример того, как в одном из возможных способов реализации может быть построена графовая модель сети Интернет. Следует заметить, что это упрощенный пример, приведенный для облегчения понимания, поэтому в нем условно не показан ряд вершин графа, которые могут присутствовать в практическом воплощении такой модели.[0075] In one of the possible embodiments of the described method, the basis of the infrastructure discovery module (120) can be a pre-built graph model of the Internet. Below, with reference to FIG. 3A, a non-limiting example will be given of how, in one possible implementation, a graph model of the Internet can be built. It should be noted that this is a simplified example given for ease of understanding, so it does not conventionally show a number of graph vertices that may be present in the practical implementation of such a model.

[0076] Графовая модель сети Интернет (300) представляет собой граф, в вершинах которого находятся элементы инфраструктуры вычислительных сетей и параметры этих элементов. Элементы инфраструктуры вычислительных сетей могут быть задействованы такие, например, как IP-адреса (310), (320), (330), (340), домены (311), (315), (319), (323), (325), порты (312), (316), (332), запущенные на этих портах веб-сервисы (314), (318), (334), SSL- и TLS-сертификаты (313), (317), (321) и т.д. Параметрами элементов инфраструктуры вычислительных сетей могут являться, например, владельцы IP-адресов (302), (342), даты регистрации IP-адресов (не показаны), даты создания и истечения SSL- и TLS-сертификатов (не показаны) и т.д.[0076] The graph model of the Internet (300) is a graph, at the vertices of which there are elements of the infrastructure of computer networks and the parameters of these elements. Elements of the infrastructure of computer networks can be involved such as, for example, IP addresses (310), (320), (330), (340), domains (311), (315), (319), (323), (325 ), ports (312), (316), (332), web services running on these ports (314), (318), (334), SSL and TLS certificates (313), (317), (321 ) etc. The parameters of the infrastructure elements of computer networks can be, for example, the owners of IP addresses (302), (342), the dates of registration of IP addresses (not shown), the dates of creation and expiration of SSL and TLS certificates (not shown), etc. .

[0077] Вершины графа выявляют на этапе построения модели в ходе сканирования сети Интернет. Это сканирование позволяет получить информацию о существовании, статусе и параметрах каждого из перечисленных элементов инфраструктуры вычислительных сетей.[0077] The vertices of the graph are identified at the stage of building the model during the scanning of the Internet. This scan allows you to obtain information about the existence, status and parameters of each of the listed elements of the computer network infrastructure.

[0078] Ребрами графа являются связи, выявленные в ходе анализа результатов упомянутого сканирования сети Интернет. Связью в данном случае считают выявленное совпадение параметров разных элементов инфраструктуры вычислительных сетей. Построение связей между вершинами может выполняться любым общеизвестным образом, например, так, как это описано в патенте RU 2681699, где находят по меньшей мере первый сетевой ресурс (одну вершину графа) и по меньшей мере второй сетевой ресурс (еще одну вершину графа); извлекают информацию о найденных сетевых ресурсах, включающую по меньшей мере один параметр первого сетевого ресурса и по меньшей мере один параметр второго сетевого ресурса; и в ответ на то, что по меньшей мере один параметр первого сетевого ресурса совпадает с по меньшей мере одним параметром второго сетевого ресурса, строят связь между первым сетевым ресурсом и вторым сетевым ресурсом (ребро между двумя вершинами графа).[0078] The edges of the graph are the links identified during the analysis of the results of the said scanning of the Internet. In this case, a connection is considered to be the revealed coincidence of the parameters of different elements of the infrastructure of computer networks. Building links between nodes can be performed in any well-known manner, for example, as described in patent RU 2681699, where at least the first network resource (one graph node) and at least the second network resource (another graph node) are found; extracting information about the found network resources, including at least one parameter of the first network resource and at least one parameter of the second network resource; and in response to the fact that at least one parameter of the first network resource matches at least one parameter of the second network resource, a link is built between the first network resource and the second network resource (an edge between two graph vertices).

[0079] Так, со ссылкой на Фиг. 3, связи между вершинами графа, соответствующим IP-адресам (320), (330) и (340) устанавливают, поскольку эти три адреса принадлежат одному и тому же владельцу (342). Связи между вершинами, соответствующими доменам (315), (319) и (325) устанавливают, поскольку на веб-сайтах, имеющих эти доменные имена, установлен один и тот же SSL-сертификат (317).[0079] Thus, with reference to FIG. 3, links between graph nodes corresponding to IP addresses (320), (330), and (340) are established because these three addresses belong to the same owner (342). Links between nodes corresponding to domains (315), (319) and (325) are established because the same SSL certificate (317) is installed on the websites having these domain names.

[0080] Кроме того, связи между вершинами, соответствующими доменам (315) и (319) устанавливают, поскольку оба этих доменных имени ссылаются (resolve) на один и тот же IP-адрес (310). Аналогично, связи между вершинами, соответствующими доменам (323) и (325) устанавливают, поскольку оба этих доменных имени ссылаются на один и тот же IP-адрес (320).[0080] In addition, links between nodes corresponding to domains (315) and (319) are established because both of these domain names refer (resolve) to the same IP address (310). Similarly, links between nodes corresponding to domains (323) and (325) are established because both of these domain names refer to the same IP address (320).

[0081] Связь между вершинами графа, соответствующими порту (316), открытому по IP-адресу (310) и порту (332), открытому по IP-адресу (330), устанавливают, поскольку на этих портах запущены одинаковые веб-сервисы (318), (334), например, веб-серверы Apache Tomcat одной и той же версии v.3.3.2.[0081] The connection between the graph vertices corresponding to the port (316) opened at the IP address (310) and the port (332) opened at the IP address (330) is established because the same web services are running on these ports (318 ), (334), for example, Apache Tomcat web servers of the same version v.3.3.2.

[0082] Каждому ребру графа (каждой связи) в графовой модели сети Интернет (300) может быть поставлен в соответствие определенный вес, характеризующий, например, "прочность" этой связи или какой-либо еще ее параметр. Вычисление или присвоение этих величин может выполняться любым общеизвестным образом. В одном неограничивающем примере, связь может иметь тем больший вес, чем меньшее количество элементов она соединяет; например, связь между IP-адресом (310) и владельцем этого адреса (302) может иметь большой вес, чем связи между IP-адресами (320), (330) и (340) и их владельцем (342).[0082] Each edge of the graph (each connection) in the graph model of the Internet network (300) can be assigned a certain weight characterizing, for example, the "strength" of this connection or some other parameter of it. The calculation or assignment of these values can be performed in any well-known way. In one non-limiting example, a link may have more weight the fewer elements it connects; for example, the association between an IP address (310) and the owner of that address (302) may carry more weight than the associations between IP addresses (320), (330) and (340) and their owner (342).

[0083] Кроме того, вес, присваиваемый каждому ребру графа, может зависеть и от других параметров. Например, связи, построенные от вершин, которые соответствуют SSL-сертификатам, могут иметь больший вес, чем связи, построенные от вершин, которые соответствуют одинаковым веб-сервисам, таким как веб-сервисы (318), (334). Возможны, без ограничений, и любые другие известные способы расчета или присвоения весов ребрам такого графа.[0083] In addition, the weight assigned to each edge of the graph may depend on other parameters. For example, links built from nodes that correspond to SSL certificates may carry more weight than links built from nodes that correspond to the same web services, such as web services (318), (334). Any other known methods of calculating or assigning weights to the edges of such a graph are possible, without limitation.

[0084] Вышеописанная графовая модель сети Интернет может быть выполнена с возможностью периодического ее пополнения или обогащения. Пополнение или обогащение графовой модели может выполняться как посредством повторного сканирования сети Интернет и анализа полученных данных вышеописанным способом, так и альтернативными методами, например, описанными ниже.[0084] The above-described graph model of the Internet can be made with the possibility of periodic replenishment or enrichment. Replenishment or enrichment of the graph model can be performed both by rescanning the Internet and analyzing the data obtained in the manner described above, or by alternative methods, for example, described below.

[0085] В одном неограничивающем примере могут анализировать списки доменов, публикуемые регистраторами доменов, и выявлять таким образом новые домены. В другом примере могут анализировать сетевой трафик в сети Интернет и извлекать из него новые доменные имена. Еще в одном примере новые домены могут извлекать из данных SSL-сертификатов, а также из кода или из трафика анализируемых сторонними системами вредоносных файлов. Аналогично, могут анализировать списки выпущенных SSL- и TLS-сертификатов, получая таким образом сведения о новых сертификатах и доменах, и пополняя графовую модель. Указанный анализ списков, сетевого трафика, кода вредоносных файлов, а также сертификатов может выполняться любым общеизвестным образом.[0085] In one non-limiting example, lists of domains published by domain registrars can be analyzed and thus new domains can be identified. In another example, network traffic on the Internet can be analyzed and new domain names extracted from it. In another example, new domains can extract from these SSL certificates, as well as from the code or traffic of malicious files analyzed by third-party systems. Similarly, they can analyze the lists of issued SSL and TLS certificates, thus obtaining information about new certificates and domains, and replenishing the graph model. Said analysis of lists, network traffic, malicious file code, and certificates can be performed in any well-known manner.

[0086] Заблаговременно созданная и постоянно пополняемая таким образом графовая модель сети Интернет входит в состав модуля обнаружения инфраструктуры (120), посредством которого на этапе (220) выявляют контрольные точки защищаемой инфраструктуры (180), а именно относящиеся к ней доменные имена, IP-адреса, SSL- и\или TLS-сертификаты, открытые порты и запущенные на этих портах веб-сервисы.[0086] The graph model of the Internet network, created in advance and constantly updated in this way, is included in the infrastructure discovery module (120), through which at step (220) the control points of the protected infrastructure (180) are identified, namely the domain names related to it, IP- addresses, SSL and/or TLS certificates, open ports and web services running on these ports.

[0087] Основные шаги этапа (220) показаны на чертеже Фиг. 2Б. Этап (220) начинается на шаге (222), на котором находят в графовой модели сети Интернет основные данные об элементах защищаемой инфраструктуры (180), полученные на этапе (210).[0087] The main steps of step (220) are shown in FIG. 2B. Step (220) begins at step (222), where the basic data about the elements of the protected infrastructure (180) obtained at step (210) is found in the graph model of the Internet network.

[0088] В приведенном ранее примере такие основные данные представляют собой домен (311) company.com. На шаге (222) любым общеизвестным способом находят в графовой модели сети Интернет указанный домен (311) company.com.[0088] In the example above, such master data is the (311) company.com domain. At step (222), the indicated domain (311) company.com is found in the graph model of the Internet by any well-known method.

[0089] Затем переходят к шагу (224), на котором выявляют фрагмент графовой модели, содержащий все элементы, так или иначе связанные с доменом (311). В одном из неограничивающих вариантов реализации способа для этого берут все элементы графовой модели, с которыми у домена (311) есть какая-либо связь. В другом возможном варианте реализации берут те элементы, которые связаны с исходным элементом защищаемой инфраструктуры таким количеством ребер, которое не превышает заранее заданный порог, например, элементы, связанные с исходным элементом защищаемой инфраструктуры не более чем 500 ребрами (связями). Выявленный фрагмент графовой модели может выглядеть, например, так, как показано на Фиг. 3А.[0089] Then go to step (224), which reveals a fragment of the graph model containing all the elements, one way or another related to the domain (311). In one of the non-limiting embodiments of the method, all elements of the graph model are taken for this, with which the domain (311) has any connection. In another possible implementation, those elements are taken that are connected to the original element of the protected infrastructure by such a number of edges that does not exceed a predetermined threshold, for example, elements connected to the original element of the protected infrastructure by no more than 500 edges (links). The identified fragment of the graph model may look, for example, as shown in Fig. 3A.

[0090] Затем переходят к шагу (226), на котором к выявленному фрагменту графа применяют по меньшей мере один алгоритм очистки. Этот по меньшей мере один алгоритм может, без ограничения, быть по меньшей мере одним любым алгоритмом, известным в данной области. В одном неограничивающем примере это может быть алгоритм, отсекающий ребра графа (связи), вес которых меньше заранее заданного порогового значения.[0090] Then proceed to step (226), where at least one cleaning algorithm is applied to the identified graph fragment. This at least one algorithm may, without limitation, be at least one of any algorithm known in the art. In one non-limiting example, this may be an algorithm that cuts off graph edges (connections) whose weight is less than a predetermined threshold value.

[0091] В результате применения по меньшей мере одного алгоритма очистки на шаге (226) получают очищенный фрагмент графа. Пример такого очищенного фрагмента (350) показан на Фиг. 3Б. Из чертежа видно, что в результате выполнения этапов (222)-(226) в данном примере были выявлены два дополнительных домена, (315) и (319), два SSL-сертификата (313) и (317), IP-адрес (310) сервера 111.222.333.444 и адреса двух открытых на данном сервере портов, на которых запущены сетевые сервисы: порт 111.222.333.444:69 (312), на котором запущен FTP-сервер (314) Cisco TFTP Server v.1.1, и порт 111.222.333.444:8080 (316), на котором запущен вебсервер (318) Apache Tomcat v.3.3.2.[0091] As a result of applying at least one cleaning algorithm in step (226), a cleaned fragment of the graph is obtained. An example of such a purified fragment (350) is shown in FIG. 3B. It can be seen from the drawing that as a result of performing steps (222) - (226) in this example, two additional domains, (315) and (319), two SSL certificates (313) and (317), an IP address (310 ) server 111.222.333.444 and the addresses of two ports open on this server, on which network services are running: port 111.222.333.444:69 (312), on which the Cisco TFTP Server v.1.1 FTP server (314) is running, and port 111.222. 333.444:8080 (316) running the web server (318) Apache Tomcat v.3.3.2.

[0092] Затем на шаге (228) дополнительно сканируют выявленные элементы защищаемой инфраструктуры посредством модуля сканирования (130). Это делается с целью получения максимально полной информации о составе защищаемой инфраструктуры. Это сканирование защищаемой инфраструктуры может выполняться один или несколько раз. Оно выполняется полностью аналогично сканированию, описанному ниже применительно к этапу (230).[0092] Then, at step (228), the identified elements of the protected infrastructure are additionally scanned by means of the scanning module (130). This is done in order to obtain the most complete information about the composition of the protected infrastructure. This scan of the protected infrastructure can be performed one or more times. It is performed in exactly the same way as the scan described below with respect to step (230).

[0093] Результатом этого сканирования может стать дополнительное обогащение очищенного фрагмента графовой модели сети Интернет данными, полученными в ходе сканирования.[0093] The result of this scan may be an additional enrichment of the cleaned fragment of the graph model of the Internet with the data obtained during the scan.

[0094] Например, как показано на Фиг. 3 В, в составе обогащенного очищенного фрагмента графовой модели сети Интернет (360) появились выявленные в ходе дополнительного сканирования порт 111.222.333.444:22 (362), порт 111.222.333.444:443 (364) и порт 111.222.333.444:50050 (366). Указанный чертеж иллюстрирует также то обстоятельство, что удалось выявить открытые порты, но названия и версии веб-сервисов, запущенных на этих портах, остались неизвестными.[0094] For example, as shown in FIG. 3C, as part of the enriched cleaned fragment of the graph model of the Internet (360), the port 111.222.333.444:22 (362), port 111.222.333.444:443 (364) and port 111.222.333.444:50050 (366) identified during additional scanning appeared . This drawing also illustrates the fact that it was possible to identify open ports, but the names and versions of the web services running on these ports remained unknown.

[0095] В одном из возможных вариантов реализации описываемого способа, дополнительно на шаге (228) посредством модуля обнаружения инфраструктуры (120) могут выявлять подлежащие анализу и контролю веб-страницы, относящиеся к доменам защищаемой инфраструктуры. Для этого для каждого домена, выявленного в составе защищаемой инфраструктуры получают по меньшей мере одну веб-страницу, относящуюся к данному домену, и анализируют содержимое этой по меньшей мере одной веб-страницы.[0095] In one of the possible embodiments of the described method, additionally at step (228), by means of the infrastructure discovery module (120), web pages to be analyzed and controlled, related to the domains of the protected infrastructure, can be detected. To do this, for each domain identified in the protected infrastructure, at least one web page related to this domain is obtained, and the content of this at least one web page is analyzed.

[0096] Собственно получение по меньшей мере одной веб-страницы может выполняться любым общеизвестным способом. В одном неограничивающем примере данный шаг может подразумевать использование любой широко известной утилиты, которая по заданному доменному имени строит список веб-страниц, ассоциированных с этим доменным именем, например, такой, как утилита SiteAnalyzer. В другом неограничивающем примере может использоваться любой из широко известных алгоритмов краулинга (выявления связанных вебстраниц). Еще в одном неограничивающем примере список веб-страниц, подлежащих анализу и контролю, может быть заранее получен системой, реализующей описываемый способ, и сохранен в базе данных модуля хранения информации (160).[0096] Actually obtaining at least one web page can be performed in any well-known way. In one non-limiting example, this step may involve the use of any well-known utility that, given a given domain name, builds a list of web pages associated with that domain name, such as the SiteAnalyzer utility. In another non-limiting example, any of the well-known crawling algorithms (revealing related web pages) can be used. In another non-limiting example, a list of web pages to be analyzed and controlled can be obtained in advance by the system implementing the described method and stored in the database of the information storage module (160).

[0097] Анализ выявленных веб-страниц выполняется в две фазы. В ходе первой фазы анализируют характер контента (содержимого), размещенного на каждой веб-странице и выявляют категории контента, к которым относятся проанализированные веб-страницы. Это может выполняться любым общеизвестным образом.[0097] The analysis of the identified web pages is performed in two phases. During the first phase, the nature of the content (content) placed on each web page is analyzed and the categories of content to which the analyzed web pages belong are identified. This may be done in any well known manner.

[0098] В качестве неограничивающего примера, это может выполняться способом, описанным в патенте RU 2738335. В соответствии с данным способом, предварительно формируют пул веб-страниц, причем так, чтобы в состав пула в достаточном количестве вошли веб-страницы, контент которых относится к каждой из требующих контроля категорий, например, таких как "авторизация", "платежи и переводы" (то есть страницы, предназначенные для ввода конфиденциальных данных), "контент для взрослых", "азартные игры", "наркотики" (страницы, содержащие высокорискованный контент), "бизнес", "медицина", "отдых", и так далее (страницы всех остальных видов). Затем преобразуют содержимое веб-страниц из HTML в текст, текст токенизируют, формируют матрицу токенов для обучения ансамбля классификаторов, и на основе полученной матрицы токенов создают ансамбль классификаторов, причем для каждого из них заранее определен решающий приоритет. При этом токенизация текста подразумевает исключение из него пунктуации, преобразование всех букв в нижний регистр, преобразование всех слов к первоначальной форме, символьную и статистическую обработку естественного языка и морфологический анализ.[0098] As a non-limiting example, this can be done by the method described in patent RU 2738335. In accordance with this method, a pool of web pages is preliminarily formed, moreover, so that the pool includes web pages in sufficient quantity, the content of which relates to to each of the categories requiring control, for example, such as "authorization", "payments and transfers" (that is, pages intended for entering confidential data), "adult content", "gambling", "drugs" (pages containing high-risk content), "business", "medicine", "leisure", and so on (pages of all other types). Then the content of web pages is converted from HTML to text, the text is tokenized, a matrix of tokens is formed for training an ensemble of classifiers, and based on the obtained matrix of tokens, an ensemble of classifiers is created, and for each of them a decisive priority is predetermined. At the same time, text tokenization implies the exclusion of punctuation from it, the conversion of all letters to lower case, the conversion of all words to their original form, symbolic and statistical processing of natural language and morphological analysis.

[0099] В дальнейшем для отнесения произвольно взятой веб-страницы к одной из категорий, на которых был обучен ансамбль классификаторов, содержимое этой веб-страницы преобразуют из HTML в текст, текст токенизируют, получая вектор токенов, и подают полученный вектор токенов на вход обученного ансамбля классификаторов. В соответствии с решением ансамбля классификаторов, веб-страницу относят к одной из трех категорий:[0099] In the future, to assign an arbitrarily taken web page to one of the categories on which the ensemble of classifiers was trained, the content of this web page is converted from HTML to text, the text is tokenized, receiving a vector of tokens, and the resulting vector of tokens is fed to the input of the trained ensemble of classifiers. In accordance with the decision of the ensemble of classifiers, a web page is assigned to one of three categories:

• веб-страницы, предназначенные для ввода персональных, учетных или иных конфиденциальных данных,• web pages intended for entering personal, accounting or other confidential data,

• веб-страницы содержащие контент для взрослых, контент относящийся к азартным играм и прочий высокорискованный контент,• web pages containing adult content, content related to gambling and other high-risk content,

• все остальные веб-страницы.• all other web pages.

[0100] В ходе второй фазы анализа веб-страницы, отнесенные к категории "все остальные", не рассматривают.[0100] During the second phase of the analysis, web pages categorized as "all others" are not considered.

[0101] Ссылку на каждую из веб-страниц, отнесенных к категории "страницы для ввода конфиденциальных данных" считают отдельной контрольной точкой. Сведения о таких контрольных точках сохраняют, например, в виде URL, в базе данных модуля хранения информации (160). При этом в базе данных возможна, без ограничений, любая рубрикация подобных сохраняемых ссылок, например, наличие особой пометки "страница для ввода конфиденциальных данных".[0101] A link to each of the web pages categorized as "pages for entering confidential data" is considered a separate control point. Information about such checkpoints is stored, for example, in the form of a URL, in the database of the information storage module (160). At the same time, in the database it is possible, without restrictions, any rubrication of such saved links, for example, the presence of a special mark "page for entering confidential data".

[0102] Все ссылки на веб-страницы, отнесенные к категории "страницы с высокорискованным контентом" сохраняют, например, в виде списка URL, в базе данных модуля хранения информации (160), и считают данный список еще одной контрольной точкой.[0102] All links to web pages categorized as "pages with high risk content" are stored, for example, as a list of URLs, in the database of the information storage module (160), and consider this list as another checkpoint.

[0103] В одном из возможных вариантов реализации описываемого способа, дополнительно на шаге (228) посредством модуля обнаружения инфраструктуры (120) также могут выявлять другие веб-страницы, подлежащие проверке на наличие вредоносного кода. В частности, могут выявлять веб-страницы, на которых возможно наличие так называемого веб-шелла (web shell).[0103] In one of the possible embodiments of the described method, additionally at step (228), other web pages to be checked for malicious code can also be detected by means of the infrastructure detection module (120). In particular, they can detect web pages that may have a so-called web shell.

[0104] Для выявления страниц, на которых возможно наличие веб-шелла, для каждого из доменов, принадлежащих защищаемой инфраструктуре, проверяют наличие особых папок, в которых вероятно наличие подобных страниц, таких, например, как папка /wp-content/, папка /just7z/, и так далее. Собственно названия особых папок, существование которых подлежит проверке применительно к обнаружению веб-шеллов, хорошо известны специалистам в предметной области. Эти названия могут быть предварительно сохранены отдельным списком в базе данных модуля хранения информации (160).[0104] To identify pages where a web shell is possible, for each of the domains belonging to the protected infrastructure, they check for the presence of special folders that are likely to contain such pages, such as the /wp-content/ folder, the / just7z/, and so on. Actually, the names of the special folders, the existence of which is to be checked in relation to the discovery of web shells, are well known to experts in the subject area. These names may be previously stored in a separate list in the database of the information storage module (160).

[0105] При наличии по меньшей мере одной из таких папок, например, папки /wp-content/, проверяют, посредством модуля обнаружения инфраструктуры (120), наличие в этой папке по меньшей мере одного файла, в котором вероятно наличие вредоносного кода, например, какого-либо из файлов wso2.5.1.php, wso2.5.php, wso2.php, wso.php, и так далее. Имена таких файлов хорошо известны специалистам в предметной области; они также могут быть предварительно сохранены отдельным списком в базе данных модуля хранения информации (160).[0105] If there is at least one of these folders, for example, the /wp-content/ folder, it is checked, by means of the infrastructure detection module (120), that this folder contains at least one file that is likely to contain malicious code, for example , any of the files wso2.5.1.php, wso2.5.php, wso2.php, wso.php, and so on. The names of such files are well known to experts in the subject area; they may also be previously stored as a separate list in the database of the information storage module (160).

[0106] Собственно обнаружение файла с заданным именем внутри заданной папки может выполняться любым общеизвестным образом. В ответ на обнаружение каждого такого файла получают ссылку, например, URL, на этот файл.[0106] The actual detection of a file with a given name within a given folder can be performed in any well-known manner. In response to the discovery of each such file, a link, for example, a URL, to this file is received.

[0107] Ссылку на каждый из найденных файлов (веб-страниц), отнесенных к категории "страницы, возможно, содержащие веб-шелл" считают отдельной контрольной точкой. Сведения о таких контрольных точках сохраняют, например, в виде URL, в базе данных модуля хранения информации (160). При этом в базе данных возможна, без ограничений, любая рубрикация подобных сохраняемых ссылок, например, наличие особой пометки "веб-шелл".[0107] A link to each of the found files (web pages) categorized as "pages possibly containing a web shell" is considered a separate checkpoint. Information about such checkpoints is stored, for example, in the form of a URL, in the database of the information storage module (160). At the same time, in the database it is possible, without restrictions, any rubrication of such stored links, for example, the presence of a special mark "web shell".

[0108] Например, в ходе описанной проверки на одном из доменов site3.company.com, относящихся к защищаемой инфраструктуре, может быть обнаружена папка /wp-content/, а внутри этой папки -- веб-страница с именем wso2.php. В данном примере в базе данных модуля хранения информации (160) будет с пометкой "веб-шелл" сохранена следующая ссылка:[0108] For example, during the described check on one of the site3.company.com domains related to the protected infrastructure, the /wp-content/ folder can be found, and inside this folder, a web page named wso2.php. In this example, the following link will be stored in the database of the information storage module (160) marked "web shell":

[0109] http://site3.company.com/wp-content/wso2.php[0109] http://site3.company.com/wp-content/wso2.php

[0110] Все обнаруженные в результате выполнения этапа (220) контрольные точки, то есть домены, IP-адреса, SSL и TLS-сертификаты, открытые порты, названия и версии запущенных веб-сервисов защищаемой инфраструктуры (180), а также контрольные точки, представляющие собой ссылки на веб-страницы, система, реализующая способ (200), сохраняет в базе данных модуля хранения информации (160). После этого способ (200) переходит к этапу (230).[0110] All checkpoints detected as a result of step (220), that is, domains, IP addresses, SSL and TLS certificates, open ports, names and versions of running web services of the protected infrastructure (180), as well as checkpoints, which are links to web pages, the system implementing the method (200) saves in the database of the information storage module (160). Thereafter, method (200) proceeds to step (230).

[0111] На этапе (230) сканируют, посредством модуля сканирования (130), обнаруженные на предыдущем этапе контрольные точки защищаемой инфраструктуры (180) и получают, также посредством модуля сканирования (130), информацию о статусах контрольных точек защищаемой инфраструктуры.[0111] At step (230), the checkpoints of the protected infrastructure (180) detected in the previous step are scanned by means of the scanning module (130) and receive, also by means of the scanning module (130), information about the statuses of the checkpoints of the protected infrastructure.

[0112] К статусам контрольных точек защищаемой инфраструктуры в данном случае относят по меньшей мере:[0112] The statuses of control points of the protected infrastructure in this case include at least:

[0113] Значения ресурсных записей системы доменных имен (DNS), а именно начальной записи зоны (SOA) и записи Name Server (NS). Однако, возможна реализация описываемого способа, в которой используют, то есть получают и впоследствии контролируют также значения и других типов ресурсных записей, например, без ограничения, ресурсных записей типов А, CNAME, MX, TXT и SPF.[0113] The values of the Domain Name System (DNS) resource records, namely the initial zone record (SOA) and the Name Server (NS) record. However, it is possible to implement the described method in which the values of other types of resource records are also used, that is, obtained and subsequently controlled, for example, without limitation, resource records of types A, CNAME, MX, TXT and SPF.

[0114] В частности, в одной из возможных вариантов реализации описываемого решения получают ресурсные записи типа ТХТ, задающие конфигурацию протокола DMARC. Такие записи могут отличать от остальных ресурсных записей типа ТХТ по наличию в тексте записи сочетания символов[0114] In particular, in one of the possible implementations of the described solution, resource records of the TXT type are obtained that specify the configuration of the DMARC protocol. Such records can be distinguished from other resource records of the TXT type by the presence of a combination of characters in the record text.

[0115] v=DMARC1[0115] v=DMARC1

[0116] Вообще для того, чтобы получить значения ресурсных записей DNS, используют информацию о доменах, имеющихся в составе защищаемой инфраструктуры и обнаруженных в результате выполнения этапа (210). Для каждого домена определяют список используемых этим доменом DNS-серверов, и затем для каждого DNS-сервера получают значения ресурсных записей, относящихся к данному домену, и сохраняют результат в базе данных модуля хранения информации (160). Все перечисленные действия могут быть выполнены любым общеизвестным способом, например, посредством утилиты dig или сервиса Whois в любой их реализации.[0116] In general, in order to obtain the values of DNS resource records, use information about the domains that are part of the protected infrastructure and discovered as a result of step (210). For each domain, a list of DNS servers used by this domain is determined, and then, for each DNS server, the values of resource records related to this domain are obtained and the result is stored in the database of the information storage module (160). All of the listed actions can be performed in any well-known way, for example, using the dig utility or the Whois service in any of their implementations.

[0117] Параметры регистрации каждого из обнаруженных доменов защищаемой инфраструктуры: владелец домена, регистратор (registrar) домена, срок действия домена.[0117] Registration parameters for each of the detected domains of the protected infrastructure: domain owner, domain registrar, domain expiration date.

[0118] Для того, чтобы получить значения этих параметров, используют информацию о доменах, имеющихся в составе защищаемой инфраструктуры и обнаруженных в результате выполнения этапа (210). Для каждого домена любым общеизвестным способом, например, посредством сервиса Whois, получают указанные значения и сохраняют результат в базе данных модуля хранения информации (160).[0118] In order to obtain the values of these parameters, use information about the domains that are part of the protected infrastructure and discovered as a result of step (210). For each domain, in any well-known way, for example, through the Whois service, the specified values are obtained and the result is stored in the database of the information storage module (160).

[0119] Параметры сертификатов, установленных на каждом из доменов и IP-адресов защищаемой инфраструктуры. Для каждого из доменов и IP-адресов определяют статус его SSL-сертификата или TLS-сертификата (статус указывает действителен ли сертификат), срок действия SSL-сертификата или TLS-сертификата и алгоритмы шифрования, который могут быть использованы сервером, на котором установлен данный сертификат.[0119] Parameters of certificates installed on each of the domains and IP addresses of the protected infrastructure. For each of the domains and IP addresses, determine the status of its SSL certificate or TLS certificate (the status indicates whether the certificate is valid), the validity period of the SSL certificate or TLS certificate, and encryption algorithms that can be used by the server on which this certificate is installed. .

[0120] Для того, чтобы получить значения этих параметров, используют информацию о доменах и IP-адресах, имеющихся в составе защищаемой инфраструктуры и обнаруженных в результате выполнения этапа (210); собственно получение параметров сертификата может быть выполнено любым общеизвестным образом, например, посредством открыто доступной библиотеки OpenSSL либо путем формирования GET-запроса к открытому онлайн-сервису, такому как www.sslshopper.com, и парсинга (разбора) текста ответа, полученного от этого онлайн-сервиса.[0120] In order to obtain the values of these parameters, use information about the domains and IP addresses that are part of the protected infrastructure and discovered as a result of step (210); actually obtaining certificate parameters can be performed in any well-known way, for example, using the openly available OpenSSL library or by generating a GET request to an open online service, such as www.sslshopper.com, and parsing (parsing) the response text received from this online -service.

[0121] При этом, помимо прочего, в ответе сервера, на котором установлен определенный сертификат, например, TLS-сертификат, будут содержаться коды поддерживаемых алгоритмов шифрования. Они могут выглядеть, например, следующим образом:[0121] In this case, among other things, the response of the server on which a certain certificate is installed, for example, a TLS certificate, will contain codes of supported encryption algorithms. They might look like this, for example:

[0122] TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256[0122] TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

[0123] Впоследствии, анализируя подобные коды, система, реализующая описываемый способ, может определить, являются ли алгоритмы шифрования, которые поддерживает домен или сервер при данном установленном сертификате, слабыми.[0123] Subsequently, by analyzing such codes, the system implementing the described method can determine whether the encryption algorithms that the domain or server supports with this installed certificate are weak.

[0124] Параметры регистрации каждого из обнаруженных IP-адресов защищаемой инфраструктуры: владелец адреса, хостинг-провайдер, срок действия IP-адреса.[0124] Registration parameters for each of the detected IP addresses of the protected infrastructure: the owner of the address, the hosting provider, the expiration date of the IP address.

[0125] Для того, чтобы получить значения этих параметров, используют информацию об IP-адресах, имеющихся в составе защищаемой инфраструктуры и обнаруженных в результате выполнения этапа (210). Для каждого IP-адреса любым общеизвестным способом, например, посредством сервиса Whois, получают указанные значения и сохраняют результат в базе данных модуля хранения информации (160).[0125] In order to obtain the values of these parameters, use information about the IP addresses that are part of the protected infrastructure and discovered as a result of step (210). For each IP address, by any well-known method, for example, through the Whois service, the specified values are obtained and the result is stored in the database of the information storage module (160).

[0126] Параметры активности каждого из обнаруженных IP-адресов защищаемой инфраструктуры: перечень портов, открытых на данном IP-адресе, а также перечень веб-сервисов, запущенных на портах данного IP-адреса и версии программного обеспечения, соответствующего этим веб-сервисам.[0126] The activity parameters of each of the detected IP addresses of the protected infrastructure: a list of ports open on this IP address, as well as a list of web services running on ports of this IP address and the software version corresponding to these web services.

[0127] Для того, чтобы получить перечень открытых портов, а также названия и версии запущенных на них сервисов, используют информацию об IP-адресах, имеющихся в составе защищаемой инфраструктуры и обнаруженных в результате выполнения этапа (210). Притом используют так называемый сканер портов, то есть программную реализацию алгоритма, построенного, например, на принципах SYN, TCP, UDP, ACK или FIN-сканирования, либо на любых других известных принципах сканирования портов, позволяющих отличить открытый порт от закрытого.[0127] In order to obtain a list of open ports, as well as the names and versions of services running on them, use information about the IP addresses that are part of the protected infrastructure and discovered as a result of step (210). Moreover, the so-called port scanner is used, that is, a software implementation of an algorithm built, for example, on the principles of SYN, TCP, UDP, ACK or FIN-scanning, or on any other well-known port scanning principles that make it possible to distinguish an open port from a closed one.

[0128] Для каждого IP-адреса посредством заранее подготовленного скрипта или онлайн-сервиса (такого, например, как nmap.org), получают список открытых на данном IP-адресе в настоящий момент портов, а также названия (идентификаторы) и версии запущенных на них веб-сервисов и сохраняют результат в базе данных модуля хранения информации (160). Собственно получение этих сведений является общеизвестной, стандартной функцией сканеров портов. По ответам сканера портов определяют не только номера открытых портов, но и названия и версии запущенных на них программ (веб-сервисов).[0128] For each IP address, using a pre-prepared script or online service (such as, for example, nmap.org), a list of currently open ports on this IP address is obtained, as well as the names (identifiers) and versions of those running on them web services and store the result in the database of the information storage module (160). Actually obtaining this information is a well-known, standard function of port scanners. The port scanner responses determine not only the numbers of open ports, but also the names and versions of programs (web services) running on them.

[0129] Еще в одном возможном варианте реализации описываемого способа для определения состояния портов используются известные сетевые утилиты, входящие в комплект поставки некоторых операционных систем, такие как утилиты netstat и nmap.[0129] In another possible implementation of the described method, well-known network utilities that are included with some operating systems, such as the netstat and nmap utilities, are used to determine the state of the ports.

[0130] Параметры безопасности веб-сайтов защищаемой инфраструктуры: наличие на веб-сайтах защищаемой инфраструктуры по меньшей мере одной веб-страницы с нелегальным контентом, а также наличие вредоносного кода на некоторых веб-страницах, таких, например, как страницы, предназначенные для ввода конфиденциальных данных.[0130] Security settings of websites of the protected infrastructure: the presence on the websites of the protected infrastructure of at least one web page with illegal content, as well as the presence of malicious code on some web pages, such as pages intended for input confidential data.

[0131] Ссылки на веб-страницы, отнесенные к категории "страницы с высокорискованным контентом" на этапе (220) были сохранены, например, в виде списка URL, в базе данных модуля хранения информации (160). Данный список считается контрольной точкой, статусом которой является длина списка: нулевую длину списка считают указанием на отсутствие в защищаемой инфраструктуре страниц с высокорискованным контентом (азартные игры, контент для взрослых, наркотические вещества и т.д.). Ненулевую длину списка, напротив, считают указанием на наличие по меньшей мере одной ссылки на подобную страницу внутри защищаемой инфраструктуры.[0131] Links to web pages categorized as "pages with high risk content" in step (220) were stored, for example, as a list of URLs, in the database of the information storage module (160). This list is considered a checkpoint, the status of which is the length of the list: the zero length of the list is considered an indication that there are no pages with high-risk content (gambling, adult content, drugs, etc.) in the protected infrastructure. A non-zero list length, on the contrary, is considered an indication of the presence of at least one link to a similar page within the protected infrastructure.

[0132] Контрольной точкой также считается каждая из ссылок на страницу, которая может содержать вредоносный код. На этапе (230) каждую из таких ссылок проверяют, посредством модуля анализа (140), и по результатам проверки присваивают ей соответствующий статус безопасности, указывающий на наличие или отсутствие на данной веб-странице вредоносного кода.[0132] A checkpoint is also considered each of the links to a page that may contain malicious code. At step (230), each of these links is checked, by means of the analysis module (140), and based on the results of the check, it is assigned an appropriate security status indicating the presence or absence of malicious code on this web page.

[0133] При проверке страниц, отнесенных к категориям "страницы, возможно, содержащие веб-шелл" каждую из этих страниц загружают в браузере, а затем проверяют, посредством модуля анализа (140), код страницы при помощи заранее подготовленных и сохраненных в базе данных модуля хранения информации (160) сигнатур, например, таких, как YARA-правила, предназначенных для выявления известных веб-шеллов. Такие сигнатуры, в том числе YARA-правила, хорошо известны специалистам в предметной области. Указанная проверка также хорошо известна специалистам; она может выполняться любым общеизвестным способом.[0133] When checking pages categorized as "pages possibly containing a web shell", each of these pages is loaded in the browser, and then checked, by means of the analysis module (140), the page code using pre-prepared and stored in the database an information storage module (160) of signatures, such as YARA rules, for example, designed to detect known web shells. Such signatures, including YARA rules, are well known to experts in the subject area. Said verification is also well known to those skilled in the art; it can be performed in any well-known way.

[0134] В рассматриваемом примере при проверке файла, расположенного по ссылке[0134] In this example, when checking a file located by reference

[0135] http://site3.company.com/wp-content/wso2.php [0135] http://site3.company.com/wp-content/wso2.php

[0136] одним из YARA-правил, например, таким:[0136] one of the YARA rules, such as:

Figure 00000001
Figure 00000001

[0137] будет выявлено наличие в данном файле веб-шелла. В результате этой проверки для данной контрольной точки будет выставлен статус "Обнаружен вредоносный код".[0137] the presence of a web shell in this file will be detected. As a result of this check, the status "Malware detected" will be set for this checkpoint.

[0138] В другом случае, если бы веб-шелл не был обнаружен, для соответствующей этой странице контрольной точки был бы выставлен статус "Страница безопасна".[0138] Otherwise, if the web shell had not been detected, the checkpoint corresponding to this page would have been set to "Page secure".

[0139] Аналогичным образом, при проверке страниц, отнесенных к категориям "страницы, для ввода конфиденциальных данных" каждую из этих страниц загружают в браузере, находят находящиеся в составе страницы скрипты, декодируют их, а затем проверяют, посредством модуля анализа (140), код скриптов при помощи заранее подготовленных и сохраненных в базе данных модуля хранения информации (160) сигнатур, предназначенных для выявления известных JS-снифферов и эксплойтов. Такие сигнатуры хорошо известны специалистам в предметной области. Указанная процедура анализа страниц также хорошо известна специалистам; она может выполняться любым общеизвестным способом.[0139] Similarly, when checking pages categorized as "pages for entering confidential data", each of these pages is loaded in the browser, the scripts included in the page are found, decoded, and then checked, by the analysis module (140), script code using signatures prepared in advance and stored in the database of the information storage module (160), designed to detect known JS sniffers and exploits. Such signatures are well known to those skilled in the art. This page analysis procedure is also well known to those skilled in the art; it can be performed in any well-known way.

[0140] Совершенно аналогично, в результате проверки страниц, в коде скриптов которых был выявлен JS-сниффер или эксплойт, для соответствующей этой странице контрольной точки выставляют статус "Обнаружен вредоносный код". В том случае, если ни JS-сниффер, ни эксплойт не были обнаружены, для соответствующей этой странице контрольной точки выставляют статус "Страница безопасна".[0140] In exactly the same way, as a result of checking pages in the script code of which a JS sniffer or exploit was detected, the checkpoint corresponding to this page is set to the status "Malious code detected". In the event that neither a JS sniffer nor an exploit were detected, the checkpoint corresponding to this page is set to the "Page safe" status.

[0141] Все полученные в ходе выполнения этапа (230) сведения о статусах контрольных точек защищаемой инфраструктуры (180) система, реализующая способ (200), сохраняет в базе данных модуля хранения информации (160). Следует заметить, что технически каждый статус контрольной точки может представлять собой, например, строку символов, сохраненную в файле текстового формата. Альтернативно, каждый статус может представлять собой запись в базе данных. При этом помимо собственно значения статуса в данной записи может храниться также дополнительная информация, например, указание вида или типа контрольной точки, к которой относится данный статус: данные DNS, сведения о сертификате, сведения об IP-адресе и т.д. Иными словами, в базе данных возможна, без ограничений, любая рубрикация статусов контрольных точек по их видам, разновидностям, датам и времени получения и т.д.[0141] All information received during the execution of step (230) about the status of control points of the protected infrastructure (180) is stored by the system that implements the method (200) in the database of the information storage module (160). It should be noted that, technically, each checkpoint status could be, for example, a string of characters stored in a text format file. Alternatively, each status may be an entry in a database. At the same time, in addition to the status value itself, this record can also store additional information, for example, an indication of the type or type of checkpoint to which this status belongs: DNS data, certificate information, IP address information, etc. In other words, in the database it is possible, without restrictions, any rubrication of the statuses of control points according to their types, varieties, dates and times of receipt, etc.

[0142] После этого способ (200) переходит к этапу (240).[0142] Thereafter, method (200) proceeds to step (240).

[0143] На этапе (240) проверяют, посредством модуля анализа (140), модуля связи (110) и базы данных модуля хранения информации (160), наличие индикаторов компрометации в информации о статусах контрольных точек. Притом в ответ на обнаружение по меньшей мере одного индикатора компрометации формируют и передают, посредством модуля оповещения (150) и модуля связи (110), по меньшей мере одно предупреждение о возможной кибератаке.[0143] At step (240) check, by means of the analysis module (140), the communication module (110) and the database of the information storage module (160), the presence of indicators of compromise in the information about the statuses of control points. Moreover, in response to the detection of at least one indicator of compromise, at least one warning about a possible cyber attack is generated and transmitted by means of the notification module (150) and the communication module (110).

[0144] Подробнее выполнение этапа (240) будет описано ниже со ссылкой на Фиг. 4А и Фиг. 4Б.[0144] The execution of step (240) will be described in more detail below with reference to FIG. 4A and FIG. 4B.

[0145] Следует заметить, что проверки, выполняемые в ходе этапа (240), могут отличаться от показанной на Фиг. 4А и Фиг. 4Б последовательности, то есть действия выполняемые в соответствии с Фиг. 4А могут выполняться и до действий, выполняемых в соответствии с Фиг. 4Б, и после них, и одновременно с ними.[0145] It should be noted that the checks performed during step (240) may differ from those shown in FIG. 4A and FIG. 4B sequences, that is, the actions performed in accordance with FIG. 4A may be performed prior to the actions performed in accordance with FIG. 4B, and after them, and simultaneously with them.

[0146] Следует также упомянуть, что для простоты восприятия на Фиг. 4А и Фиг. 4Б показан не полный возможный набор проверок, а лишь иллюстративные неограничивающие примеры. Полный ассортимент выполняемых проверок может быть, в соответствии с данным описанием, значительно шире, чем показано на упомянутых чертежах.[0146] It should also be mentioned that for ease of understanding in FIG. 4A and FIG. 4B does not show a complete set of possible checks, but only illustrative non-limiting examples. The full range of checks to be carried out can be, in accordance with this description, much wider than shown in the above drawings.

[0147] Итак, этап (240) может начинаться на шаге (242), на котором получают, посредством модуля анализа (140), из сохраненного ранее в базе данных модуля хранения информации (160) списка статусов контрольных точек, полученных в ходе выполнения этапа (230), очередной статус контрольной точки.[0147] So, step (240) can begin at step (242), which receives, by means of the analysis module (140), from the list of checkpoint statuses previously stored in the database of the information storage module (160), obtained during the execution of the step (230), the next checkpoint status.

[0148] Затем на шаге (244) выбирают тип проверки, который зависит от того, что представляет собой данная контрольная точка, является ли она данными DNS, доменом, IP-адресом и так далее. Поскольку все статусы контрольных точек, как было описано выше применительно к этапу (230), при сохранении в базе данных рубрицируют по типам контрольных точек, данный выбор типа проверки является чисто формальным и может быть выполнен любым общеизвестным способом.[0148] Then, at step (244), a type of check is selected, which depends on what the given checkpoint is, whether it is DNS data, domain, IP address, and so on. Since all checkpoint statuses, as described above in relation to step (230), are categorized into checkpoint types when stored in the database, this choice of checkpoint type is purely formal and can be done in any well-known way.

[0149] Так, если статус контрольной точки (246) представляет собой данные DNS, название владельца IP-адреса, владельца домена, статус SSL- или TLS-сертификата, то в его отношении выполняется проверка (248) факта изменения данного статуса. Она может выполняться любым общеизвестным способом, например, сравнением текущего и предыдущего по времени значений данного статуса, где предыдущее по времени значение посредством аналитического модуля (140) также получают из базы данных модуля хранения информации (160).[0149] So, if the status of the checkpoint (246) is DNS data, the name of the owner of the IP address, the owner of the domain, the status of the SSL or TLS certificate, then it is checked (248) for the fact that this status has changed. It can be performed in any well-known way, for example, by comparing the current and previous temporal values of a given status, where the previous temporal value is also obtained from the database of the information storage module (160) by means of the analytical module (140).

[0150] Например, на шаге (242) в 20.20 18 января 2020 года получили статус контрольной точки, в соответствии с которым владельцем IP-адреса 111.222.333.444 является компания Company, Ltd. На шаге (248) посредством аналитического модуля (140) строят запрос к базе данных, получают предыдущее по времени значение этого же статуса и находят, что в соответствии с предыдущим статусом этой контрольной точки, полученным в 10.10 17 января 2020 года, владельцем этого IP-адреса также являлась компания Company, Ltd. Таким образом, проверка на шаге (248) показала, что статус контрольной точки «владелец IP-адреса 111.222.333.444» не изменился. Поэтому считают, что индикатор компрометации не обнаружен, и способ возвращается к шагу (242), на котором получают очередной статус.[0150] For example, at step (242) at 20.20 on January 18, 2020, we received the status of a control point, according to which the owner of the IP address 111.222.333.444 is Company, Ltd. At step (248), by means of the analytical module (140), a query is made to the database, the previous value of the same status is obtained, and it is found that, in accordance with the previous status of this checkpoint, received at 10.10 on January 17, 2020, the owner of this IP- The address was also Company, Ltd. Thus, the check in step (248) showed that the status of the "owner of IP address 111.222.333.444" checkpoint has not changed. Therefore, it is considered that no indicator of compromise has been found, and the method returns to step (242), where the next status is obtained.

[0151] В другом примере, на шаге (242) в 20.20 18 января 2020 года получили статус контрольной точки, в соответствии с которым владельцем домена site3.company.com является компания Badguys, Ltd. На шаге (248) посредством аналитического модуля (140) строят запрос к базе данных, получают предыдущее по времени значение этого же статуса и находят, что в соответствии с предыдущим статусом этой контрольной точки, полученным в 10.10 17 января 2020 года, владельцем этого домена являлась компания Company, Ltd. Таким образом, проверка на шаге (248) показала, что статус контрольной точки «владелец домена site3.company.com» изменился, что является индикатором компрометации. Поэтому способ переходит к шагу (250), на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ также возвращается к шагу (242).[0151] In another example, at step (242) at 20.20 on January 18, 2020, a checkpoint status was obtained, according to which the site3.company.com domain is owned by Badguys, Ltd. At step (248), a database query is built using the analytical module (140), the previous value of the same status is obtained, and it is found that, in accordance with the previous status of this checkpoint, received at 10.10 January 17, 2020, the owner of this domain was company, ltd. Thus, the check in step (248) showed that the status of the "site3.company.com domain owner" checkpoint has changed, which is an indicator of compromise. Therefore, the method proceeds to step (250), where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method also returns to step (242).

[0152] Далее, если статус контрольной точки (252) представляет собой открытый на некотором данном IP-адресе порт, либо запущенный на этом порту сервис, то в его отношении выполняется проверка (254) того факта, что данный порт или сервис является новым. Она может выполняться любым общеизвестным способом, например, сравнением текущего и предыдущего по времени значений данного статуса, где предыдущее по времени значение посредством аналитического модуля (140) также получают из базы данных модуля хранения информации (160).[0152] Further, if the checkpoint status (252) is an open port on a given IP address, or a service running on that port, then it is checked (254) that the port or service is new. It can be performed in any well-known way, for example, by comparing the current and previous temporal values of a given status, where the previous temporal value is also obtained from the database of the information storage module (160) by means of the analytical module (140).

[0153] Например, на шаге (242) в 20.20 18 января 2020 года получили статус контрольной точки, в соответствии с которым на IP-адресе 111.222.333.444 имеется открытый порт 8080. На шаге (254) посредством аналитического модуля (140) строят запрос к базе данных, получают предыдущее по времени значение этого же статуса и находят, что в соответствии с предыдущим статусом этой контрольной точки, полученным в 20.20 17 января 2020 года, на данном IP-адресе также был открыт порт 8080. Таким образом, проверка на шаге (254) показала, что статус контрольной точки «на IP-адресе 111.222.333.444 открыт порт 8080» не изменился. Поэтому считают, что индикатор компрометации не обнаружен, и способ возвращается к шагу (242), на котором получают очередной статус.[0153] For example, at step (242) at 20.20 on January 18, 2020, a checkpoint status was obtained, according to which there is an open port 8080 on the IP address 111.222.333.444. At step (254), a query is built using the analytical module (140) to the database, get the previous value of the same status and find that, in accordance with the previous status of this checkpoint, received at 20.20 on January 17, 2020, port 8080 was also open on this IP address. Thus, the check in step (254) showed that the checkpoint status "port 8080 is open on IP address 111.222.333.444" did not change. Therefore, it is considered that no indicator of compromise has been found, and the method returns to step (242), where the next status is obtained.

[0154] В одной из возможных альтернативных реализаций описываемого способа в том случае, если на шаге (252) обнаружен открытый порт, на шаге (254) этот порт также проверяют на принадлежность к заранее сохраненному в базе данных модуля памяти (160) списку портов, открытие которых считают индикатором компрометации. В этой реализации посредством аналитического модуля (140) строят запрос к базе данных, получают список портов, открытие которых считается безусловным индикатором компрометации и проверяют, присутствует ли в этом списке обнаруженный открытый порт. То, что порт, например, порт 4899, присутствует в списке, считают индикатором компрометации. Поэтому способ переходит к шагу (250), на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ также возвращается к шагу (242).[0154] In one of the possible alternative implementations of the described method, if at step (252) an open port is detected, at step (254) this port is also checked for belonging to a list of ports previously stored in the memory module database (160), the discovery of which is considered an indicator of compromise. In this implementation, by means of the analytical module (140), a query is made to the database, a list of ports is obtained, the opening of which is considered an unconditional indicator of compromise, and it is checked whether the detected open port is present in this list. The fact that a port, such as port 4899, is on the list is considered an indicator of compromise. Therefore, the method proceeds to step (250), where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method also returns to step (242).

[0155] В другом примере, на шаге (242) в 20.20 18 января 2020 года получили статус контрольной точки, в соответствии с которым на IP-адресе 111.222.333.444 имеется открытый порт 8443. На шаге (254) посредством аналитического модуля (140) строят запрос к базе данных, получают предыдущее по времени значение этого же статуса и находят, что в соответствии с предыдущим статусом этой контрольной точки, полученным в 20.20 17 января 2020 года, на данном IP-адресе не было открытого порта 8443. Таким образом, проверка на шаге (254) показала, что статус контрольной точки «на IP-адресе 111.222.333.444 открыт порт 8443» изменился, что считают индикатором компрометации. Поэтому способ переходит к шагу (250), на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ также возвращается к шагу (242).[0155] In another example, at step (242) at 20.20 on January 18, 2020, a checkpoint status was obtained, according to which there is an open port 8443 on the IP address 111.222.333.444. At step (254) through the analytical module (140) build a query to the database, get the previous value of the same status in time and find that, in accordance with the previous status of this checkpoint, received at 20.20 on January 17, 2020, there was no open port 8443 on this IP address. Thus, checking at step (254) showed that the checkpoint status "port 8443 is open on IP address 111.222.333.444" has changed, which is considered an indicator of compromise. Therefore, the method proceeds to step (250), where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method also returns to step (242).

[0156] Следует заметить, что злоумышленник, получив доступ к легальной инфраструктуре, может, в частности, установить в ней систему управления вредоносным кодом, либо прокси-сервер, позволяющий пересылать (проксировать) запросы от вредоносного кода на какой-то другой сервер, принадлежащий злоумышленнику. За счет такого проксирования злоумышленник скрывает адрес настоящего вредоносного сервера, а вредоносная программа взаимодействует с легитимной и доверенной инфраструктурой, что сильно усложняет ее обнаружение. Общее название для подобного рода веб-сервисов - командно-контрольный сервер или С2-сервер (command and control server).[0156] It should be noted that an attacker, having gained access to a legal infrastructure, can, in particular, install a malicious code management system in it, or a proxy server that allows you to forward (proxy) requests from malicious code to some other server belonging to attacker. Due to such proxying, the attacker hides the address of the real malicious server, and the malware interacts with a legitimate and trusted infrastructure, which greatly complicates its detection. The common name for this kind of web services is the command and control server or C2 server (command and control server).

[0157] Следует также отметить, что большинство существующих С2-серверов хорошо известны специалистам в предметной области, в частности, известны порты, которые предпочитают использовать эти программы, используемые ими алгоритмы шифрования трафика, а также различные особенности их функционирования, вплоть до характерных ошибок, выявленных для конкретных версий того или иного С2-сервера.[0157] It should also be noted that most of the existing C2 servers are well known to experts in the subject area, in particular, the ports that prefer to use these programs, the traffic encryption algorithms they use, as well as various features of their operation, up to characteristic errors, are known, identified for specific versions of a particular C2 server.

[0158] В одной из возможных реализаций описываемого способа, если статус контрольной точки представляет собой открытый порт, а название запущенного на нем веб-сервиса неизвестно, то в отношении данного веб-сервиса может выполняться, посредством аналитического модуля (140), проверка (на Фиг. 4А не показана) того, что данный веб-сервис не представляет собой командно-контрольный сервер злоумышленников.[0158] In one of the possible implementations of the described method, if the status of the checkpoint is an open port, and the name of the web service running on it is unknown, then in relation to this web service, by means of the analytical module (140), a check (on Fig. 4A not shown) that this web service is not a C&C server for intruders.

[0159] В рамках вышеописанного примера, такая проверка может выполняться в отношении всех показанных на Фиг. 3В портов, для которых не удалось определить название запущенного веб-сервиса, то есть портов 111.222.333.444:22 (362), 111.222.333.444:443 (364) и 111.222.333.444:50050 (366).[0159] Within the framework of the example described above, such a check can be performed on all of those shown in FIG. 3On ports for which it was not possible to determine the name of the running web service, that is, ports 111.222.333.444:22 (362), 111.222.333.444:443 (364) and 111.222.333.444:50050 (366).

[0160] В альтернативном варианте реализации описываемого способа такая проверка может выполняться в отношении только тех открытых портов, которые присутствуют в списке портов, используемых известными С2-серверами. Этот список может содержать также названия соответствующих С2-серверов и перечень особенностей каждого из С2-серверов. Вся эта информация относится к хорошо известной в предметной области; такой список может быть подготовлен заранее и сохранен в базе данных модуля памяти (160).[0160] In an alternative implementation of the described method, such a check can be performed on only those open ports that are present in the list of ports used by known C2 servers. This list may also contain the names of the respective C2 servers and a list of the features of each of the C2 servers. All this information refers to well-known in the subject area; such a list may be prepared in advance and stored in the database of the memory module (160).

[0161] Применительно к вышеприведенному примеру, посредством аналитического модуля (140) проверяют наличие портов 22, 443 и 50050 в списке портов, используемых известными С2-серверами. В результате устанавливают, что в списке присутствует только один из этих портов, а именно 50050, и получают из списка сведения о том, что порт 50050 часто используется Cobalt Strike Team Server (программный продукт для пентестинга, популярный также у злоумышленников). В таком случае описанные ниже действия выполняют только для этого порта.[0161] With regard to the above example, the analysis module (140) checks for the presence of ports 22, 443 and 50050 in the list of ports used by known C2 servers. As a result, it is determined that only one of these ports, namely 50050, is present in the list, and information is obtained from the list that port 50050 is often used by Cobalt Strike Team Server (a pentesting software product also popular with attackers). In such a case, the steps below are performed for that port only.

[0162] Проверка того, веб-сервис, работающий на порту 50050, не представляет собой командно-контрольный сервер злоумышленников, выполняется путем отправки, посредством модуля связи (110), типового HTTP-запроса на данный порт, и последующего анализа, посредством аналитического модуля (140), ответа, полученного от веб-сервиса, работающего на порту 50050.[0162] Checking that the web service running on port 50050 is not an intruder's command and control server is performed by sending, through the communication module (110), a typical HTTP request to this port, and subsequent analysis, through the analytical module (140), the response received from the web service running on port 50050.

[0163] Поскольку из списка портов, используемых известными С2-серверами, ранее получили информацию, что порт 50050 используется Cobalt Strike Team Server, для проверки ответа, полученного от веб-сервиса, работающего на этом порту, выбирают из базы данных хорошо известную в предметной области характерную особенность, присущую Cobalt Strike Team Server: в ответе этого сервера присутствует лишний пробел.[0163] Since it was previously obtained from the list of ports used by known C2 servers that port 50050 is used by the Cobalt Strike Team Server, in order to check the response received from the web service running on this port, a database well known in the subject area is selected from the database. area a characteristic feature inherent in Cobalt Strike Team Server: there is an extra space in the response of this server.

[0164] Проверка этого обстоятельства может быть выполнена любым общеизвестным образом. В том случае, если лишний пробел в ответе сервера найден, считают, что обнаружен индикатор компрометации, и способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0164] Verification of this circumstance can be performed in any well-known way. In the event that an extra gap is found in the server response, it is considered that an indicator of compromise has been found, and the method proceeds to the step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0165] В том случае, если лишний пробел в ответе сервера не будет обнаружен, считают, что на порту 50050 работает легитимный веб-сервис, и способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0165] In the event that an extra space is not found in the server response, it is considered that a legitimate web service is running on port 50050, and the method returns to the step at which the next checkpoint status is obtained.

[0166] В одной из возможных реализаций описываемого способа, если статус контрольной точки представляет собой значение ресурсной записи DNS, то в его отношении выполняется, посредством аналитического модуля (140), проверка (на Фиг. 4А не показана) того факта, что DNS-сервер функционирует правильно. Это может быть выполнено любым общеизвестным образом, например, поиском в тексте ресурсной записи ключевых слов или численных значений, соответствующих правильному функционированию DNS-сервера. В том случае, если такие ключевые слова не найдены или численные значения не соответствуют правильному функционированию DNS-сервера, считают, что обнаружен индикатор компрометации, и способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0166] In one possible implementation of the described method, if the checkpoint status is a value of a DNS resource record, then it is checked (not shown in Fig. 4A) by the analytical module (140) that the DNS is the server is functioning correctly. This can be done in any well-known manner, such as searching the text of the resource record for keywords or numbers corresponding to the correct functioning of the DNS server. In the event that such keywords are not found or the numerical values do not correspond to the correct functioning of the DNS server, it is considered that an indicator of compromise has been found, and the method proceeds to the step where, through the notification module (150) and the communication module (110), form and transmit a warning about a possible cyber attack. After that, the method returns to the step where the next checkpoint status is obtained.

[0167] В качестве неограничивающего примера, упомянутая проверка значений ресурсных записей DNS может проводиться в отношении по меньшей мере одного из следующих состояний, каждое из которых считается индикатором компрометации:[0167] As a non-limiting example, said checking of DNS resource record values may be against at least one of the following states, each of which is considered an indicator of compromise:

• Ни один из DNS не отвечает на запросы,• None of the DNS is responding to requests that

• По меньшей мере один из DNS не ответил вовремя,• At least one of the DNS did not respond in time,

• По меньшей мере один из DNS не объявил себя авторитетным (authoritative),• At least one of the DNS has not declared itself authoritative,

• DNS SEC не поддерживается для данного домена,• DNS SEC is not supported for this domain,

• Список DNS, предоставленный корневым сервером (8.8.8.8), не соответствует списку, опубликованному DNS,• The list of DNS provided by the root server (8.8.8.8) does not match the list published by the DNS

• Для данного домена есть только один DNS,• There is only one DNS for this domain,

• Найден по меньшей мере один DNS, который способен отвечать на любой поиск DNS с любого IP (Open Recursive Name Server),• Found at least one DNS that is capable of responding to any DNS lookup from any IP (Open Recursive Name Server),

• По меньшей мере один DNS является Open Zone Transfer Server и предоставил информацию во всей DNS-зоне,• At least one DNS is an Open Zone Transfer Server and has provided information in the entire DNS zone,

• По меньшей мере один DNS-сервер имеет частный IP-адрес,• At least one DNS server has a private IP address,

• Не найдена опубликованная запись DNS для данного домена или имени хоста,• No published DNS record found for the given domain or hostname,

• Более одного DNS находятся в одной подсети класса С,• More than one DNS is on the same class C subnet,

• Срок действия DNS SOA не соответствует рекомендуемому RFC,• The DNS SOA expiration date does not follow the recommended RFC,

• Значение кэша DNS SOA не соответствует рекомендуемому RFC,• The DNS SOA cache value does not comply with the recommended RFC,

• Значение обновления DNS SOA не соответствует рекомендуемому RFC,• The DNS SOA update value does not comply with the recommended RFC,

• Значение повторной попытки DNS SOA не соответствует рекомендуемому RFC,• The DNS SOA retry value does not follow the recommended RFC,

• Серийные номера SOA не совпадают,• SOA serial numbers do not match,

• Неверный формат серийного номера DNS SOA.• Incorrect DNS SOA serial number format.

[0168] Специалисту в предметной области будет очевидно, каким именно образом может выполняться каждая из указанных проверок. Также специалисту в предметной области очевидно, что слова "данный домен" или "данный хост" здесь обозначают тот принадлежащий защищаемой инфраструктуре домен или вычислительное устройство, которому соответствует по меньшей мере один проверяемый DNS.[0168] It will be obvious to a person skilled in the art how each of these checks can be performed. It is also obvious to the person skilled in the subject area that the words "given domain" or "given host" here denote that domain or computing device belonging to the protected infrastructure to which at least one DNS being checked corresponds.

[0169] В одной из возможных реализаций описываемого способа, если статус контрольной точки представляет собой значение ресурсной записи DNS (системы доменных имен), содержащей параметры настройки протокола DMARC, то в его отношении выполняется проверка (на Фиг. 4А не показана) того факта, что протокол DMARC установлен и правильно настроен. Это может выполняться любым общеизвестным образом, например, путем проверки, выполняемой посредством аналитического модуля (140), наличия в тексте ресурсной записи тэгов DMARC, соответствующих правильной настройке протокола. Отсутствие таких тэгов, как и отсутствие самой ресурсной записи, содержащей параметры настройки DMARC, считают индикатором компрометации.[0169] In one possible implementation of the described method, if the checkpoint status is the value of a DNS (domain name system) resource record containing DMARC protocol settings, then it is checked (not shown in Fig. 4A) that that the DMARC protocol is installed and configured correctly. This can be done in any well-known manner, for example, by checking, performed by the analysis module (140), whether the text of the resource record contains DMARC tags corresponding to the correct protocol setting. The absence of such tags, as well as the absence of the resource record itself containing DMARC settings, is considered an indicator of compromise.

[0170] Например, получили статус контрольной точки, в соответствии с которым ресурсная запись DNS содержит следующие параметры настройки протокола DMARC:[0170] For example, a checkpoint status has been obtained, according to which the DNS resource record contains the following DMARC protocol settings:

[0171] "v=DMARC1; p=none;"[0171] "v=DMARC1; p=none;"

[0172] Посредством аналитического модуля (140) убеждаются, что в тексте данной ресурсной записи не присутствует ни один из тэгов, наличие которых указывает на правильную настройку протокола, а именно тэгов quarantine и reject. Поэтому считают, что обнаружен индикатор компрометации, и способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0172] By means of the analytical module (140), it is verified that none of the tags present in the text of this resource record, the presence of which indicates the correct setting of the protocol, namely the quarantine and reject tags. Therefore, it is considered that an indicator of compromise has been detected, and the method proceeds to the step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0173] В другом примере, получили статус контрольной точки, в соответствии с которым ресурсная запись DNS содержит следующие параметры настройки протокола DMARC:[0173] In another example, a checkpoint status has been obtained, whereby the DNS resource record contains the following DMARC protocol settings:

[0174] "v=DMARC1; p=quarantine; rua=mailto:admin@company.com"[0174] "v=DMARC1; p=quarantine; rua=mailto:admin@company.com"

[0175] Посредством аналитического модуля (140) убеждаются, что в тексте данной ресурсной записи присутствует один из тэгов, наличие которых указывает на правильную настройку протокола, а именно тэг quarantine. Поэтому считают, что индикатор компрометации не обнаружен, и способ переходит к шагу, на котором получают очередной статус контрольной точки.[0175] By means of the analytical module (140), it is verified that in the text of this resource record there is one of the tags, the presence of which indicates the correct setting of the protocol, namely the quarantine tag. Therefore, it is considered that no indicator of compromise has been found, and the method proceeds to the step where the next checkpoint status is obtained.

[0176] Дополнительно, если статус контрольной точки представляет собой запущенный на некотором порту сервис, то в его отношении выполняется проверка (на Фиг. 4А не показана) того факта, что данный сервис является легитимным. Она может выполняться любым общеизвестным способом, например, поиском, посредством аналитического модуля (140), названия сервиса в заранее составленном списке легитимных веб-сервисов, хранящемся в базе данных модуля хранения информации (160).[0176] Additionally, if the status of the checkpoint is a service running on some port, then it is checked (not shown in Fig. 4A) that the service is legitimate. It can be performed in any well-known way, for example, by searching, through the analysis module (140), the name of the service in a pre-compiled list of legitimate web services stored in the database of the information storage module (160).

[0177] Например, получили статус контрольной точки, в соответствии с которым на порту 8080 запущен веб-сервис Apache Tomcat. Посредством аналитического модуля (140) строят запрос к базе данных и находят, что название Apache Tomcat присутствует в списке легитимных сервисов. Поэтому считают, что индикатор компрометации не обнаружен, и способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0177] For example, we received a checkpoint status, according to which the Apache Tomcat web service is running on port 8080. By means of the analytical module (140), a query is made to the database and it is found that the name Apache Tomcat is present in the list of legitimate services. Therefore, it is considered that no indicator of compromise has been found, and the method returns to the step at which the next checkpoint status is obtained.

[0178] В другом примере получили статус контрольной точки, в соответствии с которым на порту 5938 запущен веб-сервис TeamViewer. Посредством аналитического модуля (140) строят запрос к базе данных и находят, что название TeamViewer отсутствует в списке легитимных сервисов. Это считают индикатором компрометации. Поэтому способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0178] In another example, a checkpoint status was obtained, according to which the TeamViewer web service is running on port 5938. By means of the analytical module (140), a query is made to the database and it is found that the TeamViewer name is not in the list of legitimate services. This is considered an indicator of compromise. Therefore, the method proceeds to a step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0179] Дополнительно, если статус контрольной точки представляет собой запущенный на некотором порту сервис, то в его отношении выполняется проверка (на Фиг. 4А не показана) того факта, что версия данного веб-сервиса не относится к известным уязвимым версиям данного веб-сервиса. Такая проверка на может выполняться любым общеизвестным способом, например, поиском, посредством аналитического модуля (140), полученной версии сервиса в заранее составленном списке уязвимых версий легитимных веб-сервисов, хранящемся в базе данных модуля хранения информации (160).[0179] Additionally, if the checkpoint status is a service running on some port, then it is checked (not shown in Fig. 4A) for the fact that the version of this web service does not belong to known vulnerable versions of this web service . Such verification against can be performed in any well-known way, for example, by searching, through the analytical module (140), the received version of the service in a pre-compiled list of vulnerable versions of legitimate web services stored in the database of the information storage module (160).

[0180] Например, получили статус контрольной точки, в соответствии с которым на порте 8080 запущен сервис Apache Tomcat v.3.3.2. Посредством аналитического модуля (140) строят запрос к базе данных и находят, что версия Apache Tomcat v.3.3.2 отсутствует в списке уязвимых версий этого сервиса. Поэтому считают, что индикатор компрометации не обнаружен, и способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0180] For example, we got the checkpoint status, according to which the Apache Tomcat v.3.3.2 service is running on port 8080. Using the analytical module (140), a database query is built and it is found that the version of Apache Tomcat v.3.3.2 is not in the list of vulnerable versions of this service. Therefore, it is considered that no indicator of compromise has been found, and the method returns to the step at which the next checkpoint status is obtained.

[0181] В другом примере получили статус контрольной точки, в соответствии с которым на порте 69 запущен сервис Cisco TFTP Server v.1.1. Посредством аналитического модуля (140) строят запрос к базе данных и находят, что версия Cisco TFTP Server v.1.1 присутствует в списке уязвимых версий этого сервиса. Это считают индикатором компрометации. Поэтому способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ также возвращается к шагу, на котором получают очередной статус контрольной точки..[0181] In another example, a checkpoint status was obtained, according to which the Cisco TFTP Server v.1.1 service is running on port 69. By means of the analytical module (140), a database query is built and it is found that the version of Cisco TFTP Server v.1.1 is present in the list of vulnerable versions of this service. This is considered an indicator of compromise. Therefore, the method proceeds to a step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method also returns to the step where the next checkpoint status is obtained.

[0182] Дополнительно, если описанная выше проверка показала, что запущенный на некотором порту веб-сервис является легитимным сервисом и представляет собой одну из систем управления базами данных (СУБД), такую, например, как MongoDB, или облачное хранилище, такое, например, как S3 Buckets, то в отношении этого сервиса выполняется проверка (на Фиг. 4А не показана) того факта, что данная СУБД или данное хранилище недоступны неавторизованным пользователям. Такая проверка может выполняться любым общеизвестным способом.[0182] Additionally, if the check described above showed that the web service running on some port is a legitimate service and is one of the database management systems (DBMS), such as MongoDB, or cloud storage, such as, for example, as S3 Buckets, then this service is checked (not shown in Fig. 4A) for the fact that this DBMS or this storage is inaccessible to unauthorized users. Such verification may be performed in any well-known manner.

[0183] В одной из возможных реализаций данного решения проверка может заключаться в выборе, посредством аналитического модуля (140), из списка тестовых запросов, хранящегося в базе данных модуля хранения информации (160), строки тестового запроса, синтаксис которого соответствует разновидности запущенного веб-сервиса и отправке, посредством модуля связи (110), данного запроса на адрес запущенного веб-сервиса. В ответ на получение, посредством модуля связи (110), ответа вида "Ошибка авторизации" считают, что СУБД или хранилище недоступны неавторизованным пользователям.[0183] In one of the possible implementations of this solution, the check may consist in selecting, by means of the analytical module (140), from the list of test queries stored in the database of the information storage module (160), a test query string, the syntax of which corresponds to the type of running web service and sending, via the communication module (110), this request to the address of the running web service. In response to receiving, via the communication module (110), an "Authorization Error" type response, it is considered that the DBMS or storage is not available to unauthorized users.

[0184] В ответ на получение, посредством модуля связи (110), любого другого ответа, не являющегося ответом вида "Ошибка авторизации", считают, что обнаружен индикатор компрометации. Поэтому в таком случае способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0184] In response to receiving, by the communication module (110), any other response that is not an Authorization Error response, an indicator of compromise is considered to be detected. Therefore, in such a case, the method proceeds to a step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0185] Например, получили статус контрольной точки, в соответствии с которым на порту 27017 запущен легитимный сервис MongoDB. Посредством аналитического модуля (140) выбирают из базы данных тестовый запрос, соответствующий синтаксису MongoDB, например,[0185] For example, we received a checkpoint status, according to which a legitimate MongoDB service is running on port 27017. By means of the analytical module (140), a test query is selected from the database, corresponding to the MongoDB syntax, for example,

[0186] >db.users.find();[0186] >db.users.find();

[0187] и отправляют, посредством модуля связи (110), данный запрос на адрес запущенного веб-сервиса. В ответ, посредством модуля связи (110), получают ответ вида "Ошибка авторизации". Поэтому считают, что данная СУБД недоступна неавторизованным пользователям, индикатор компрометации не обнаружен, и способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0187] and send, via the communication module (110), this request to the address of the running web service. In response, via the communication module (110), a response of the form "Authorization error" is received. Therefore, it is considered that this DBMS is not available to unauthorized users, no indicator of compromise is found, and the method returns to the step at which the next checkpoint status is obtained.

[0188] В другом примере получили статус контрольной точки, в соответствии с которым на порту 3306 запущен легитимный сервис mySQL. Посредством аналитического модуля (140) выбирают из базы данных тестовый запрос, соответствующий синтаксису mySQL, например,[0188] In another example, a checkpoint status was obtained, according to which a legitimate mySQL service is running on port 3306. By means of the analytical module (140), a test query is selected from the database, corresponding to the syntax of mySQL, for example,

[0189] mysqli_connect('111.222.333.444:3306','root','root','DataBasel');[0189] mysqli_connect('111.222.333.444:3306','root','root','DataBasel');

[0190] В ответ, посредством модуля связи (110), получают ответ вида "Ошибка: 2002 - Нет такого файла или каталога". Этот ответ не является ответом вида "Ошибка авторизации", поэтому его получение считают индикатором компрометации. Способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ также возвращается к шагу, на котором получают очередной статус контрольной точки.[0190] In response, via the communication module (110), a response of the form "Error: 2002 - No such file or directory" is received. This response is not an "Authorization Failed" response, so receiving it is considered an indicator of compromise. The method proceeds to a step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method also returns to the step where the next checkpoint status is obtained.

[0191] Наконец, если статус контрольной точки (256) представляет собой срок действия SSL- или TLS-сертификата, то в его отношении выполняется проверка (258) того факта, что данный срок действия вскоре истечет, например, истечет в течение 30 дней, начиная с текущего момента, либо, например, в течение 15 дней. Проверка может выполняться посредством аналитического модуля (140) любым общеизвестным способом, например, путем вычисления разности даты истечения сертификата, полученной из статуса (256) и текущей даты, полученной из показаний системных часов вычислительного устройства, реализующего метод (200).[0191] Finally, if the checkpoint status (256) is the validity period of the SSL or TLS certificate, then it is checked (258) for the fact that this validity period will expire soon, for example, it will expire within 30 days, starting from the current moment, or, for example, within 15 days. The check can be performed by the analytical module (140) in any well-known way, for example, by calculating the difference between the certificate expiration date obtained from the status (256) and the current date obtained from the system clock of the computing device implementing the method (200).

[0192] Например, на шаге (242) получили статус контрольной точки (256), в соответствии с которым на домене company.com установлен SSL-сертификат, срок действия которого истекает 20 декабря 2021 года. На шаге (258) посредством аналитического модуля (140) любым общеизвестным образом обращаются к системным часам и получают текущую дату, например, 17 января 2020 года. Затем вычитают из даты истечения срока действия сертификата текущую дату и получают величину 703 (дня). Сравнивая полученную разность с предварительно заданной пороговой величиной, равной, например, 30, убеждаются, что SSL-сертификат домена company.com будет действовать дольше заданного временного интервала. Поэтому считают, что индикатор компрометации не обнаружен, и способ возвращается к шагу (242), на котором получают очередной статус.[0192] For example, at step (242), a checkpoint status (256) was obtained, according to which an SSL certificate was installed on the company.com domain, which expires on December 20, 2021. At step (258), the system clock is accessed by the analytical module (140) in any well-known way and the current date is obtained, for example, January 17, 2020. The current date is then subtracted from the certificate expiration date to obtain the value 703 (days). Comparing the resulting difference with a pre-set threshold equal to, for example, 30, it is verified that the company.com SSL certificate will be valid for longer than the specified time interval. Therefore, it is considered that no indicator of compromise has been found, and the method returns to step (242), where the next status is obtained.

[0193] В другом примере, на шаге (242) получили статус контрольной точки (256), в соответствии с которым на домене company.com установлен SSL-сертификат, срок действия которого истекает 14 февраля 2020 года. На шаге (258) посредством аналитического модуля (140) любым общеизвестным образом обращаются к системным часам и получают текущую дату, например, 17 января 2020 года. Затем вычитают из даты истечения срока действия сертификата текущую дату и получают величину 28 (дней). Сравнивая полученную разность с предварительно заданной пороговой величиной, равной, например, 30, убеждаются, что SSL-сертификат домена company.com перестанет действовать до истечения заданного временного интервала. Поэтому считают, что индикатор компрометации обнаружен, и способ переходит к шагу (250), на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ также возвращается к шагу (242).[0193] In another example, at step (242), a checkpoint status (256) was obtained, according to which an SSL certificate was installed on the company.com domain, which expires on February 14, 2020. At step (258), the system clock is accessed by the analytical module (140) in any well-known way and the current date is obtained, for example, January 17, 2020. The current date is then subtracted from the certificate expiration date to obtain a value of 28 (days). Comparing the obtained difference with a pre-set threshold equal to, for example, 30, it is verified that the company.com domain SSL certificate will cease to be valid before the specified time interval expires. Therefore, it is considered that an indicator of compromise has been found, and the method proceeds to step (250), in which, through the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method also returns to step (242).

[0194] Дополнительно, если статус контрольной точки представляет собой алгоритмы шифрования, используемые одним из объектов защищаемой инфраструктуры, на котором установлен SSL- или TLS-сертификата, то в его отношении выполняется проверка (на Фиг. 4А не показана) того факта, что среди используемых алгоритмов шифрования отсутствуют слабые алгоритмы шифрования. Подобная проверка может выполняться любым общеизвестным способом, например, поиском, посредством аналитического модуля (140), в списках кодов, соответствующим слабым алгоритмам шифрования, тех кодов, которые соответствуют поддерживаемым данным устройством алгоритмам шифрования. При этом список кодов, соответствующим слабым алгоритмам шифрования, хранится в базе данных модуля хранения информации (160).[0194] Additionally, if the status of the checkpoint is the encryption algorithms used by one of the objects of the protected infrastructure on which the SSL or TLS certificate is installed, then it is checked (not shown in Fig. 4A) for the fact that among used encryption algorithms, there are no weak encryption algorithms. Such a check can be performed by any well-known method, for example, by searching, by means of the analytical module (140), in the lists of codes corresponding to weak encryption algorithms, those codes that correspond to the encryption algorithms supported by this device. In this case, the list of codes corresponding to weak encryption algorithms is stored in the database of the information storage module (160).

[0195] Например, получили статус контрольной точки, в соответствии с которым один из объектов защищаемой инфраструктуры, например, домен site2.company.com, с установленным на нем сертификатом TLS v.1.2, использует алгоритмы шифрования, отображенные следующим набором кодов:[0195] For example, we received the status of a control point, according to which one of the protected infrastructure objects, for example, the site2.company.com domain, with a TLS v.1.2 certificate installed on it, uses encryption algorithms displayed by the following set of codes:

[0196] TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384[0196] TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

[0197] Посредством аналитического модуля (140) строят запрос к базе данных и находят, что данный набор кодов соответствует безопасному или рекомендованному к использованию набору алгоритмов шифрования. Поэтому считают, что индикатор компрометации не обнаружен, и способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0197] Through the analytical module (140), a database query is built and it is found that the given set of codes corresponds to a secure or recommended set of encryption algorithms. Therefore, it is considered that no indicator of compromise has been found, and the method returns to the step at which the next checkpoint status is obtained.

[0198] В другом примере получили статус контрольной точки, в соответствии с которым один из объектов защищаемой инфраструктуры, например, домен company.com, с установленным на нем сертификатом TLS v.1.2, использует алгоритмы шифрования, отображенные следующим набором кодов:[0198] In another example, a checkpoint status was obtained, according to which one of the objects of the protected infrastructure, for example, the company.com domain, with a TLS v.1.2 certificate installed on it, uses encryption algorithms displayed by the following set of codes:

[0199] TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA[0199] TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

[0200] Посредством аналитического модуля (140) строят запрос к базе данных и находят, что данный набор кодов соответствует слабым алгоритмам шифрования. Это считают индикатором компрометации. Поэтому способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0200] Through the analytical module (140), a database query is built and it is found that this set of codes corresponds to weak encryption algorithms. This is considered an indicator of compromise. Therefore, the method proceeds to a step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0201] В одной из возможных реализаций описываемого способа, если статус контрольной точки представляет собой статус безопасности веб-страницы, подлежащей проверке на наличие вредоносного кода, то в его отношении выполняется проверка (на Фиг. 4А не показана) того факта, что это статус "Страница безопасна". Это может выполняться любым общеизвестным образом, например, путем проверки, выполняемой посредством аналитического модуля (140). Несовпадение текущего статуса данной контрольной точки со значением "Страница безопасна", например, если текущий статус - "Обнаружен вредоносный код", считают индикатором компрометации.[0201] In one possible implementation of the described method, if the checkpoint status is the security status of a web page to be checked for malicious code, then it is checked (not shown in Fig. 4A) for the fact that this is the status "The page is safe." This can be done in any well-known way, for example, by checking performed by the analysis module (140). If the current status of this checkpoint does not match the value "Page is secure", for example, if the current status is "Malware detected", it is considered an indicator of compromise.

[0202] Поэтому в таком случае способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0202] Therefore, in such a case, the method proceeds to the step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0203] Также в одной из возможных реализаций описываемого способа, если статус контрольной точки представляет собой длину списка ссылок на веб-страницы, содержащие высокорискованный контент, то в его отношении выполняется проверка (на Фиг. 4А не показана) того факта, что длина списка равна нулю. Это может выполняться любым общеизвестным способом, например, путем проверки, выполняемой посредством аналитического модуля (140).[0203] Also in one of the possible implementations of the described method, if the checkpoint status is the length of the list of links to web pages containing high-risk content, then it is checked (not shown in Fig. 4A) that the list length equals zero. This can be done in any well-known way, for example, by checking performed by the analysis module (140).

[0204] Если длина данного списка равна нулю, то считают, что в защищаемой инфраструктуре нет ни одной веб-страницы с высокорискованным контентом (то есть контент, посвященный таким темам как азартные игры, эротика и порнография, наркотические вещества и т.д.). В этом случае способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0204] If the length of this list is zero, then it is considered that in the protected infrastructure there is not a single web page with high-risk content (that is, content devoted to topics such as gambling, erotica and pornography, narcotic substances, etc.) . In this case, the method returns to the step where the next checkpoint status is obtained.

[0205] Если длина списка ссылок на веб-страницы, содержащие высокорискованный контент, отличается от нуля, это считают указанием на наличие по меньшей мере одной страницы с подобным контентом внутри защищаемой инфраструктуры. Это считают индикатором компрометации.[0205] If the length of the list of links to web pages containing high-risk content is different from zero, this is considered an indication of the presence of at least one page with such content within the protected infrastructure. This is considered an indicator of compromise.

[0206] Поэтому в таком случае способ переходит к шагу, на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу, на котором получают очередной статус контрольной точки.[0206] Therefore, in such a case, the method proceeds to the step where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. After that, the method returns to the step where the next checkpoint status is obtained.

[0207] Как было описано выше применительно к этапу (210) и Фиг. 2А, в состав индикаторов компрометации, обрабатываемых по описываемому способу, могут входить также сведения об утечках конфиденциальных данных, например, сведения о названиях компаний, нелегитимный доступ к инфраструктуре которых был выставлен на продажу на специализированных форумах, используемых киберпреступниками, сведения о выставленных на продажу конфиденциальных данных сотрудников таких компаний, а также сведения о том, что одно из вычислительных устройств, принадлежащих, судя по его IP-адресу, к защищаемой инфраструктуре, обращалось к по меньшей мере одному командному серверу, принадлежащему злоумышленникам.[0207] As described above with respect to step (210) and FIG. 2A, indicators of compromise processed by the described method may also include information about leaks of confidential data, for example, information about the names of companies whose illegitimate access to the infrastructure was put up for sale on specialized forums used by cybercriminals, information about confidential data put up for sale data of employees of such companies, as well as information that one of the computing devices belonging, judging by its IP address, to the protected infrastructure accessed at least one command and control server belonging to the attackers.

[0208] Где под конфиденциальными данными, в свою очередь, понимают по меньшей мере: учетные данные пользователей защищаемой инфраструктуры, персональные данные пользователей защищаемой инфраструктуры, контактные данные пользователей защищаемой инфраструктуры, в том числе служебные адреса электронной почты, платежные данные пользователей защищаемой инфраструктуры, а также иную конфиденциальную информацию, хранящуюся на устройствах, принадлежащих к защищаемой инфраструктуре, например, базы данных, файловые хранилища, сетевые папки общего доступа и т.д.[0208] Where confidential data, in turn, is understood to mean at least: credentials of users of the protected infrastructure, personal data of users of the protected infrastructure, contact data of users of the protected infrastructure, including business email addresses, payment data of users of the protected infrastructure, and as well as other confidential information stored on devices belonging to the protected infrastructure, such as databases, file storages, network shared folders, etc.

[0209] Такие индикаторы компрометации могут быть собраны в закрытых источниках, таких как специализированные форумы киберпреступников, либо получены в результате работы сторонних систем, выполняющих анализ кода и\или детонацию вредоносных файлов, заблаговременно. В равной мере, такие индикаторы компрометации могут собираться в указанных источниках постоянно, сторонними системами или операторами, преобразовываться в любой подходящий формат и периодически поступать, как было описано выше, в систему, реализующую данный способ. Например, такие индикаторы компрометации могут поступать один раз в сутки, каждые четыре часа, каждый час, и так далее.[0209] Such indicators of compromise can be collected in closed sources, such as specialized cybercriminal forums, or obtained as a result of third-party systems that perform code analysis and / or detonation of malicious files in advance. Equally, such indicators of compromise can be collected in the specified sources constantly, by third-party systems or operators, converted to any suitable format, and periodically delivered, as described above, to the system implementing this method. For example, such indicators of compromise may come once a day, every four hours, every hour, and so on.

[0210] Данные, имеющие смысл очередной поступившей порции вышеописанных индикаторов компрометации, могут рассматриваться системой, реализующей способ (200), как очередной статус контрольной точки поверхности кибератаки защищаемой инфраструктуры.[0210] Data having the meaning of the next received portion of the above indicators of compromise can be considered by the system implementing the method (200) as the next status of the control point of the cyber attack surface of the protected infrastructure.

[0211] Как показано на Фиг. 4Б, при получении (243) очередного такого статуса контрольной точки, на шаге (245) выполняют, посредством аналитического модуля (140), поиск в поступивших данных ключевых слов, соответствующих конфиденциальным данным защищаемой инфраструктуры. Список таких ключевых слов может быть составлен заранее, на этапе подготовки системы, реализующей способ. Также весь этот список либо его обновления и дополнения может поступать в систему, реализующую способ, посредством модуля связи (110), например, с одного из устройств защищаемой инфраструктуры (180), с заданной периодичностью, например, один раз в сутки, и сохраняться в базе данных модуля хранения информации (160).[0211] As shown in FIG. 4B, upon receipt (243) of the next such checkpoint status, in step (245) the analysis module (140) searches the incoming data for keywords corresponding to the confidential data of the protected infrastructure. The list of such keywords can be compiled in advance, at the stage of preparing the system that implements the method. Also, this entire list or its updates and additions can enter the system that implements the method through the communication module (110), for example, from one of the devices of the protected infrastructure (180), at a specified frequency, for example, once a day, and be stored in information storage module database (160).

[0212] Список может быть составлен любым общеизвестным образом; например, в него могут быть включены названия по меньшей мере одной компании, которой принадлежит защищаемая инфраструктура, доменные имена принадлежащих им доменов, IP-адреса устройств защищаемой инфраструктуры и прочие ключевые слова, позволяющие обнаружить в полученном очередном статусе контрольной точки искомую конфиденциальную информацию или указания на то, что ее используют или предлагают к продаже злоумышленники, либо на то, что по меньшей мере одно из устройств защищаемой инфраструктуры направляло запрос по меньшей мере одному известному командному серверу злоумышленников.[0212] The list can be compiled in any well-known way; for example, it may include the names of at least one company that owns the protected infrastructure, domain names of their domains, IP addresses of protected infrastructure devices, and other keywords that make it possible to detect the required confidential information or indications of that it is being used or offered for sale by attackers, or that at least one of the protected infrastructure devices has sent a request to at least one known attacker C&C server.

[0213] Например, на шаге (243) получили упомянутый статус контрольной точки, и на шаге (245) посредством аналитического модуля (140) провели в полученных данных поиск по ключевым словам. Поиск дал нулевой результат; в полученных данных не найдено ни одного ключевого слова. Это интерпретируют как отсутствие на ресурсах, используемых злоумышленниками, каких-либо предложений по продаже скомпрометированных конфиденциальных данных, относящихся к защищаемой инфраструктуре, равно как и отсутствие в результатах анализа кода и\или трафика заведомо вредоносных программ, выполнявшегося сторонними системами, указаний на то, что какой-либо устройство, принадлежащее, судя по его доменному имени или IP-адресу, к защищаемой инфраструктуре, отправляло запросы к какому-либо известному внешнему командно-контрольному серверу, принадлежащему злоумышленникам. Поэтому считают, что факт компрометации не обнаружен, и способ возвращается к шагу (243), на котором получают очередной статус контрольной точки, то есть новую порцию данных с интернет-ресурсов, используемых злоумышленниками.[0213] For example, in step (243), said checkpoint status was obtained, and in step (245), a keyword search was performed on the received data by the analytical module (140). The search yielded zero results; no keywords were found in the received data. This is interpreted as the absence on the resources used by attackers of any offers to sell compromised confidential data related to the protected infrastructure, as well as the absence in the results of analysis of code and / or traffic of known malicious programs executed by third-party systems, indications that some device belonging, judging by its domain name or IP address, to the protected infrastructure sent requests to some known external command and control server belonging to the attackers. Therefore, it is considered that the fact of compromise has not been detected, and the method returns to step (243), at which the next checkpoint status is obtained, that is, a new portion of data from Internet resources used by attackers.

[0214] В другом примере, на шаге (243) получили упомянутый статус контрольной точки, и на шаге (245) посредством аналитического модуля (140) провели в полученных данных поиск по ключевым словам. Поиск дал ненулевой результат; например, при поиске по ключевому слову, представляющему собой домен корпоративной почты @company.com, были обнаружены валидные адреса корпоративной электронной почты действующих сотрудников компании: ivan@company.com, petr@company.com и emelya@company.com. Факт обнаружения корпоративных адресов среди данных, предлагаемых к продаже злоумышленниками, считают индикатором компрометации. В другом примере, при поиске по ключевому слову, представляющему собой IP-адрес одного из устройств защищаемой инфраструктуры, было обнаружено, что с данного адреса осуществлялось обращение к одному из известных IP-адресов, принадлежащих командно-контрольным серверам злоумышленников. Поэтому в обоих описанных случаях способ переходит к шагу (250), на котором, посредством модуля оповещения (150) и модуля связи (110), формируют и передают предупреждение о возможной кибератаке. После чего способ возвращается к шагу (245), на котором продолжают поиск по ключевым словам.[0214] In another example, in step (243) said checkpoint status was obtained, and in step (245), a keyword search was performed on the received data by the analytic module (140). The search returned a non-zero result; for example, when searching for the keyword representing the corporate email domain @company.com, valid corporate email addresses of current employees of the company were found: ivan@company.com, petr@company.com and emelya@company.com. The fact of detection of corporate addresses among the data offered for sale by attackers is considered an indicator of compromise. In another example, when searching for a keyword representing the IP address of one of the protected infrastructure devices, it was found that one of the known IP addresses belonging to the attackers' command and control servers was accessed from this address. Therefore, in both cases described, the method proceeds to step (250), where, by means of the notification module (150) and the communication module (110), a warning about a possible cyber attack is generated and transmitted. Thereafter, the method returns to step (245) where the keyword search is continued.

[0215] Как было описано выше применительно к Фиг. 1 и модулю связи (150), этот модуль позволяет формировать и отправлять (посредством модуля связи) оповещения о возможной компрометации защищаемой сетевой инфраструктуры по меньшей мере одним из перечисленных способов: по электронной почте, посредством отправки SMS, посредством отправки MMS, посредством отправки push-уведомления, сообщением в программе обмена мгновенными сообщениями, посредством создания события API.[0215] As described above with respect to FIG. 1 and the communication module (150), this module allows you to generate and send (via the communication module) alerts about a possible compromise of the protected network infrastructure in at least one of the following ways: by e-mail, by sending SMS, by sending MMS, by sending push- notification, a message in an instant messaging program, by creating an API event.

[0216] Следует отметить, что использование такого средства оповещения, как события API позволяет реализовать дополнительную интеграцию описываемой системы с различными сторонними инструментами, такими как брандмауэры, файрволлы, платформы управления безопасностью, SIEM-решения и так далее. Собственно формирование всех перечисленных оповещений, таких как электронные письма, SMS, MMS, push-уведомления и т.д. может быть выполнено любым общеизвестным образом.[0216] It should be noted that the use of such a notification tool as API events allows for additional integration of the described system with various third-party tools, such as firewalls, firewalls, security management platforms, SIEM solutions, and so on. The actual generation of all the listed alerts, such as emails, SMS, MMS, push notifications, etc. may be performed in any well-known manner.

[0217] На Фиг. 5 представлена пример общей схемы вычислительного устройства (500), обеспечивающего обработку данных, необходимую для реализации заявленного решения. Как было описано выше применительно к Фиг. 1, модули, реализующие описанный способ, с точки зрения их технической реализации могут быть программными модулями, исполняемыми на одном вычислительном устройстве, так и программно-аппаратными модулями. Например, по меньшей мере некоторые из этих модулей, равно как и комбинация этих модулей могут быть реализованы как вычислительное устройство (500), представленное на Фиг. 5.[0217] In FIG. 5 shows an example of a general scheme of a computing device (500) that provides the data processing necessary to implement the claimed solution. As described above with respect to FIG. 1, the modules that implement the described method, from the point of view of their technical implementation, can be software modules executable on a single computing device, as well as software and hardware modules. For example, at least some of these modules, as well as a combination of these modules, may be implemented as the computing device (500) shown in FIG. 5.

[0218] В общем случае устройство (500) содержит такие компоненты как один или более процессоров (501), по меньшей мере одно оперативное запоминающее устройство или память (502), средство хранения данных (503), интерфейсы ввода/вывода (504), средство В/В (505), средства сетевого взаимодействия или, что то же самое, передачи данных (506).[0218] In general, the device (500) includes components such as one or more processors (501), at least one random access memory or memory (502), data storage media (503), input/output interfaces (504), means of I/O (505), means of networking or, what is the same, data transmission (506).

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

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

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

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

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

[0224] Средства сетевого взаимодействия (506) выбираются из устройств, обеспечивающих прием и передачу данных по сети, например, Ethernet-карта, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (506) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0224] Means of network interaction (506) are selected from devices that provide reception and transmission of data over the network, for example, an Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem etc. With the help of tools (506) 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.

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

[0226] В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, описанного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующегося с сущностью и объемом настоящего изобретения.[0226] In conclusion, it should be noted that the information given in the description are only examples that do not limit the scope of the present invention described by the formula. A person skilled in the art will appreciate that there may be other embodiments of the present invention consistent with the spirit and scope of the present invention.

[0227] Примерные системы и способы, проиллюстрированные в данном документе, могут описываться с точки зрения компонентов функциональных блоков. Следует принимать во внимание, что такие функциональные блоки могут быть реализованы посредством любого числа аппаратных и/или программных компонентов, сконфигурированных с возможностью выполнять указанные функции. Например, система может использовать различные компоненты интегральной схемы, например, запоминающие элементы, элементы обработки, логические элементы, таблицы поиска и т.п., которые могут выполнять множество функций под управлением одного или более микропроцессоров либо других устройств управления. Аналогично, программные элементы системы могут реализовываться с помощью любого языка программирования или подготовки сценариев, такого как С, С++, С#, Java, JavaScript, VBScript, Macromedia Cold Fusion, COBOL, Microsoft Active Server Pages, язык ассемблера, Perl, PHP, AWK, Python, Visual Basic, хранимых процедур SQL, PL/SQL, любых сценариев оболочки UNIX и расширяемого языка разметки (XML), при этом различные алгоритм реализуются с любой комбинацией структур данных, объектов, процессов, процедур или других программных элементов.[0227] The exemplary systems and methods illustrated herein may be described in terms of functional block components. It should be appreciated that such functional blocks may be implemented by any number of hardware and/or software components configured to perform the specified functions. For example, the system may use various integrated circuit components such as memory elements, processing elements, logic elements, lookup tables, and the like, which may perform a variety of functions under the control of one or more microprocessors or other control devices. Likewise, the software elements of the system can be implemented using any programming or scripting language such as C, C++, C#, Java, JavaScript, VBScript, Macromedia Cold Fusion, COBOL, Microsoft Active Server Pages, assembly language, Perl, PHP , AWK, Python, Visual Basic, SQL stored procedures, PL/SQL, any UNIX shell script, and Extensible Markup Language (XML), with various algorithms being implemented with any combination of data structures, objects, processes, procedures, or other programming elements.

[0228] Кроме того, система контроля поверхности кибератаки может работать на одном вычислительном устройстве, либо на нескольких, связанных между собой по сети. Дополнительно следует отметить, что система может использовать любое число традиционных технологий для передачи данных, передачи служебных сигналов, обработки данных, управления сетью и т.п. Еще дополнительно, система может использоваться для того, чтобы обнаруживать или предотвращать проблемы безопасности с клиентским языком подготовки сценариев, таким как JavaScript, VBScript и т.п.[0228] In addition, the cyberattack surface control system can operate on a single computing device, or on several interconnected via a network. Additionally, it should be noted that the system may use any number of conventional technologies for data transmission, signaling, data processing, network management, and the like. Still further, the system may be used to detect or prevent security issues with a client-side scripting language such as JavaScript, VBScript, and the like.

[0229] В данном контексте под устройствами понимаются любые вычислительные устройства, построенные на базе программно-аппаратных средств, например, такие как: персональные компьютеры, серверы, смартфоны, ноутбуки, планшеты и т.д.[0229] In this context, devices are understood to mean any computing devices built on the basis of software and hardware, for example, such as: personal computers, servers, smartphones, laptops, tablets, etc.

[0230] В качестве устройства обработки данных может выступать процессор, микропроцессор, ЭВМ (электронно-вычислительная машина), ПЛК (программируемый логический контроллер) или интегральная схема, сконфигурированные для исполнения определенных команд (инструкций, программ) по обработке данных. Процессор может быть многоядерным, для параллельной обработки данных.[0230] The data processing device can be a processor, microprocessor, computer (electronic computer), PLC (programmable logic controller) or an integrated circuit configured to execute certain commands (instructions, programs) for processing data. The processor can be multi-core, for parallel processing of data.

[0231] В роли устройства памяти могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD) и т.д.[0231] The memory device can be, but is not limited to, hard disk drives (HDD), flash memory, ROM (Read Only Memory), Solid State Drives (SSD), etc.

[0232] Следует отметить, что в указанное устройство могут входить и любые другие известные в данном уровне техники устройства, например, такие как датчики, устройства ввода/вывода данных, устройства отображения (дисплеи) и т.п. Устройство ввода/вывода данных может представлять собой, но не ограничиваясь, например, манипулятор мышь, клавиатуру, тачпад, стилус, джойстик, трекпад и т.п.[0232] It should be noted that this device may include any other devices known in the prior art, such as sensors, data input/output devices, display devices (displays), and the like. The input/output device may be, but is not limited to, a mouse, keyboard, touchpad, stylus, joystick, trackpad, and the like, for example.

[0233] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.[0233] 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.

Claims (105)

1. Способ внешнего контроля поверхности кибератаки, выполняемый вычислительным устройством, способ, содержащий шаги, на которых:1. A method for external control of a cyberattack surface performed by a computing device, a method comprising steps in which: - получают сведения об индикаторах компрометации и об элементах защищаемой инфраструктуры и сохраняют их,- receive information about the indicators of compromise and about the elements of the protected infrastructure and save them, - обнаруживают контрольные точки защищаемой инфраструктуры,- detect control points of the protected infrastructure, - сканируют контрольные точки защищаемой инфраструктуры и получают информацию о статусах контрольных точек защищаемой инфраструктуры,- scan the control points of the protected infrastructure and obtain information about the status of the control points of the protected infrastructure, - проверяют наличие индикаторов компрометации в информации о статусах контрольных точек, и в ответ на обнаружение по меньшей мере одного индикатора компрометации:- check for the presence of indicators of compromise in the information about the status of checkpoints, and in response to the detection of at least one indicator of compromise: - формируют по меньшей мере одно предупреждение о возможной кибератаке,- generate at least one warning about a possible cyber attack, - передают по меньшей мере одно сформированное предупреждение о возможной кибератаке.- transmit at least one generated warning about a possible cyber attack. 2. Способ по п. 1, отличающийся тем, что к основным сведениям об элементах защищаемой инфраструктуры относится по меньшей мере одно из перечисленного:2. The method according to claim 1, characterized in that the basic information about the elements of the protected infrastructure includes at least one of the following: домен,domain, IP-адрес,IP address SSL-сертификат,SSL certificate, адрес электронной почты,E-mail address, адрес FTP-сервера,FTP server address адрес системы управления базами данных,address of the database management system, адрес веб-службы хостинга файлов,file hosting web service address, название веб-сервиса и порт, на котором он запущен.the name of the web service and the port on which it is running. 3. Способ по п. 1, отличающийся тем, что к контрольным точкам защищаемой инфраструктуры относится по меньшей мере одно из перечисленного:3. The method according to claim 1, characterized in that at least one of the following applies to the control points of the protected infrastructure: домены,domains, IP-адреса,IP addresses SSL-сертификаты,SSL certificates, TLS-сертификаты,TLS certificates, названия и номера версий веб-сервисов,names and version numbers of web services, ссылка на по меньшей мере одну веб-страницу, подлежащую проверке на наличие вредоносного кода,a link to at least one web page to be checked for malicious code, список ссылок на веб-страницы, содержащие высокорискованный контент.a list of links to web pages containing high-risk content. 4. Способ по п. 1, отличающийся тем, что для обнаружения контрольных точек защищаемой инфраструктуры используют графовую модель сети Интернет.4. The method according to claim 1, characterized in that a graph model of the Internet is used to detect control points of the protected infrastructure. 5. Способ по п. 1, отличающийся тем, что при обнаружении контрольных точек защищаемой инфраструктуры дополнительно выполняют сканирование защищаемой инфраструктуры.5. The method according to claim 1, characterized in that when checkpoints of the protected infrastructure are detected, the protected infrastructure is additionally scanned. 6. Способ по п. 1, отличающийся тем, что к статусам контрольных точек защищаемой инфраструктуры относится по меньшей мере одно из перечисленного:6. The method according to claim 1, characterized in that at least one of the following applies to the statuses of control points of the protected infrastructure: Значения ресурсных записей системы доменных имен (DNS).Domain Name System (DNS) resource record values. Значение записи системы доменных имен, содержащей параметры настройки протокола DMARC.The value of the Domain Name System entry containing the DMARC protocol settings. Название компании-владельца IP-адреса.The name of the company that owns the IP address. Хостинг-провайдер IP-адреса.Hosting provider IP address. Срок действия IP-адреса.The expiration date of the IP address. Список портов, открытых на данном IP-адресе.List of ports open on the given IP address. Список сетевых сервисов, запущенных на данном IP-адресе.List of network services running on the given IP address. Название компании-владельца домена.The name of the company that owns the domain. Регистратор домена.Domain registrar. Срок действия домена.Domain expiration date. Статус SSL- или TLS-сертификата.The status of the SSL or TLS certificate. Параметры SSL- или TLS-сертификата, а именно алгоритмы шифрования, которые могут быть использованы сервером, на котором установлен данный сертификат.Parameters of an SSL or TLS certificate, namely the encryption algorithms that can be used by the server on which this certificate is installed. Срок действия SSL- или TLS-сертификата.The validity period of the SSL or TLS certificate. Статус безопасности веб-страницы, подлежащей проверке на наличие вредоносного кода.The security status of the web page to be checked for malicious code. Длина списка ссылок на веб-страницы, содержащие высокорискованный контент.The length of the list of links to web pages containing high-risk content. 7. Способ по п. 1, отличающийся тем, что в состав индикаторов компрометации также входит по меньшей мере одно из нижеперечисленного:7. The method according to claim 1, characterized in that the indicators of compromise also include at least one of the following: изменение данных DNS,changing DNS data, неверное функционирование DNS,incorrect functioning of the DNS, изменение владельца IP-адреса,changing the owner of an IP address, изменение владельца доменного имени,changing the owner of a domain name, изменение статуса SSL-сертификата,changing the status of an SSL certificate, изменение статуса TLS-сертификата,changing the status of a TLS certificate, принадлежность используемых алгоритмов шифрования SSL к числу слабых алгоритмов шифрования SSL,belonging of the used SSL encryption algorithms to the number of weak SSL encryption algorithms, принадлежность используемых алгоритмов шифрования TLS к числу слабых алгоритмов шифрования TLS,belonging of the TLS encryption algorithms used to the number of weak TLS encryption algorithms, отсутствие или неверная настройка протокола DMARC,absence or incorrect setting of the DMARC protocol, открытие нового порта,opening of a new port, запуск нового сервиса,launching a new service отсутствие запущенного сервиса в списке известных легитимных сервисов,the absence of a running service in the list of known legitimate services, принадлежность версии запущенного легитимного сервиса к числу известных уязвимых версий,whether the version of the launched legitimate service is among the known vulnerable versions, получение, в ответ на тестовый запрос, от легитимного веб-сервиса, представляющего собой систему управления базами данных или облачное хранилище, любого другого ответа, кроме ответа "Ошибка авторизации",receiving, in response to a test request, from a legitimate web service, which is a database management system or cloud storage, any other response, except for the "Authorization error" response, истечение срока действия доменного имени,domain name expiration, истечение срока действия SSL-сертификата,expiration of the SSL certificate, истечение срока действия TLS-сертификата,expiration of the TLS certificate, выявление в составе защищаемой инфраструктуры по меньшей мере одной веб-страницы с нелегальным контентом,detection within the protected infrastructure of at least one web page with illegal content, выявление на по меньшей мере одной веб-странице защищаемой инфраструктуры вредоносного кода, такого как эксплойт, веб-шелл, JS-сниффер,detection of malicious code on at least one web page of the protected infrastructure, such as an exploit, web shell, JS sniffer, выявление по меньшей мере одного обращения по меньшей мере одного из устройств, принадлежащего к защищаемой инфраструктуре, к по меньшей мере одному командному серверу злоумышленников,detection of at least one request from at least one of the devices belonging to the protected infrastructure to at least one intruder's C&C server, выявление в составе защищаемой инфраструктуры по меньшей мере одного командного сервера злоумышленников.detection of at least one intruder C&C server within the protected infrastructure. 8. Способ по п. 7, отличающийся тем, что неверное функционирование DNS означает по меньшей мере одно из перечисленного:8. The method according to claim 7, characterized in that the incorrect functioning of the DNS means at least one of the following: Ни один из DNS не отвечает на запросы.None of the DNS is responding to queries. По меньшей мере один из DNS не ответил вовремя.At least one of the DNS did not respond in time. По меньшей мере один из DNS не объявил себя авторитетным.At least one of the DNS has not declared itself authoritative. DNSSEC не поддерживается для данного домена.DNSSEC is not supported for this domain. Список DNS, предоставленный корневым сервером, не соответствует списку, опубликованному DNS.The list of DNS provided by the root server does not match the list published by DNS. Для данного домена есть только один DNS.There is only one DNS for a given domain. Найден по меньшей мере один DNS, который способен отвечать на любой поиск DNS с любого IP, то есть открытый рекурсивный DNS.Found at least one DNS that is capable of responding to any DNS lookup from any IP, i.e. open recursive DNS. По меньшей мере один DNS предоставил информацию обо всей DNS-зоне.At least one DNS provided information about the entire DNS zone. По меньшей мере один DNS-сервер имеет частный IP-адрес.At least one DNS server has a private IP address. Не найдена опубликованная запись DNS для данного домена или имени хоста.No published DNS entry found for the given domain or hostname. Более одного DNS находятся в одной подсети класса С.More than one DNS is on the same class C subnet. Срок действия DNS SOA, то есть начальной записи зоны, не соответствует рекомендуемому RFC.The validity period of the DNS SOA, that is, the initial record of the zone, does not follow the recommended RFC. Значение кэша DNS SOA не соответствует рекомендуемому RFC.The DNS SOA cache value does not follow the recommended RFC. Значение обновления DNS SOA не соответствует рекомендуемому RFC.The DNS SOA update value does not follow the recommended RFC. Значение повторной попытки DNS SOA не соответствует рекомендуемому RFC.The DNS SOA retry value does not follow the recommended RFC. Серийные номера SOA не совпадают.SOA serial numbers do not match. Неверный формат серийного номера DNS SOA.Invalid DNS SOA serial number format. 9. Способ по п. 1, отличающийся тем, что дополнительно получают информацию об утечках конфиденциальных данных и сохраняют ее.9. The method according to p. 1, characterized in that they additionally receive information about leaks of confidential data and save it. 10. Способ по п. 9, отличающийся тем, что дополнительно проверяют наличие конфиденциальных данных защищаемой инфраструктуры в информации об утечках конфиденциальных данных, и в ответ на обнаружение по меньшей мере одного случая утечки конфиденциальных данных защищаемой инфраструктуры формируют и передают по меньшей мере одно предупреждение о возможной кибератаке.10. The method according to claim 9, characterized in that it additionally checks for the presence of confidential data of the protected infrastructure in the information about leaks of confidential data, and in response to the detection of at least one case of leakage of confidential data of the protected infrastructure, at least one warning about possible cyber attack. 11. Способ по п. 9, отличающийся тем, что в состав конфиденциальных данных защищаемой инфраструктуры входит по меньшей мере одно из нижеперечисленного:11. The method according to claim 9, characterized in that the confidential data of the protected infrastructure includes at least one of the following: учетные данные пользователей защищаемой инфраструктуры,credentials of protected infrastructure users, персональные данные пользователей защищаемой инфраструктуры,personal data of protected infrastructure users, контактные данные пользователей защищаемой инфраструктуры,contact details of protected infrastructure users, платежные данные пользователей защищаемой инфраструктуры,payment data of protected infrastructure users, конфиденциальная информация, хранящаяся на устройствах защищаемой инфраструктуры.confidential information stored on protected infrastructure devices. 12. Способ по п. 1, отличающийся тем, что по меньшей мере одно сформированное предупреждение о кибератаке передают посредством по меньшей мере одного из следующих способов коммуникации:12. The method according to claim 1, characterized in that at least one generated cyber attack warning is transmitted via at least one of the following communication methods: электронной почты (e-mail),e-mail (e-mail), SMS,SMS, MMS,mms, push-уведомления,push notifications, сообщения в программе обмена мгновенными сообщениями,messages in the instant messaging program, события API.API events. 13. Система внешнего контроля поверхности кибератаки, выполненная с возможностью обмена трафиком с устройствами защищаемой инфраструктуры и содержащая, по меньшей мере:13. The system of external control of the cyber attack surface, configured to exchange traffic with devices of the protected infrastructure and containing at least: модуль связи, выполненный с возможностью получения сведений об индикаторах компрометации и элементах защищаемой инфраструктуры, а также с возможностью передачи по меньшей мере одного сформированного предупреждения о возможной кибератаке;a communication module configured to obtain information about indicators of compromise and elements of the protected infrastructure, as well as to transmit at least one generated warning about a possible cyber attack; модуль обнаружения инфраструктуры, выполненный с возможностью обнаружения контрольных точек защищаемой инфраструктуры;an infrastructure discovery module configured to detect checkpoints of the protected infrastructure; модуль сканирования, выполненный с возможностью сканирования контрольных точек защищаемой инфраструктуры и получения информации о статусах контрольных точек защищаемой инфраструктуры;a scanning module configured to scan the checkpoints of the protected infrastructure and obtain information about the statuses of the checkpoints of the protected infrastructure; модуль анализа, выполненный с возможностью проверки наличия индикаторов компрометации в информации о статусах контрольных точек защищаемой инфраструктуры;an analysis module configured to check the presence of indicators of compromise in information about the statuses of control points of the protected infrastructure; модуль оповещения, выполненный с возможностью формирования, в ответ на обнаружение по меньшей мере одного индикатора компрометации, по меньшей мере одного предупреждения о возможной кибератаке;an alert module configured to generate, in response to the detection of at least one indicator of compromise, at least one warning of a possible cyber attack; модуль хранения информации,information storage module содержащий по меньшей мере одну базу данных, а также машиночитаемые инструкции, которые при исполнении обеспечивают выполнение способа по пп. 1-12.containing at least one database, as well as machine-readable instructions, which, when executed, ensure the execution of the method according to paragraphs. 1-12.
RU2021115690A 2021-06-01 2021-06-01 System and method for outside control of the cyberattack surface RU2778635C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
NL2030861A NL2030861B1 (en) 2021-06-01 2022-02-09 System and method for external monitoring a cyberattack surface
US17/712,243 US20220385678A1 (en) 2021-06-01 2022-04-04 System and method for detecting a cyberattack

Publications (1)

Publication Number Publication Date
RU2778635C1 true RU2778635C1 (en) 2022-08-22

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140165207A1 (en) * 2011-07-26 2014-06-12 Light Cyber Ltd. Method for detecting anomaly action within a computer network
RU2601147C2 (en) * 2014-08-12 2016-10-27 Закрытое акционерное общество "Лаборатория Касперского" System and method for detection of target attacks
RU2681699C1 (en) * 2018-02-13 2019-03-12 Общество с ограниченной ответственностью "Траст" Method and server for searching related network resources
US20190132348A1 (en) * 2017-10-31 2019-05-02 Entit Software Llc Vulnerability scanning of attack surfaces
RU2697935C2 (en) * 2014-12-11 2019-08-21 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД User interface for providing security and remote control of network endpoints
RU2697926C1 (en) * 2018-03-30 2019-08-21 Акционерное общество "Лаборатория Касперского" System and method of counteracting attack on computing devices of users

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140165207A1 (en) * 2011-07-26 2014-06-12 Light Cyber Ltd. Method for detecting anomaly action within a computer network
RU2601147C2 (en) * 2014-08-12 2016-10-27 Закрытое акционерное общество "Лаборатория Касперского" System and method for detection of target attacks
RU2697935C2 (en) * 2014-12-11 2019-08-21 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД User interface for providing security and remote control of network endpoints
US20190132348A1 (en) * 2017-10-31 2019-05-02 Entit Software Llc Vulnerability scanning of attack surfaces
RU2681699C1 (en) * 2018-02-13 2019-03-12 Общество с ограниченной ответственностью "Траст" Method and server for searching related network resources
RU2697926C1 (en) * 2018-03-30 2019-08-21 Акционерное общество "Лаборатория Касперского" System and method of counteracting attack on computing devices of users

Similar Documents

Publication Publication Date Title
EP3188436B1 (en) Platform for protecting small and medium enterprises from cyber security threats
US9942270B2 (en) Database deception in directory services
US8997236B2 (en) System, method and computer readable medium for evaluating a security characteristic
WO2020210538A1 (en) Systems and methods for detecting injection exploits
RU2495486C1 (en) Method of analysing and detecting malicious intermediate nodes in network
Khan et al. A cognitive and concurrent cyber kill chain model
US20170026401A1 (en) System and method for threat visualization and risk correlation of connected software applications
Akiyama et al. Searching structural neighborhood of malicious urls to improve blacklisting
US20150242628A1 (en) System and Method for Detection of Malicious Hypertext Transfer Protocol Chains
Akiyama et al. HoneyCirculator: distributing credential honeytoken for introspection of web-based attack cycle
US11374946B2 (en) Inline malware detection
US11636208B2 (en) Generating models for performing inline malware detection
Maroofi et al. Are you human? resilience of phishing detection to evasion techniques based on human verification
NL2031466B1 (en) System and method for active detection of malicious network resources
Le Jamtel Swimming in the Monero pools
Akiyama et al. Active credential leakage for observing web-based attack cycle
US9111092B2 (en) Security event management apparatus, systems, and methods
RU2778635C1 (en) System and method for outside control of the cyberattack surface
US11632393B2 (en) Detecting and mitigating malware by evaluating HTTP errors
Hatada et al. Finding new varieties of malware with the classification of network behavior
NL2030861B1 (en) System and method for external monitoring a cyberattack surface
Laitinen Vulnerabilities in the wild: Detecting vulnerable Web applications at scale
WO2021015941A1 (en) Inline malware detection
Jayaprakash et al. A Novel Framework For Detecting Subdomain State Against Takeover Attacks
US20220245249A1 (en) Specific file detection baked into machine learning pipelines