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 PDFInfo
- 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
Links
Images
Abstract
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
Описанные ниже средства реализованы как элементы компьютерной системы или совокупности компьютерных систем, более подробно описанных на Фиг. 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
В одном из вариантов реализации системы с помощью средства перехвата 110 обнаруживают активность драйвера 101, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.In one embodiment, the
Например, описываемая система может являться частью антивирусного ПО, одним из компонентов которой является драйвер, работающий в режиме ядра и осуществляющий перехват 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
• драйвер является легитимным (т.е. является подписанным и имеющим проверенную цифровую подпись, или установленным в операционную систему в результате установки легитимного ПО);• 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.
Ещё в одном из вариантов реализации системы с помощью средства перехвата 110 отслеживают активность драйверов 101, для которых по меньшей мере:In another embodiment, the
• уже известно, что они были использованы вредоносными программами ранее для вредоносной деятельности (при этом не обязательно у пользователя описываемой системы);• 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
Ещё в одном из вариантов реализации системы активность драйвера 101 заключается по меньшей мере в:In another implementation of the system, the activity of the
• передаче данных по компьютерной сети;• 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
• взаимодействии с файлами или файловой структурой, в том числе взаимодействии с файлом 103, связанными с приложением 102, работающими в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанными приложением 102.• interaction with files or file structure, including interaction with the
В одном из вариантов реализации системы описанная система можно применяться для ситуаций, когда драйвер 101 связан с несколькими приложениями 102, при этом каждое приложение 102, может в свою очередь быть связано с несколькими файлами 103.In one embodiment of the system, the described system can be applied to situations where the
Например, при работе с драйвером архивирования файлов 101 может быть выявлено два приложения 102 – сертифицированный архиватор, широко используемый пользователями, и мало популярное приложение. И с выявленными сертифицированным архиватором, и с мало используемым приложением может быть связано сразу несколько файлов, при этом у сертифицированного архиватора все файлы являются доверенными (т.е. проверенными, для которых доказано отсутствие вредоносного функционала), а у мало используемого приложения часть файлов могут обладать вредоносным функционалом, обнаруживаемом при проведении антивирусного анализа.For example, when working with the
Таким образом, использование описываемой системы для обнаружения вредоносного файла 103, связанного с приложением 102, также может без каких-либо принципиальных изменений сводиться к обнаружению вредоносных файлов 103, связанных с несколькими приложениями 102 (причём не обязательно, но возможно, чтобы один файл 103 был связан с несколькими приложениями 102).Thus, the use of the described system to detect a
Средство анализа активности 120 предназначено для определения на основании анализа активности драйвера 101, является ли драйвер 101 опасным, т.е. может ли драйвер 101 быть использован вредоносным ПО для вредоносной активности.The
В одном из вариантов реализации системы средство анализа активности 120 дополнительно предназначено для определения коэффициента опасности драйвера в результате анализа активности драйвера 101, при этом коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.In one of the system implementation options, the
Например, коэффициент опасности может находиться в диапазоне от 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
• идентификации анализируемого драйвера 101 с известным драйвером из базы опасных драйверов 121;• identification of the analyzed
• имитации работы анализируемого драйвера 101 в виртуальной среде;• simulation of the analyzed
при этом результатом анализа служит признание анализируемого драйвера 101 безопасным или опасным.while the result of the analysis is the recognition of the analyzed
Ещё в одном из вариантов реализации системы анализ активности драйвера 101 заключается в имитации его работы. С этой целью любым известным из уровня техники способом в описываемой системе реализуется виртуальная среда, имитирующая работу вычислительной системы, в которой установлен драйвер 101. В виртуальной среде без какого-либо ущерба для реальной вычислительной системы выполняются разные сценарии использования драйвера 101, по результатам выполнения которых определяется, является ли драйвер 101 опасным.In another embodiment of the system, the analysis of the activity of the
База опасных драйверов 121 содержит по меньшей мере:
• драйверы, признанные опасными;• 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
• ранее драйвер уже был использован вредоносными программами для вредоносной деятельности (как на компьютере, на котором работает описываемая система, так и на любом другом компьютере, в таком случае база опасных драйверов 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
• ранее драйвер уже был проанализирован любым известным из уровня техники способом и признан подходящим для использования вредоносными программами для вредоносной деятельности.• 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
• уязвимость безопасности в работе драйвера 101;• security vulnerability in
• потенциально опасный функционал драйвера 101.• potentially
Ещё в одном из вариантов реализации системы разным обнаруженным уязвимостям безопасности в работе драйвера 101 или потенциально опасным функциям драйвера 101 ставятся в соответствия разные веса, на основании которых затем вычисляется итоговый коэффициент опасности драйвера 101.In another embodiment of the system, different detected security vulnerabilities in the operation of the
Ещё в одном из вариантов реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.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
В одном из вариантов реализации системы файл 103 связан с приложением 102 по меньшей мере в случае, если:In one system implementation, file 103 is associated with
• приложение 102 использует в своей работе файл 103;•
• файл 103 создан в процессе работы приложения 102;• file 103 was created during the operation of
• при запуске приложения 102 использовался файл 103. •
Ещё в одном из вариантов реализации системы в случае, если вычисленный с помощью средства анализа активности 120 коэффициент опасности драйвера 101 превосходит пороговое значение, выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101.In yet another implementation of the system, if the
Средство проверки на вредоносность 140 предназначено для:
• выполнения проверки найденного файла 103 на вредоносность;• performing a check of the found
• признания найденного файла 103 вредоносным.• recognition of the found
В одном из вариантов реализации системы средство проверки на вредоносность 140 предназначено для признания файла 103 вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла 103 с учетом определения драйвера 101 как опасного.In one implementation of the system, the
Ещё в одном из вариантов реализации системы в качестве средства проверки на вредоносность 140 может выступать антивирусное ПО.In yet another implementation of the system, anti-virus software can act as a means of checking for
Средство карантина 150 предназначено для помещения по меньшей мере драйвера 101, приложения 102 или файла 103 на карантин.The
В одном из вариантов реализации системы на карантине осуществляется изоляция помещённого на карантин объекта, в процессе которого по меньшей мере осуществляется:In one of the options for implementing a quarantined system, the quarantined object is isolated, during which at least:
• удаление найденного файла 103 из операционной системы;• removal of the found
• удаление опасного драйвера 101 из операционной системы;• removal of the
• удаление приложения 102, с которым связан найденный файл 103, из операционной системы;• removal of the
• блокировка (т.е. обеспечение невозможности использования операционной системой и другими приложениями) опасного драйвера 101, приложения 102, с которым связан найденный файл 103, найденного файла 103.• blocking (ie making it impossible for the operating system and other applications to use) a
Ещё в одном из вариантов реализации системы в качестве средства карантина 150 выступает антивирусное ПО.In another embodiment of the system, anti-virus software acts as a means of
Еще в одном из вариантов реализации системы схема работы обнаружения вредоносного файла реализовывается следующим образом:In another implementation of the system, the scheme for detecting a malicious file is implemented as follows:
После того, как средство поиска 130 обнаружило файл 103, связанный с приложением 102, использующим драйвер 101, такой файл признаётся подозрительным (потенциально опасным) и помещается в карантин с помощью средства карантина 150. After the
Затем с помощью средства проверки на вредоносность 140 выполняют проверку найденного файла 103, помещённого в карантин, на вредоносность. Then, using the
Когда файла 103 признаётся вредоносным средство карантина 150 удаляет указанный файл 103 из операционной системы.When a
Ещё в одном из вариантов реализации системы аналогичные действия выполняются по меньшей мере для:In another embodiment of the system, similar actions are performed for at least:
• приложения 102, с которым связан указанный файл 103;• the
• драйвера 101, который использует указанное приложения 102.• a
Фиг. 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
Способ обнаружения вредоносного файла выполняют с помощью средств системы способа обнаружения вредоносного файла, которое содержит для этой цели процессор и память и более подробно описано на Фиг. 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
На этапе 220 с помощью средства перехвата 110 обнаруживают активность драйвера 101 в операционной системе путём перехвата API запроса драйвера 101 к приложению 102, выполненного на этапе 210.At
В одном из вариантов реализации способа на этапе 220 обнаруживают активность драйвера 101, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.In one embodiment, the method at
Ещё в одном из вариантов реализации способа активность драйвера 101 заключается по меньшей мере в:In another embodiment of the method, the activity of the
• передаче данных по компьютерной сети;• 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
• взаимодействии с файлами или файловой структурой, в том числе взаимодействии с файлом 103, связанными с приложением 102, работающими в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанными приложением 102.• interaction with files or file structure, including interaction with the
На этапе 230 с помощью средства анализа активности 120 определяют на основании анализа обнаруженной на этапе 220 активности драйвера 101, является ли драйвер 101 опасным.At
В одном из вариантов реализации способа в результате анализа активности драйвера 101 определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101, при этом коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.In one of the embodiments of the method, as a result of the analysis of the activity of the
Ещё в одном из вариантов реализации способа анализ активности драйвера 101 заключается по меньшей мере в одном из:In another embodiment of the method, the analysis of the activity of the
• идентификации анализируемого драйвера 101 с известным драйвером из базы опасных драйверов 121;• identification of the analyzed
• имитации работы анализируемого драйвера 101 в виртуальной среде;• simulation of the analyzed
при этом результатом анализа служит признание анализируемого драйвера 101 безопасным или опасным.while the result of the analysis is the recognition of the analyzed
Ещё в одном из вариантов способа драйвер 101 признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере:In another variant of the method, the
• уязвимость безопасности в работе драйвера 101;• security vulnerability in
• потенциально опасный функционал драйвера 101.• potentially
Ещё в одном из вариантов реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительного устройства.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
На этапе 250 с помощью средства проверки на вредоносность 140 признают найденный на этапе 240 файл 103 вредоносным.At
В одном из вариантов реализации способа найденный файл 103 с помощью средства проверки на вредоносность 140 признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла 103 с учетом определения драйвера 101 как опасного.In one of the embodiments of the method, the found
Ещё в одном из вариантов реализации способа файл 103 получает больший коэффициент опасности в том случае, если он используется опасным драйвером 101, по сравнению с файлом 103, который используется безопасным драйвером.In yet another embodiment of the method, file 103 receives a higher hazard rating if it is used by a
В этом случае будут обнаруживаться и такие подозрительные файлы, что повышает точность обнаружения вредоносных файлов.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
На этапе 260 в случае признания найденного файла 103 вредоносным с помощью средства карантина 150 дополнительно осуществляют помещение по меньшей мере драйвера 101, приложения 102 или файла 103 на карантин.At
В одном из вариантов реализации способа на карантине осуществляется изоляция помещённого на карантин объекта, в процессе которой по меньшей мере осуществляется: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
• удаление опасного драйвера 101 из операционной системы;• removal of the
• удаление приложения 102, с которым связан найденный файл 103, из операционной системы;• removal of the
• блокировка (т.е. обеспечение невозможности использования операционной системой и другими приложениями) опасного драйвера 101, приложения 102, с которым связан найденный файл 103, найденного файла 103.• blocking (ie making it impossible for the operating system and other applications to use) a
Фиг. 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
Персональный компьютер 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, персональный компьютер может быть оснащён другими периферийными устройствами вывода (не отображены), например, колонками, принтером и тому подобное.The
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удалёнными компьютерами 49. Удалённый компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы. The
Сетевые соединения могут образовывать локальную вычислительную сеть (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
В заключение следует отметить, что приведённые в описании сведения являются примерами, которые не ограничивают объём настоящего изобретения, определённого формулой.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)
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)
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)
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 |