СИСТЕМА И СПОСОБ ДЛЯ СНИЖЕНИЯ НАГРУЗКИ НА ОПЕРАЦИОННУЮ СИСТЕМУ ПРИ РАБОТЕ АНТИВИРУСНОГО ПРИЛОЖЕНИЯ Российский патент 2015 года по МПК G06F21/00 

Описание патента на изобретение RU2571723C2

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

Настоящее изобретение относится к системам и способам для снижения нагрузки на операционную систему во время работы антивирусного устройства.

Уровень техники

Под вредоносным программным обеспечением понимается любое программное обеспечение (далее - ПО), которое предназначено для проникновения в компьютерную систему с целью получения контроля над ней и совершения незаконных действий, например, кражи конфиденциальной информации. В настоящее время существует большое количество разновидностей вредоносного ПО, к которым относятся сетевые черви, троянские программы, руткиты, эксплойты и компьютерные вирусы. Поэтому многие владельцы компьютерных устройств (например, персональных компьютеров) для защиты используют различные антивирусные приложения, которые позволяют обнаруживать и удалять вредоносные программы. Примерами таких приложений являются приложение «Kaspersky Anti-Virus» от компании «ЗАО Лаборатория Касперского» и приложение «Avast! Pro Antivirus)) от компании AVAST Software. Как правило, современные антивирусные приложения являются многокомпонентными сложными системами, которые содержат в себе различные способы защиты.

Одной из технологий защиты является сигнатурное сканирование, которое позволяет выявлять известные вредоносные программы среди всех программ, установленных в компьютерной системе. Для этого данная технология имеет базу данных, которая содержит информацию об известных вредоносных программах, например, в виде хешей данных программ. Пополнение таких баз данных происходит, как правило, получением информации о новых выявленных вредоносных программах от производителя антивирусной защиты путем распространения через Интернет.

Другой технологией защиты является технология известная под названием «whitelisting», которая обеспечивает контроль приложений с помощью «белых» списков доверенных программ. Данная технология позволяет не ограничивать и разрешать работу в компьютерной системе ПО, если данное ПО классифицировано как доверенное.

Еще одной технологией, которая также используется в современных антивирусных приложениях, является поведенческое обнаружение, которое позволяет анализировать поведение приложений. Данная технология может быть основана, например, на перехвате API-функций, вызываемых тем или иным приложением, и их последующем исследовании. Стоит отметить, что исследуются не сами API-функции, а последовательность вызовов различных API-функций и их параметры. На основании исследования выявляются различные подозрительные действия, примером которых может быть попытка доступа к системным файлам со стороны недоверенного процесса (например, процесса, запущенного из файла, который появился в системе сравнительно недавно и не был проверен антивирусным приложением). После выявления подозрительных действий производится анализ и вынесение решения о вредоносности ПО.

Рассмотренные выше технологии, используемые совместно для обнаружения вредоносных программ, имеют один существенный недостаток. Связан этот недостаток с тем, что вредоносный код (например, за счет уязвимости программы или операционной системы) может внедриться в адресное пространство доверенного процесса и продолжить свое выполнения с правами доверенного процесса. Тогда попытка доступа со стороны внедренного вредоносного кода не будет считаться подозрительной и будет выполнена, так как будет выполнена со стороны доверенного процесса.

В области техники существует ряд подходов, предназначенных для решения указанного недостатка.

Так, в патентной заявке US 20110083186 A1 описывается подход для обнаружения вредоносного ПО с помощью мониторинга поведения доверенных приложений с последующим обнаружением подозрительного поведения. Примером подозрительного поведения является удаление исполняемого файла после его исполнения. В случае обнаружения такого поведения файл или файлы, которые проявили такое поведение, будут являться вредоносными или подозрительными, что повлечет за собой дополнительную проверку.

В патенте US 8484483 B2 описан подход к защите операционной системы от вредоносного кода. Данный подход позволяет оценить объекты (файлы и приложения) и их процессы на доверенность с целью последующего разграничения прав доступа. Например, процесс с более низким уровнем доверия не сможет получить доступ к объекту, имеющему более высокий уровень доверия. С другой стороны, если процесс с более высоким уровнем доверия обращается к объекту с более низким уровнем доверия, то доступ будет получен, но при этом процесс унаследует более низкий уровень доверия.

