RU2794713C1 - Способ обнаружения вредоносного файла с использованием базы уязвимых драйверов - Google Patents

Способ обнаружения вредоносного файла с использованием базы уязвимых драйверов 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
English (en)
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/ru

Links

Images

Abstract

Изобретение относится к области информационной безопасности и предназначено для обнаружения вредоносных файлов, использующих драйверы. Технический результат заключается в обнаружении вредоносного файла за счёт анализа работы драйвера, к которому обращается приложение, с которым связан указанный файл. Ещё один технический результат заключается в повышении точности обнаружения вредоносного файла за счёт обнаружения и анализа опасного драйвера, используемого указанным файлом. Указанные результаты достигаются путем применения способа обнаружения вредоносного файла, реализуемый на вычислительном устройстве, включающем процессор и память, при помощи которых обнаруживают активность драйвера в операционной системе путём перехвата API запроса драйвера к приложению; определяют на основании анализа активности драйвера, является ли драйвер опасным; в случае, если драйвер по результатам анализа признан опасным, выполняют поиск файла, связанного с приложением, использующим драйвер; признают найденный файл вредоносным. 8 з.п. ф-лы, 3 ил.

Description

Область техники
Изобретение относится к области информационной безопасности и предназначено для обнаружения вредоносных файлов, использующих драйверы.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для выполнения огромного количества задач (от интернет-сёрфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и объёма программного обеспечения (ПО), работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак на другие компьютеры или компьютерные сети, как отказ в обслуживании (англ. DDoS − Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce). Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку СМС на платные номера и т.д.
Современное ПО стало настолько сложным и многофункциональным, что стало возможным использовать его по сути легальные части (в виде библиотек, программных модулей или предоставляемых API функций) вредоносными программами для своей работы. Например, программы-шифровальщики могут использовать библиотеки легальных архиваторов для шифрования документов и других критически важных для пользователей файлов.
Такой подход в работе вредоносных программ существенно усложняет работу антивирусного ПО в связи с тем, что часть вредоносной активности осуществляется через легальные программы, которые нельзя блокировать или удалять, поскольку это может повлечь сбой в работе компьютера пользователя или привести к потере важных для пользователя данных. Кроме того, зачастую упомянутые части легальных программ работают в режиме ядра (например, драйверы), что также усложняет общий контроль антивирусным ПО вредоносной активности.
Для частичного решения описанной выше проблемы применяются комбинированные способы обнаружения вредоносных программ, когда выявление вредоносной активности ведётся как в режиме ядра, так и в режиме пользователя, а результаты такого контроля объединяются и анализируются.
В патентной публикации US8397297B2 описывается технология удаления обнаруженного вредоносного приложения. Предварительно определяются элементы операционной системы, имеющие связь с обнаруженным вредоносным приложением (в частности файлы, которые использует указанное вредоносное приложение). Даная связь устанавливается за счёт отслеживания выполнения потенциально вредоносного приложения. В одном из случаев удаляются также приложения, которые могут являться загрузчиками удаляемого вредоносного приложения, поскольку из системы удаляются все элементы, связанные с удаляемым вредоносным приложением.
В патентной публикации US20150096028A1 описывается технология обнаружения вредоносных программ (в том числе и драйверов), работающих в режиме ядра операционной системы. Для этого выполняется динамическая проверка выполнения кода ядра операционной системы с целью обнаружения несанкционированного перехвата вызовов и изменения кода в ядре, а также в загружаемых модулях ядра (драйверах).
Описанные технологии хорошо справляются с обнаружением вредоносных программ, работающих как в режиме ядра операционной системы, так и в режиме пользователя, а также позволяют выявлять вредоносные программы, сформированные на компьютере жертвы другими вредоносными программами, однако они плохо справляются с ситуациями, когда вредоносная программа работает сразу и в режиме ядра операционной системы, и в режиме пользователя, при использовании легальных компонент, также работающих в режиме ядра операционной системы.
Настоящее изобретение предназначено для обнаружения вредоносных файлов, использующих легальные драйверы (в том числе подписанные и относящиеся к легальному ПО).
Раскрытие изобретения
Изобретение предназначено для обеспечения информационной безопасности.
Технический результат заключается в обнаружении вредоносного файла за счёт анализа работы драйвера, к которому обращается приложение, с которым связан указанный файл.
Ещё один технический результат заключается в повышении точности обнаружения вредоносного файла за счёт обнаружения и анализа опасного драйвера, используемого указанным файлом.
Данный результат достигается с помощью использования компьютерно-реализуемого способа обнаружения вредоносного файла, реализуемый на вычислительном устройстве, включающем процессор и память, при помощи которых: обнаруживают активность драйвера в операционной системе путём перехвата API запроса драйвера к приложению; определяют на основании анализа активности драйвера, является ли драйвер опасным; в случае если драйвер по результатам анализа признан опасным, выполняют поиск файла, связанного с приложением, использующим драйвер; признают найденный файл вредоносным.
В другом частном случае реализации способа на первом шаге обнаруживают активность драйвера, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.
Ещё в одном частном случае реализации способа активность драйвера заключается по меньшей мере в: передаче данных по компьютерной сети; взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой; взаимодействии с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанному приложением; взаимодействии с файлом или файловой структурой, в том числе взаимодействии с файлом, связанным с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением.
В другом частном случае реализации способа в результате анализа активности драйвера определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла, связанного с приложением, использующим драйвер.
Ещё в одном частном случае реализации способа коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.
В другом частном случае реализации способа анализ активности драйвера заключается в по меньшей мере в одном из: идентификации анализируемого драйвера с известным драйвером из базы опасных драйверов; имитации работы анализируемого драйвера в виртуальной среде; при этом результатом анализа служит признание анализируемого драйвера безопасным или опасным.
Ещё в одном частном случае реализации способа драйвер признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере: уязвимость безопасности в работе драйвера; потенциально опасный функционал драйвера.
В другом частном случае реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.
Ещё в одном частном случае реализации способа найденный файл признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла с учетом определения драйвера как опасного.
В другом частном случае реализации способа после выполнения поиска файла, связанного с приложением, использующим драйвер, дополнительно выполняют проверку найденного файла на вредоносность.
Ещё в одном частном случае реализации способа в случае признания найденного файла вредоносным дополнительно осуществляют помещение найденного файла на карантин и по меньшей мере: его удаление из операционной системы; удаление опасного драйвера из операционной системы.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы обнаружения вредоносного файла.
Фиг. 2 представляет структурную схему способа обнаружения вредоносного файла.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формулой.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведённая в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объёме приложенной формулы.
Фиг. 1 представляет структурную схему системы обнаружения вредоносного файла.
Структурная схема системы обнаружения вредоносного файла состоит из средства перехвата 110, средства анализа активности 120, базы опасных драйверов 121, средства поиска 130, средства проверки на вредоносность 140, средства карантина 150.
Описанные ниже средства реализованы как элементы компьютерной системы или совокупности компьютерных систем, более подробно описанных на Фиг. 3.
Средство перехвата 110 предназначено для обнаружения активности драйвера 101 в операционной системе путём перехвата API запроса драйвера 101 к приложению 102.
В одном из вариантов реализации системы с помощью средства перехвата 110 обнаруживают активность драйвера 101, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.
Например, описываемая система может являться частью антивирусного ПО, одним из компонентов которой является драйвер, работающий в режиме ядра и осуществляющий перехват API вызовов между разными объектами операционной системы (службами операционной системы, приложениями, библиотеками, другими драйверами и т.д.).
Ещё в одном из вариантов реализации системы с помощью средства перехвата 110 отслеживают активность драйверов 101, удовлетворяющих критериям:
• драйвер является легитимным (т.е. является подписанным и имеющим проверенную цифровую подпись, или установленным в операционную систему в результате установки легитимного ПО);
• драйвер не является безопасным или не известен для описываемой системы (в частности для антивирусного ПО, используемого для проверки драйверов), т.е. ранее было установлено, что драйвер является опасным или потенциально опасным, или такая проверка не выполнялась и драйвер остаётся с неопределённым статусом.
Например, существуют легитимные драйверы, входящие в состав ПО, разрабатываемого легитимными производителями и предназначенные для выполнения безопасных для пользователя действий. Однако в них могут содержаться уязвимости, или может быть реализован функционал, который злоумышленники могут использовать во вредоносном ПО для осуществления опасных действий, в том числе из ядра операционной системы. Средство перехвата 110 отслеживает именно такие драйверы.
Ещё в одном из вариантов реализации системы с помощью средства перехвата 110 отслеживают активность драйверов 101, для которых по меньшей мере:
• уже известно, что они были использованы вредоносными программами ранее для вредоносной деятельности (при этом не обязательно у пользователя описываемой системы);
• определено, что указанные драйверы могут быть использованы вредоносным ПО (имеют уязвимости, предоставляют функционал, который может быть использован во вредоносной деятельности и т.д.).
Например, отслеживаются не все драйверы в операционной системе, а только драйверы 101, которые обмениваются данными с приложениями по сети в обход сетевого шлюза (например, потому что находятся в списке исключений).
Ещё в одном из вариантов реализации системы активность драйвера 101 заключается по меньшей мере в:
• передаче данных по компьютерной сети;
• взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой;
• взаимодействии с приложением 102, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением 102;
• взаимодействии с файлами или файловой структурой, в том числе взаимодействии с файлом 103, связанными с приложением 102, работающими в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанными приложением 102.
В одном из вариантов реализации системы описанная система можно применяться для ситуаций, когда драйвер 101 связан с несколькими приложениями 102, при этом каждое приложение 102, может в свою очередь быть связано с несколькими файлами 103.
Например, при работе с драйвером архивирования файлов 101 может быть выявлено два приложения 102 – сертифицированный архиватор, широко используемый пользователями, и мало популярное приложение. И с выявленными сертифицированным архиватором, и с мало используемым приложением может быть связано сразу несколько файлов, при этом у сертифицированного архиватора все файлы являются доверенными (т.е. проверенными, для которых доказано отсутствие вредоносного функционала), а у мало используемого приложения часть файлов могут обладать вредоносным функционалом, обнаруживаемом при проведении антивирусного анализа.
Таким образом, использование описываемой системы для обнаружения вредоносного файла 103, связанного с приложением 102, также может без каких-либо принципиальных изменений сводиться к обнаружению вредоносных файлов 103, связанных с несколькими приложениями 102 (причём не обязательно, но возможно, чтобы один файл 103 был связан с несколькими приложениями 102).
Средство анализа активности 120 предназначено для определения на основании анализа активности драйвера 101, является ли драйвер 101 опасным, т.е. может ли драйвер 101 быть использован вредоносным ПО для вредоносной активности.
В одном из вариантов реализации системы средство анализа активности 120 дополнительно предназначено для определения коэффициента опасности драйвера в результате анализа активности драйвера 101, при этом коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.
Например, коэффициент опасности может находиться в диапазоне от 0 до 1, а его вычисление основываться на весах, поставленных каждому типу активности.
Ещё в одном примере, для вычисления коэффициента опасности может использоваться обученная модель.
Ещё в одном из вариантов реализации системы анализ активности драйвера 101 заключается по меньшей мере в одном из:
• идентификации анализируемого драйвера 101 с известным драйвером из базы опасных драйверов 121;
• имитации работы анализируемого драйвера 101 в виртуальной среде;
при этом результатом анализа служит признание анализируемого драйвера 101 безопасным или опасным.
Ещё в одном из вариантов реализации системы анализ активности драйвера 101 заключается в имитации его работы. С этой целью любым известным из уровня техники способом в описываемой системе реализуется виртуальная среда, имитирующая работу вычислительной системы, в которой установлен драйвер 101. В виртуальной среде без какого-либо ущерба для реальной вычислительной системы выполняются разные сценарии использования драйвера 101, по результатам выполнения которых определяется, является ли драйвер 101 опасным.
База опасных драйверов 121 содержит по меньшей мере:
• драйверы, признанные опасными;
• метаданные, описывающие драйверы, признанные опасными;
• участки кода драйверов, содержащих уязвимости;
• метаданные, описывающие код драйверов, содержащих уязвимости.
Ещё в одном из вариантов реализации системы драйвер признаётся опасным, по меньшей мере если:
• ранее средством анализа активности 120 драйвер был признан опасным, т.е. драйвер может быть использован вредоносными программами для вредоносной деятельности (например, драйвер содержит уязвимости, позволяющие использовать его сторонними программами, функционал драйвера изначально имеет «двойное» назначение, поэтому может быть использован для вредоносной активности (в частном случае это могут быть драйверы, отвечающие за шифрование данных));
• ранее драйвер уже был использован вредоносными программами для вредоносной деятельности (как на компьютере, на котором работает описываемая система, так и на любом другом компьютере, в таком случае база опасных драйверов 121 формируется заранее на основании собранной статистики по работе известных драйверов);
• ранее драйвер уже был проанализирован любым известным из уровня техники способом и признан подходящим для использования вредоносными программами для вредоносной деятельности.
Ещё в одном из вариантов реализации системы в качестве метаданных, описывающих драйверы, признанные опасными, выступают по меньшей мере:
• параметры, позволяющие идентифицировать драйвер (однозначно или с некоторой заданной погрешностью), например, размер файла драйвера, название файла, время создания, свёртки по коду драйвера, используемые API функции и т.д.;
• параметры, описывающие поведение драйвера, например, API функции, предоставляемые драйвером, действия драйвера на изменения в операционной системе и т.д.;
• параметры, описывающие окружение драйвера, например, ПО, использующее драйвер, ПО, установившее драйвер, и т.д.
Ещё в одном из вариантов реализации системы драйвер 101 признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере:
• уязвимость безопасности в работе драйвера 101;
• потенциально опасный функционал драйвера 101.
Ещё в одном из вариантов реализации системы разным обнаруженным уязвимостям безопасности в работе драйвера 101 или потенциально опасным функциям драйвера 101 ставятся в соответствия разные веса, на основании которых затем вычисляется итоговый коэффициент опасности драйвера 101.
Ещё в одном из вариантов реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.
Средство поиска 130 предназначено для поиска файла 103, связанного с приложением 102, использующим драйвер 101.
В одном из вариантов реализации системы файл 103 связан с приложением 102 по меньшей мере в случае, если:
• приложение 102 использует в своей работе файл 103;
• файл 103 создан в процессе работы приложения 102;
• при запуске приложения 102 использовался файл 103.
Ещё в одном из вариантов реализации системы в случае, если вычисленный с помощью средства анализа активности 120 коэффициент опасности драйвера 101 превосходит пороговое значение, выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101.
Средство проверки на вредоносность 140 предназначено для:
• выполнения проверки найденного файла 103 на вредоносность;
• признания найденного файла 103 вредоносным.
В одном из вариантов реализации системы средство проверки на вредоносность 140 предназначено для признания файла 103 вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла 103 с учетом определения драйвера 101 как опасного.
Ещё в одном из вариантов реализации системы в качестве средства проверки на вредоносность 140 может выступать антивирусное ПО.
Средство карантина 150 предназначено для помещения по меньшей мере драйвера 101, приложения 102 или файла 103 на карантин.
В одном из вариантов реализации системы на карантине осуществляется изоляция помещённого на карантин объекта, в процессе которого по меньшей мере осуществляется:
• удаление найденного файла 103 из операционной системы;
• удаление опасного драйвера 101 из операционной системы;
• удаление приложения 102, с которым связан найденный файл 103, из операционной системы;
• блокировка (т.е. обеспечение невозможности использования операционной системой и другими приложениями) опасного драйвера 101, приложения 102, с которым связан найденный файл 103, найденного файла 103.
Ещё в одном из вариантов реализации системы в качестве средства карантина 150 выступает антивирусное ПО.
Еще в одном из вариантов реализации системы схема работы обнаружения вредоносного файла реализовывается следующим образом:
После того, как средство поиска 130 обнаружило файл 103, связанный с приложением 102, использующим драйвер 101, такой файл признаётся подозрительным (потенциально опасным) и помещается в карантин с помощью средства карантина 150.
Затем с помощью средства проверки на вредоносность 140 выполняют проверку найденного файла 103, помещённого в карантин, на вредоносность.
Когда файла 103 признаётся вредоносным средство карантина 150 удаляет указанный файл 103 из операционной системы.
Ещё в одном из вариантов реализации системы аналогичные действия выполняются по меньшей мере для:
• приложения 102, с которым связан указанный файл 103;
• драйвера 101, который использует указанное приложения 102.
Фиг. 2 представляет структурную схему обнаружения вредоносного файла.
Структурная схема способа обнаружения вредоносного файла содержит этап 210, на котором перехватывают API запросы, этап 220, на котором обнаруживают активность драйвера, этап 230, на котором анализируют активность драйвера, этап 240, на котором выполняют поиск файла, этап 250, на котором проверяют файл на вредоносность, этап 260, на котором помещают файл на карантин.
Способ обнаружения вредоносного файла выполняют с помощью средств системы способа обнаружения вредоносного файла, которое содержит для этой цели процессор и память и более подробно описано на Фиг. 1.
На этапе 210 с помощью средства перехвата 110 осуществляют перехват API запроса драйвера 101 к приложению 102.
На этапе 220 с помощью средства перехвата 110 обнаруживают активность драйвера 101 в операционной системе путём перехвата API запроса драйвера 101 к приложению 102, выполненного на этапе 210.
В одном из вариантов реализации способа на этапе 220 обнаруживают активность драйвера 101, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.
Ещё в одном из вариантов реализации способа активность драйвера 101 заключается по меньшей мере в:
• передаче данных по компьютерной сети;
• взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой;
• взаимодействии с приложением 102, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением 102;
• взаимодействии с файлами или файловой структурой, в том числе взаимодействии с файлом 103, связанными с приложением 102, работающими в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанными приложением 102.
На этапе 230 с помощью средства анализа активности 120 определяют на основании анализа обнаруженной на этапе 220 активности драйвера 101, является ли драйвер 101 опасным.
В одном из вариантов реализации способа в результате анализа активности драйвера 101 определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101, при этом коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.
Ещё в одном из вариантов реализации способа анализ активности драйвера 101 заключается по меньшей мере в одном из:
• идентификации анализируемого драйвера 101 с известным драйвером из базы опасных драйверов 121;
• имитации работы анализируемого драйвера 101 в виртуальной среде;
при этом результатом анализа служит признание анализируемого драйвера 101 безопасным или опасным.
Ещё в одном из вариантов способа драйвер 101 признаётся опасным в случае, если в результате анализа обнаруживается по меньшей мере:
• уязвимость безопасности в работе драйвера 101;
• потенциально опасный функционал драйвера 101.
Ещё в одном из вариантов реализации способа потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительного устройства.
На этапе 240 в случае, если драйвер 101 по результатам анализа, выполненного на этапе 230 признан опасным, с помощью средства поиска 130 выполняют поиск файла 103, связанного с приложением 102, использующим драйвер 101.
На этапе 250 с помощью средства проверки на вредоносность 140 признают найденный на этапе 240 файл 103 вредоносным.
В одном из вариантов реализации способа найденный файл 103 с помощью средства проверки на вредоносность 140 признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла 103 с учетом определения драйвера 101 как опасного.
Ещё в одном из вариантов реализации способа файл 103 получает больший коэффициент опасности в том случае, если он используется опасным драйвером 101, по сравнению с файлом 103, который используется безопасным драйвером.
В этом случае будут обнаруживаться и такие подозрительные файлы, что повышает точность обнаружения вредоносных файлов.
Ещё в одном из вариантов реализации способа после выполнения поиска файла 103, связанного с приложением 102, использующим драйвер 101, с помощью средства проверки на вредоносность 140 дополнительно выполняют проверку найденного файла 103 на вредоносность.
На этапе 260 в случае признания найденного файла 103 вредоносным с помощью средства карантина 150 дополнительно осуществляют помещение по меньшей мере драйвера 101, приложения 102 или файла 103 на карантин.
В одном из вариантов реализации способа на карантине осуществляется изоляция помещённого на карантин объекта, в процессе которой по меньшей мере осуществляется:
• удаление найденного файла 103 из операционной системы;
• удаление опасного драйвера 101 из операционной системы;
• удаление приложения 102, с которым связан найденный файл 103, из операционной системы;
• блокировка (т.е. обеспечение невозможности использования операционной системой и другими приложениями) опасного драйвера 101, приложения 102, с которым связан найденный файл 103, найденного файла 103.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жёсткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жёсткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жёсткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жёсткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и тому подобное), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и тому подобное. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединён к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединён к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащён другими периферийными устройствами вывода (не отображены), например, колонками, принтером и тому подобное.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удалёнными компьютерами 49. Удалённый компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключён к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключён к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, то есть в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведённые в описании сведения являются примерами, которые не ограничивают объём настоящего изобретения, определённого формулой.

