RU2747465C2 - Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины - Google Patents

Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины Download PDF

Info

Publication number
RU2747465C2
RU2747465C2 RU2019122434A RU2019122434A RU2747465C2 RU 2747465 C2 RU2747465 C2 RU 2747465C2 RU 2019122434 A RU2019122434 A RU 2019122434A RU 2019122434 A RU2019122434 A RU 2019122434A RU 2747465 C2 RU2747465 C2 RU 2747465C2
Authority
RU
Russia
Prior art keywords
data processing
processing service
functioning
service
data
Prior art date
Application number
RU2019122434A
Other languages
English (en)
Other versions
RU2019122434A (ru
RU2019122434A3 (ru
Inventor
Евгений Владимирович Буштырёв
Original Assignee
Акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Priority to RU2019122434A priority Critical patent/RU2747465C2/ru
Priority to US16/774,542 priority patent/US20210019210A1/en
Publication of RU2019122434A publication Critical patent/RU2019122434A/ru
Publication of RU2019122434A3 publication Critical patent/RU2019122434A3/ru
Application granted granted Critical
Publication of RU2747465C2 publication Critical patent/RU2747465C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Изобретение относится к решениям для устранения проблем функционирования сервисов обработки данных в сети передачи данных, содержащей виртуальные машины. Технический результат настоящего изобретения заключается в повышении точности произведения диагностики неисправностей и ограниченной работоспособности сервисов в сети передачи данных, использующей сервисы безопасности для виртуальных машин. Технический результат достигается путем использования способа, в котором: выявляют проблему функционирования сервиса обработки данных; создают исполняемый файл, предназначенный для выявления причины проблемы функционирования; исполняют созданный исполняемый файл на ресурсах, связанных с сервисом обработки данных; выявляют причину проблемы функционирования сервиса обработки данных; создают исполняемый файл, предназначенный для устранения выявленной проблемы функционирования сервиса обработки данных; исполняют созданный исполняемый файл на ресурсах, связанных с упомянутым сервисом; повторяют этапы до устранения проблемы функционирования сервиса обработки данных. 9 з.п. ф-лы, 4 ил.

Description

Область техники
Изобретение относится к решениям для устранения проблем функционирования сервисов обработки данных, а более конкретно к системам и способам устранения проблем в функционировании сервисов обработки данных в сети передачи данных, содержащей виртуальные машины.
Уровень техники
Сервисы безопасности для виртуальных машин (например, Kaspersky Security for Virtualization) являются программными продуктами, предназначенными для управления виртуальными машинами, а также для мониторинга и обеспечения безопасности виртуальных машин. Однако, такие продукты тестируются производителем программного обеспечения на ограниченном числе виртуальных окружений, исполняющихся на виртуальных машинах. При использовании продуктов в существующих информационных системах клиентов присутствует значительное количество факторов, влияющих на нормальную работу сервисов безопасности для виртуальных машин и сервисов, исполняющихся в виртуальных окружениях, вследствие чего возникают проблемы функционирования упомянутых сервисов.
Существуют решения для диагностики виртуальных машин. Например, публикация US 9990220 B2 описывает систему, в которой гипервизор получает от агента виртуальной машины сообщение об ошибке и определяет, какое действие необходимо выполнить.
Однако существующие решения зачастую нацелены только на выявление проблемы функционирования виртуальной машины, но в случае возникновения проблемы не выявляют причину ее возникновения.
Кроме того, на сложных распределенных окружениях существующих информационных систем, в которых функционируют сервисы безопасности для виртуальных машин, затруднен сбор данных для диагностики возникающих проблем с функционированием сервисов. Требуются действия на различных элементах сети передачи данных и на виртуальных машинах, например, сбор журналов системных событий, опрос текущего состояния сервиса безопасности для виртуальных машин, состояния сети передачи данных, выявление особенностей прохождения трафика через те или иные сегменты сети передачи данных, контроль выполнения приложений и сервисов. Эти действия зачастую рутинны, имеют итерационный характер, а также достаточно медленны при выполнении в ручном режиме пользователем.
Настоящее изобретение лишено упомянутых недостатков и позволяет более быстро и точно производить диагностику неисправностей и ограниченной работоспособности сервисов в сети передачи данных, использующей сервисы безопасности для виртуальных машин.
Сущность изобретения
Настоящее изобретение предназначено для устранения проблем функционирования сервисов обработки данных в сети передачи данных, содержащей виртуальные машины.
Технический результат настоящего изобретения заключается в реализации заявленного назначения.
Согласно одному из вариантов реализации предоставляется способ устранения проблемы функционирования сервиса обработки данных, состоящий из этапов, на которых: с помощью средства диагностики выявляют проблему функционирования по меньшей мере одного сервиса обработки данных; с помощью средства сборки создают по меньшей мере один исполняемый файл, предназначенный для выявления причины упомянутой проблемы функционирования; с помощью средства сборки исполняют созданные исполняемые файлы на ресурсах, связанных с упомянутым сервисом обработки данных; с помощью средства диагностики выявляют на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов, по меньшей мере одну причину проблемы функционирования по меньшей мере одного сервиса обработки данных; с помощью средства сборки создают по меньшей мере один исполняемый файл, предназначенный для устранения упомянутой проблемы функционирования; с помощью средства сборки исполняют созданные исполняемые файлы на ресурсах, связанных с упомянутым сервисом; повторяют упомянутые этапы до тех пор, пока средство диагностики на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов, не выявит устранение проблемы функционирования по меньшей мере одного сервиса обработки данных.
Согласно другому частному варианту реализации предлагается способ, в котором сервис обработки данных выполняется на одной или нескольких виртуальных машинах.
Согласно еще одному частному варианту реализации предлагается способ, в котором проблемой функционирования является полная неработоспособность сервиса обработки данных.
Согласно еще одному частному варианту реализации предлагается способ, в котором проблемой функционирования является частичная неработоспособность сервиса обработки данных.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл не имеет зависимостей от пакетов программного обеспечения.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл не имеет зависимостей от динамических библиотек.
Согласно еще одному частному варианту реализации предлагается способ, в котором ресурс, связанный с сервисом обработки данных, является элементом сети передачи данных.
Согласно еще одному частному варианту реализации предлагается способ, в котором ресурс, связанный с сервисом обработки данных, является виртуальной машиной.
Согласно еще одному частному варианту реализации предлагается способ, в котором ресурс, связанный с сервисом обработки данных, является в управляющим компонентом, на котором исполняется сервис безопасности для виртуальных машин.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл выполняет действия, необходимые для выявления причины проблемы функционирования по меньшей мере одного сервиса обработки данных.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл выполняет действия, необходимые для выявления способов устранения причины проблемы функционирования по меньшей мере одного сервиса обработки данных.
Согласно еще одному частному варианту реализации предлагается способ, в котором исполняемый файл выполняет действия, необходимые для устранения причины проблемы функционирования по меньшей мере одного сервиса обработки данных.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 показывает пример сети передачи данных, содержащей виртуальные машины.
Фиг. 2 показывает пример реализации предлагаемой системы устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.
Фиг. 3 показывает пример реализации предлагаемого способа устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.
Фиг. 4 показывает пример компьютерной системы общего назначения, которая позволяет реализовать настоящее изобретение.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Гипервизор (монитор виртуальных машин) - программа, создающая среду функционирования других программ (в том числе других гипервизоров) за счет имитации аппаратных средств вычислительной техники, управления данными средствами и гостевыми операционными системами, функционирующими в данной среде.
Под средствами системы анализа файла на вредоносность в виртуальной машине в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть реализованы на процессоре компьютера общего назначения (например, который изображен на Фиг. 4). При этом компоненты (каждое из средств) системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.
Фиг. 1 показывает пример сети передачи данных, содержащей виртуальные машины.
В общем случае в сети передачи данных присутствуют элементы сети передачи данных 180 (например, компьютеры, терминалы, рабочие станции), виртуальные машины 190, которые в свою очередь работают под управлением различных гипервизоров и исполняются на выделенных компьютерах или серверах, и по меньшей мере один управляющий компонент 170, который в свою очередь также исполняется на по меньшей мере одном выделенном компьютере (например, на сервере). При этом управляющий компонент 170 производит настройку виртуальных машин 190 и осуществляет мониторинг их состояния, а элементы сети передачи данных 180 выполняют запросы к сервисам обработки данных, выполняющимся в одной или нескольких виртуальных машинах 190. Примером управляющего компонента 170 является сервис безопасности для виртуальных машин, в частном случае -программное обеспечение Kaspersky Security for Virtualization.
В сети передачи данных также зачастую используются решения, использующие инфраструктуру виртуальных рабочих столов (англ. Virtual Desktop Infrastructure, VDI), при этом множество виртуальных рабочих столов на виртуальных машинах 190 создаются из ограниченного набора образов виртуальных машин, но используются пользователями в разных целях. При этом виртуальные рабочие столы могут выполнять функции элементов сети передачи данных 180, в частности запросы к сервисам, выполняющимся на виртуальных машинах 190, а безопасность виртуальных рабочих столов также обеспечивается управляющим компонентом 170.
Фиг. 2 показывает пример системы устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.
В общем случае предлагаемая система содержит средство диагностики 110, средство анализа 120 и средство сборки 130.
Средство диагностики 110 в одном из вариантов реализации является компонентом сервиса безопасности для виртуальных машин. С помощью средства диагностики 110 выявляют проблему функционирования по меньшей мере одного сервиса обработки данных, выполняющегося в одной или нескольких защищенных виртуальных машинах 190 (далее по тексту - сервис обработки данных). В общем случае проблемой функционирования сервиса обработки данных является полная или частичная неработоспособность упомянутого сервиса, которая может выражаться в неполучении ответа от сервиса обработки данных на запрос элементов сети передачи данных 180, невозможность обмена сетевым трафиком с сервисом, задержке при получении ответа от сервиса обработки данных и прочих сценариях.
В одном из вариантов реализации средство диагностики 110 функционирует в реальном времени и непрерывно производит мониторинг состояния сети передачи данных и сбор информации. В другом варианте реализации средство диагностики 110 начинает функционировать после команды от управляющего компонента 170. В одном из вариантов реализации средство диагностики 110 собирает информацию от агентов, размещенных на виртуальных машинах 190. В другом варианте реализации средство диагностики 110 собирает информацию от агентов, размещенных на элементах сети передачи данных 180. В еще одном из вариантов реализации средство диагностики 110 получает информацию от пользователя элемента сети передачи данных. Например, у пользователя возникает проблема функционирования с сервисом обработки данных, исполняющимся в виртуальном окружении на виртуальной машине 190. В ответ на это запускается средство диагностики 110, собирающее данные по обнаруженной проблеме функционирования: недоступны элементы сети передачи данных 180, программные сбои в работе приложений, высокая загрузка процессора и т.п. Кроме того, в одном из вариантов реализации пользователь выбирает тип проблемы функционирования. В еще одном из вариантов реализации средство диагностики 110 получает информацию от специалиста по информационной безопасности.
Полученную и собранную информацию средство диагностики 110 передает средству анализа 120.
В общем случае средство анализа 120 является компонентом сервиса безопасности для виртуальных машин. При этом средство анализа 120 исполняется на по меньшей одном управляющем компоненте 170. На основании полученных от средства диагностики 110 данных средство анализа 120, используя дерево решений, выявляет последовательность действий для диагностики возникшей проблемы функционирования, например, в одном из вариантов реализации запускает на исполнение скрипт (англ. script). В одном из вариантов реализации средство анализа 120 для выявления последовательности действий использует модель, заранее обученную одним из известных из уровня техники способов машинного обучения. На основании полученных данных средство анализа 120 выявляет по меньшей мере один набор действий, необходимых для по меньшей мере одного из:
- диагностики работоспособности (выявления причины проблемы функционирования) сервиса обработки данных;
- выявление способов восстановления работоспособности сервиса (выявление способов устранения причины проблемы функционирования) обработки данных;
- восстановления работоспособности сервиса (устранения причины проблемы функционирования) обработки данных.
Стоит отметить, что набор действий, необходимых для диагностики или восстановления работоспособности сервиса, может содержать по меньшей мере одно из:
- набор действий, которые необходимо выполнить на по меньшей мере одном элементе сети передачи данных 180;
- набор действий, которые необходимо выполнить на по меньшей мере одной виртуальной машине 190;
- набор действий, которые необходимо выполнить на по меньшей мере одном управляющем компоненте 170, на котором исполняется сервис безопасности для виртуальных машин.
Выявленный набор действий в общем случае средство анализа 120 преобразует в исходный код, который передается средству сборки 130.
Средство сборки 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, при этом ресурсом является:
- элемент сети передачи данных 180;
- виртуальная машина 190;
- управляющий компонент 170, на котором исполняется сервис безопасности для виртуальных машин.
Важно понимать, что исполняемый файл 150 предназначен для выявления или устранения проблем функционирования сервиса обработки данных, при этом причина проблем функционирования сервиса обработки данных зачастую не ясна. Установка дополнительного программного обеспечения на ресурс, связанный с сервисом обработки данных, может привести к искажению результатов выполнения файла 150 (например, в процессе установки дополнительного программного обеспечения ресурс был перезапущен, и проблема функционирования устранилась) или к новым причинам возникновения проблем функционирования сервиса обработки данных, не связанным с предыдущей (например, в процессе установки программного обеспечения закончилось место на системном диске).
После этого средство сборки 130 исполняет упомянутый исполняемый файл 150. При этом для размещения файла 150 и исполнения могут быть использованы агенты, взаимодействующие с средством диагностики 110. В одном из вариантов реализации размещение файла 150 и исполнение происходит с использованием протоколов RDP или SSH.
В результате исполнения файла 150 выполняются действия, необходимые для выявления проблемы функционирования (диагностики) или устранению проблемы функционирования (восстановления работоспособности) сервиса обработки данных. Результаты выполнения упомянутых действий в общем случае собираются средством диагностики 110 и передаются средству анализа 120.
Средство анализа 120 на основании полученных данных о результатах выполнения действий после исполнения файла 150, с использованием дерева решений или модели, заранее обученной одним из известных из уровня техники способов машинного обучения или нейронных сетей, выявляет в случае необходимости (например, диагностика произведена или неработоспособность сервиса обработки данных исправлена) другой набор действий, необходимых для диагностики или восстановления. Таким образом, в одном из вариантов реализации средство анализа 120 и средство диагностики 110 повторяют вышеописанные этапы выбора действий и создания исполняемого файла до тех пор, пока средство диагностики 110 на основании данных, содержащих результаты выполнения созданных исполняемых файлов, не выявит устранение проблемы функционирования сервиса обработки данных. Практические примеры работы описанной системы и действий исполняемого файла 150 описаны ниже.
В одном из вариантов реализации файл 150 может содержать действия для проверки доступности и эффективности использования внешних сервисов (например, исполняющихся на защищенной виртуальной машине 190 или отдельном сервере по отношению к элементу сети передачи данных 180, на которой файл 150 запущен). Внешними сервисами могут быть:
- продуктовые сервисы, с которыми взаимодействует сервис безопасности для виртуальных машин, например, облачный сервис безопасности (Kaspersky Security Network), сервер сбора дампов (англ. dump server), сервис безопасности для виртуальных машин (Kaspersky Security Center) и другие сервисы, к которым обращается сервис или программное обеспечение, размещенное на одном вычислительном устройстве с файлом 150.
- внешние инфраструктурные сервисы, с которыми может взаимодействовать продукт, например, службы DHCP, DNS, гипервизоры, утилиты ОС, обратившись к которым, можно получить дополнительную диагностику или данные других сервисов.
В другом варианте реализации файл 150 может содержать действия для обращения к утилитам конкретного гипервизора, под управлением которого работает виртуальная машина 190. Утилиты представляют собой набор программ, позволяющих из гостевой системы виртуальной машины 190 получать некоторую расширенную информацию про данную виртуальной машины 190 (например, аппаратная конфигурация виртуальной машины 190), а также про гипервизор, под управлением которого работает виртуальная машина 190 (например, IP-адрес, тип гипервизора). Также важна версия этих утилит, ибо определенные их версии могут конфликтовать с сервисом или программным обеспечением, размещенном на одном вычислительном устройстве с файлом 150, вызывая его неработоспособность, либо приводить к более медленной его работе.
В еще одном примере реализации в результате исполнения файла 150 средством диагностики 110 выявлено, что брандмауэр блокирует порт на элементе сети передачи данных 180. Средство анализа 120 выявляет набор действий для открытия порта и создает новый исполняемый файл 150, не имеющий зависимостей.
В еще одном из вариантов реализации файл 150 может содержать действия, выполнение которых позволяет включить/выключить журналы сервиса или программного обеспечения, размещенного на одном вычислительном устройстве с файлом 150, а также копировать упомянутые журналы в сети передачи данных для дальнейшего анализа.
В еще одном из вариантов реализации файл 150 также может содержать действия, позволяющие скачать нужный патч для конкретной виртуальной машины 190 или группы виртуальных машины 190 в целом, а также для элемента сети передачи данных 180.
В еще одном из вариантов реализации файл 150 также может содержать действия, позволяющие произвести настройки сервиса или программного обеспечения, размещенного на одном вычислительном устройстве с файлом 150, например, когда с помощью дерева решений, средство анализа 120 выбирает последовательность действий для решения конкретной проблемы. Например, изменяется размер внутренних очередей, различные временные характеристики (например, таймаут) на соединение с элементом сети передачи данных 180 или с виртуальной машиной 190.
В еще одном из вариантов реализации файл 150 может содержать действия, позволяющие взаимодействовать с пользователем, если действие, которое требуется сделать, может изменить настройки/уровень безопасности. Например, запросить согласие пользователя на перезапуск сервиса или на включение специальных режимов работы сервиса, в которых сервис позволяет производить расширенную диагностику за счет снижения уровня безопасности (например, в журналах на время анализа может появляться конфиденциальная информация, необходимая для анализа). Кроме того, все ненужные данные (например, упомянутые журналы) автоматически будут удалены после завершения выполнения файла 150, поскольку пользователи зачастую забывают это сделать сами.
В еще одном из вариантов реализации файл 150 взаимодействует с пользователем: если действия по диагностике требуют узкоспециализированных утилит, которые отсутствуют в комплекте поставки сервиса безопасности для виртуальных машин, то в качестве одного из шагов пользователь устанавливает упомянутые утилиты (например, перехватчик трафика Wireshark), после чего он будет вызван в автоматическом режиме и, полученные данные после обработки средством анализа 120 могут быть использованы для дальнейшего выбора действий.
В еще одном из вариантов реализации файл 150 устанавливает связь с одним или несколькими подобными ему файлами 150 на различных элементах сети передачи данных 180 или виртуальных машинах 190 с целью замера скорости трафика (скорости прохождения сетевых пакетов), блокировки портов, потери пакетов, определения наличия правил брандмауэра (англ. firewall), запрещающих прохождение трафика между разными участками сети передачи данных или специфическими виртуальными локальными компьютерными сетями передачи данных (англ. Virtual Local Area Network, VLAN).
В еще одном из вариантов реализации файл 150 анализирует точки входа в операционную систему на наличие уязвимостей - например, проверив список открытых портов и сервисов, использующих открытые порты (что также возможно, как описано выше, с привлечением более специализированных утилит, например, шпар).
В еще одном из вариантов реализации файл 150 проверяет требования к функционированию сервиса, например, известно, что сервис для своей работы требует открытых тех или иных портов (например, ТСР:7777, UDP:9000).
В еще одном из вариантов реализации файл 150 проверяет состояние системы: загрузка CPU, наличие свободного места на диске и прочее.
Фиг. 3 показывает пример реализации предлагаемого способа устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины.
На начальном этапе 310 с помощью средства диагностики 110 выявляют проблему функционирования по меньшей мере одного сервиса обработки данных. Сервис обработки данных выполняется на одной или нескольких виртуальных машинах 190. В одном из вариантов реализации проблемой функционирования является полная неработоспособность сервиса обработки данных. В другом варианте реализации проблемой функционирования является частичная неработоспособность сервиса обработки данных. В одном из вариантов реализации средство диагностики 110 функционирует в реальном времени и непрерывно производит мониторинг состояния сети передачи данных и сбор информации. В другом варианте реализации средство диагностики 110 начинает функционировать после команды от управляющего компонента 170. В одном из вариантов реализации средство диагностики 110 собирает информацию от агентов, размещенных на виртуальных машинах 190. В другом варианте реализации средство диагностики 110 собирает информацию от агентов, размещенных на элементах сети передачи данных 180. В еще одном из вариантов реализации средство диагностики 110 получает информацию от пользователя элемента сети передачи данных.
На этапе 320 определяют с помощью средства анализа 120, используя дерево решений, последовательность действий для диагностики возникшей проблемы функционирования. В одном из вариантов реализации средство анализа 120 для выявления последовательности действий использует модель, заранее обученную одним из известных из уровня техники способов машинного обучения. На основании полученных данных средство анализа 120 выявляет по меньшей мере один набор действий, необходимых для диагностики работоспособности (выявления причины проблемы функционирования) сервиса обработки данных.
Набор действий, необходимых для диагностики или восстановления работоспособности сервиса, может содержать одно из:
- набор действий, которые необходимо выполнить на по меньшей мере одном элементе сети передачи данных 180;
- набор действий, которые необходимо выполнить на по меньшей мере одной виртуальной машине 190;
- набор действий, которые необходимо выполнить на по меньшей мере одном управляющем компоненте 170, на котором исполняется сервис безопасности для виртуальных машин.
Выявленный набор действий в общем случае средство анализа 120 преобразует в исходный код.
На этапе 330 с помощью средства сборки 130 на основании полученных данных создают по меньшей мере один исполняемый файл 150, выполняющий действия на основании исходного кода и не имеющий зависимостей после сборки. Исполняемый файл 150, не имеющий зависимостей, - это исполняемый файл, для исполнения которого не требуются дополнительные пакеты программного обеспечения или динамические библиотеки.
При этом созданный исполняемый файл 150 предназначен исполнения на ресурсах, связанных с сервисом обработки данных, выполняющимся в защищенной виртуальной машине 190, при этом ресурсом является:
- элемент сети передачи данных 180;
- виртуальная машина 190;
- управляющий компонент 170, на котором исполняется сервис безопасности для виртуальных машин.
На этапе 340 с помощью средства сборки 130 исполняют созданные исполняемые файлы 150 на ресурсах, связанных с упомянутым сервисом обработки данных. При этом для размещения файла 150 и исполнения могут быть использованы агенты, взаимодействующие с средством диагностики 110. В одном из вариантов реализации размещение файла 150 и исполнение происходит с использованием протоколов RDP или SSH.
В результате исполнения файла 150 выполняются действия, необходимые для выявления проблемы функционирования (диагностики) или устранению проблемы функционирования (восстановления работоспособности) сервиса обработки данных. Результаты выполнения упомянутых действий в общем случае собираются средством диагностики 110 и передаются средству анализа 120.
На этапе 350 с помощью средства диагностики 110 выявляют на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов 150 причину проблемы функционирования сервиса обработки данных.
Далее на этапе 360 с помощью средства анализа 120, используя дерево решений, определяют последовательность действий для устранения возникшей проблемы функционирования. В одном из вариантов реализации средство анализа 120 для выявления последовательности действий использует модель, заранее обученную одним из известных из уровня техники способов машинного обучения. На основании полученных данных средство анализа 120 выявляет по меньшей мере один набор действий, необходимых для:
- выявления способов восстановления работоспособности сервиса (выявление способов устранения причины проблемы функционирования) обработки данных;
- восстановления работоспособности сервиса (устранения причины проблемы функционирования) обработки данных.
Набор действий, необходимых для диагностики или восстановления работоспособности сервиса, может содержать одно из:
- набор действий, которые необходимо выполнить на по меньшей мере одном элементе сети передачи данных 180;
- набор действий, которые необходимо выполнить на по меньшей мере одной виртуальной машине 190;
- набор действий, которые необходимо выполнить на по меньшей мере одном управляющем компоненте 170, на котором исполняется сервис безопасности для виртуальных машин.
Выявленный набор действий в общем случае средство анализа 120 преобразует в исходный код.
На этапе 370 с помощью средства сборки 130 на основании полученных данных создают по меньшей мере один исполняемый файл 150, выполняющий действия на основании исходного кода и не имеющий зависимостей после сборки.
При этом созданный исполняемый файл 150 предназначен исполнения на ресурсах, связанных с сервисом обработки данных, выполняющимся в защищенной виртуальной машине 190, при этом ресурсом является:
- элемент сети передачи данных 180;
- виртуальная машина 190;
- управляющий компонент 170, на котором исполняется сервис безопасности для виртуальных машин.
На этапе 380 с помощью средства сборки 130 исполняют созданные исполняемые файлы 150 на ресурсах, связанных с упомянутым сервисом обработки данных.
На этапе 390 с помощью средства диагностики 110 выявляют на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов 150, была ли устранена проблема функционирования сервиса обработки данных.
В общем случае реализации настоящего изобретения этапы 320 - 390 повторяют до тех пор, пока средство диагностики 120 на основании данных, содержащих результаты выполнения исполняемых файлов 150, не выявит устранение проблемы функционирования сервиса обработки данных.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

Claims (17)

1. Способ устранения проблемы функционирования сервиса обработки данных, состоящий из этапов, на которых:
а) с помощью средства диагностики выявляют проблему функционирования по меньшей мере одного сервиса обработки данных;
б) с помощью средства сборки создают по меньшей мере один исполняемый файл, предназначенный для выявления причины упомянутой проблемы функционирования, при этом исполняемый файл не имеет зависимостей от пакетов программного обеспечения и динамических библиотек;
в) с помощью средства сборки исполняют созданные исполняемые файлы на ресурсах, связанных с упомянутым сервисом обработки данных;
г) с помощью средства диагностики выявляют на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов, по меньшей мере одну причину проблемы функционирования по меньшей мере одного сервиса обработки данных;
д) с помощью средства сборки создают по меньшей мере один исполняемый файл, предназначенный для устранения упомянутой проблемы функционирования, при этом исполняемый файл не имеет зависимостей от пакетов программного обеспечения и динамических библиотек;
е) с помощью средства сборки исполняют созданные исполняемые файлы на ресурсах, связанных с упомянутым сервисом обработки данных;
ж) повторяют этапы б) - е) до тех пор, пока средство диагностики на основании данных, содержащих результаты выполнения упомянутых созданных исполняемых файлов, не выявит устранение проблемы функционирования по меньшей мере одного сервиса обработки данных.
2. Способ по п. 1, в котором сервис обработки данных выполняется на одной или нескольких виртуальных машинах.
3. Способ по п. 1, в котором проблемой функционирования является полная неработоспособность сервиса обработки данных.
4. Способ по п. 1, в котором проблемой функционирования является частичная неработоспособность сервиса обработки данных.
5. Способ по п. 1, в котором ресурс, связанный с сервисом обработки данных, является элементом сети передачи данных.
6. Способ по п. 1, в котором ресурс, связанный с сервисом обработки данных, является виртуальной машиной.
7. Способ по п. 1, в котором ресурс, связанный с сервисом обработки данных, является управляющим компонентом, на котором исполняется сервис безопасности для виртуальных машин.
8. Способ по п. 1, в котором исполняемый файл выполняет действия, необходимые для выявления причины проблемы функционирования по меньшей мере одного сервиса обработки данных.
9. Способ по п. 1, в котором исполняемый файл выполняет действия, необходимые для выявления способов устранения причины проблемы функционирования по меньшей мере одного сервиса обработки данных.
10. Способ по п. 1, в котором исполняемый файл выполняет действия, необходимые для устранения причины проблемы функционирования по меньшей мере одного сервиса обработки данных.
RU2019122434A 2019-07-17 2019-07-17 Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины RU2747465C2 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2019122434A RU2747465C2 (ru) 2019-07-17 2019-07-17 Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
US16/774,542 US20210019210A1 (en) 2019-07-17 2020-01-28 System and method of eliminating operational problem of services in a data transmission network containing virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019122434A RU2747465C2 (ru) 2019-07-17 2019-07-17 Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины

Publications (3)

Publication Number Publication Date
RU2019122434A RU2019122434A (ru) 2021-01-18
RU2019122434A3 RU2019122434A3 (ru) 2021-01-18
RU2747465C2 true RU2747465C2 (ru) 2021-05-05

Family

ID=74185032

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019122434A RU2747465C2 (ru) 2019-07-17 2019-07-17 Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины

Country Status (2)

Country Link
US (1) US20210019210A1 (ru)
RU (1) RU2747465C2 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817908A (zh) * 2022-04-18 2022-07-29 北京凝思软件股份有限公司 一种双机热备软件的自我隔离方法、系统、终端及介质

Citations (5)

* Cited by examiner, † Cited by third party
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 (ru) * 2012-10-12 2016-12-10 Конинклейке Филипс Н.В. Безопасная обработка данных виртуальной машиной

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 (ru) * 2012-10-12 2016-12-10 Конинклейке Филипс Н.В. Безопасная обработка данных виртуальной машиной
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
RU2019122434A (ru) 2021-01-18
RU2019122434A3 (ru) 2021-01-18
US20210019210A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
Larsson et al. Impact of etcd deployment on Kubernetes, Istio, and application performance
US10489232B1 (en) Data center diagnostic information
US9218231B2 (en) Diagnosing a problem of a software product running in a cloud environment
US9104798B2 (en) Enabling remote debugging of virtual machines running in a cloud environment
US20170141988A1 (en) Using an sdn controller for synchronized performance measurement of virtualized environments
JP2016537695A (ja) マルウェアコンテンツ検出システム内の仮想マシンへの最適化されたリソース割当て
US10824547B2 (en) Automated certification testing for application deployment
CA2691666A1 (en) System and method for simulating computer network attacks
US9282100B2 (en) Privilege separation
US8429717B2 (en) Method for activating virtual machine, apparatus for simulating computing device and supervising device
US20210326196A1 (en) A remediation system to prevent incompatible program module installation in an information processing system
Zhuang et al. {NetCheck}: Network Diagnoses from Blackbox Traces
US9021008B1 (en) Managing targeted scripts
US11138313B2 (en) Malware detection based on user interactions
KR102262395B1 (ko) Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치
US20230214229A1 (en) Multi-tenant java agent instrumentation system
US9645874B2 (en) Analyzing OpenManage integration for troubleshooting log to determine root cause
Malik et al. A measurement study of open source SDN layers in OpenStack under network perturbation
JP5400873B2 (ja) ソフトウェア問題を識別するための方法、システム、およびコンピュータ・プログラム
RU2747465C2 (ru) Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
JP2019103069A (ja) 特定システム、特定方法及び特定プログラム
Tay et al. Greenhouse:{Single-Service} Rehosting of {Linux-Based} Firmware Binaries in {User-Space} Emulation
RU2748963C2 (ru) Система и способ выявления проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
US11494284B2 (en) Dynamic configuration trace capture technique
US11354220B2 (en) Instrumentation trace capture technique