В патенте US 8205257 B1 описан подход к защите операционной системы от угроз на основании мониторинга доверенных процессов и обнаружении какой-либо активности от неизвестного приложения к данному доверенному процессу. В случае выявления активности определяется уровень риска выявленной активности и выносится решения о необходимости дальнейшего анализа. Далее проводится проверка указанной активности на вредоносность, например, производятся ли изменения в настройке конфигурации системы или модификация исполняемого файла. В случае выявления вредоносной активности производится ее блокирование или удаление.

Рассмотренные выше подходы, направленные на решение задачи обнаружения вредоносных программ, имеют два общих недостатка. Первый недостаток связан с тем, что отсутствует возможность динамического изменения доверенности процесса в зависимости от поведения. Второй же недостаток связан с тем, что контроль, анализ и оценка поведения всех без исключения процессов является очень ресурсоемкой задачей, выполнение которой может приводить к так называемому зависанию используемых пользователем приложений или всей операционной системы.

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

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

Настоящее изобретение предназначено для оптимизации производительности антивирусного устройства.

Технический результат настоящего изобретения заключается в уменьшении количества требующих анализа событий, связанных с выполнением процесса, при антивирусной проверке. Указанный технический результат достигается за счет определения только необходимых событий для анализа при антивирусной проверке из потока всех событий на основании текущего статуса доверенности процесса.

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

В одном из вариантов исполнения способа статус процесса может являться доверенным или недоверенным, где если статус является доверенным, то устанавливают только обязательный тип событий для последующего выявления в потоке всех событий, а если статус является недоверенным, то устанавливают обязательный и критический типы событий для последующего выявления в потоке всех событий.

В еще одном варианте исполнения способа первоначальный статус процесса определяется на основании статуса доверенности файла, из которого был запущен процесс.

В другом варианте исполнения способа обязательным событием является, по крайней мере, одно из событий: запуск файла; закрытие файла; открытие сетевого соединения; или чтение файла.

В еще одном варианте исполнения способа критическим событием является, по крайней мере, одно из событий: создание нового файла, нового процесса или нового потока; запись в файл; внедрение в адресное пространство другого процесса; изменение настроек в операционной системе, в частности, настроек безопасности; или доступ к ключам реестра, отвечающим за автозагрузку.

В другом варианте исполнения способа критерием оценки, по крайней мере, является одно из событий: открытие файла с текущим статусом недоверенный; запуск нового потока в процессе; создание процессом еще одного процесса; запись в адресное пространство другого процесса; загрузка процессом библиотеки из альтернативного потока NTFS; установление сетевого соединения; или модификация содержимого файла, если модифицирующий процесс имеет статус недоверенный.

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

В еще одном из вариантов исполнения системы указанная система также содержит средство антивирусной защиты, предназначенное для проведения антивирусной проверки процесса и файла, из которого был запущен указанный процесс.

В другом варианте исполнения системы статус процесса может являться доверенным или недоверенным, где если статус является доверенным, то устанавливают только обязательный тип событий для последующего выявления в потоке всех событий, а если статус является недоверенным, то устанавливают обязательный и критический типы событий для последующего выявления в потоке всех событий.

В еще одном варианте исполнения системы указанная система содержит базу данных доверенных объектов, предназначенную для хранения информации о доверенных объектах и предоставления указанной информации средству мониторинга процессов.

В другом варианте исполнения системы первоначальный статус запущенного процесса определяется на основании статуса доверенности файла, из которого был запущен процесс.

В еще одном варианте исполнения системы обязательным событием, хранящимся в базе данных обязательных событий, является, по крайней мере, одно из событий: запуск файла, закрытие файла, установление сетевого соединения или обращение к какому-либо файлу.

В другом варианте исполнения системы критическим событием, хранящимся в базе данных критических событий, является, по крайней мере, одно из событий: создание нового файла, нового процесса или нового потока, запись в файл, внедрение в адресное пространство другого процесса, изменение настроек в операционной системе, в частности, настроек безопасности или доступ к ключам реестра, отвечающим за автозагрузку.

