RU2739867C1 - Method of determining application module associated with cause of problem encountered during operation of application - Google Patents
Method of determining application module associated with cause of problem encountered during operation of application Download PDFInfo
- Publication number
- RU2739867C1 RU2739867C1 RU2019138378A RU2019138378A RU2739867C1 RU 2739867 C1 RU2739867 C1 RU 2739867C1 RU 2019138378 A RU2019138378 A RU 2019138378A RU 2019138378 A RU2019138378 A RU 2019138378A RU 2739867 C1 RU2739867 C1 RU 2739867C1
- Authority
- RU
- Russia
- Prior art keywords
- application
- modules
- module
- cause
- diagnostic rule
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Область техникиTechnology area
Изобретение относится к области информационной безопасности, а более конкретно к способам определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения.The invention relates to the field of information security, and more specifically to methods for determining the application module associated with the cause of the problem that occurred during the operation of the application.
Уровень техникиState of the art
Современные компьютерные приложения (программное обеспечение, ПО) являются технически сложными, и поэтому неизбежно могут содержать программные ошибки. Программные ошибки могут влиять как на функциональность самого приложения, так и на функциональность стороннего ПО, операционной системы (ОС) и различных сервисов ОС. А при взаимодействии приложения со сторонним ПО или с ОС, из-за программной ошибки стороннего ПО или ОС могут возникнуть неполадки в работе компьютера. Например, если приложение использует драйвер ОС, в котором содержится программная ошибка, может возникнуть неполадка, такая как, например, перезагрузка компьютера, отключение указанного драйвера или другая неполадка. Однако, даже из-за ошибки в ОС, для возобновления корректной работы приложения, зачастую быстрее будет изменить или отключить функциональность приложения, использующего ошибку ОС, чем ждать обновления ОС, в котором исправят указанную ошибку. Многое современное ПО использует модульную архитектуру. То есть содержит множество независимых модулей (компонентов, драйверов, плагинов), каждый из которых отвечает за определенный функционал ПО. Поэтому, в случае возникновении неполадок, связанных с работой приложения (как из-за программных ошибок в самом приложении, так и из-за программных ошибок в стороннем ПО и ОС), системные администраторы, обычно, вручную ищут модуль приложения, связанный с неполадкой. После чего отключают найденный модуль, пока истинная причина неполадки не будет найдена и исправлена. Поэтому возникает техническая проблема, заключающаяся в сложности определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения.Modern computer applications (software, software) are technically complex and therefore may inevitably contain software errors. Software errors can affect both the functionality of the application itself and the functionality of third-party software, operating system (OS), and various OS services. And when the application interacts with third-party software or OS, due to a software error of third-party software or OS, computer malfunctions may occur. For example, if an application uses an OS driver that contains a software error, a problem may occur, such as restarting the computer, disabling the specified driver, or other problem. However, even due to an error in the OS, in order to resume the correct operation of the application, it will often be faster to change or disable the functionality of the application using the OS error than to wait for the OS update, which will fix the specified error. A lot of modern software uses a modular architecture. That is, it contains many independent modules (components, drivers, plugins), each of which is responsible for a specific software functionality. Therefore, in case of problems related to the operation of the application (both due to software errors in the application itself, and due to software errors in third-party software and OS), system administrators usually manually search for the application module associated with the problem. After that, the found module is turned off until the true cause of the problem is found and fixed. Therefore, a technical problem arises in that it is difficult to determine the application module associated with the cause of the problem that occurred during the application.
Из уровня техники известны различные способы поиска ошибок в приложениях, в частности, в патенте US 9442832 описан способ обнаружения ошибок в приложении путем симуляции действий пользователя, повлекших возникновение ошибки. В заявке US 20190129824 описан модуль, собирающий информацию о действиях пользователя в приложении. При получении информации об ошибке, модуль передает службе поддержки записи действий пользователя и информацию от устройства для дальнейшего определения причин возникшей ошибки.Various methods of searching for errors in applications are known from the prior art, in particular, US Pat. No. 9,442,832 describes a method for detecting errors in an application by simulating user actions that caused the error. Application US 20190129824 describes a module that collects information about user actions in an application. Upon receipt of information about an error, the module transmits to the support service records of user actions and information from the device to further determine the causes of the error.
Однако, известные из уровня техники технологии не позволяют решить заявленную техническую проблему, поэтому возникает необходимость в способе определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения.However, the technologies known from the prior art do not solve the claimed technical problem, therefore, there is a need for a method for determining the application module associated with the cause of the problem that occurred during the operation of the application.
Раскрытие сущности изобретенияDisclosure of the essence of the invention
Технический результат заключается в реализации назначения.The technical result consists in the implementation of the purpose.
Согласно варианту реализации используется способ определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения, реализуемый компьютером, в котором: отключают по меньшей мере один модуль приложения в соответствии с правилом диагностики для упомянутой неполадки; проверяют устранение неполадки вследствие отключения по меньшей мере одного модуля приложения; и в случае устранения неполадки, определяют по меньшей мере один упомянутый модуль приложения, как связанный с причиной неполадки.According to an embodiment, a computer-implemented method for determining an application module associated with the cause of a problem that occurs during the operation of an application is used, in which: at least one application module is disabled in accordance with a diagnostic rule for said problem; checking the elimination of the problem due to the disconnection of at least one application module; and if the problem is corrected, at least one said application module is determined as associated with the cause of the problem.
Согласно одному из вариантов реализации правило диагностики определяет порядок отключения модулей приложения для проверки устранения неполадки.In one implementation, the diagnostic rule determines the order in which application modules are disabled to test that the problem has been resolved.
Согласно другому варианту реализации правило диагностики дополнительно определяет порядок включения модулей приложения для проверки устранения неполадки.In another implementation, the diagnostic rule further defines the order in which application modules are enabled to test for a problem.
Согласно еще одному варианту реализации порядок отключения модулей приложения зависит от частоты возникновения неполадки из-за соответствующего модуля приложения.In another embodiment, the order in which the application modules are disabled depends on the frequency of the problem due to the corresponding application module.
Согласно одному из вариантов реализации если отключили по меньшей мере два модуля приложения, после чего неполадка была устранена, включают упомянутые модули приложения и повторяют предыдущие шаги, поочередно отключая каждый из упомянутых модулей приложения в соответствии с правилом диагностики, при этом, если после отключения каждого из упомянутых модулей приложения в соответствии с правилом диагностики, неполадка не была устранена, определяют упомянутые по меньшей мере два модуля приложения как связанные с причиной неполадки.According to one of the embodiments, if at least two application modules were disabled, after which the problem was eliminated, the mentioned application modules are turned on and the previous steps are repeated, alternately disabling each of the mentioned application modules in accordance with the diagnostic rule, while if after disabling each of of the mentioned application modules in accordance with the diagnostic rule, the problem was not resolved, identify the mentioned at least two application modules as related to the cause of the problem.
Согласно другому варианту реализации в случае сохранения неполадки повторяют предыдущие шаги с учетом правила диагностики и результатов выполненной проверки до наступления одного из условий: устранения неполадки; невозможности устранения неполадки после отключения модулей приложения в соответствии с правилом диагностики, при этом определяют отсутствие модулей приложения, связанных с причиной неполадки.According to another embodiment, if the problem persists, the previous steps are repeated taking into account the diagnostic rule and the results of the performed check until one of the following conditions occurs: elimination of the problem; the failure to resolve the problem after disabling the application modules in accordance with the diagnostic rule, while determining the absence of application modules associated with the cause of the problem.
Согласно еще одному варианту реализации перед повторением предыдущих шагов включают по меньшей мере один ранее отключенный модуль приложения.In another embodiment, at least one previously disabled application module is turned on before repeating the previous steps.
Согласно одному из вариантов реализации в ходе проверки устранения неполадки включают трассировку работы приложения в журнал трассировки и, в случае, определения по меньшей мере одного модуля приложения, как связанного с причиной неполадки, используют журнал для определения по меньшей мере одного упомянутого модуля приложения, как связанного с причиной неполадки, а в случае невозможности устранения неполадки, передают упомянутый журнал трассировки на удаленный сервер для определения по меньшей мере одного упомянутого модуля приложения, как связанного с причиной неполадки.In one implementation, the troubleshooting check includes a trace of application activity in the trace log and, if at least one application module is identified as associated with the cause of the problem, the log is used to determine at least one said application module as related. with the cause of the problem, and if it is impossible to eliminate the problem, transfer said trace log to the remote server to determine at least one said application module as associated with the cause of the problem.
Согласно другому варианту реализации правило диагностики определяет необходимость перезапуска приложения или перезагрузки операционной системы (далее - ОС) после отключения по меньшей мере одного определенного модуля приложения, при этом перезагрузка приложения или соответственно ОС осуществляется после отключения упомянутого модуля приложения.According to another embodiment, the diagnostic rule determines the need to restart the application or restart the operating system (hereinafter referred to as OS) after disabling at least one specific application module, while the application or OS is rebooted after the said application module is disabled.
Согласно еще одному варианту реализации тип неполадки является, в частности, одним из: аварийным завершением работы операционной системы; выгрузкой процесса приложения из памяти; зависанием приложения; зависанием операционной системы; повышенной нагрузкой на процессор по сравнению с типичной нагрузкой на процессор при работе упомянутого модуля; снижением производительности по сравнению с типичным значением производительности при работе упомянутого модуля; избыточным использованием ресурсов; снижением скорости сетевого трафика; недоступностью сети; наличием программной ошибки в коде модуля упомянутого приложения; наличием программной ошибки в коде по меньшей мере одного стороннего приложения, установленного на компьютере; наличием программной ошибки в операционной системе; предоставлением несанкционированного доступа; наличием известной уязвимости.In another embodiment, the type of problem is, in particular, one of: abnormal termination of the operating system; unloading the application process from memory; freezing of the application; freezing of the operating system; increased load on the processor compared to the typical load on the processor during the operation of the said module; a decrease in productivity compared to the typical value of productivity during the operation of the said module; excessive use of resources; decrease in the speed of network traffic; network unavailability; the presence of a program error in the code of the module of the mentioned application; the presence of a software error in the code of at least one third-party application installed on the computer; the presence of a software error in the operating system; providing unauthorized access; a known vulnerability.
Согласно одному из вариантов реализации проверяют устранение неполадки путем воспроизведения действий пользователя на компьютере и состояния компьютера, предшествующих возникновению неполадки, и последующей проверки возникновения неполадки.One implementation verifies the problem by replaying user actions on the computer and the state of the computer prior to the problem, and then verifying that the problem occurred.
Согласно другому варианту реализации модуль приложения является, в частности, одним из: компонентом приложения, драйвером, библиотекой.In another embodiment, the application module is, in particular, one of: an application component, a driver, a library.
Согласно еще одному варианту реализации при отключении определенных модулей запрашивают подтверждения отключения упомянутых модулей у пользователя.According to another embodiment, when certain modules are disabled, the user is asked to confirm the disconnection of said modules.
Согласно одному из вариантов реализации обновляют правила диагностики с использованием удаленного сервера.In one embodiment, the diagnostic rules are updated using a remote server.
Согласно другому варианту реализации каждому правилу диагностики соответствует вес, определяющий порядок применения правила диагностики для данного типа неполадки, в случае, если для данного типа неполадки задано более одного правила диагностики.According to another implementation, each diagnostic rule has a weight that determines how the diagnostic rule is applied for a given problem type, if more than one diagnostic rule is defined for this problem type.
Согласно еще одному варианту реализации правило диагностики зависит, в частности, от одного из: версии приложения; версий модулей упомянутого приложения; версии ОС; установленных сторонних приложений; установленного оборудования компьютера; установленных драйверов.In another embodiment, the diagnostic rule depends, in part, on one of: the version of the application; versions of the modules of the mentioned application; OS version; installed third-party applications; installed computer hardware; installed drivers.
Краткое описание чертежейBrief Description of Drawings
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых: На Фиг. 1 представлен пример архитектуры операционной системы (ОС).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: FIG. 1 shows an example of an operating system (OS) architecture.
На Фиг. 2 приведен возможный набор модулей приложения на примере антивирусного приложения.FIG. 2 shows a possible set of application modules using the example of an anti-virus application.
На Фиг. 3 представлен способ определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения.FIG. 3 shows a method for identifying the application module associated with the cause of an application problem.
На Фиг. 4 представлен пример реализации способа устранения неполадки, возникшей при работе приложения.FIG. 4 shows an example of the implementation of a method for troubleshooting a problem that occurred during the operation of the application.
Фиг. 5 представляет пример компьютерной системы общего назначенияFIG. 5 presents an example of a general purpose computer system
Осуществление изобретенияImplementation of the invention
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.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 foregoing description is intended to assist a person skilled in the art for a comprehensive understanding of the invention, which is defined only within the scope of the appended claims.
На Фиг. 1 представлен пример архитектуры операционной системы (ОС). После загрузки операционной системы, установленной на компьютере пользователя 100, процессор компьютера может работать в пользовательском режиме (англ. user mode) или в режиме ядра (англ. kernel mode). В пользовательском режиме приложения имеют доступ только к своему виртуальному адресному пространству и не имеют доступ к адресному пространству других приложений или адресному пространству, зарезервированному ОС. В этом режиме работают приложения 110 и драйверы пользовательского режима 130. Приложения, выполняющиеся в режиме ядра имеют общее адресное пространство. В режиме ядра работают драйверы режима ядра 140, ядро операционной системы 160 и соответственно подпрограммы поддержки драйверов 150.FIG. 1 shows an example of an operating system (OS) architecture. After loading the operating system installed on the user's computer 100, the computer's processor can operate in user mode or in kernel mode. In user mode, applications only have access to their virtual address space and do not have access to the address space of other applications or the address space reserved by the OS. In this mode, applications 110 and user-mode drivers 130 operate. Applications that run in kernel mode share a common address space. Kernel mode is used by kernel mode 140 drivers, operating system kernel 160 and, accordingly,
Приложения 110, а также драйверы пользовательского режима 130 взаимодействуют с ядром операционной системы 160 посредством интерфейса прикладных программ 120 (англ. application program interface - API). Драйверы режима ядра 140 используются для взаимодействия ядра ОС 160 и драйверов пользовательского режима 130 с аппаратным обеспечением 180 через слой аппаратных абстракций 170 (англ. Hardware Abstraction Layer - HAL). Кроме того, драйверы режима ядра 140 могут включать фильтр-драйверы, которые расширяют или изменяют поведения устройств. Изобретение, раскрываемое в настоящей заявке, служит для определения модуля приложения 111, связанного с причиной неполадки, возникшей при работе приложения 111. Для определенности, приложения 112-113 будут называться сторонними приложениями 112-113 по отношению к приложению 111. Приложение 111 может быть любым программный обеспечением, установленным на компьютере пользователя 100, в частности, антивирусным приложением. Далее, для определенности, приложение 111 будет рассматриваться на примере антивирусного приложения.Applications 110, as well as user-mode drivers 130, interact with the kernel of the operating system 160 through an application program interface (API) 120. Kernel-mode drivers 140 are used to communicate between the OS kernel 160 and the user-mode drivers 130 with the hardware 180 through the Hardware Abstraction Layer (HAL) 170. In addition, kernel mode drivers 140 may include filter drivers that extend or modify device behavior. The invention disclosed in this application serves to define the application module 111 associated with the cause of the problem that occurred during the operation of application 111. To be specific, applications 112-113 will be referred to as third-party applications 112-113 with respect to application 111. Application 111 can be anything software installed on the user's computer 100, in particular, an anti-virus application. Further, for the sake of clarity, application 111 will be considered on the example of an antivirus application.
Приложение 111 содержит модули определенного функционала. К числу таких модулей могут относиться некоторые драйверы пользовательского режима 130 и драйверы режима ядра 140, необходимые для выполнения функционала приложения. Особенностью большинства современных приложений, в частности, антивирусных приложений является наличие большого количества модулей, таких как файловый сканер, эмулятор, сетевой экран, различные драйверы, например, фильтр-драйверы и другие модули (более подробно модули приложения описаны на Фиг. 2). Таким образом, в процессе работы приложения 111 могут возникать различные неполадки (повышенная нагрузка на процессор по сравнению с обычной нагрузкой на процессор при работе упомянутого модуля, снижение производительности, зависание ОС и др.). Такие неполадки могут быть вызваны программными ошибками в одном из модулей приложения 111. Также неполадки могут быть вызваны несовместимостью одного из модулей приложения 111 со сторонними приложениями 112-113 из-за программных ошибок в сторонних приложениях 112-113. В еще одном примере, неполадки могут быть вызваны несовместимостью одного из модулей приложения с ОС 160 или драйверами пользовательского режима 130 или драйверами режима ядра 140. Например, если модуль приложения 111 обращается к функции драйвера режима ядра 140, при этом в упомянутом драйвере присутствует ошибка, то может возникнуть неполадка, такая как перезагрузка компьютера. Для решения заявленной технической проблемы и достижения технического результата используется способ определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения, реализуемый компьютером, а именно средством диагностики 115. Средство диагностики 115 является одним из приложений 110. В частном примере реализации средство диагностики 115 является модулем приложения 111. В другом частном примере реализации, средство диагностики 115 является отдельным приложением.Application 111 contains modules of certain functionality. Such modules may include some of the user-mode drivers 130 and the kernel-mode drivers 140 required to execute the functionality of the application. A feature of most modern applications, in particular antivirus applications, is the presence of a large number of modules, such as a file scanner, emulator, firewall, various drivers, for example, filter drivers and other modules (application modules are described in more detail in Fig. 2). Thus, during the operation of the application 111, various problems may occur (increased load on the processor compared to the normal load on the processor during the operation of the said module, decreased performance, freeze of the OS, etc.). Such problems can be caused by software errors in one of the modules of application 111. Also, problems can be caused by the incompatibility of one of the modules of application 111 with third-party applications 112-113 due to software errors in third-party applications 112-113. In another example, problems can be caused by the incompatibility of one of the application modules with the OS 160 or the user-mode drivers 130 or the kernel-mode drivers 140. For example, if the application module 111 accesses a function of the kernel-mode driver 140, and there is an error in said driver, then a problem such as restarting the computer may occur. To solve the claimed technical problem and achieve a technical result, a method is used to determine the application module associated with the cause of the problem that occurred during the operation of the application, implemented by the computer, namely by the diagnostic tool 115. The diagnostic tool 115 is one of the applications 110. In a particular implementation example, the diagnostic tool 115 is an application module 111. In another particular implementation, diagnostic tool 115 is a separate application.
На Фиг. 2 приведен возможный набор модулей приложения 111 на примере антивирусного приложения. Антивирусное приложение может содержать модули, предназначенные для обеспечения безопасности компьютера: файловый сканер, почтовый антивирус, веб-антивирус, модуль проактивной защиты, модуль HIPS (англ. Host Intrusion Prevention System - система предотвращения вторжений), DLP-модуль (англ. data loss prevention - предотвращение утечки данных), сканер уязвимостей, эмулятор, сетевой экран и др. В частном примере реализации указанные модули могут быть составной частью антивирусного приложения. В еще в одном примере реализации данные модули могут быть реализованы в виде отдельных программных компонентов.FIG. 2 shows a possible set of modules for application 111 using an antivirus application as an example. An antivirus application can contain modules designed to ensure computer security: file scanner, mail antivirus, web antivirus, proactive protection module, HIPS module (Host Intrusion Prevention System), DLP module (data loss prevention - data leakage prevention), a vulnerability scanner, an emulator, a firewall, etc. In a particular implementation example, these modules can be part of an anti-virus application. In yet another embodiment, these modules may be implemented as separate software components.
Файловый сканер содержит функционал обнаружения вредоносной активности файлов на компьютерной системе пользователя. Файловый сканер может работать в различных режимах, например, в режиме сканирования файлов по доступу (англ. on-access scanner) или по требованию (англ. on-demand scanner). В режиме сканирования файлов по доступу, сканируют открываемые, запускаемые и сохраняемые файлы. В режиме сканирования файлов по требованию сканируют заданные пользователем файлы и директории по требованию пользователя.The file scanner contains functionality for detecting malicious file activity on the user's computer system. The file scanner can operate in various modes, for example, in the on-access scanner or on-demand scanner. On-access file scanning mode scans opened, launched and saved files. On-demand file scan mode scans user-specified files and directories at the user's request.
Почтовый антивирус необходим для контроля входящей и исходящей электронной почты на предмет содержания вредоносных объектов. Веб-антивирус служит для предотвращения исполнения вредоносного кода, который может содержаться на веб-сайтах при их посещении пользователем, а также для блокирования открытия веб-сайтов. Модуль HIPS служит для обнаружения нежелательной и вредоносной активности программ и блокирования ее в момент исполнения. DLP-модуль служит для обнаружения и предотвращения утечки конфиденциальных данных за пределы компьютера или сети. Сканер уязвимостей необходим для обнаружения уязвимостей на компьютере (например, отключены некоторые компоненты средства защиты, устаревшие вирусные базы, закрыт сетевой порт и пр.). Сетевой экран осуществляет контроль и фильтрацию сетевого трафика в соответствии с заданными правилами. Работа эмулятора заключается в имитации гостевой системы во время исполнения кода в эмуляторе. Модуль проактивной защиты использует поведенческие сигнатуры для обнаружения поведения исполняемых файлов и их классификации по уровню доверия. Модуль самозащиты служит для предотвращения несанкционированного отключения антивирусного приложения и других попыток нарушить его нормальное функционирование.Mail antivirus is required to monitor incoming and outgoing e-mail for malicious objects. Web antivirus is used to prevent the execution of malicious code that may be contained on websites when the user visits them, as well as to block the opening of websites. The HIPS module is used to detect unwanted and malicious program activity and block it at the time of execution. DLP module is used to detect and prevent leakage of confidential data outside the computer or network. Vulnerability Scanner is required to detect vulnerabilities on a computer (for example, some protection components are disabled, outdated virus databases, a network port is closed, etc.). Firewall monitors and filters network traffic in accordance with the specified rules. The emulator's job is to simulate the guest system while executing code in the emulator. The proactive defense module uses behavioral signatures to detect the behavior of executable files and classify them by trust level. The self-defense module is used to prevent unauthorized shutdown of the anti-virus application and other attempts to disrupt its normal operation.
На Фиг. 3 представлен способ определения модуля приложения, связанного с причиной неполадки, возникшей при работе приложения, реализуемый компьютером, а именно средством диагностики 115. На шаге 301 средство диагностики 115 получает информацию о неполадке, возникшей при работе приложения. Такая информация о неполадке может включать, в частности, факт наличия неполадки, тип неполадки. Информация о неполадке может быть получена, например, от пользователя компьютера или от одного из модулей приложения 111, который зафиксировал неполадку, а также от ОС (например, из дампов памяти или при критической ошибке ядра ОС). Модуль приложения 111 может определить наличие неполадки и соответствующий тип неполадки, например, если произошло нештатное завершение работы указанного модуля или если ресурсы приложения 111 или ОС стали недоступны.FIG. 3 shows a method for determining an application module associated with the cause of an application problem, implemented by a computer, namely diagnostic tool 115. At
Затем, на шаге 302 отключают по меньшей мере один модуль приложения в соответствии с правилом диагностики для данного типа неполадки. Далее, на шаге 303 проверяют устранение неполадки вследствие отключения по меньшей мере одного модуля приложения. И, в случае устранения неполадки (шаг 304), на шаге 305 определяют по меньшей мере один модуль приложения, как связанный с причиной неполадки. При этом, в одном примере реализации в случае сохранения неполадки (шаг 306) повторяют шаги 302-304 с учетом правила диагностики и результатов выполнения проверки на шаге 303, до наступления одного из условий: устранения неполадки либо невозможности устранения неполадки после отключения модулей приложения в соответствии с правилом диагностики, при этом определяют отсутствие модулей приложения, связанных с причиной неполадки (шаг 307). В еще одном частном примере реализации, перед повторением шагов 302-304, включают по меньшей мере один ранее отключенный модуль. При этом, в случае отсутствия модулей приложения, связанных с причиной неполадки, отключенные ранее модули приложения 111 будут вновь включены для корректной работы приложения 111.Then, at step 302, at least one application module is disabled in accordance with a diagnostic rule for this type of problem. Next, at
В одном частном примере реализации в ходе проверки устранения неполадки на шаге 303, средство диагностики 115 может запросить у пользователя воспроизвести шаги, предшествующие возникновению неполадки. После чего пользователь сообщит об устранении неполадки или о сохранении неполадки. В другом частном примере реализации, средство диагностики 115 может самостоятельно воспроизвести шаги, предшествующие возникновению неполадки и проверить, устранена ли неполадка. Например, если неполадка заключалась в недоступности ресурсов ОС, то после воспроизведения упомянутых шагов, средство диагностики 115 проверит, стали ли доступны ресурсы ОС.In one particular implementation, during a troubleshooting test at
В частном примере реализации после отключения по меньшей мере одного модуля приложения, средство диагностики 115 может перезапустить приложение 111. В другом частном примере реализации после отключения по меньшей мере одного модуля приложения средство диагностики 115 может перезапустить ОС 160. Например, если был отключен драйвер, для полного отключения упомянутого драйвера потребуется перезагрузка ОС 160.In a particular implementation, after disabling at least one application module, the diagnostic tool 115 can restart the application 111. In another particular implementation, after disabling at least one application module, the diagnostic tool 115 can restart the OS 160. For example, if the driver was disabled, for completely disabling said driver will require a reboot of OS 160.
В частном примере реализации правило диагностики определяет порядок отключения (или включения) модулей приложения 111 для проверки устранения неполадки. В еще одном частном примере реализации порядок отключения модулей приложения зависит от частоты возникновения неполадки из-за соответствующего модуля приложения.In a particular implementation example, the diagnostic rule determines the order in which the application modules 111 are disabled (or enabled) to verify that the problem is resolved. In yet another particular implementation, the order in which the application modules are disabled depends on the frequency of the problem due to the corresponding application module.
В еще одном частном примере реализации, если на шаге 302 отключили по меньшей мере два модуля приложения, после чего неполадка была устранена, повторяют шаги 302-304, поочередно отключая каждый из упомянутых модулей приложения в соответствии с правилом диагностики. При этом, если после отключения каждого из упомянутых модулей приложения в соответствии с правилом диагностики, неполадка не была устранена, определяют упомянутые по меньшей мере два модуля приложения как связанные с причиной неполадки. Это соответствует шагу 304а.In another particular embodiment, if at step 302 at least two application modules have been disabled and the problem has been resolved, steps 302-304 are repeated, alternately disabling each of said application modules in accordance with a diagnostic rule. In this case, if, after disconnecting each of the mentioned application modules in accordance with the diagnostic rule, the problem has not been eliminated, the mentioned at least two application modules are determined as related to the cause of the problem. This corresponds to step 304a.
В частном примере реализации после устранения неполадки, изменяют порядок отключения модулей приложения в правиле диагностики таким образом, чтобы сократить время обнаружения неполадки. Для этого, например, на удаленном сервере могут собирать данные о результатах обнаружения неполадок с различных компьютеров пользователей согласно способу по Фиг. 3. Такая информация может включать, в частности: тип неполадки; время с момента получения информации о неполадке до устранения неполадки; правила диагностики, использованные для устранения неполадки; количество повторений способа (согласно порядку отключения модулей приложения), после которых неполадка была устранена. После анализа полученной информации, правила диагностики могут быть изменены для сокращения времени обнаружения неполадки. В частности, если какое-либо правило диагностики не использовалось для устранения неполадки определенного типа, вес упомянутого правила диагностики может быть снижен или правило диагностики может быть удалено. И наоборот - если для определенного типа неполадки правило с меньшим весом чаще позволяло устранить неполадку, чем правило с большим весом, то веса правил могут быть скорректированы пропорционально частоте, с которой они использовали при устранении неполадки.In a particular implementation example, after troubleshooting the problem, change the order in which application modules are disabled in the diagnostic rule in such a way as to reduce the time it takes to detect the problem. For this, for example, data on the results of the problem detection from various user computers can be collected on a remote server according to the method of FIG. 3. Such information may include, but is not limited to: the type of problem; time from the moment information about the problem is received until the problem is resolved; Diagnostic rules used to troubleshoot the problem the number of repetitions of the method (according to the order of disconnecting application modules), after which the problem was resolved. After analyzing the information received, the diagnostic rules can be changed to reduce the time it takes to detect a problem. In particular, if a diagnostic rule was not used to troubleshoot a particular type of problem, the weight of the said diagnostic rule may be reduced or the diagnostic rule may be deleted. Conversely, if for a particular type of problem, a rule with a lower weight was more likely to fix the problem than a rule with a higher weight, then the weights of the rules can be adjusted in proportion to the frequency with which they were used to solve the problem.
В другом примере, если в правиле диагностики присутствует модуль, который ни на одном компьютере пользователя не был определен как связанный с причиной неполадки, упомянутый модуль могут исключить из правила диагностики. Это позволит сократить количество отключаемых модулей согласно правилу диагностики и снизить время обнаружения неполадки.In another example, if a diagnostic rule contains a module that has not been identified as associated with the cause of the problem on any of the user's computers, the module can be excluded from the diagnostic rule. This will reduce the number of modules to be disabled according to the diagnostic rule and reduce the time it takes to detect a problem.
В еще одном примере реализации, для изменения правил диагностики с целью сокращения времени обнаружения неполадки, могут использоваться алгоритмы машинного обучения, обучаемые на данных о результатах обнаружения неполадок, перечисленных выше.In another example implementation, machine learning algorithms can be used to train on the data on the results of the detection of the problems listed above to change the diagnostic rules in order to reduce the time to detect a problem.
Возможные правила диагностики для приложения 111 на примере антивирусного приложения (см. Фиг. 2) представлены в таблице 1. Так, при снижении сетевого трафика, согласно правилу 1 из таблицы 1, на шаге 302 первым отключают модуль самозащиты. Затем, после выполнения шага 303 на шаге 304 проверяют устранение неполадки. И, если неполадка не будет устранена, шаги 302-303 повторяют для сетевого экрана. Аналогично, если неполадка не будет устранена, шаги 302-303 повторяют для сканера уязвимости. Т.к. сканер уязвимости - последний модуль в правиле 1, то в случае сохранения неполадки после отключения сканера уязвимости, на шаге 307 определяют отсутствие модулей приложения, связанных с причиной неполадки. То есть причина неполадки не в приложении 111 и не в модулях приложения 111.Possible diagnostic rules for application 111 using an anti-virus application as an example (see Fig. 2) are presented in Table 1. Thus, when the network traffic decreases, according to rule 1 from Table 1, at step 302, the self-defense module is disabled first. Then, after
Правило 2 также служит для определения неполадки типа «снижение сетевого трафика». Правило 2 соответствует шагу 304а. Согласно правилу 2 вначале отключают приложение 111 целиком (то есть все модули приложения), чтобы определить, связана ли неполадка с приложением 111. Затем локализуют модуль или несколько модулей, связанных с неполадкой. Таким образом, далее возобновляют работу приложения 111, после чего отключают сетевой экран и, если это не устранит неполадку, отключают веб-антивирус.Rule 2 is also used to identify a low traffic problem. Rule 2 corresponds to step 304a. Rule 2 first disables the entire application 111 (that is, all application modules) to determine if the problem is with application 111. Then, the module or multiple modules associated with the problem are localized. Thus, the application 111 is then resumed, after which the firewall is turned off and, if this does not fix the problem, the web antivirus is turned off.
При этом, если и отключение веб-антивируса не привело к устранению неполадки, определяют целиком приложение 111 как связанное с неполадкой. Правило 3 в таблице 1 может применяться, когда тип неполадки заключается в недоступности ресурсов стороннего приложения, например, если почтовый клиент не отправляет и не принимает почту. В этом случае будет отключен почтовый антивирус.However, if disabling Web Antivirus did not resolve the problem, the entire application 111 is identified as related to the problem. Rule 3 in Table 1 can be applied when the type of problem is the unavailability of third-party application resources, for example, if the mail client does not send or receive mail. In this case, mail antivirus will be disabled.
В частном примере реализации правила диагностики дополнительно зависят, в частности, от одного из:In a particular example of implementation, the diagnostic rules additionally depend, in particular, on one of:
а) версии приложения;a) application version;
б) версий модулей упомянутого приложения;b) versions of the modules of the mentioned application;
в) версии ОС;c) OS version;
г) установленных сторонних приложений;d) installed third-party applications;
д) установленного оборудования компьютера;e) installed computer hardware;
е) установленных драйверов.f) installed drivers.
В одном частном примере реализации в ходе проверки устранения неполадки включают трассировку работы приложения в журнал трассировки и, в случае, определения по меньшей мере одного модуля приложения, как связанного с причиной неполадки, используют журнал для определения по меньшей мере одного объекта упомянутого модуля приложения, как связанного с причиной неполадки. А в случае невозможности устранения неполадки, передают упомянутый журнал трассировки на удаленный сервер (на фигурах не указан) для определения по меньшей мере одного объекта упомянутого модуля приложения, как связанного с причиной неполадки. При этом трасса выполнения содержит непрерывную последовательность выполняемых на процессоре инструкций и снимки внутреннего состояния процессора при выполнении каждой инструкции процесса, вызванного из приложения 111.In one particular implementation example, during a troubleshooting check, a trace of application operation is included in the trace log and, in the event that at least one application module is identified as associated with the cause of the problem, the log is used to determine at least one object of said application module as related to the cause of the problem. And if it is impossible to eliminate the problem, the mentioned trace log is transmitted to a remote server (not indicated in the figures) to determine at least one object of the mentioned application module as associated with the cause of the problem. In this case, the execution trace contains a continuous sequence of instructions executed on the processor and snapshots of the internal state of the processor during the execution of each instruction of the process called from application 111.
В другом частном примере реализации правило диагностики определяет необходимость перезапуска приложения или перезагрузки операционной системы (далее - ОС) после отключения по меньшей мере одного определенного модуля приложения, при этом перезапуск приложения или соответственно перезагрузка ОС осуществляется после отключения упомянутого модуля приложения.In another particular example of implementation, the diagnostic rule determines the need to restart the application or reboot the operating system (hereinafter referred to as the OS) after disabling at least one specific application module, while the application is restarted or, accordingly, the OS is rebooted after the said application module is disabled.
В частном примере реализации неполадка при работе приложения, затронула, в частности, упомянутое приложение или стороннее приложение. Кроме того, неполадка может затронуть сервисы операционной системы, сетевое подключение или файловую систему.In a private example of implementation, a problem with the application, in particular, affected the mentioned application or third-party application. In addition, the problem can affect operating system services, network connection, or file system.
При этом, тип неполадки является, в частности, одним из:In this case, the type of problem is, in particular, one of:
а) аварийным завершением работы операционной системы;a) emergency shutdown of the operating system;
б) выгрузкой процесса приложения из памяти;b) unloading the application process from memory;
в) зависанием приложения;c) freezing of the application;
г) зависанием операционной системы;d) freezing of the operating system;
д) повышенной нагрузкой на процессор по сравнению с типичной нагрузкой на процессор при работе упомянутого модуля;e) increased load on the processor compared to the typical load on the processor during the operation of the said module;
е) снижением производительности по сравнению с типичным значением производительности при работе упомянутого модуля;f) a decrease in performance compared to the typical value of performance during the operation of the said module;
ж) избыточным использованием ресурсов;g) excessive use of resources;
з) снижением скорости сетевого трафика;h) reducing the speed of network traffic;
и) недоступностью сети;i) network unavailability;
к) наличием программной ошибки в коде модуля упомянутого приложения;j) the presence of a software error in the code of the module of the mentioned application;
л) наличием программной ошибки в коде по меньшей мере одного стороннего приложения, установленного на компьютере;k) the presence of a software error in the code of at least one third-party application installed on the computer;
м) наличием программной ошибки в операционной системе;l) the presence of a software error in the operating system;
н) предоставлением несанкционированного доступа; о) наличием известной уязвимости.m) providing unauthorized access; o) the presence of a known vulnerability.
Стоит отметить, что перечисленный список неполадок не является полным и может включать другие типа неполадок. Например, неполадка может возникнуть из-за зависания приложения 111, после которого по цепочке зависли одно или несколько сторонних приложений 112-113, ожидающих данные от первого приложения. При этом, применяя заявленное изобретение позволит определить модуль или модули приложения, вызывающие упомянутую неполадку, после отключения которых, работоспособность приложения 111 и приложений 112-113 будет восстановлена.It should be noted that this list of problems is not complete and may include other types of problems. For example, a problem may arise when application 111 hangs, after which one or more third-party applications 112-113 hang along the chain, waiting for data from the first application. At the same time, using the claimed invention, it will be possible to determine the application module or modules that cause the mentioned problem, after the disconnection of which, the operability of the application 111 and applications 112-113 will be restored.
В еще одном частном примере реализации проверяют устранение неполадки путем воспроизведения действий пользователя на компьютере и состояния компьютера, предшествующих возникновению неполадки, и последующей проверки возникновения неполадки. В еще одном частном примере реализации модуль приложения является, в частности, одним из: компонентом приложения, драйвером, библиотекой (динамической или статической).Another particular example of an implementation tests the problem by replaying user actions on the computer and the state of the computer prior to the occurrence of the problem, and then checking the problem. In another particular example of implementation, the application module is, in particular, one of: an application component, a driver, a library (dynamic or static).
В одном из частных примеров реализации при отключении определенных модулей запрашивают подтверждения отключения упомянутых модулей у пользователя. Запрос подтверждения может заключаться в необходимости ввести пароль, ввести капчу (англ. от САРТСНА - англ. Completely Automated Public Turing test to tell Computers and Humans Apart - полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей), нажать подтверждающую кнопку, отправить подтверждающую команду и пр.In one of the private examples of implementation, when certain modules are disabled, the user is asked to confirm the disconnection of said modules. A confirmation request may consist in the need to enter a password, enter a captcha (English from CAPTSNA - English Completely Automated Public Turing test to tell Computers and Humans Apart - a fully automated public Turing test to distinguish between computers and people), press the confirmation button, send a confirmation command etc.
В другом частном примере реализации обновляют правила диагностики с использованием удаленного сервера.In another particular implementation, the diagnostic rules are updated using a remote server.
В еще одном частном примере реализации каждому правилу диагностики соответствует вес, определяющий порядок применения правила диагностики для данного типа неполадки, в случае, если для данного типа неполадки задано более одного правила диагностики.In another particular example of implementation, each diagnostic rule has a weight that determines the order in which the diagnostic rule is applied for a given type of problem, if more than one diagnostic rule is specified for this type of problem.
На Фиг. 4 представлен пример реализации способа устранения неполадки, возникшей при работе приложения. После устранения неполадки (шаг 304) проверяют, возможно ли отключить меньшее количество модулей приложения (шаг 304а). Это необходимо, чтобы более точно определить, какой именно модуль приложения связан с причиной неполадки в том случае, если на шаге 302 было отключено два или более модулей приложения. В случае положительного ответа, на шаге 401 включают по меньшей мере один модуль приложения из числа отключенных модулей приложения в соответствии с правилом диагностики для упомянутой неполадки. Затем, на шаге 402 проверяют сохранение неполадки вследствие включения по меньшей мере одного модуля приложения.FIG. 4 shows an example of the implementation of a method for troubleshooting a problem that occurred during the operation of the application. After troubleshooting the problem (step 304), it is tested if it is possible to disable fewer application modules (
В случае сохранения неполадки, определяют по меньшей мере один упомянутый модуль приложения, как связанный с причиной неполадки (шаг 305). А в случае устранения неполадки, повторяют шаги 401-402 для по меньшей мере одного другого модуля приложения из числа отключенных модулей приложения.If the problem persists, at least one said application module is determined as associated with the cause of the problem (step 305). And if the problem is resolved, repeat steps 401-402 for at least one other application module from among the disabled application modules.
В частном примере реализации, если после отключения по меньшей мере двух модулей приложения, неполадка устранена (шаг 403), то включают по меньшей мере один модуль приложения из числа отключенных в соответствии с правилом диагностики для упомянутой неполадки и проверяют сохранение неполадки. При этом, если после включения по меньшей мере двух модулей приложения, ранее устраненная неполадка воспроизводится (шаг 402), то отключают по меньшей мере один модуль приложения из числа включенных в соответствии с правилом диагностики для упомянутой неполадки и проверяют устранение неполадки (шаги 403, 302, 303). Это необходимо, чтобы более точно определить, какой именно модуль приложения связан с причиной неполадки в том случае, если на шаге 401 было включено два или более модулей приложения.In a particular example of implementation, if after disconnecting at least two application modules, the problem is eliminated (step 403), then at least one application module is turned on from among those disabled in accordance with the diagnostic rule for the mentioned problem and the problem persistence is checked. In this case, if, after turning on at least two application modules, the previously resolved problem is reproduced (step 402), then at least one application module is turned off from among those included in accordance with the diagnostic rule for the mentioned problem and the troubleshooting is checked (steps 403, 302 , 303). This is necessary to more accurately determine which application module is associated with the cause of the problem if two or more application modules were included in
В итоге, на шаге 404 устраняют неполадку путем отключения по меньшей мере одного модуля приложения, который был определен как связанный с причиной неполадки. Таким образом, выполнение упомянутых шагов способа позволит более точно определить те модули, которые связаны с причиной неполадки и отключить их, без отключения других модулей, не связанных с причиной неполадки.Finally, at
Возможный пример работы способа по Фиг. 4 отражен в правиле 4 таблицы 1. В этом случае, при недоступности ресурсов стороннего приложения, вначале отключают все приложение, после чего включают все модули приложения за исключением почтового антивируса и проверяют устранение неполадки. Также очевидно, что при использовании правила 3 с помощью способа по Фиг. 3 и правила 4 с помощью способа по Фиг. 4 будет достигнут одинаковый результат.A possible example of the operation of the method of FIG. 4 is reflected in rule 4 of table 1. In this case, if the resources of a third-party application are unavailable, the entire application is first disabled, then all application modules are turned on except for the mail antivirus and the problem is checked. It is also obvious that when using rule 3 with the method of FIG. 3 and rule 4 using the method of FIG. 4 will achieve the same result.
В частном примере реализации, в случае устранения неполадки вследствие включения по меньшей мере одного модуля приложения, повторяют шаги 303-304а, 401 для по меньшей мере одного другого модуля приложения из числа отключенных модулей приложения с учетом правила диагностики и результатов выполненной проверки, при этом в случае устранения неполадки после включения всех модулей приложения в соответствии с правилом диагностики (то есть те модули, которые указаны в правиле диагностики), определяют по меньшей мере один модуль приложения, оказавшийся не включенным (то есть модуль, отсутствующий в правиле диагностики), как связанный с причиной неполадки. Очевидно, что после включения всех модулей приложения в соответствии с правилом диагностики, будут определены, как связанные с причиной неполадки, те модули приложения, которые были определены ранее, на шаге 304.In a particular implementation example, if the problem is eliminated due to the inclusion of at least one application module, steps 303-304a, 401 are repeated for at least one other application module from among the disabled application modules, taking into account the diagnostic rule and the results of the check performed, while in if the problem is resolved after enabling all application modules in accordance with the diagnostic rule (that is, those modules that are specified in the diagnostic rule), define at least one application module that was not included (that is, the module that is not in the diagnostic rule) as linked with the cause of the problem. Obviously, after enabling all application modules in accordance with the diagnostic rule, those application modules that were previously identified in
В одном частном примере реализации может быть осуществлен выбор правил диагностики - использовать правила диагностики, определяющие порядок отключения модулей или правила диагностики, определяющие порядок включения модулей или использовать все правила диагностики. Для этого, может быть выбран критерий, в зависимости от которого будет выбран один из вариантов правил диагностики. Критерий может быть, например, одним из следующих: сокращение времени определения модуля, сокращение количества итераций для определения модуля. Например, согласно критерию «сокращение времени определения модуля» правило 3 таблицы 1 будет предпочтительнее правила 4 таблицы 1. Т.к. в случае правила 4 потребуется вначале отключить все приложение, а затем включить все модули приложения за исключением почтового антивируса. Очевидно, что отключение приложения и включение модулей займет больше времени, чем отключение одного модуля, как в правиле 3. Кроме того, данный пример удовлетворяет также критерию «сокращение количества итераций для определения модуля», т.к. в правиле 4 - две итерации, а в правиле 3 - одна итерация.In one particular example of implementation, the choice of diagnostic rules can be made - use diagnostic rules that determine the order of disabling modules or diagnostic rules that determine the order of enabling modules, or use all diagnostic rules. For this, a criterion can be selected, depending on which one of the diagnostic rule options will be selected. The criterion can be, for example, one of the following: reducing the time for determining the module, reducing the number of iterations for determining the module. For example, according to the criterion "reducing the time for determining the module" rule 3 of table 1 will be preferable to rule 4 of table 1. Since in the case of rule 4, you will first need to disable the entire application, and then enable all application modules except for mail antivirus. It is obvious that disabling an application and enabling modules will take longer than disabling one module, as in rule 3. In addition, this example also satisfies the criterion of "reducing the number of iterations to define a module", since rule 4 has two iterations, and rule 3 has one iteration.
Стоит отметить, что частные варианты реализации, описанные к способу по Фиг. 3, также применимы и к способу по Фиг. 4.It should be noted that the particular embodiments described for the method of FIG. 3 are also applicable to the method of FIG. 4.
Таким образом, заявленное изобретение позволяет решить поставленную техническую проблему и достичь заявленный технический результат.Thus, the claimed invention allows solving the technical problem posed and achieving the claimed technical result.
Фиг. 5 представляет пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение. Персональный компьютер или сервер 20, содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 5 is an example of a general-purpose computer system with which the present invention may be implemented. The personal computer or
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 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, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The
Сетевые соединения могут образовывать локальную вычислительную сеть (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 (also information systems), internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks,
В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.In accordance with the description, the components, stages of execution, data structure described above can be performed using various types of operating systems, computer platforms, programs.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.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.
Claims (41)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019138378A RU2739867C1 (en) | 2019-11-27 | 2019-11-27 | Method of determining application module associated with cause of problem encountered during operation of application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019138378A RU2739867C1 (en) | 2019-11-27 | 2019-11-27 | Method of determining application module associated with cause of problem encountered during operation of application |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2739867C1 true RU2739867C1 (en) | 2020-12-29 |
Family
ID=74106452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019138378A RU2739867C1 (en) | 2019-11-27 | 2019-11-27 | Method of determining application module associated with cause of problem encountered during operation of application |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2739867C1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2462754C2 (en) * | 2006-12-29 | 2012-09-27 | Майкрософт Корпорейшн | Automatic detection and response to vulnerabilities |
US20130198565A1 (en) * | 2010-01-28 | 2013-08-01 | Drexel University | Detection, diagnosis, and mitigation of software faults |
US20150309906A1 (en) * | 2012-03-13 | 2015-10-29 | Truemetrics Llc | System and methods for automated testing of functionally complex systems |
US20190250978A1 (en) * | 2005-10-25 | 2019-08-15 | The Trustees Of Columbia University In The City Of New York | Methods, media, and systems for detecting anomalous program executions |
-
2019
- 2019-11-27 RU RU2019138378A patent/RU2739867C1/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190250978A1 (en) * | 2005-10-25 | 2019-08-15 | The Trustees Of Columbia University In The City Of New York | Methods, media, and systems for detecting anomalous program executions |
RU2462754C2 (en) * | 2006-12-29 | 2012-09-27 | Майкрософт Корпорейшн | Automatic detection and response to vulnerabilities |
US20130198565A1 (en) * | 2010-01-28 | 2013-08-01 | Drexel University | Detection, diagnosis, and mitigation of software faults |
US20150309906A1 (en) * | 2012-03-13 | 2015-10-29 | Truemetrics Llc | System and methods for automated testing of functionally complex systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3474176B1 (en) | System and method of detecting a malicious file | |
US10546129B2 (en) | Method to scan a forensic image of a computer system with multiple malicious code detection engines simultaneously from a master control point | |
US7437764B1 (en) | Vulnerability assessment of disk images | |
US11070570B2 (en) | Methods and cloud-based systems for correlating malware detections by endpoint devices and servers | |
US10242186B2 (en) | System and method for detecting malicious code in address space of a process | |
EP2610774B1 (en) | System and method for detecting malware targeting the boot process of a computer | |
RU2571723C2 (en) | System and method of reducing load on operating system when executing antivirus application | |
CN110119619B (en) | System and method for creating anti-virus records | |
CN109074450B (en) | Threat defense techniques | |
US20100175108A1 (en) | Method and system for securing virtual machines by restricting access in connection with a vulnerability audit | |
US20140165130A1 (en) | Application-specific re-adjustment of computer security settings | |
US8782615B2 (en) | System, method, and computer program product for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing | |
RU2634175C2 (en) | Method for implementation of anti-virus checks | |
CN109684833B (en) | System and method for adapting program dangerous behavior patterns to user computer system | |
US11797676B2 (en) | Exception handlers in a sandbox environment for malware detection | |
US20070094654A1 (en) | Updating rescue software | |
EP3029564B1 (en) | System and method for providing access to original routines of boot drivers | |
RU101233U1 (en) | SYSTEM OF RESTRICTION OF RIGHTS OF ACCESS TO RESOURCES BASED ON THE CALCULATION OF DANGER RATING | |
US10204036B2 (en) | System and method for altering application functionality | |
RU2739867C1 (en) | Method of determining application module associated with cause of problem encountered during operation of application | |
RU2460133C1 (en) | System and method of protecting computer applications | |
RU2739831C1 (en) | Application operation troubleshooting method | |
US8201253B1 (en) | Performing security functions when a process is created | |
EP3522058B1 (en) | System and method of creating antivirus records | |
RU2638735C2 (en) | System and method of optimizing anti-virus testing of inactive operating systems |