RU2794713C1 - Method of detection of a malicious file using the database of vulnerable drivers - Google Patents

Method of detection of a malicious file using the database of vulnerable drivers Download PDF

Info

Publication number
RU2794713C1
RU2794713C1 RU2022107027A RU2022107027A RU2794713C1 RU 2794713 C1 RU2794713 C1 RU 2794713C1 RU 2022107027 A RU2022107027 A RU 2022107027A RU 2022107027 A RU2022107027 A RU 2022107027A RU 2794713 C1 RU2794713 C1 RU 2794713C1
Authority
RU
Russia
Prior art keywords
driver
file
dangerous
application
malicious
Prior art date
Application number
RU2022107027A
Other languages
Russian (ru)
Inventor
Евгений Игоревич Лопатин
Дмитрий Андреевич Кондратьев
Original Assignee
Акционерное общество "Лаборатория Касперского"
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Priority to US17/847,773 priority Critical patent/US20230297673A1/en
Priority to EP22191287.6A priority patent/EP4246351A1/en
Application granted granted Critical
Publication of RU2794713C1 publication Critical patent/RU2794713C1/en

Links

Images

Abstract

FIELD: information security.
SUBSTANCE: invention is intended to detect malicious files that use drivers. Results are achieved by applying a malicious file detection method implemented on a computing device that includes a processor and memory, which detects driver activity in the operating system by intercepting the driver's API request to the application; determining, based on the driver activity analysis, whether the driver is dangerous; in the event that the driver is found dangerous by the results of the analysis, a search is made for the file associated with the application using the driver; the found file is recognized as malicious.
EFFECT: detecting malicious files by analysing the operation of the driver accessed by the application with which the specified file is associated. Additional effect is improvement of the accuracy of malicious file detection by detecting and analysing a dangerous driver used by the specified file.
9 cl, 3 dwg

Description

Область техникиTechnical field

Изобретение относится к области информационной безопасности и предназначено для обнаружения вредоносных файлов, использующих драйверы.The invention relates to the field of information security and is intended to detect malicious files that use drivers.