В еще одном варианте исполнения системы критерием оценки, по крайней мере, является одно из событий: открытие файла с текущим статусом недоверенный; запуск нового потока в процессе; создание процессом еще одного процесса; запись в адресное пространство другого процесса; загрузка процессом библиотеки из альтернативного потока NTFS; запуск сетевого соединения; модификация содержимого файла, если модифицирующий процесс имеет статус недоверенный.

В другом варианте исполнения системы оценка события, указывающего на открытие сетевого соединения, также производится с помощью взаимодействия с удаленными устройствами, содержащими указанную систему.

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

Фиг.1 показывает систему определения требующих анализа событий при антивирусной проверки на основании текущего статуса доверенности процесса.

Фиг.2 показывает схему изменения статуса доверенности действующего процесса.

Фиг.3 показывает пример взаимодействия компьютерных устройств для оценки сетевых соединений с целью повышения уровня анализа процессов.

Фиг.4 показывает алгоритм работы системы определения требующих анализа событий при антивирусной проверки на основании текущего статуса доверенности процесса.

Фиг.5 показывает пример компьютерной системы общего назначения, на которой может быть реализовано данное изобретение.

Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.

Описание вариантов осуществления изобретения

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.

На Фиг.1 представлена система определения требующих анализа событий при антивирусной проверки на основании текущего статуса доверенности процесса. Как было сказано выше, анализ всех без исключения процессов на наличие вредоносного кода является очень ресурсоемкой задачей, выполнение которой приводит к задержке исполнения приложений, а иногда и к зависанию. Для решения указанной проблемы настоящее изобретение позволяет уменьшить количество проверяемых антивирусным приложением событий за счет регулирования статуса доверенности процессов и файлов. Другими словами, в зависимости от статуса (доверенный или недоверенный) объекта определяется необходимость проверки того или иного совершенного события. Под объектом понимается, например, процесс или файл.

Стоит отметить, что процесс является, по сути, контейнером ресурсов, необходимых для выполнения кода программы исполняемого файла. Процесс имеет виртуальное адресное пространство. В виртуальное адресное пространство процесса загружаются необходимые секции исполняемого файла, из которого загружен процесс, а также связанные с ним динамические библиотеки DLL (англ. dynamic-link library, динамически подключаемая библиотека). Также в адресном пространстве процесса хранятся различные структуры данных, например, стек. Каждый процесс содержит, по крайней мере, один поток выполнения. Поток использует системные ресурсы (например, файлы, ключи системного реестра, объекты синхронизации) и виртуальное адресное пространство процесса. Выполнение программного кода происходит в рамках выполнения потоков процесса. Анализ же процесса подразумевает анализ всех совершающихся событий во время выполнения программного кода. Стоит отметить, что на Фиг.1 изображен поток совершающихся событий, а не поток процесса.

На Фиг.1 представлен список процессов 110, которые исполняются в произвольный момент времени в операционной системе. Как правило, список исполняемых процессов включает несколько десятков (возможно, и более) процессов в зависимости от количества запущенных приложений. Стоит отметить, что представленный список исполняемых процессов 110 является всего лишь примером, а количество и наименования процессов не ограничены данным примером.

В начале запуска процесса настоящее изобретение производит перехват данного события (стоит отметить, что на деле происходит перехват вызова функции, отвечающей за запуск процесса, например, «CreateProcess», после чего в журнал событий записывается данное действие, но для облегчения восприятия последующего описания используется только понятие «событие») и назначает первоначальный статус процессу с помощью средства мониторинга процессов 120. Кроме того, если процесс был запущен ранее начала работы настоящего изобретения, то данный процесс также будет перехвачен настоящим изобретением для определения первоначального статуса запущенному процессу.

Средство 120 относит процесс к доверенным или недоверенным процессам на основании анализа источника распространения, например, файла, из которого был загружен процесс. В предпочтительном варианте реализации анализ файла производится с помощью базы данных доверенных объектов 130, которая содержит информацию обо всех известных доверенных файлах на момент анализа. Следовательно, в зависимости от наличия информации о файле в базе данных 130 будет определен и статус процесса. Поэтому в случае, если информация о файле содержится в базе данных 130, то статус процесса будет определен как доверенный. В противном случае, если информация о файле не содержится в базе данных 130, то статус процесса будет определен как недоверенный. В другом варианте реализации анализ файла может производиться на основании определения наличия цифровой подписи у файла.