Claims (21)

1. Компьютерно-реализуемый способ обнаружения вредоносного файла, реализуемый на вычислительном устройстве, включающем процессор и память, при помощи которых:
• обнаруживают активность драйвера в операционной системе путём перехвата API запроса драйвера к приложению;
• определяют опасность драйвера путем анализа активности драйвера, где анализ заключается по меньшей мере в одном из:
• идентификации анализируемого драйвера с известным драйвером из базы опасных драйверов;
• имитации работы анализируемого драйвера в виртуальной среде для обнаружения уязвимости безопасности в работе драйвера или потенциально опасного функционала драйвера;
• в случае если драйвер по результатам анализа признан опасным, выполняют поиск файла, связанного с приложением, использующим драйвер;
• признают найденный файл вредоносным.
2. Способ по п.1, по которому на шаге а) обнаруживают активность драйвера, работающего в пользовательском режиме, с помощью другого драйвера, работающего в режиме ядра.
3. Способ по п.1, по которому активность драйвера заключается по меньшей мере в:
• передаче данных по компьютерной сети;
• взаимодействии со службами операционной системы, в том числе путём вызова API функций, предоставляемых операционной системой;
• взаимодействии с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанному приложением;
• взаимодействии с файлом или файловой структурой, в том числе взаимодействии с файлом, связанным с приложением, работающим в операционной системе, в том числе путём вызова соответствующих API функций, предоставляемых указанным приложением.
4. Способ по п.1, по которому в результате анализа активности драйвера определяют коэффициент опасности драйвера и в случае, если коэффициент опасности превосходит пороговое значение, выполняют поиск файла, связанного с приложением, использующим драйвер.
5. Способ по п.4, по которому коэффициент опасности драйвера представляет собой численное значение из диапазона, одна граница которого означает гарантированно неопасный драйвер, а другая граница – драйвер, гарантированно используемый для нанесения ущерба вычислительному устройству.
6. Способ по п.1, по которому потенциально опасным функционалом является функционал, который может быть использован скрыто от пользователя и наносить при этом ущерб работоспособности вычислительному устройству.
7. Способ по п.1, по которому найденный файл признаётся вредоносным в результате проведения антивирусной проверки и вынесения решения о вредоносности файла с учетом определения драйвера как опасного.
8. Способ по п.1, по которому после выполнения поиска файла, связанного с приложением, использующим драйвер, дополнительно выполняют проверку найденного файла на вредоносность.
9. Способ по п.1, по которому в случае признания найденного файла вредоносным дополнительно осуществляют помещение найденного файла на карантин и по меньшей мере:
• его удаление из операционной системы;
• удаление опасного драйвера из операционной системы.
RU2022107027A 2022-03-17 2022-03-17 Способ обнаружения вредоносного файла с использованием базы уязвимых драйверов RU2794713C1 (ru)

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 (ru) 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 (ru) * 2016-07-29 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ блокирования доступа к защищаемым приложениям

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 (ru) * 2016-07-29 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ блокирования доступа к защищаемым приложениям

