RU2748963C2 - System and method for detecting service operation problems in a data transmission network comprising virtual machines - Google Patents
System and method for detecting service operation problems in a data transmission network comprising virtual machines Download PDFInfo
- Publication number
- RU2748963C2 RU2748963C2 RU2019122437A RU2019122437A RU2748963C2 RU 2748963 C2 RU2748963 C2 RU 2748963C2 RU 2019122437 A RU2019122437 A RU 2019122437A RU 2019122437 A RU2019122437 A RU 2019122437A RU 2748963 C2 RU2748963 C2 RU 2748963C2
- Authority
- RU
- Russia
- Prior art keywords
- data processing
- processing service
- virtual machines
- data
- service
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Abstract
Description
Область техникиTechnology area
Изобретение относится к решениям для выявления проблем функционирования сервисов обработки данных, а более конкретно к системам и способам выявления проблем в функционировании сервисов обработки данных в сети передачи данных, содержащей виртуальные машины.The invention relates to solutions for identifying problems in the functioning of data processing services, and more specifically to systems and methods for identifying problems in the functioning of data processing services in a data transmission network containing virtual machines.
Уровень техникиState of the art
Сервисы безопасности для виртуальных машин (например, Kaspersky Security for Virtualization) являются программными продуктами, предназначенными для управления виртуальными машинами, а также для мониторинга и обеспечения безопасности виртуальных машин. Однако, такие продукты тестируются производителем программного обеспечения на ограниченном числе виртуальных окружений, исполняющихся на виртуальных машинах. При использовании продуктов в существующих информационных системах клиентов присутствует значительное количество факторов, влияющих на нормальную работу сервисов безопасности для виртуальных машин и сервисов, исполняющихся в виртуальных окружениях, вследствие чего возникают проблемы функционирования упомянутых сервисов.Security services for virtual machines (for example, Kaspersky Security for Virtualization) are software products designed to manage virtual machines, as well as to monitor and ensure the security of virtual machines. However, such products are tested by the software manufacturer on a limited number of virtual environments running on virtual machines. When using the products in the existing information systems of customers, there are a significant number of factors affecting the normal operation of security services for virtual machines and services running in virtual environments, as a result of which there are problems with the functioning of these services.
Существуют решения для диагностики виртуальных машин. Например, публикация US 9990220 B2 описывает систему, в которой гипервизор получает от агента виртуальной машины сообщение об ошибке и определяет, какое действие необходимо выполнить.There are solutions for diagnosing virtual machines. For example, US publication 9990220 B2 describes a system in which a hypervisor receives an error message from a virtual machine agent and determines what action to take.
Однако существующие решения зачастую нацелены только на выявление проблемы функционирования виртуальной машины, но в случае возникновения проблемы не выявляют причину ее возникновения.However, existing solutions are often aimed only at identifying the problem of the functioning of a virtual machine, but if a problem occurs, they do not identify the cause of its occurrence.
Кроме того, на сложных распределенных окружениях существующих информационных систем, в которых функционируют сервисы безопасности для виртуальных машин, затруднен сбор данных для диагностики возникающих проблем с функционированием сервисов. Требуются действия на различных элементах сети передачи данных и на виртуальных машинах, например, сбор журналов системных событий, опрос текущего состояния сервиса безопасности для виртуальных машин, состояния сети передачи данных, выявление особенностей прохождения трафика через те или иные сегменты сети передачи данных, контроль выполнения приложений и сервисов. Эти действия зачастую рутинны, имеют итерационный характер, а также достаточно медленны при выполнении в ручном режиме пользователем.In addition, in complex distributed environments of existing information systems, in which security services for virtual machines operate, it is difficult to collect data to diagnose emerging problems with the operation of services. Actions are required on various elements of the data transmission network and on virtual machines, for example, collecting system event logs, polling the current state of the security service for virtual machines, the state of the data transmission network, identifying the features of traffic flow through certain segments of the data transmission network, monitoring application execution and services. These actions are often routine, iterative, and also rather slow when performed manually by the user.
Настоящее изобретение лишено упомянутых недостатков и позволяет более быстро и точно производить диагностику неисправностей и ограниченной работоспособности сервисов в сети передачи данных, использующей сервисы безопасности для виртуальных машин.The present invention is free of the aforementioned disadvantages and allows for faster and more accurate diagnostics of malfunctions and limited performance of services in a data network using security services for virtual machines.
Сущность изобретенияThe essence of the invention
Настоящее изобретение предназначено для выявления причин проблем функционирования сервисов обработки данных в сети передачи данных, содержащей виртуальные машины.The present invention is intended to identify the causes of problems in the operation of data services in a data network containing virtual machines.
Технический результат настоящего изобретения заключается в реализации заявленного назначения.The technical result of the present invention is to implement the declared purpose.
Согласно одному из вариантов реализации предоставляется способ выявления причины проблемы функционирования сервиса обработки данных, состоящий из этапов, на которых: с помощью средства диагностики выявляют проблему функционирования по меньшей мере одного сервиса обработки данных; с помощью средства сборки создают по меньшей мере один исполняемый файл, предназначенный для выявления причины упомянутой проблемы функционирования; с помощью средства сборки исполняют созданные исполняемые файлы на ресурсах, связанных с упомянутым сервисом обработки данных; с помощью средства диагностики выявляют на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов, по меньшей мере одну причину проблемы функционирования по меньшей мере одного сервиса обработки данных.According to one embodiment, a method is provided for identifying the cause of a problem in the operation of a data processing service, which consists of the steps at which: using a diagnostic tool, a problem in the operation of at least one data processing service is identified; using the assembly tool create at least one executable file designed to identify the cause of the above-mentioned problem of operation; using the assembly tool, the generated executable files are executed on the resources associated with the said data processing service; using the diagnostic tool, on the basis of the data containing the results of the execution of the said created executable files, at least one cause of the problem of the functioning of at least one data processing service is detected.
Согласно другому частному варианту реализации предлагается способ, в котором сервис обработки данных выполняется на одной или нескольких виртуальных машинах.According to another particular embodiment, a method is provided in which a data processing service is executed on one or more virtual machines.
Согласно еще одному частному варианту реализации предлагается способ, в котором проблемой функционирования является полная неработоспособность сервиса обработки данных.According to another particular embodiment, a method is proposed in which the problem of operation is the complete inoperability of the data processing service.
Согласно еще одному частному варианту реализации предлагается способ, в котором проблемой функционирования является частичная неработоспособность сервиса обработки данных.According to another particular embodiment, a method is proposed in which the problem of operation is a partial inoperability of the data processing service.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл не имеет зависимостей от пакетов программного обеспечения.According to another particular embodiment, a method is provided in which the executable file does not have dependencies on software packages.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл не имеет зависимостей от динамических библиотек.According to another particular embodiment, a method is proposed in which the executable file does not have dependencies on dynamic libraries.
Согласно еще одному частному варианту реализации предлагается способ, в котором ресурс, связанный с сервисом обработки данных, является элементом сети передачи данных.According to another particular embodiment, a method is proposed in which a resource associated with a data processing service is an element of a data transmission network.
Согласно еще одному частному варианту реализации предлагается способ, в котором ресурс, связанный с сервисом обработки данных, является виртуальной машиной.According to another particular embodiment, a method is proposed in which the resource associated with the data processing service is a virtual machine.
Согласно еще одному частному варианту реализации предлагается способ, в котором ресурс, связанный с сервисом обработки данных, является в управляющим компонентом, на котором исполняется сервис безопасности для виртуальных машин.According to another particular embodiment, a method is proposed in which a resource associated with a data processing service is in a control component that runs a security service for virtual machines.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл выполняет действия, необходимые для выявления причины проблемы функционирования по меньшей мере одного сервиса обработки данных.According to another particular embodiment, a method is proposed in which an executable file performs actions necessary to identify the cause of a problem in the operation of at least one data processing service.
Краткое описание чертежейBrief Description of Drawings
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objects, features and advantages of the present invention will become apparent from a reading of the following description of an embodiment of the invention with reference to the accompanying drawings, in which:
Фиг. 1 показывает пример сети передачи данных, содержащей виртуальные машины.FIG. 1 shows an example of a data network containing virtual machines.
Фиг. 2 показывает пример реализации предлагаемой системы выявления проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.FIG. 2 shows an example of the implementation of the proposed system for identifying problems in the functioning of services in a data transmission network containing virtual machines.
Фиг. 3 показывает пример реализации предлагаемого способа выявления проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.FIG. 3 shows an example of the implementation of the proposed method for identifying problems in the functioning of services in a data transmission network containing virtual machines.
Фиг. 4 показывает пример компьютерной системы общего назначения, которая позволяет реализовать настоящее изобретение.FIG. 4 shows an example of a general purpose computer system that enables the present invention to be implemented.
Описание вариантов осуществления изобретенияDescription of embodiments of the invention
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.The 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 essence recited in the description is nothing more than specific details provided to assist a person skilled in the art in a comprehensive understanding of the invention, and the present invention is defined only within the scope of the appended claims.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.Let's introduce a number of definitions and concepts that will be used in describing the embodiments of the invention.
Гипервизор (монитор виртуальных машин) - программа, создающая среду функционирования других программ (в том числе других гипервизоров) за счет имитации аппаратных средств вычислительной техники, управления данными средствами и гостевыми операционными системами, функционирующими в данной среде.A hypervisor (virtual machine monitor) is a program that creates an environment for the operation of other programs (including other hypervisors) by simulating computer hardware, managing these tools and guest operating systems operating in this environment.
Под средствами системы анализа файла на вредоносность в виртуальной машине в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть реализованы на процессоре компьютера общего назначения (например, который изображен на Фиг. 4). При этом компоненты (каждое из средств) системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.By means of a file analysis system for malware in a virtual machine, in the present invention, we mean real devices, systems, components, groups of components implemented using hardware such as application-specific integrated circuits (ASICs) or programmable gate arrays ( field-programmable gate array, FPGA) or, for example, in the form of a combination of software and hardware, such as a microprocessor system and a set of software instructions, as well as on neurosynaptic chips. The functionality of these system means can be implemented exclusively hardware, as well as in the form of a combination, where part of the functionality of the system is implemented by software, and part by hardware. In some implementations, some or all of the tools may be implemented on a processor in a general purpose computer (eg, as shown in FIG. 4). In this case, the components (each of the means) of the system can be implemented within the framework of a single computing device, or spaced between several interconnected computing devices.
Фиг. 1 показывает пример сети передачи данных, содержащей виртуальные машины.FIG. 1 shows an example of a data network containing virtual machines.
В общем случае в сети передачи данных присутствуют элементы сети передачи данных 180 (например, компьютеры, терминалы, рабочие станции), виртуальные машины 190, которые в свою очередь работают под управлением различных гипервизоров и исполняются на выделенных компьютерах или серверах, и по меньшей мере один управляющий компонент 170, который в свою очередь также исполняется на по меньшей мере одном выделенном компьютере (например, на сервере). При этом управляющий компонент 170 производит настройку виртуальных машин 190 и осуществляет мониторинг их состояния, а элементы сети передачи данных 180 выполняют запросы к сервисам обработки данных, выполняющимся в одной или нескольких виртуальных машинах 190. Примером управляющего компонента 170 является сервис безопасности для виртуальных машин, в частном случае - программное обеспечение Kaspersky Security for Virtualization.In the general case, the data transmission network contains elements of the data transmission network 180 (for example, computers, terminals, workstations),
В сети передачи данных также зачастую используются решения, использующие инфраструктуру виртуальных рабочих столов (англ. Virtual Desktop Infrastructure, VDI), при этом множество виртуальных рабочих столов на виртуальных машинах 190 создаются из ограниченного набора образов виртуальных машин, но используются пользователями в разных целях. При этом виртуальные рабочие столы могут выполнять функции элементов сети передачи данных 180, в частности запросы к сервисам, выполняющимся на виртуальных машинах 190, а безопасность виртуальных рабочих столов также обеспечивается управляющим компонентом 170.Data networks also often use solutions that use Virtual Desktop Infrastructure (VDI), while many virtual desktops on
Фиг. 2 показывает пример системы выявления проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.FIG. 2 shows an example of a system for identifying problems in the functioning of services in a data transmission network containing virtual machines.
В общем случае предлагаемая система содержит средство диагностики 110, средство анализа 120 и средство сборки 130.In general, the proposed system comprises a
Средство диагностики 110 в одном из вариантов реализации является компонентом сервиса безопасности для виртуальных машин. С помощью средства диагностики 110 выявляют проблему функционирования по меньшей мере одного сервиса обработки данных, выполняющегося в одной или нескольких защищенных виртуальных машинах 190 (далее по тексту - сервис обработки данных). В общем случае проблемой функционирования сервиса обработки данных является полная или частичная неработоспособность упомянутого сервиса, которая может выражаться в неполучении ответа от сервиса обработки данных на запрос элементов сети передачи данных 180, невозможность обмена сетевым трафиком с сервисом, задержке при получении ответа от сервиса обработки данных и прочих сценариях.
В одном из вариантов реализации средство диагностики 110 функционирует в реальном времени и непрерывно производит мониторинг состояния сети передачи данных и сбор информации. В другом варианте реализации средство диагностики 110 начинает функционировать после команды от управляющего компонента 170. В одном из вариантов реализации средство диагностики 110 собирает информацию от агентов, размещенных на виртуальных машинах 190. В другом варианте реализации средство диагностики 110 собирает информацию от агентов, размещенных на элементах сети передачи данных 180. В еще одном из вариантов реализации средство диагностики 110 получает информацию от пользователя элемента сети передачи данных. Например, у пользователя возникает проблема функционирования с сервисом обработки данных, исполняющимся в виртуальном окружении на виртуальной машине 190. В ответ на это запускается средство диагностики 110, собирающее данные по обнаруженной проблеме функционирования: недоступны элементы сети передачи данных 180, программные сбои в работе приложений, высокая загрузка процессора и т.п.Кроме того, в одном из вариантов реализации пользователь выбирает тип проблемы функционирования. В еще одном из вариантов реализации средство диагностики 110 получает информацию от специалиста по информационной безопасности.In one implementation, the
Полученную и собранную информацию средство диагностики 110 передает средству анализа 120.The
В общем случае средство анализа 120 является компонентом сервиса безопасности для виртуальных машин. При этом средство анализа 120 исполняется на по меньшей одном управляющем компоненте 170. На основании полученных от средства диагностики 110 данных средство анализа 120, используя дерево решений, выявляет последовательность действий для диагностики возникшей проблемы функционирования, например, в одном из вариантов реализации запускает на исполнение скрипт (англ. script). В одном из вариантов реализации средство анализа 120 для выявления последовательности действий использует модель, заранее обученную одним из известных из уровня техники способов машинного обучения. На основании полученных данных средство анализа 120 выявляет по меньшей мере один набор действий, необходимых для по меньшей мере одного из:In general, the
- диагностики работоспособности (выявления причины проблемы функционирования) сервиса обработки данных;- health diagnostics (identifying the cause of the functioning problem) of the data processing service;
- выявление способов восстановления работоспособности сервиса (выявление способов устранения причины проблемы функционирования) обработки данных;- identifying ways to restore the serviceability (identifying ways to eliminate the cause of the functioning problem) data processing;
- восстановления работоспособности сервиса (устранения причины проблемы функционирования) обработки данных.- restoration of service performance (elimination of the cause of the functioning problem) of data processing.
Стоит отметить, что набор действий, необходимых для диагностики или восстановления работоспособности сервиса, может содержать по меньшей мере одно из:It should be noted that the set of actions required to diagnose or restore the service's performance may contain at least one of the following:
- набор действий, которые необходимо выполнить на по меньшей мере одном элементе сети передачи данных 180;- a set of actions to be performed on at least one element of the
- набор действий, которые необходимо выполнить на по меньшей мере одной виртуальной машине 190;- a set of actions to be performed on at least one
- набор действий, которые необходимо выполнить на по меньшей мере одном управляющем компоненте 170, на котором исполняется сервис безопасности для виртуальных машин.- a set of actions that need to be performed on at least one
Выявленный набор действий в общем случае средство анализа 120 преобразует в исходный код, который передается средству сборки 130.The identified set of actions is generally converted by the
Средство сборки 130 в общем случае является компонентом сервиса безопасности для виртуальных машин. При этом средство сборки 130 функционирует на по меньшей мере одном управляющем компоненте 170 (выделенном сервере или компьютере). Средство сборки 130 на основании полученных данных создает по меньшей мере один исполняемый файл 150, выполняющий действия на основании исходного кода и не имеющий зависимостей (англ. dependencies) после сборки (далее по тексту -исполняемый файл 150). В рамках настоящего изобретения исполняемый файл 150, не имеющий зависимостей, - это исполняемый файл, для исполнения которого не требуются дополнительные пакеты программного обеспечения или динамические библиотеки (например,.NET Framework, Python, PHP). Для операционных систем семейства Windows исполняемый файл 150 представляет собой ехе-файл. Для операционных систем семейства Linux исполняемый файл 150 представляет собой бинарный файл (известно, что в Linux исполняемыми называются файлы, которые имеют разрешение на выполнение). В одном из вариантов реализации упомянутый исполняемый файл 150, не имеющий зависимостей, может быть создан с помощью среды Go Language (https://golang.org/).
При этом созданный исполняемый файл 150 предназначен исполнения на ресурсах, связанных с сервисом обработки данных, выполняющимся в защищенной виртуальной машине 190, при этом ресурсом является:In this case, the created
- элемент сети передачи данных 180;- element of the
- виртуальная машина 190;-
- управляющий компонент 170, на котором исполняется сервис безопасности для виртуальных машин.-
Важно понимать, что исполняемый файл 150 предназначен для выявления или устранения проблем функционирования сервиса обработки данных, при этом причина проблем функционирования сервиса обработки данных зачастую не ясна. Установка дополнительного программного обеспечения на ресурс, связанный с сервисом обработки данных, может привести к искажению результатов выполнения файла 150 (например, в процессе установки дополнительного программного обеспечения ресурс был перезапущен, и проблема функционирования устранилась) или к новым причинам возникновения проблем функционирования сервиса обработки данных, не связанным с предыдущей (например, в процессе установки программного обеспечения закончилось место на системном диске).It is important to understand that the
После этого средство сборки 130 исполняет упомянутый исполняемый файл 150. При этом для размещения файла 150 и исполнения могут быть использованы агенты, взаимодействующие с средством диагностики 110. В одном из вариантов реализации размещение файла 150 и исполнение происходит с использованием протоколов RDP или SSH.The
В результате исполнения файла 150 выполняются действия, необходимые для выявления проблемы функционирования (диагностики) или устранению проблемы функционирования (восстановления работоспособности) сервиса обработки данных. Результаты выполнения упомянутых действий в общем случае собираются средством диагностики 110 и передаются средству анализа 120.As a result of the execution of the
Средство анализа 120 на основании полученных данных о результатах выполнения действий после исполнения файла 150, с использованием дерева решений или модели, заранее обученной одним из известных из уровня техники способов машинного обучения или нейронных сетей, выявляет в случае необходимости (например, диагностика произведена или неработоспособность сервиса обработки данных исправлена) другой набор действий, необходимых для диагностики или восстановления. Таким образом, в одном из вариантов реализации средство анализа 120 и средство диагностики 110 повторяют вышеописанные этапы выбора действий и создания исполняемого файла до тех пор, пока средство диагностики 110 на основании данных, содержащих результаты выполнения созданных исполняемых файлов, не выявит устранение проблемы функционирования сервиса обработки данных. Практические примеры работы описанной системы и действий исполняемого файла 150 описаны ниже.The
В одном из вариантов реализации файл 150 может содержать действия для проверки доступности и эффективности использования внешних сервисов (например, исполняющихся на защищенной виртуальной машине 190 или отдельном сервере по отношению к элементу сети передачи данных 180, на которой файл 150 запущен). Внешними сервисами могут быть:In one implementation, file 150 may contain actions to verify the availability and efficiency of external services (eg, running on secure
- продуктовые сервисы, с которыми взаимодействует сервис безопасности для виртуальных машин, например, облачный сервис безопасности (Kaspersky Security Network), сервер сбора дампов (англ. dump server), сервис безопасности для виртуальных машин (Kaspersky Security Center) и другие сервисы, к которым обращается сервис или программное обеспечение, размещенное на одном вычислительном устройстве с файлом 150.- product services with which the security service for virtual machines interacts, for example, a cloud security service (Kaspersky Security Network), a dump server, a security service for virtual machines (Kaspersky Security Center) and other services to which accesses a service or software hosted on the same computing device with
- внешние инфраструктурные сервисы, с которыми может взаимодействовать продукт, например, службы DHCP, DNS, гипервизоры, утилиты ОС, обратившись к которым, можно получить дополнительную диагностику или данные других сервисов.- external infrastructure services that the product can interact with, for example, DHCP, DNS, hypervisors, OS utilities, by contacting which, you can get additional diagnostics or data from other services.
В другом варианте реализации файл 150 может содержать действия для обращения к утилитам конкретного гипервизора, под управлением которого работает виртуальная машина 190. Утилиты представляют собой набор программ, позволяющих из гостевой системы виртуальной машины 190 получать некоторую расширенную информацию про данную виртуальной машины 190 (например, аппаратная конфигурация виртуальной машины 190), а также про гипервизор, под управлением которого работает виртуальная машина 190 (например, IP-адрес, тип гипервизора). Также важна версия этих утилит, ибо определенные их версии могут конфликтовать с сервисом или программным обеспечением, размещенном на одном вычислительном устройстве с файлом 150, вызывая его неработоспособность, либо приводить к более медленной его работе.In another implementation, the
В еще одном примере реализации в результате исполнения файла 150 средством диагностики 110 выявлено, что брандмауэр блокирует порт на элементе сети передачи данных 180. Средство анализа 120 выявляет набор действий для открытия порта и создает новый исполняемый файл 150, не имеющий зависимостей.In yet another embodiment, execution of
В еще одном из вариантов реализации файл 150 может содержать действия, выполнение которых позволяет включить/выключить журналы сервиса или программного обеспечения, размещенного на одном вычислительном устройстве с файлом 150, а также копировать упомянутые журналы в сети передачи данных для дальнейшего анализа.In another embodiment, file 150 may contain actions that enable / disable logs of a service or software located on the same computing device with
В еще одном из вариантов реализации файл 150 также может содержать действия, позволяющие скачать нужный патч для конкретной виртуальной машины 190 или группы виртуальных машины 190 в целом, а также для элемента сети передачи данных 180.In yet another implementation, file 150 may also contain steps to download the desired patch for a specific
В еще одном из вариантов реализации файл 150 также может содержать действия, позволяющие произвести настройки сервиса или программного обеспечения, размещенного на одном вычислительном устройстве с файлом 150, например, когда с помощью дерева решений, средство анализа 120 выбирает последовательность действий для решения конкретной проблемы. Например, изменяется размер внутренних очередей, различные временные характеристики (например, таймаут) на соединение с элементом сети передачи данных 180 или с виртуальной машиной 190.In yet another implementation, file 150 may also contain actions that allow customization of a service or software located on the same computing device as
В еще одном из вариантов реализации файл 150 может содержать действия, позволяющие взаимодействовать с пользователем, если действие, которое требуется сделать, может изменить настройки/уровень безопасности. Например, запросить согласие пользователя на перезапуск сервиса или на включение специальных режимов работы сервиса, в которых сервис позволяет производить расширенную диагностику за счет снижения уровня безопасности (например, в журналах на время анализа может появляться конфиденциальная информация, необходимая для анализа). Кроме того, все ненужные данные (например, упомянутые журналы) автоматически будут удалены после завершения выполнения файла 150, поскольку пользователи зачастую забывают это сделать сами.In yet another implementation, file 150 may contain actions that allow interaction with the user if the action to be taken could change the security settings / level. For example, request the user's consent to restart the service or to enable special modes of the service, in which the service allows advanced diagnostics by reducing the security level (for example, confidential information required for analysis may appear in the logs during the analysis). In addition, all unnecessary data (for example, the mentioned logs) will be automatically deleted after the completion of the execution of the
В еще одном из вариантов реализации файл 150 взаимодействует с пользователем: если действия по диагностике требуют узкоспециализированных утилит, которые отсутствуют в комплекте поставки сервиса безопасности для виртуальных машин, то в качестве одного из шагов пользователь устанавливает упомянутые утилиты (например, перехватчик трафика Wireshark), после чего он будет вызван в автоматическом режиме и, полученные данные после обработки средством анализа 120 могут быть использованы для дальнейшего выбора действий.In another implementation, the
В еще одном из вариантов реализации файл 150 устанавливает связь с одним или несколькими подобными ему файлами 150 на различных элементах сети передачи данных 180 или виртуальных машинах 190 с целью замера скорости трафика (скорости прохождения сетевых пакетов), блокировки портов, потери пакетов, определения наличия правил брандмауэра (англ. firewall), запрещающих прохождение трафика между разными участками сети передачи данных или специфическими виртуальными локальными компьютерными сетями передачи данных (анг. Virtual Local Area Network, VLAN).In another implementation, file 150 communicates with one or more
В еще одном из вариантов реализации файл 150 анализирует точки входа в операционную систему на наличие уязвимостей - например, проверив список открытых портов и сервисов, использующих открытые порты (что также возможно, как описано выше, с привлечением более специализированных утилит, например, nmap).In another implementation, file 150 analyzes the entry points to the operating system for vulnerabilities - for example, by checking the list of open ports and services using open ports (which is also possible, as described above, using more specialized utilities, such as nmap).
В еще одном из вариантов реализации файл 150 проверяет требования к функционированию сервиса, например, известно, что сервис для своей работы требует открытых тех или иных портов (например, ТСР:7777, UDP:9000).In another implementation, the
В еще одном из вариантов реализации файл 150 проверяет состояние системы: загрузка CPU, наличие свободного места на диске и прочее.In yet another implementation, file 150 checks the state of the system: CPU load, free disk space, and so on.
Фиг. 3 показывает пример реализации предлагаемого способа выявления проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.FIG. 3 shows an example of the implementation of the proposed method for identifying problems in the functioning of services in a data transmission network containing virtual machines.
На начальном этапе 310 с помощью средства диагностики 110 выявляют проблему функционирования по меньшей мере одного сервиса обработки данных. Сервис обработки данных выполняется на одной или нескольких виртуальных машинах 190. В одном из вариантов реализации проблемой функционирования является полная неработоспособность сервиса обработки данных. В другом варианте реализации проблемой функционирования является частичная неработоспособность сервиса обработки данных. В одном из вариантов реализации средство диагностики 110 функционирует в реальном времени и непрерывно производит мониторинг состояния сети передачи данных и сбор информации. В другом варианте реализации средство диагностики 110 начинает функционировать после команды от управляющего компонента 170. В одном из вариантов реализации средство диагностики 110 собирает информацию от агентов, размещенных на виртуальных машинах 190. В другом варианте реализации средство диагностики 110 собирает информацию от агентов, размещенных на элементах сети передачи данных 180. В еще одном из вариантов реализации средство диагностики 110 получает информацию от пользователя элемента сети передачи данных.At an
На этапе 320 определяют с помощью средства анализа 120, используя дерево решений, последовательность действий для диагностики возникшей проблемы функционирования. В одном из вариантов реализации средство анализа 120 для выявления последовательности действий использует модель, заранее обученную одним из известных из уровня техники способов машинного обучения. На основании полученных данных средство анализа 120 выявляет по меньшей мере один набор действий, необходимых для диагностики работоспособности (выявления причины проблемы функционирования) сервиса обработки данных.At
Набор действий, необходимых для диагностики работоспособности сервиса, может содержать по меньшей мере одно из:The set of actions required to diagnose the health of a service may contain at least one of:
- набор действий, которые необходимо выполнить на по меньшей мере одном элементе сети передачи данных 180;- a set of actions to be performed on at least one element of the
- набор действий, которые необходимо выполнить на по меньшей мере одной виртуальной машине 190;- a set of actions to be performed on at least one
- набор действий, которые необходимо выполнить на по меньшей мере одном управляющем компоненте 170, на котором исполняется сервис безопасности для виртуальных машин.- a set of actions that need to be performed on at least one
Выявленный набор действий в общем случае средство анализа 120 преобразует в исходный код.The identified set of actions is generally converted by the
На этапе 330 с помощью средства сборки 130 на основании полученных данных создают по меньшей мере один исполняемый файл 150, выполняющий действия на основании исходного кода и не имеющий зависимостей после сборки. Исполняемый файл 150, не имеющий зависимостей, - это исполняемый файл, для исполнения которого не требуются дополнительные пакеты программного обеспечения или динамические библиотеки.At
При этом созданный исполняемый файл 150 предназначен исполнения на ресурсах, связанных с сервисом обработки данных, выполняющимся в защищенной виртуальной машине 190, при этом ресурсом является:In this case, the created
- элемент сети передачи данных 180;- element of the
- виртуальная машина 190;-
- управляющий компонент 170, на котором исполняется сервис безопасности для виртуальных машин.-
На этапе 340 с помощью средства сборки 130 исполняют созданные исполняемые файлы 150 на ресурсах, связанных с упомянутым сервисом обработки данных. При этом для размещения файла 150 и исполнения могут быть использованы агенты, взаимодействующие с средством диагностики 110. В одном из вариантов реализации размещение файла 150 и исполнение происходит с использованием протоколов RDP или SSH.At
В результате исполнения файла 150 выполняются действия, необходимые для выявления проблемы функционирования сервиса обработки данных. Результаты выполнения упомянутых действий в общем случае собираются средством диагностики 110.As a result of execution of the
На этапе 350 с помощью средства диагностики 110 выявляют на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов 150 причину проблемы функционирования сервиса обработки данных.At 350, the
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 4 shows an example of a general-purpose computer system, a personal computer or server 20, comprising a
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20, in turn, contains a
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.Computer 20 has a
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment using a network connection with other or more
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, personal computer 20 is connected to local network 50 via a network adapter or
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.In conclusion, it should be noted that the information given in the description are examples, which do not limit the scope of the present invention defined by the claims. One 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.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019122437A RU2748963C2 (en) | 2019-07-17 | 2019-07-17 | System and method for detecting service operation problems in a data transmission network comprising virtual machines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019122437A RU2748963C2 (en) | 2019-07-17 | 2019-07-17 | System and method for detecting service operation problems in a data transmission network comprising virtual machines |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2019122437A3 RU2019122437A3 (en) | 2021-01-18 |
RU2019122437A RU2019122437A (en) | 2021-01-18 |
RU2748963C2 true RU2748963C2 (en) | 2021-06-02 |
Family
ID=74185074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019122437A RU2748963C2 (en) | 2019-07-17 | 2019-07-17 | System and method for detecting service operation problems in a data transmission network comprising virtual machines |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2748963C2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110060947A1 (en) * | 2009-09-09 | 2011-03-10 | Zhexuan Song | Hardware trust anchor |
US20120054486A1 (en) * | 2010-08-31 | 2012-03-01 | MindTree Limited | Securing A Virtual Environment And Virtual Machines |
US20120179916A1 (en) * | 2010-08-18 | 2012-07-12 | Matt Staker | Systems and methods for securing virtual machine computing environments |
US20160216992A1 (en) * | 2013-06-18 | 2016-07-28 | Vmware, Inc. | Hypervisor remedial action for a virtual machine in response to an error message from the virtual machine |
RU2015117644A (en) * | 2012-10-12 | 2016-12-10 | Конинклейке Филипс Н.В. | SAFE DATA PROCESSING BY VIRTUAL MACHINE |
-
2019
- 2019-07-17 RU RU2019122437A patent/RU2748963C2/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110060947A1 (en) * | 2009-09-09 | 2011-03-10 | Zhexuan Song | Hardware trust anchor |
US20120179916A1 (en) * | 2010-08-18 | 2012-07-12 | Matt Staker | Systems and methods for securing virtual machine computing environments |
US20120054486A1 (en) * | 2010-08-31 | 2012-03-01 | MindTree Limited | Securing A Virtual Environment And Virtual Machines |
RU2015117644A (en) * | 2012-10-12 | 2016-12-10 | Конинклейке Филипс Н.В. | SAFE DATA PROCESSING BY VIRTUAL MACHINE |
US20160216992A1 (en) * | 2013-06-18 | 2016-07-28 | Vmware, Inc. | Hypervisor remedial action for a virtual machine in response to an error message from the virtual machine |
Also Published As
Publication number | Publication date |
---|---|
RU2019122437A3 (en) | 2021-01-18 |
RU2019122437A (en) | 2021-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2653985C2 (en) | Method and system for detecting malicious software by control of software implementation running under script | |
EP2163027B1 (en) | System and method for simulating computer network attacks | |
Larsson et al. | Impact of etcd deployment on Kubernetes, Istio, and application performance | |
EP2237154A2 (en) | Facilitated introspection of virtualized environments | |
JP2016537695A (en) | Optimized resource allocation to virtual machines in malware content detection system | |
US9104798B2 (en) | Enabling remote debugging of virtual machines running in a cloud environment | |
US8429717B2 (en) | Method for activating virtual machine, apparatus for simulating computing device and supervising device | |
Zhuang et al. | {NetCheck}: Network Diagnoses from Blackbox Traces | |
EP3611643B1 (en) | Malware detection based on user interactions | |
US9021008B1 (en) | Managing targeted scripts | |
US20230214229A1 (en) | Multi-tenant java agent instrumentation system | |
Malik et al. | A measurement study of open source SDN layers in OpenStack under network perturbation | |
JP5400873B2 (en) | Method, system, and computer program for identifying software problems | |
Kim et al. | Prof-gen: Practical study on system call whitelist generation for container attack surface reduction | |
RU2747465C2 (en) | System and method for troubleshooting functioning of services in data network containing virtual machines | |
RU2748963C2 (en) | System and method for detecting service operation problems in a data transmission network comprising virtual machines | |
EP4160455A1 (en) | Behavior analysis based on finite-state machine for malware detection | |
US10685115B1 (en) | Method and system for implementing cloud native application threat detection | |
AU2022226943B2 (en) | Computer system security scan and response | |
US20220012161A1 (en) | Instrumentation trace capture technique | |
US11494284B2 (en) | Dynamic configuration trace capture technique | |
RU2739831C1 (en) | Application operation troubleshooting method | |
RU2739867C1 (en) | Method of determining application module associated with cause of problem encountered during operation of application | |
US11451570B1 (en) | Computer system security scan | |
Scholten | Automatic detection of zero-day attacks in high-interaction IoT honeypots using static analysis techniques |