Далее согласно текущему статусу процесса средство 120 задает, по крайней мере, один необходимый тип событий для последующего контроля и анализа. Таким образом, для процесса со статусом доверенный (на Фиг.1 примером такого процесса является процесс VISIO.EXE) средство 120 будет отслеживать среди всех совершающихся событий только обязательные события, информация о которых содержится в базе данных обязательных событий 140. Обязательными событиями являются события, которые необходимы для контроля и анализа в независимости от статуса процесса, т.к. данные события могут повлиять на изменения текущего статуса процесса. Примером обязательных событий могут являться события, указывающие на запуск или закрытие исполняемого файла, на открытие (установление) сетевого соединения или чтения какого-либо файла. Для процесса со статусом недоверенный (на Фиг.1 примером такого процесса является процесс explorer.exe) средство 120 будет отслеживать среди всех совершающихся событий как обязательные события, так и критические события, информация о которых содержится в базе данных критических событий 150. Критическими событиями являются события, на основании которых может быть выявлено исполнение вредоносного кода в анализируемом процессе. Примерами критических событий могут являться события, указывающие на создание нового файла (CreateFile), нового процесса (CreateProcess) и нового потока (CreateThread/CreateRemoteThread), на запись в файл (WriteFile), на внедрение в адресное пространство другого процесса, на изменение настроек ОС (в частности, настроек безопасности) и на доступ к ключам реестра, отвечающим за автозагрузку.

Стоит отметить, что на Фиг.1 кроме обязательных и критических событий изображен еще третий тип событий, которые можно называть как незначительные события. Незначительными событиями являются события, которые с точки зрения анализа опасности поведения приложения не имеют большого значения, т.к. данные события могут происходить как во время выполнения безопасного ПО, так и во время выполнения вредоносного ПО или во время выполнения только безопасного ПО. Примером незначительных событий являются события, которые произошли при выполнении служебного кода, добавленного компилятором при компиляции данного ПО, или события, связанные с вызовом функции получения имени текущего процесса, функции определения количества потоков процесса, функции создания графического окна и т.д. Незначительные события будут игнорироваться при выявлении обязательных и критических событий в потоке событий. Кроме того, в одном из вариантов осуществления изобретения выявление и фильтрацию незначительных событий возможно с помощью заранее сформированных правил фильтрации незначительных событий.

После выявления, по крайней мере, одного необходимого (обязательного или критического) события в зависимости от статуса процесса средство мониторинга событий 120 передает информацию о выявленном событие и текущем статусе процесса средству обработки событий 160. Средство обработки событий 160 производит анализ полученной информации с помощью критериев оценки, информация о которых хранится в базе данных критериев оценки 170.

В зависимости от варианта реализации настоящего изобретения примеры критериев оценки, определяющих необходимость изменения статуса процесса или файла, могут быть следующими:

- если текущий статус процесса доверенный, то недоверенным статус может стать в случае выявления следующих событий:

- открытие файла с текущим статусом недоверенный, и при этом выключено средство антивирусной защиты 180;

- запуск нового потока в процессе;

- создание процессом еще одного процесса;

- запись в адресное пространство другого процесса;

- загрузка процессом библиотеки из альтернативного потока NTFS;

- открытие сетевого соединения с любым удаленным ресурсом (как в локальной сети, так и в глобальной);

- если текущий статус процесса недоверенный, то доверенным может стать в случае выявления следующих событий:

- если в отношении процесса был получен вердикт «безопасный» от средства 180 (то есть была произведена антивирусная проверка файла, из которого был запущен процесс, по результатам которой файл и соответственно процесс были признаны безопасными);

- если в отношении процесса был произведен анализ истории событий, совершенных при ранних запусках файла, из которого был запущен процесс, и данный анализ не выявил никаких вредоносных действий (анализ может быть произведен как средством 180, так и средством 160).

- если текущий статус файла доверенный, то статус может быть изменен на недоверенный в случае выявления следующих событий:

- записи в файл удаленно с другого устройства через сеть (локальную или глобальную);

- модификация содержимого файла, если модифицирующий процесс имеет статус недоверенный.

- если текущий статус файла недоверенный, то статус может быть изменен на доверенный в случае выявления следующих событий:

- если в отношении файла был получен вердикт «безопасный» от средства 180 (то есть была произведена антивирусная проверка файла, по результатам которой файл был признан безопасным).

Кроме того, создаваемые файлы и процессы наследуют статус доверия или недоверия от создающего их процесса. Например, если процесс с установленным статусом доверенный создает файл (или новый процесс), то создаваемому файлу (или новому процессу) будет также назначен статус доверенный. Также стоит отметить, что приведенные выше критерии оценки являются примерными и не ограничиваются ими.

После проведения анализа средство 160 выносит решение о необходимости изменения статуса процесса, которое передаст средству мониторинга процессов 120. Также средство 160 произведет изменения в базе данных доверенных объектов 130 в случае изменения статуса у файла. Изменениями являются добавление в базу данных 130 информации о новом доверенном файле (который ранее был неизвестным или недоверенным) или удаление из базы данных 130 информации о доверенном файле, т.к. статус файла стал недоверенным.

Средство мониторинга процессов 120 после получения информации от средства 160 изменит текущий статус процесса и задаст соответствующие типы событий для последующего отслеживания.

В частном случае реализации изобретения средство 160 также выносит решение о необходимости проведения антивирусной проверки того или иного файла или процесса. Данное решение зависит от типа полученного события и статуса процесса (см. Фиг.2).

В том случае, если событие будет являться критическим событием, средство 160 запросит средство антивирусной защиты 180 немедленно провести проверку недоверенного процесса (как было описано выше, только для недоверенных процессов отслеживаются критические события) и файла, из которого был запущен данный процесс. Средство 180 проведет проверку и предоставит средству 160 вердикт о вредоносности файла. Стоит отметить, что способы проверки файла и процесса зависит от возможностей средства антивирусной защиты 180. Средство 180 может использовать как более простой тип проверки, например, сигнатурный анализ файла, так и более сложный тип проверки, позволяющий провести более детальный анализ, например, используя экспертную систему, в основе которой лежит анализ совершенных событий. В том случае, если файл будет вредоносным файлом, файл будет заблокирован и, следовательно, процесс будет остановлен. В противном случае, если файл будет «безопасным», то средство 160 впоследствии добавит данный файл в базу данных доверенных объектов 130 и вынесет решение о необходимости изменения статуса процесса на доверенный процесс. После чего данное решение будет передано средству мониторинга процессов 120 для последующего контроля.

В случае если событие является обязательным, а статус процесса недоверенный, то средство антивирусной защиты 180 проведет антивирусную проверку процесса и файла отложено, т.е. в фоновом режиме, чтобы не мешать основной деятельности пользователя.

В случае если событие будет являться обязательным, а статус процесса доверенный, то средство антивирусной защиты 180 не будет проводить антивирусную проверку процесса и файла.

На Фиг.3 представлен пример взаимодействия компьютерных устройств для оценки сетевых соединений с целью повышения уровня анализа и принятия решения для событий, указывающих на сетевое соединение.

Стоит отметить, что в настоящее время для многих приложений сетевые взаимодействия стали неотъемлемой частью их работы, т.к. часто для полноценной работы приложения должны (и нередко обязаны) взаимодействовать между собой или внешними (локальными или глобальными) ресурсами, например, базами данных разработчиков приложений. Следовательно, описанный выше критерий (указывающий, что любое сетевое соединение влечет за собой изменение статуса на недоверенный) может создать ситуацию, когда некоторые приложения будут постоянно являться недоверенными, вне зависимости от различных антивирусных проверок. Следовательно, при контроле таких приложений будут использоваться постоянно обе базы данных (база данных обязательных событий 140 и база данных критических событий 150), что может снизить производительность операционной системы.

На Фиг.3 представлена схема возможного взаимодействия устройств (например, ПК и мобильных устройств) для оценки выявленного сетевого соединения. Кроме того, устройство может являться также хранилищем данных или сервером. Стоит отметить, что для взаимодействия устройств между собой, каждому из них необходимо содержать представленное изобретение. Взаимодействие будет заключаться в передаче различной информации друг другу. Кроме того, устройства могут располагаться как в локальной сети (например, во внутрикорпоративной сети, от англ. intranet), так и в глобальной сети (например, в сети Интернет). В предпочтительном варианте реализации сначала опрос проводится среди устройств 320, т.е. устройств находящихся в локальной сети, а затем уже среди устройств 340-380, т.е. устройств находящихся в глобальной сети.