Similar Documents

Publication Publication Date Title
US11055411B2 (en) System and method for protection against ransomware attacks
JP6639588B2 (ja) 悪意あるファイルを検出するシステムおよび方法
RU2606564C1 (ru) Система и способ блокировки выполнения сценариев
US10599841B2 (en) System and method for reverse command shell detection
RU2706896C1 (ru) Система и способ выявления вредоносных файлов с использованием модели обучения, обученной на одном вредоносном файле
RU2659737C1 (ru) Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
RU2589862C1 (ru) Способ обнаружения вредоносного кода в оперативной памяти
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
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 (ja) 標的型攻撃をクラウド型検出、探索および除去するシステムおよび方法
RU2617654C2 (ru) Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
RU2634173C1 (ru) Система и способ обнаружения приложения удалённого администрирования
CN110119619B (zh) 创建防病毒记录的***和方法
RU2634181C1 (ru) Система и способ обнаружения вредоносных компьютерных систем
CN108369541B (zh) 用于安全威胁的威胁风险评分的***和方法
RU2614929C1 (ru) Способ передачи антивирусных записей, используемых для обнаружения вредоносных файлов
Supriya et al. Malware detection techniques: a survey
RU2587424C1 (ru) Способ контроля приложений
RU2716735C1 (ru) Система и способ отложенной авторизации пользователя на вычислительном устройстве
RU2622630C2 (ru) Система и способ восстановления модифицированных данных
RU2708355C1 (ru) Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
RU2794713C1 (ru) Способ обнаружения вредоносного файла с использованием базы уязвимых драйверов
EP3252645B1 (en) System and method of detecting malicious computer systems