Уровень техникиState of the art

Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для выполнения огромного количества задач (от интернет-сёрфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и объёма программного обеспечения (ПО), работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.The rapid development of computer technology in the last decade, as well as the widespread use of various computing devices (personal computers, laptops, tablets, smartphones, etc.) have become a powerful incentive to use these devices in various fields of activity and to perform a huge number of tasks (from the Internet -surfing to bank transfers and electronic document management). In parallel with the growth in the number of computing devices and the amount of software (SW) running on these devices, the number of malicious programs has also grown rapidly.

В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак на другие компьютеры или компьютерные сети, как отказ в обслуживании (англ. DDoS − Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce). Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку СМС на платные номера и т.д.At the moment, there are a huge number of varieties of malicious programs. Some steal from users' devices their personal and confidential data (for example, logins and passwords, bank details, electronic documents). Others form so-called botnets from user devices for such attacks on other computers or computer networks as a denial of service (DDoS - Distributed Denial of Service) or for brute force passwords. ). Still others offer users paid content through intrusive advertising, paid subscriptions, sending SMS to paid numbers, etc.

Современное ПО стало настолько сложным и многофункциональным, что стало возможным использовать его по сути легальные части (в виде библиотек, программных модулей или предоставляемых API функций) вредоносными программами для своей работы. Например, программы-шифровальщики могут использовать библиотеки легальных архиваторов для шифрования документов и других критически важных для пользователей файлов.Modern software has become so complex and multifunctional that it has become possible to use its essentially legal parts (in the form of libraries, program modules, or functions provided by API) by malicious programs for their work. For example, ransomware can use libraries of legitimate archivers to encrypt documents and other files that are critical to users.

Такой подход в работе вредоносных программ существенно усложняет работу антивирусного ПО в связи с тем, что часть вредоносной активности осуществляется через легальные программы, которые нельзя блокировать или удалять, поскольку это может повлечь сбой в работе компьютера пользователя или привести к потере важных для пользователя данных. Кроме того, зачастую упомянутые части легальных программ работают в режиме ядра (например, драйверы), что также усложняет общий контроль антивирусным ПО вредоносной активности.This approach to the operation of malware significantly complicates the work of anti-virus software due to the fact that some of the malicious activity is carried out through legitimate programs that cannot be blocked or removed, since this may cause a failure in the user's computer or lead to the loss of data important to the user. In addition, often the mentioned parts of legal programs work in kernel mode (for example, drivers), which also complicates the overall control of malicious activity by antivirus software.

Для частичного решения описанной выше проблемы применяются комбинированные способы обнаружения вредоносных программ, когда выявление вредоносной активности ведётся как в режиме ядра, так и в режиме пользователя, а результаты такого контроля объединяются и анализируются.To partially solve the problem described above, combined malware detection methods are used, when malicious activity is detected both in kernel mode and in user mode, and the results of such monitoring are combined and analyzed.

В патентной публикации US8397297B2 описывается технология удаления обнаруженного вредоносного приложения. Предварительно определяются элементы операционной системы, имеющие связь с обнаруженным вредоносным приложением (в частности файлы, которые использует указанное вредоносное приложение). Даная связь устанавливается за счёт отслеживания выполнения потенциально вредоносного приложения. В одном из случаев удаляются также приложения, которые могут являться загрузчиками удаляемого вредоносного приложения, поскольку из системы удаляются все элементы, связанные с удаляемым вредоносным приложением.Patent publication US8397297B2 describes a technique for removing a detected malicious application. The elements of the operating system associated with the detected malicious application are preliminarily determined (in particular, the files used by the specified malicious application). This connection is established by monitoring the execution of a potentially malicious application. In one case, applications that may be loaders of the malicious application being removed are also removed, since all elements related to the malicious application being removed are removed from the system.

В патентной публикации US20150096028A1 описывается технология обнаружения вредоносных программ (в том числе и драйверов), работающих в режиме ядра операционной системы. Для этого выполняется динамическая проверка выполнения кода ядра операционной системы с целью обнаружения несанкционированного перехвата вызовов и изменения кода в ядре, а также в загружаемых модулях ядра (драйверах).Patent publication US20150096028A1 describes a technology for detecting malware (including drivers) running in the kernel mode of the operating system. To do this, a dynamic check of the execution of the operating system kernel code is performed in order to detect unauthorized interception of calls and code changes in the kernel, as well as in loadable kernel modules (drivers).

Описанные технологии хорошо справляются с обнаружением вредоносных программ, работающих как в режиме ядра операционной системы, так и в режиме пользователя, а также позволяют выявлять вредоносные программы, сформированные на компьютере жертвы другими вредоносными программами, однако они плохо справляются с ситуациями, когда вредоносная программа работает сразу и в режиме ядра операционной системы, и в режиме пользователя, при использовании легальных компонент, также работающих в режиме ядра операционной системы.The described technologies do a good job of detecting malware running both in the kernel mode of the operating system and in user mode, and also allow you to detect malware generated on the victim's computer by other malware, but they do not cope well with situations where the malware runs immediately. both in operating system kernel mode and in user mode, when using legal components that also work in operating system kernel mode.

Настоящее изобретение предназначено для обнаружения вредоносных файлов, использующих легальные драйверы (в том числе подписанные и относящиеся к легальному ПО).The present invention is designed to detect malicious files using legitimate drivers (including those signed and related to legitimate software).

Раскрытие изобретенияDisclosure of invention

Изобретение предназначено для обеспечения информационной безопасности.The invention is intended to ensure information security.

Технический результат заключается в обнаружении вредоносного файла за счёт анализа работы драйвера, к которому обращается приложение, с которым связан указанный файл.The technical result consists in detecting a malicious file by analyzing the operation of the driver accessed by the application with which the specified file is associated.

Ещё один технический результат заключается в повышении точности обнаружения вредоносного файла за счёт обнаружения и анализа опасного драйвера, используемого указанным файлом.Another technical result is to increase the accuracy of detecting a malicious file by detecting and analyzing a dangerous driver used by the specified file.

Данный результат достигается с помощью использования компьютерно-реализуемого способа обнаружения вредоносного файла, реализуемый на вычислительном устройстве, включающем процессор и память, при помощи которых: обнаруживают активность драйвера в операционной системе путём перехвата API запроса драйвера к приложению; определяют на основании анализа активности драйвера, является ли драйвер опасным; в случае если драйвер по результатам анализа признан опасным, выполняют поиск файла, связанного с приложением, использующим драйвер; признают найденный файл вредоносным.This result is achieved by using a computer-implemented method for detecting a malicious file, implemented on a computing device, including a processor and memory, with the help of which: detect driver activity in the operating system by intercepting the driver's API request to the application; determining, based on the driver activity analysis, whether the driver is dangerous; if the driver is considered dangerous according to the results of the analysis, they search for the file associated with the application using the driver; recognize the found file as malicious.

В другом частном случае реализации способа на первом шаге обнаруживают активность драйвера, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.In another particular case, the implementation of the method in the first step detects the activity of a driver running in user mode with the help of another driver running in kernel mode.

Ещё в одном частном случае реализации способа активность драйвера заключается по меньшей мере в: передаче данных по компьютерной сети; взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой; взаимодействии с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанному приложением; взаимодействии с файлом или файловой структурой, в том числе взаимодействии с файлом, связанным с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением.In another particular case of the implementation of the method, the activity of the driver consists at least in: data transmission over a computer network; interaction with operating system services, including by calling API functions provided by the operating system; interaction with an application running in the operating system, including by calling the corresponding API functions provided by the specified application; interaction with a file or file structure, including interaction with a file associated with an application running in the operating system, including by calling the appropriate API functions provided by the specified application.

В другом частном случае реализации способа в результате анализа активности драйвера определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла, связанного с приложением, использующим драйвер.In another particular case of the implementation of the method, as a result of analyzing the activity of the driver, the danger factor of the driver is determined and, if the danger factor exceeds the threshold value, the file associated with the application using the driver is searched.

Ещё в одном частном случае реализации способа коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.In another particular case of the implementation of the method, the driver hazard coefficient is a numerical value from the range, one boundary of which means a guaranteed non-dangerous driver, and the other boundary is a driver guaranteed to be used to damage the computing device.

В другом частном случае реализации способа анализ активности драйвера заключается в по меньшей мере в одном из: идентификации анализируемого драйвера с известным драйвером из базы опасных драйверов; имитации работы анализируемого драйвера в виртуальной среде; при этом результатом анализа служит признание анализируемого драйвера безопасным или опасным.In another particular case of the implementation of the method, the analysis of driver activity consists in at least one of: identifying the analyzed driver with a known driver from the database of dangerous drivers; simulation of the analyzed driver in a virtual environment; in this case, the result of the analysis is the recognition of the analyzed driver as safe or dangerous.

Ещё в одном частном случае реализации способа драйвер признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере: уязвимость безопасности в работе драйвера; потенциально опасный функционал драйвера.In another particular case of the implementation of the method, the driver is considered dangerous if the analysis reveals at least: a security vulnerability in the driver; potentially dangerous driver functionality.

В другом частном случае реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.In another particular case of the implementation of the method, a potentially dangerous functionality is a functionality that can be used hidden from the user and, at the same time, damage the performance of the computing device.

Ещё в одном частном случае реализации способа найденный файл признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла с учетом определения драйвера как опасного.In one more particular case of the implementation of the method, the found file is recognized as malicious as a result of an anti-virus scan and a decision on the harmfulness of the file, taking into account the definition of the driver as dangerous.

В другом частном случае реализации способа после выполнения поиска файла, связанного с приложением, использующим драйвер, дополнительно выполняют проверку найденного файла на вредоносность.In another particular case of the implementation of the method, after performing a search for a file associated with an application using the driver, the found file is additionally checked for maliciousness.

Ещё в одном частном случае реализации способа в случае признания найденного файла вредоносным дополнительно осуществляют помещение найденного файла на карантин и по меньшей мере: его удаление из операционной системы; удаление опасного драйвера из операционной системы.In another particular case of implementing the method, if the found file is recognized as malicious, the found file is additionally quarantined and at least: it is deleted from the operating system; removal of a dangerous driver from the operating system.

Краткое описание чертежейBrief description of the drawings

Фиг. 1 представляет структурную схему системы обнаружения вредоносного файла. Fig. 1 is a block diagram of a malicious file detection system.

Фиг. 2 представляет структурную схему способа обнаружения вредоносного файла. Fig. 2 is a block diagram of a malicious file detection method.

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер. Fig. 3 represents an example of a general purpose computer system, a personal computer or a server.

Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формулой.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to a particular embodiment thereof. On the contrary, the purpose of the description is to cover all changes, modifications included in the scope of this invention, as defined by the attached claims.

Описание вариантов осуществления изобретенияDescription of embodiments of the invention

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

Фиг. 1 представляет структурную схему системы обнаружения вредоносного файла. Fig. 1 is a block diagram of a malicious file detection system.

Структурная схема системы обнаружения вредоносного файла состоит из средства перехвата 110, средства анализа активности 120, базы опасных драйверов 121, средства поиска 130, средства проверки на вредоносность 140, средства карантина 150.The block diagram of the malicious file detection system consists of an interceptor 110 , an activity analysis tool 120 , a database of dangerous drivers 121 , a search tool 130 , a malware checker 140 , a quarantine tool 150 .

Описанные ниже средства реализованы как элементы компьютерной системы или совокупности компьютерных систем, более подробно описанных на Фиг. 3.The means described below are implemented as elements of a computer system or collection of computer systems, described in more detail in FIG. 3 .

Средство перехвата 110 предназначено для обнаружения активности драйвера 101 в операционной системе путём перехвата API запроса драйвера 101 к приложению 102.The interceptor 110 is designed to detect the activity of the driver 101 in the operating system by intercepting the API request of the driver 101 to the application 102 .

В одном из вариантов реализации системы с помощью средства перехвата 110 обнаруживают активность драйвера 101, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.In one embodiment, the interceptor 110 detects the activity of a user-mode driver 101 using another kernel-mode driver.

Например, описываемая система может являться частью антивирусного ПО, одним из компонентов которой является драйвер, работающий в режиме ядра и осуществляющий перехват API вызовов между разными объектами операционной системы (службами операционной системы, приложениями, библиотеками, другими драйверами и т.д.).For example, the described system may be part of anti-virus software, one of the components of which is a kernel-mode driver that intercepts API calls between different operating system objects (operating system services, applications, libraries, other drivers, etc.).

Ещё в одном из вариантов реализации системы с помощью средства перехвата 110 отслеживают активность драйверов 101, удовлетворяющих критериям:In another implementation of the system, the interception tool 110 monitors the activity of drivers 101 that meet the criteria:

• драйвер является легитимным (т.е. является подписанным и имеющим проверенную цифровую подпись, или установленным в операционную систему в результате установки легитимного ПО);• the driver is legitimate (ie it is signed and has a verified digital signature, or installed into the operating system as a result of installing legitimate software);

• драйвер не является безопасным или не известен для описываемой системы (в частности для антивирусного ПО, используемого для проверки драйверов), т.е. ранее было установлено, что драйвер является опасным или потенциально опасным, или такая проверка не выполнялась и драйвер остаётся с неопределённым статусом. • the driver is not safe or is not known for the described system (in particular for the anti-virus software used to check drivers), ie. the driver was previously determined to be dangerous or potentially dangerous, or such a check was not performed and the driver remains with an undetermined status.

Например, существуют легитимные драйверы, входящие в состав ПО, разрабатываемого легитимными производителями и предназначенные для выполнения безопасных для пользователя действий. Однако в них могут содержаться уязвимости, или может быть реализован функционал, который злоумышленники могут использовать во вредоносном ПО для осуществления опасных действий, в том числе из ядра операционной системы. Средство перехвата 110 отслеживает именно такие драйверы.For example, there are legitimate drivers that are part of software developed by legitimate manufacturers and are designed to perform actions that are safe for the user. However, they may contain vulnerabilities, or they may implement functionality that attackers can use in malware to perform dangerous actions, including from the operating system kernel. Interceptor 110 monitors just such drivers.

Ещё в одном из вариантов реализации системы с помощью средства перехвата 110 отслеживают активность драйверов 101, для которых по меньшей мере:In another embodiment, the interceptor 110 monitors the activity of drivers 101 for which at least:

• уже известно, что они были использованы вредоносными программами ранее для вредоносной деятельности (при этом не обязательно у пользователя описываемой системы);• it is already known that they were used by malicious programs earlier for malicious activity (and not necessarily at the user of the described system);

• определено, что указанные драйверы могут быть использованы вредоносным ПО (имеют уязвимости, предоставляют функционал, который может быть использован во вредоносной деятельности и т.д.).• it is determined that the indicated drivers can be used by malware (they have vulnerabilities, provide functionality that can be used in malicious activities, etc.).

Например, отслеживаются не все драйверы в операционной системе, а только драйверы 101, которые обмениваются данными с приложениями по сети в обход сетевого шлюза (например, потому что находятся в списке исключений).For example, not all drivers in the operating system are tracked, but only drivers 101 that communicate with applications over the network, bypassing the network gateway (for example, because they are on the exclusion list).

Ещё в одном из вариантов реализации системы активность драйвера 101 заключается по меньшей мере в:In another implementation of the system, the activity of the driver 101 is at least:

• передаче данных по компьютерной сети;• data transmission over a computer network;

• взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой;• interaction with operating system services, including by calling API functions provided by the operating system;

• взаимодействии с приложением 102, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением 102;• interaction with the application 102 running in the operating system, including by calling the corresponding API functions provided by the specified application 102 ;

• взаимодействии с файлами или файловой структурой, в том числе взаимодействии с файлом 103, связанными с приложением 102, работающими в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанными приложением 102.• interaction with files or file structure, including interaction with the file 103 associated with the application 102 operating in the operating system, including by calling the appropriate API functions provided by the specified application 102 .

В одном из вариантов реализации системы описанная система можно применяться для ситуаций, когда драйвер 101 связан с несколькими приложениями 102, при этом каждое приложение 102, может в свою очередь быть связано с несколькими файлами 103.In one embodiment of the system, the described system can be applied to situations where the driver 101 is associated with multiple applications 102 , whereby each application 102 may in turn be associated with multiple files 103 .

Например, при работе с драйвером архивирования файлов 101 может быть выявлено два приложения 102 – сертифицированный архиватор, широко используемый пользователями, и мало популярное приложение. И с выявленными сертифицированным архиватором, и с мало используемым приложением может быть связано сразу несколько файлов, при этом у сертифицированного архиватора все файлы являются доверенными (т.е. проверенными, для которых доказано отсутствие вредоносного функционала), а у мало используемого приложения часть файлов могут обладать вредоносным функционалом, обнаруживаемом при проведении антивирусного анализа.For example, when working with the file archiving driver 101 , two applications 102 can be identified - a certified archiver, widely used by users, and a little popular application. Both identified by a certified archiver and a little-used application, several files can be associated at once, while all files of a certified archiver are trusted (i.e. verified, for which the absence of malicious functionality has been proven), and some of the files of a little-used application can have malicious functionality detected during anti-virus analysis.

Таким образом, использование описываемой системы для обнаружения вредоносного файла 103, связанного с приложением 102, также может без каких-либо принципиальных изменений сводиться к обнаружению вредоносных файлов 103, связанных с несколькими приложениями 102 (причём не обязательно, но возможно, чтобы один файл 103 был связан с несколькими приложениями 102).Thus, the use of the described system to detect a malicious file 103 associated with an application 102 can also, without any fundamental changes, be reduced to the detection of malicious files 103 associated with several applications 102 (it is not necessary, but it is possible that one file 103 be associated with several applications 102 ).

Средство анализа активности 120 предназначено для определения на основании анализа активности драйвера 101, является ли драйвер 101 опасным, т.е. может ли драйвер 101 быть использован вредоносным ПО для вредоносной активности.The activity analyzer 120 is designed to determine, based on the activity analysis of the driver 101, whether the driver 101 is dangerous, i. whether driver 101 can be used by malware for malicious activity.

В одном из вариантов реализации системы средство анализа активности 120 дополнительно предназначено для определения коэффициента опасности драйвера в результате анализа активности драйвера 101, при этом коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.In one of the system implementation options, the activity analyzer 120 is additionally designed to determine the driver hazard ratio as a result of the driver activity analysis 101 , while the driver hazard ratio is a numerical value from the range, one border of which means a guaranteed non-dangerous driver, and the other border - the driver, guaranteed to be used to damage a computing device.

Например, коэффициент опасности может находиться в диапазоне от 0 до 1, а его вычисление основываться на весах, поставленных каждому типу активности.For example, the Hazard Ratio can range from 0 to 1, and its calculation is based on the weights assigned to each type of activity.

Ещё в одном примере, для вычисления коэффициента опасности может использоваться обученная модель. In yet another example, a trained model may be used to calculate a hazard quotient.

Ещё в одном из вариантов реализации системы анализ активности драйвера 101 заключается по меньшей мере в одном из:In another embodiment of the system, the analysis of the activity of the driver 101 is at least one of:

• идентификации анализируемого драйвера 101 с известным драйвером из базы опасных драйверов 121;• identification of the analyzed driver 101 with a known driver from the database of dangerous drivers 121 ;

• имитации работы анализируемого драйвера 101 в виртуальной среде;• simulation of the analyzed driver 101 in a virtual environment;

при этом результатом анализа служит признание анализируемого драйвера 101 безопасным или опасным.while the result of the analysis is the recognition of the analyzed driver 101 safe or dangerous.

Ещё в одном из вариантов реализации системы анализ активности драйвера 101 заключается в имитации его работы. С этой целью любым известным из уровня техники способом в описываемой системе реализуется виртуальная среда, имитирующая работу вычислительной системы, в которой установлен драйвер 101. В виртуальной среде без какого-либо ущерба для реальной вычислительной системы выполняются разные сценарии использования драйвера 101, по результатам выполнения которых определяется, является ли драйвер 101 опасным.In another embodiment of the system, the analysis of the activity of the driver 101 consists in simulating its operation. To this end, by any method known from the prior art, a virtual environment is implemented in the described system, simulating the operation of a computing system in which the driver 101 is installed. In a virtual environment, without any damage to the real computing system, different scenarios for using the driver 101 are executed, the results of which determine whether the driver 101 is dangerous.

База опасных драйверов 121 содержит по меньшей мере:Dangerous Driver Database 121 contains at least:

• драйверы, признанные опасными;• drivers recognized as dangerous;

• метаданные, описывающие драйверы, признанные опасными;• metadata describing drivers that are considered dangerous;

• участки кода драйверов, содержащих уязвимости;• sections of driver code containing vulnerabilities;

• метаданные, описывающие код драйверов, содержащих уязвимости.• metadata describing the code of drivers containing vulnerabilities.

Ещё в одном из вариантов реализации системы драйвер признаётся опасным, по меньшей мере если:In another implementation of the system, the driver is considered dangerous, at least if:

• ранее средством анализа активности 120 драйвер был признан опасным, т.е. драйвер может быть использован вредоносными программами для вредоносной деятельности (например, драйвер содержит уязвимости, позволяющие использовать его сторонними программами, функционал драйвера изначально имеет «двойное» назначение, поэтому может быть использован для вредоносной активности (в частном случае это могут быть драйверы, отвечающие за шифрование данных));• Previously, the activity analysis tool 120 found the driver to be dangerous, ie. the driver can be used by malware for malicious activity (for example, the driver contains vulnerabilities that allow it to be used by third-party programs, the driver’s functionality initially has a “dual” purpose, so it can be used for malicious activity (in a particular case, these may be drivers responsible for encryption data));

• ранее драйвер уже был использован вредоносными программами для вредоносной деятельности (как на компьютере, на котором работает описываемая система, так и на любом другом компьютере, в таком случае база опасных драйверов 121 формируется заранее на основании собранной статистики по работе известных драйверов);• the driver has already been used by malicious programs for malicious activity (both on the computer on which the described system is running and on any other computer, in which case the database of dangerous drivers 121 is formed in advance based on the collected statistics on the operation of known drivers);

• ранее драйвер уже был проанализирован любым известным из уровня техники способом и признан подходящим для использования вредоносными программами для вредоносной деятельности.• the driver has previously been analyzed by any method known from the prior art and found suitable for use by malware for malicious activity.

Ещё в одном из вариантов реализации системы в качестве метаданных, описывающих драйверы, признанные опасными, выступают по меньшей мере:In another implementation of the system, the metadata describing the drivers recognized as dangerous are at least:

• параметры, позволяющие идентифицировать драйвер (однозначно или с некоторой заданной погрешностью), например, размер файла драйвера, название файла, время создания, свёртки по коду драйвера, используемые API функции и т.д.;• parameters that allow identifying the driver (unambiguously or with some specified error), for example, the size of the driver file, file name, creation time, convolutions by the driver code, API functions used, etc.;

• параметры, описывающие поведение драйвера, например, API функции, предоставляемые драйвером, действия драйвера на изменения в операционной системе и т.д.;• parameters describing the behavior of the driver, for example, API functions provided by the driver, driver actions on changes in the operating system, etc.;

• параметры, описывающие окружение драйвера, например, ПО, использующее драйвер, ПО, установившее драйвер, и т.д.• Parameters that describe the environment of the driver, such as the software that uses the driver, the software that installed the driver, and so on.

Ещё в одном из вариантов реализации системы драйвер 101 признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере:In yet another implementation of the system, the driver 101 is considered dangerous if, as a result of the analysis, at least:

• уязвимость безопасности в работе драйвера 101;• security vulnerability in driver operation 101 ;

• потенциально опасный функционал драйвера 101.• potentially dangerous driver functionality 101 .

Ещё в одном из вариантов реализации системы разным обнаруженным уязвимостям безопасности в работе драйвера 101 или потенциально опасным функциям драйвера 101 ставятся в соответствия разные веса, на основании которых затем вычисляется итоговый коэффициент опасности драйвера 101.In another embodiment of the system, different detected security vulnerabilities in the operation of the driver 101 or potentially dangerous functions of the driver 101 are assigned different weights, on the basis of which the final risk factor of the driver 101 is then calculated.

Ещё в одном из вариантов реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.In another embodiment of the method, a potentially dangerous functionality is a functionality that can be used hidden from the user and, at the same time, damage the performance of a computing device.

Средство поиска 130 предназначено для поиска файла 103, связанного с приложением 102, использующим драйвер 101.The search tool 130 is designed to search for the file 103 associated with the application 102 using the driver 101 .

В одном из вариантов реализации системы файл 103 связан с приложением 102 по меньшей мере в случае, если:In one system implementation, file 103 is associated with application 102 at least if:

• приложение 102 использует в своей работе файл 103;application 102 uses file 103 in its work;

• файл 103 создан в процессе работы приложения 102;• file 103 was created during the operation of application 102 ;

• при запуске приложения 102 использовался файл 103. application 102 was launched using file 103 .

Ещё в одном из вариантов реализации системы в случае, если вычисленный с помощью средства анализа активности 120 коэффициент опасности драйвера 101 превосходит пороговое значение, выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101.In yet another implementation of the system, if the driver 101 hazard ratio calculated by the activity analyzer 120 exceeds a threshold value, a file 103 associated with the application 102 using the driver 101 is searched.

Средство проверки на вредоносность 140 предназначено для:Malware Checker 140 is designed to:

• выполнения проверки найденного файла 103 на вредоносность;• performing a check of the found file 103 for harmfulness;

• признания найденного файла 103 вредоносным.• recognition of the found file 103 as malicious.

В одном из вариантов реализации системы средство проверки на вредоносность 140 предназначено для признания файла 103 вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла 103 с учетом определения драйвера 101 как опасного.In one implementation of the system, the malware checker 140 is designed to recognize the file 103 as malicious as a result of an antivirus scan and make a decision about the harmfulness of the file 103 , taking into account the definition of the driver 101 as dangerous.

Ещё в одном из вариантов реализации системы в качестве средства проверки на вредоносность 140 может выступать антивирусное ПО.In yet another implementation of the system, anti-virus software can act as a means of checking for maliciousness 140 .

Средство карантина 150 предназначено для помещения по меньшей мере драйвера 101, приложения 102 или файла 103 на карантин.The quarantine tool 150 is designed to quarantine at least a driver 101 , an application 102 , or a file 103 .

В одном из вариантов реализации системы на карантине осуществляется изоляция помещённого на карантин объекта, в процессе которого по меньшей мере осуществляется:In one of the options for implementing a quarantined system, the quarantined object is isolated, during which at least:

• удаление найденного файла 103 из операционной системы;• removal of the found file 103 from the operating system;

• удаление опасного драйвера 101 из операционной системы;• removal of the dangerous driver 101 from the operating system;

• удаление приложения 102, с которым связан найденный файл 103, из операционной системы;• removal of the application 102 , with which the found file 103 is associated, from the operating system;

• блокировка (т.е. обеспечение невозможности использования операционной системой и другими приложениями) опасного драйвера 101, приложения 102, с которым связан найденный файл 103, найденного файла 103.• blocking (ie making it impossible for the operating system and other applications to use) a dangerous driver 101 , an application 102 with which the found file 103 is associated, a found file 103 .

Ещё в одном из вариантов реализации системы в качестве средства карантина 150 выступает антивирусное ПО.In another embodiment of the system, anti-virus software acts as a means of quarantine 150 .

Еще в одном из вариантов реализации системы схема работы обнаружения вредоносного файла реализовывается следующим образом:In another implementation of the system, the scheme for detecting a malicious file is implemented as follows:

После того, как средство поиска 130 обнаружило файл 103, связанный с приложением 102, использующим драйвер 101, такой файл признаётся подозрительным (потенциально опасным) и помещается в карантин с помощью средства карантина 150. After the finder 130 has found a file 103 associated with an application 102 using the driver 101 , such a file is considered suspicious (potentially dangerous) and quarantined using the quarantine tool 150 .

Затем с помощью средства проверки на вредоносность 140 выполняют проверку найденного файла 103, помещённого в карантин, на вредоносность. Then, using the malware checker 140, the quarantined file 103 found is checked for malware.

Когда файла 103 признаётся вредоносным средство карантина 150 удаляет указанный файл 103 из операционной системы.When a file 103 is found to be malicious, the quarantine tool 150 deletes the specified file 103 from the operating system.

Ещё в одном из вариантов реализации системы аналогичные действия выполняются по меньшей мере для:In another embodiment of the system, similar actions are performed for at least:

• приложения 102, с которым связан указанный файл 103;• the application 102 with which the specified file 103 is associated;

• драйвера 101, который использует указанное приложения 102.• a driver 101 that uses the specified application 102 .

Фиг. 2 представляет структурную схему обнаружения вредоносного файла. Fig. 2 is a block diagram of malicious file detection.

Структурная схема способа обнаружения вредоносного файла содержит этап 210, на котором перехватывают API запросы, этап 220, на котором обнаруживают активность драйвера, этап 230, на котором анализируют активность драйвера, этап 240, на котором выполняют поиск файла, этап 250, на котором проверяют файл на вредоносность, этап 260, на котором помещают файл на карантин.The block diagram of the malicious file detection method includes step 210 where API requests are intercepted, step 220 where driver activity is detected, step 230 where driver activity is analyzed, step 240 where the file is searched, step 250 where the file is checked for malware, step 260 where the file is quarantined.

Способ обнаружения вредоносного файла выполняют с помощью средств системы способа обнаружения вредоносного файла, которое содержит для этой цели процессор и память и более подробно описано на Фиг. 1.The malicious file detection method is performed by means of the malicious file detection method system, which contains a processor and memory for this purpose and is described in more detail in FIG. 1 .

На этапе 210 с помощью средства перехвата 110 осуществляют перехват API запроса драйвера 101 к приложению 102.At step 210 , the interceptor 110 intercepts the API request of the driver 101 to the application 102 .

На этапе 220 с помощью средства перехвата 110 обнаруживают активность драйвера 101 в операционной системе путём перехвата API запроса драйвера 101 к приложению 102, выполненного на этапе 210.At step 220 , the interceptor 110 detects the activity of the driver 101 in the operating system by intercepting the API request of the driver 101 to the application 102 performed at step 210 .

В одном из вариантов реализации способа на этапе 220 обнаруживают активность драйвера 101, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.In one embodiment, the method at step 220 detects the activity of the user-mode driver 101 with the help of another kernel-mode driver.

Ещё в одном из вариантов реализации способа активность драйвера 101 заключается по меньшей мере в:In another embodiment of the method, the activity of the driver 101 is at least:

• передаче данных по компьютерной сети;• data transmission over a computer network;

• взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой;• interaction with operating system services, including by calling API functions provided by the operating system;

• взаимодействии с приложением 102, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением 102;• interaction with the application 102 running in the operating system, including by calling the corresponding API functions provided by the specified application 102 ;

• взаимодействии с файлами или файловой структурой, в том числе взаимодействии с файлом 103, связанными с приложением 102, работающими в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанными приложением 102.• interaction with files or file structure, including interaction with the file 103 associated with the application 102 operating in the operating system, including by calling the appropriate API functions provided by the specified application 102 .

На этапе 230 с помощью средства анализа активности 120 определяют на основании анализа обнаруженной на этапе 220 активности драйвера 101, является ли драйвер 101 опасным.At step 230 , the activity analyzer 120 determines, based on the analysis of the driver 101 activity detected at step 220 , whether the driver 101 is dangerous.

В одном из вариантов реализации способа в результате анализа активности драйвера 101 определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101, при этом коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.In one of the embodiments of the method, as a result of the analysis of the activity of the driver 101, the hazard factor of the driver is determined and, if the hazard factor exceeds the threshold value, a search is made for the file 103 associated with the application 102 using the driver 101 , while the driver's hazard factor is a numerical value from a range, one end of which means a driver that is guaranteed to be harmless, and the other end is a driver that is guaranteed to be used to damage the computing device.

Ещё в одном из вариантов реализации способа анализ активности драйвера 101 заключается по меньшей мере в одном из:In another embodiment of the method, the analysis of the activity of the driver 101 consists in at least one of:

• идентификации анализируемого драйвера 101 с известным драйвером из базы опасных драйверов 121;• identification of the analyzed driver 101 with a known driver from the database of dangerous drivers 121 ;

• имитации работы анализируемого драйвера 101 в виртуальной среде;• simulation of the analyzed driver 101 in a virtual environment;

при этом результатом анализа служит признание анализируемого драйвера 101 безопасным или опасным.while the result of the analysis is the recognition of the analyzed driver 101 safe or dangerous.

Ещё в одном из вариантов способа драйвер 101 признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере:In another variant of the method, the driver 101 is considered dangerous if, as a result of the analysis, at least:

• уязвимость безопасности в работе драйвера 101;• security vulnerability in driver operation 101 ;

• потенциально опасный функционал драйвера 101.• potentially dangerous driver functionality 101 .

Ещё в одном из вариантов реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительного устройства.In yet another embodiment of the method, a potentially dangerous functionality is a functionality that can be used hidden from the user and, at the same time, damage the performance of the computing device.

На этапе 240 в случае, если драйвер 101 по результатам анализа, выполненного на этапе 230 признан опасным, с помощью средства поиска 130 выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101.At step 240 , in the event that the driver 101 is found to be dangerous by the analysis performed at step 230 , the search engine 130 searches for the file 103 associated with the application 102 using the driver 101 .

На этапе 250 с помощью средства проверки на вредоносность 140 признают найденный на этапе 240 файл 103 вредоносным.At step 250 , the malware checker 140 recognizes the file 103 found at step 240 as malicious.

В одном из вариантов реализации способа найденный файл 103 с помощью средства проверки на вредоносность 140 признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла 103 с учетом определения драйвера 101 как опасного.In one of the embodiments of the method, the found file 103 is recognized as malicious by means of a malware checker 140 as a result of an anti-virus scan and a decision is made on the harmfulness of the file 103 , taking into account the definition of the driver 101 as dangerous.

Ещё в одном из вариантов реализации способа файл 103 получает больший коэффициент опасности в том случае, если он используется опасным драйвером 101, по сравнению с файлом 103, который используется безопасным драйвером.In yet another embodiment of the method, file 103 receives a higher hazard rating if it is used by a dangerous driver 101 compared to file 103 that is used by a safe driver.

В этом случае будут обнаруживаться и такие подозрительные файлы, что повышает точность обнаружения вредоносных файлов.In this case, such suspicious files will also be detected, which increases the accuracy of detecting malicious files.

Ещё в одном из вариантов реализации способа после выполнения поиска файла 103, связанного с приложением 102, использующим драйвер 101, с помощью средства проверки на вредоносность 140 дополнительно выполняют проверку найденного файла 103 на вредоносность.In another embodiment of the method, after searching for the file 103 associated with the application 102 using the driver 101 , the malware checker 140 additionally checks the found file 103 for malware.

На этапе 260 в случае признания найденного файла 103 вредоносным с помощью средства карантина 150 дополнительно осуществляют помещение по меньшей мере драйвера 101, приложения 102 или файла 103 на карантин.At step 260 , if the found file 103 is found to be malicious, the quarantine tool 150 additionally moves at least the driver 101 , application 102 or file 103 to quarantine.

В одном из вариантов реализации способа на карантине осуществляется изоляция помещённого на карантин объекта, в процессе которой по меньшей мере осуществляется:In one of the options for implementing the quarantined method, the quarantined object is isolated, during which at least the following is carried out:

• удаление найденного файла 103 из операционной системы;• removal of the found file 103 from the operating system;

• удаление опасного драйвера 101 из операционной системы;• removal of the dangerous driver 101 from the operating system;

• удаление приложения 102, с которым связан найденный файл 103, из операционной системы;• removal of the application 102 , with which the found file 103 is associated, from the operating system;

• блокировка (т.е. обеспечение невозможности использования операционной системой и другими приложениями) опасного драйвера 101, приложения 102, с которым связан найденный файл 103, найденного файла 103.• blocking (ie making it impossible for the operating system and other applications to use) a dangerous driver 101 , an application 102 with which the found file 103 is associated, a found file 103 .

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24. Fig. 3 shows an example of a general purpose computer system, a personal computer or a server 20' , comprising a central processing unit 21' , system memory 22' , and a system bus 23' which contains various system components including memory associated with the central processing unit 21' . The system bus 23 is implemented as any bus structure known in the art, in turn comprising a bus memory or bus memory controller, a peripheral bus, and a local bus capable of interfacing with any other bus architecture. The system memory contains read-only memory (ROM) 24 , random access memory (RAM) 25 . The main input/output system (BIOS) 26 contains the basic procedures that ensure the transfer of information between the elements of a personal computer 20 , for example, at the time of booting the operating system using ROM 24 .

Персональный компьютер 20 в свою очередь содержит жёсткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жёсткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жёсткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20. The personal computer 20, in turn, contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29 and an optical drive 30 for reading and writing to removable optical disks 31 , such as CD-ROM, DVD -ROM and other optical storage media. The hard disk 27 , the magnetic disk drive 28 , the optical drive 30 are connected to the system bus 23 via the hard disk interface 32 , the magnetic disk interface 33 , and the optical drive interface 34 , respectively. Drives and related computer storage media are non-volatile means of storing computer instructions, data structures, program modules, and other personal computer data 20 .

Настоящее описание раскрывает реализацию системы, которая использует жёсткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и тому подобное), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27 , a removable magnetic disk 29 and a removable optical disk 31 , but it should be understood that other types of computer storage media 56 that are capable of storing data in a computer-readable form (solid-state drives, flash memory cards, digital disks, random access memory (RAM) and the like) that are connected to the system bus 23 through the controller 55 .

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и тому подобное. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединён к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединён к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащён другими периферийными устройствами вывода (не отображены), например, колонками, принтером и тому подобное.The computer 20 has a file system 36 that stores the recorded operating system 35 as well as additional software applications 37 , other program modules 38 and program data 39 . The user has the ability to enter commands and information into the personal computer 20 through input devices (keyboard 40 , mouse 42 ). Other input devices (not shown) may be used: microphone, joystick, game console, scanner, etc. Such input devices are typically connected to the computer system 20 through a serial port 46 which is in turn connected to the system bus, but may be connected in other ways, such as through a parallel port, game port, or universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48' . In addition to the monitor 47 , the personal computer may be equipped with other peripheral output devices (not shown), such as speakers, a printer, and the like.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удалёнными компьютерами 49. Удалённый компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы. The personal computer 20 is capable of operating in a networked environment using a network connection to another or more remote computers 49 . The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the nature of the personal computer 20 shown in FIG. 3 . Other devices may also be present in the computer network, such as routers, network stations, peer-to-peer devices, or other network nodes.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключён к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключён к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, то есть в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.The network connections may form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local network 50 via a network adapter or network interface 51 . When using networks, personal computer 20 may use a modem 54 or other means to communicate with a wide area network, such as the Internet. Modem 54 , which is an internal or external device, is connected to system bus 23 via serial port 46 . It should be clarified that network connections are only exemplary and are not required to represent the exact configuration of the network, that is, in fact, there are other ways to establish a connection by technical means of communication from one computer to another.