Предположим, что на устройстве 310 представленное изобретение выявило обязательное событие, указывающее на сетевое соединение, например приложение, из которого был запущен контролируемый процесс, обратилось к внешнему ресурсу. Кроме того, представленное устройство 310 не может само определить степень безопасности ресурса, с которым произошло сетевое соединение, т.к. встретилось с ним впервые. Тогда устройство 310 обращается с запросом к устройству 320а и 320б. Запрос содержит информацию о выявленном обязательном событии, например, название внешнего ресурса или адрес ресурса (URL, от англ. Universal Resource Locator). В том случае, если какое-либо из устройств 320 уже ранее оценивало (анализировало) данное событие и выносило решение о статусе ресурса (доверенный или недоверенный), данная информация будет передана устройству 310. В противном случае, если устройства 320 не имеют ни какой информации, то устройство 310 обратится за помощью к устройствам из глобальной сети, а именно к устройствам 340-380.

Стоит отметить, что возможен вариант реализации, когда устройство 310 не имеет прямого доступа к устройствам 380. Тогда устройство 310 будет обращаться к устройству 370, а устройство 370 в свою очередь будет обращаться к устройствам 380. После чего устройство 370 будет производить агрегацию полученной от устройств 380 информации и последующую передачу собранной информации устройству 310.

Таким образом, представленное изобретение на устройстве 310 может получать информацию о выявленном сетевом соединении от других подобных изобретений, установленных на устройствах 320-380. После чего представленное изобретение на устройстве 310 вынесет собственное решение о доверенности анализируемого процесса и/или файла. Стоит отметить, что информация, собираемая с других устройств сети, может иметь различный вид. Примером информации является результат анализа подобного события (или процесса), сведения о доверенности того или иного ресурса или ПК, с которым было выполнено сетевое взаимодействие, или списки безопасных устройств, внешних адресов (URL), безопасных приложений и т.д.

Еще одним примером анализа сетевого соединения является ситуация, когда сетевое соединение произошло между двумя устройствами, содержащими представленное изобретение. В этом случае анализ данного сетевого соединения будет определяться статусом приложений на обоих устройствах. Как правило, статус будет переходить от статуса приложения, которое установлено на запрашиваемом устройстве. Другими словами, если представленное изобретение на устройстве 310 определило сетевое соединение какого-либо приложения с приложением, установленным на устройстве 320а, а устройство 320а также содержит представленное изобретение, то при определении статуса приложения, установленного на устройстве 310, будет использоваться информация о статусе приложения, установленного на устройстве 320а.

На Фиг.4 представлен алгоритм работы системы определения требующих анализа событий при антивирусной проверки на основании текущего статуса доверенности процесса.

На этапе 410 средство мониторинга процессов 120 отслеживает процессы, запускаемые в операционной системе. При запуске процесса на этапе 420 средство 120 определяет статус запускаемого процесса. Кроме того, если процесс был запущен ранее начала работы представленной системы, то данный процесс также будет перехвачен средством 120 для определения первоначального статуса запущенному процессу. Статус процесса определяется с помощью наследования статуса файла, из которого был запущен процесс. Статус файла же определяется с помощью базы данных доверенных объектов 130, которая содержит информацию обо всех известных доверенных файлах на момент анализа. В случае если статус процесса определен как доверенный, то на этапе 430 средство 120 устанавливает поиск только обязательных событий, информация о которых содержится в базе данных обязательных событий 140. В противном случае, если статус процесса определен как недоверенный, то на этапе 430 средство 120 устанавливает поиск обязательных и критических событий, информация о которых содержится в базе данных критических событий 150. На этапе 440 средство 120 производит выявление всех необходимых (обязательных и/или критических) событий с последующей передачей выявленных событий и информации о статусе процесса средству обработки событий 160. После чего средство 160 на этапе 450 производит анализ полученной информации с помощью критериев оценки, информация о которых хранится в базе данных критериев оценки 170, с целью вынесения решения о необходимости изменения статуса процесса. Далее средство 160 передает вынесенное решение средству мониторинга процессов 120, которое на этапе 460 производит изменение статуса анализируемого процесса.

В частном случае реализации изобретения, если анализируемое событие будет являться критическим событием, то на этапе 450 средство 160 сделает запрос к средству антивирусной защиты 180 с целью антивирусной проверки. После того, как антивирусная проверка будет проведена, средство 180 направит результаты проверки средству 160 для дальнейшей оценки события.

На Фиг.5 показана компьютерная система, на которой может быть использовано описанное изобретение.

Фиг.5 представляет пример компьютерной системы общего назначения (может быть как персональным компьютер, так и сервером) 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, представленного на Фиг.5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Похожие патенты RU2571723C2

название год авторы номер документа
СПОСОБ ИСКЛЮЧЕНИЯ ПРОЦЕССОВ ИЗ АНТИВИРУСНОЙ ПРОВЕРКИ НА ОСНОВАНИИ ДАННЫХ О ФАЙЛЕ 2015
  • Левченко Вячеслав Иванович
  • Юдин Максим Витальевич
RU2595510C1
СИСТЕМА И СПОСОБ ОПРЕДЕЛЕНИЯ КАТЕГОРИИ ДОВЕРЕННОСТИ ПРИЛОЖЕНИЯ 2014
  • Филатов Константин Михайлович
  • Иноземцева Ольга Олеговна
  • Яблоков Виктор Владимирович
RU2580032C2
СИСТЕМА И СПОСОБ ОПРЕДЕЛЕНИЯ СТАТУСА НЕИЗВЕСТНОГО ПРИЛОЖЕНИЯ 2014
  • Филатов Константин Михайлович
  • Иноземцева Ольга Олеговна
  • Яблоков Виктор Владимирович
RU2580053C2
СИСТЕМА И СПОСОБ ОЦЕНКИ ВРЕДОНОСНОСТИ КОДА, ИСПОЛНЯЕМОГО В АДРЕСНОМ ПРОСТРАНСТВЕ ДОВЕРЕННОГО ПРОЦЕССА 2013
  • Павлющик Михаил Александрович
RU2531861C1
Система и способ адаптирования шаблонов опасного поведения программ к компьютерным системам пользователей 2017
  • Павлющик Михаил Александрович
  • Слободянюк Юрий Геннадьевич
  • Монастырский Алексей Владимирович
  • Мартыненко Владислав Валерьевич
RU2652448C1
Способ избирательного использования шаблонов опасного поведения программ 2017
  • Павлющик Михаил Александрович
  • Слободянюк Юрий Геннадьевич
  • Монастырский Алексей Владимирович
  • Мартыненко Владислав Валерьевич
RU2665909C1
СИСТЕМА И СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНОГО УСТРОЙСТВА ОТ ВРЕДОНОСНЫХ ОБЪЕКТОВ, ИСПОЛЬЗУЮЩИХ СЛОЖНЫЕ СХЕМЫ ЗАРАЖЕНИЯ 2011
  • Поляков Алексей Александрович
  • Мартыненко Владислав Валерьевич
  • Слободянюк Юрий Геннадьевич
  • Назаров Денис Александрович
  • Павлющик Михаил Александрович
RU2454705C1
СПОСОБ ФОРМИРОВАНИЯ АНТИВИРУСНОЙ ЗАПИСИ ПРИ ОБНАРУЖЕНИИ ВРЕДОНОСНОГО КОДА В ОПЕРАТИВНОЙ ПАМЯТИ 2015
  • Павлющик Михаил Александрович
  • Монастырский Алексей Владимирович
  • Назаров Денис Александрович
RU2592383C1
СИСТЕМА И СПОСОБ ОБНАРУЖЕНИЯ МОШЕННИЧЕСКИХ ОНЛАЙН-ТРАНЗАКЦИЙ 2014
  • Голованов Сергей Юрьевич
  • Монастырский Алексей Владимирович
RU2571721C2
Система и способ обнаружения вредоносного приложения путем перехвата доступа к отображаемой пользователю информации 2016
  • Калинин Александр Валентинович
  • Полозов Павел Леонидович
  • Левченко Вячеслав Иванович
  • Юдин Максим Витальевич
RU2634176C1

Иллюстрации к изобретению RU 2 571 723 C2