В заключение следует отметить, что приведённые в описании сведения являются примерами, которые не ограничивают объём настоящего изобретения, определённого формулой.In conclusion, it should be noted that the information given in the description are examples that do not limit the scope of the present invention defined by the formula.

Claims (21)

1. Компьютерно-реализуемый способ обнаружения вредоносного файла, реализуемый на вычислительном устройстве, включающем процессор и память, при помощи которых:1. A computer-implemented method for detecting a malicious file, implemented on a computing device, including a processor and memory, with the help of which: • обнаруживают активность драйвера в операционной системе путём перехвата API запроса драйвера к приложению;• detect driver activity in the operating system by intercepting the driver's API request to the application; • определяют опасность драйвера путем анализа активности драйвера, где анализ заключается по меньшей мере в одном из:• determine the danger of the driver by analyzing the activity of the driver, where the analysis consists of at least one of: • идентификации анализируемого драйвера с известным драйвером из базы опасных драйверов;• identification of the analyzed driver with a known driver from the database of dangerous drivers; • имитации работы анализируемого драйвера в виртуальной среде для обнаружения уязвимости безопасности в работе драйвера или потенциально опасного функционала драйвера;• simulating the operation of the analyzed driver in a virtual environment in order to detect a security vulnerability in the operation of the driver or potentially dangerous functionality of the driver; • в случае если драйвер по результатам анализа признан опасным, выполняют поиск файла, связанного с приложением, использующим драйвер;• if the driver is considered dangerous according to the results of the analysis, they search for the file associated with the application that uses the driver; • признают найденный файл вредоносным.• recognize the found file as malicious. 2. Способ по п.1, по которому на шаге а) обнаруживают активность драйвера, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.2. The method of claim 1, wherein step a) detects the activity of a driver running in user mode using another driver running in kernel mode. 3. Способ по п.1, по которому активность драйвера заключается по меньшей мере в:3. The method according to claim 1, wherein the activity of the driver is at least: • передаче данных по компьютерной сети;• data transmission over a computer network; • взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой;• interaction with operating system services, including by calling API functions provided by the operating system; • взаимодействии с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанному приложением;• interaction with an application running in the operating system, including by calling the corresponding API functions provided by the specified application; • взаимодействии с файлом или файловой структурой, в том числе взаимодействии с файлом, связанным с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением.• interaction with a file or file structure, including interaction with a file associated with an application running in the operating system, including by calling the appropriate API functions provided by the specified application. 4. Способ по п.1, по которому в результате анализа активности драйвера определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла, связанного с приложением, использующим драйвер.4. The method according to claim 1, according to which, as a result of the analysis of the driver's activity, the danger factor of the driver is determined and, if the danger factor exceeds the threshold value, the file associated with the application using the driver is searched. 5. Способ по п.4, по которому коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.5. The method according to claim 4, according to which the risk factor of the driver is a numerical value from the range, one border of which means a guaranteed non-dangerous driver, and the other border - a driver guaranteed to be used to damage the computing device. 6. Способ по п.1, по которому потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.6. The method according to claim 1, according to which a potentially dangerous functionality is a functionality that can be used hidden from the user and damage the performance of the computing device. 7. Способ по п.1, по которому найденный файл признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла с учетом определения драйвера как опасного.7. The method according to claim 1, according to which the found file is recognized as malicious as a result of an anti-virus scan and a decision is made on the harmfulness of the file, taking into account the definition of the driver as dangerous. 8. Способ по п.1, по которому после выполнения поиска файла, связанного с приложением, использующим драйвер, дополнительно выполняют проверку найденного файла на вредоносность.8. The method according to claim 1, according to which, after performing a search for a file associated with an application using the driver, the found file is additionally checked for maliciousness. 9. Способ по п.1, по которому в случае признания найденного файла вредоносным дополнительно осуществляют помещение найденного файла на карантин и по меньшей мере:9. The method according to claim 1, according to which, if the found file is recognized as malicious, the found file is additionally quarantined and at least: • его удаление из операционной системы;• its removal from the operating system; • удаление опасного драйвера из операционной системы.• removal of a dangerous driver from the operating system.
RU2022107027A 2022-03-17 2022-03-17 Method of detection of a malicious file using the database of vulnerable drivers RU2794713C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/847,773 US20230297673A1 (en) 2022-03-17 2022-06-23 Detecting a harmful file using a database of vulnerable drivers
EP22191287.6A EP4246351A1 (en) 2022-03-17 2022-08-19 Detecting a harmful file using a database of vulnerable drivers