Реферат патента 2015 года СИСТЕМА И СПОСОБ ДЛЯ СНИЖЕНИЯ НАГРУЗКИ НА ОПЕРАЦИОННУЮ СИСТЕМУ ПРИ РАБОТЕ АНТИВИРУСНОГО ПРИЛОЖЕНИЯ

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

Формула изобретения RU 2 571 723 C2

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

2. Способ по п. 1, в котором средство мониторинга процессов и средство обработки событий производят между собой взаимодействия.

3. Способ по п. 1, в котором производят антивирусную проверку файла в случае выявления критического события при недоверенном текущем статусе процесса.

4. Способ по п. 1, в котором первоначальный статус процесса определяется на основании статуса доверенности файла, из которого был запущен процесс.

5. Способ по п. 1, где обязательным событием является по крайней мере одно из событий:
- запуск файла;
- закрытие файла;
- открытие сетевого соединения;
- чтение файла.

6. Способ по п. 1, где критическим событием является по крайней мере одно из событий:
- создание нового файла, нового процесса или нового потока;
- запись в файл;
- внедрение в адресное пространство другого процесса;
- изменение настроек в операционной системе, в частности настроек безопасности;
- доступ к ключам реестра, отвечающим за автозагрузку.

7. Способ по п. 1, где критерием оценки, по крайней мере, является одно из событий:
- открытие файла с текущим статусом недоверенный;
- запуск нового потока в процессе;
- создание процессом еще одного процесса;
- запись в адресное пространство другого процесса;
- загрузка процессом библиотеки из альтернативного потока NTFS;
- установление сетевого соединения;
- модификация содержимого файла, если модифицирующий процесс имеет статус недоверенный.

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

9. Система по п. 8, которая содержит средство антивирусной защиты, предназначенное для проведения антивирусной проверки процесса и файла, из которого был запущен указанный процесс.

10. Система по п. 8, которая содержит базу данных доверенных объектов, предназначенную для хранения информации о доверенных объектах и предоставления указанной информации средству мониторинга процессов.

11. Система по п. 10, в которой первоначальный статус запущенного процесса определяется на основании статуса доверенности файла, из которого был запущен процесс.

12. Система по п. 8, в которой обязательным событием, хранящимся в базе данных обязательных событий, является по крайней мере одно из событий:
- запуск файла;
- закрытие файла;
- установление сетевого соединения;
- обращение к какому-либо файлу.

13. Система по п. 8, в которой критическим событием, хранящимся в базе данных критических событий, является по крайней мере одно из событий:
- создание нового файла, нового процесса или нового потока;
- запись в файл;
- внедрение в адресное пространство другого процесса;
- изменение настроек в операционной системе, в частности настроек безопасности;
- доступ к ключам реестра, отвечающим за автозагрузку

14. Система по п. 8, в которой критерием оценки, по крайней мере, является одно из событий:
- открытие файла с текущим статусом недоверенный;
- запуск нового потока в процессе;
- создание процессом еще одного процесса;
- запись в адресное пространство другого процесса;
- загрузка процессом библиотеки из альтернативного потока NTFS;
- запуск сетевого соединения;
- модификация содержимого файла, если модифицирующий процесс имеет статус недоверенный.

15. Система по п. 8, в которой оценка события, указывающего на открытие сетевого соединения, также производится с помощью взаимодействия с удаленными устройствами, содержащими указанную систему.

Документы, цитированные в отчете о поиске Патент 2015 года RU2571723C2

US 7530106 B1, 05.05.2009
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
US 8484483 B2, 09.07.2013
US 8205257 B1, 19.06.2012
0
SU91205A1
СИСТЕМА И СПОСОБ ПРЕДОТВРАЩЕНИЯ ИНЦИДЕНТОВ БЕЗОПАСНОСТИ НА ОСНОВАНИИ РЕЙТИНГОВ ОПАСНОСТИ ПОЛЬЗОВАТЕЛЕЙ 2011
  • Зайцев Олег Владимирович
  • Боронин Валерий Андреевич
RU2477929C2

RU 2 571 723 C2

Авторы

Собко Андрей Владимирович

Юдин Максим Витальевич

Межуев Павел Николаевич

Годунов Илья Борисович

Широкий Максим Александрович

Даты

2015-12-20Публикация

2013-12-05Подача