Publications (1)

Publication Number Publication Date
RU2794713C1 true RU2794713C1 (en) 2023-04-24

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070039052A1 (en) * 2005-08-12 2007-02-15 Computer Associates Think, Inc. System and method for scanning handles
US20120246722A1 (en) * 2006-04-20 2012-09-27 Webroot, Inc. Backwards researching activity indicative of pestware
US20160371484A1 (en) * 2015-01-22 2016-12-22 Mcafee, Inc. Detection of malicious invocation of application program interface calls
RU2634168C1 (en) * 2016-07-29 2017-10-24 Акционерное общество "Лаборатория Касперского" System and method for blocking access to protected applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070039052A1 (en) * 2005-08-12 2007-02-15 Computer Associates Think, Inc. System and method for scanning handles
US20120246722A1 (en) * 2006-04-20 2012-09-27 Webroot, Inc. Backwards researching activity indicative of pestware
US20160371484A1 (en) * 2015-01-22 2016-12-22 Mcafee, Inc. Detection of malicious invocation of application program interface calls
RU2634168C1 (en) * 2016-07-29 2017-10-24 Акционерное общество "Лаборатория Касперского" System and method for blocking access to protected applications

Similar Documents

Publication Publication Date Title
US11055411B2 (en) System and method for protection against ransomware attacks
RU2606564C1 (en) System and method of blocking script execution
JP6639588B2 (en) System and method for detecting malicious files
US10599841B2 (en) System and method for reverse command shell detection
RU2706896C1 (en) System and method of detecting malicious files using a training model trained on one malicious file
RU2659737C1 (en) System and method of managing computing resources for detecting malicious files
RU2589862C1 (en) Method of detecting malicious code in random-access memory
RU2624552C2 (en) Method of malicious files detecting, executed by means of the stack-based virtual machine
US7836504B2 (en) On-access scan of memory for malware
US7650639B2 (en) System and method for protecting a limited resource computer from malware
US7934261B1 (en) On-demand cleanup system
JP2019082989A (en) Systems and methods of cloud detection, investigation and elimination of targeted attacks
RU2617654C2 (en) System and method of formation of anti-virus records used to detect malicious files on user's computer
RU2634173C1 (en) System and detecting method of remote administration application
CN110119619B (en) System and method for creating anti-virus records
RU2634181C1 (en) System and method for detecting harmful computer systems
CN108369541B (en) System and method for threat risk scoring of security threats
RU2614929C1 (en) Method for anti-virus records transmission used to detect malicious files
Supriya et al. Malware detection techniques: a survey
RU2587424C1 (en) Method of controlling applications
RU2716735C1 (en) System and method of deferred authorization of a user on a computing device
RU2622630C2 (en) System and method of modified data recovery
RU2708355C1 (en) Method of detecting malicious files that counteract analysis in isolated environment
RU2794713C1 (en) Method of detection of a malicious file using the database of vulnerable drivers
EP3252645B1 (en) System and method of detecting malicious computer systems