СИСТЕМА И СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНОГО УСТРОЙСТВА ОТ ВРЕДОНОСНЫХ ОБЪЕКТОВ, ИСПОЛЬЗУЮЩИХ СЛОЖНЫЕ СХЕМЫ ЗАРАЖЕНИЯ
SYSTEM AND METHOD OF PROTECTING COMPUTING DEVICE FROM MALICIOUS OBJECTS USING COMPLEX INFECTION SCHEMES

Область техники
Данное изобретение относится к системам и способам защиты компьютерных устройств от вредоносных объектов, использующих сложные схемы заражения.
Уровень техники
На сегодняшний момент развитие компьютерной техники достигло очень высокого уровня. С развитием компьютерной техники еще более стремительными темпами увеличивается количество цифровых данных. Вместе с тем, цифровые данные уязвимы и нуждаются в защите от вредоносных объектов, таких как вирусы, троянские программы, черви и т.д.
Для защиты информации от вредоносных объектов используются антивирусные системы, основная задача которых предотвратить опасные действия вредоносных объектов. В качестве примера подобных систем можно привести такие системы, как Kaspersky Internet Security, Norton Internet Security, McAfee Total Protection и т.д. Но не все антивирусные системы одинаково эффективны в борьбе с вредоносными объектами. И вредоносные объекты создаются так, чтобы действовать в обход антивирусным системам. Для этого существуют различные подходы и способы, например, использовать слабые места антивирусной системы, т.е. ошибки или недоработки, которые присутствуют в антивирусных системах.
Но существуют различные антивирусные средства, и найти ошибки и недоработки для каждого антивирусного средства является трудоемкой задачей. Другой способ, более универсальный, скрывать присутствие вредоносного объекта в операционной системе (ОС) или маскировать под объект или процесс, который антивирусное средство принимает за доверенный объект или процесс. Доверенные объекты или процессы не анализируются антивирусным средством, поскольку заведомо не должны содержать вредоносные данные и представлять угрозу для компьютерного устройства.
Дальнейшее описание станет более понятным после раскрытия понятий процесса и потока в операционной системе. Процесс является, по сути, контейнером, в котором выполняется код команд из исполняемого файла. Процесс имеет виртуальное адресное пространство, в котором хранятся его данные и в которое отображаются связанные с ним динамические библиотеки DLL (Dynamic-link library - динамически подключаемая библиотека). Все процессы существуют в рамках операционной системы, у которой имеются инструменты для контроля выполнения процесса, используемых им ресурсов, а также сбора информации о процессе. Вся информация, необходимая для отслеживания работы процесса, образует контекст процесса. К этой информации в частном случае относятся виртуальная память процесса, значения регистров центрального процессора, различные дескрипторы файлов и объектов и т.д.
Процесс состоит из потоков и может содержать один или несколько потоков. Поток совместно с другими потоками процесса использует глобальные структуры данных и адресное пространство процесса. Выполнение программного кода происходит в рамках потоков процесса.
В качестве примеров доверенных объектов или процессов можно рассмотреть файлы, имеющие электронную цифровую подпись. Цифровая подпись представляет собой добавляемую в файлы электронную метку безопасности, которая выдается центрами сертификации. Соответственно, процесс, который запускается из такого файла, будет также являться доверенным, и антивирусное средство не будет его проверять.
Другим примером доверенного процесса может являться системный процесс - тот процесс, который был запущен из системного файла при выполнении системных операций. В качестве примера можно привести следующие системные процессы: Svchost.exe (отвечает за использование динамических библиотек DLL), Winlogon.exe (управляет входом пользователей в систему и выходом из нее), Services.exe (отвечает за запуск и остановку системных служб и взаимодействие с ними) и т.д. Такие системные процессы также не должны представлять опасность для компьютерного устройства и поэтому остаются без внимания антивирусного средства.
Если вредоносному объекту удастся использовать цифровую подпись, которая соответствует другому безопасному объекту, то его деятельность может принести вред компьютерному устройству (в качестве примера такого объекта может выступать компьютерный червь stuxnet). Также, если вредоносный объект успешно запустит поток в системном процессе и затем будет производить какую-либо активность, то подобные действия будут представлять угрозу для компьютерного устройства. Поскольку и в первом, и во втором случае антивирусная система не будет реагировать на эти объекты.
Кроме перечисленных, существуют другие способы совершить опасные действия незаметно для антивирусной системы. Например, еще один способ ухода от прямого исполнения вредоносного кода - использование возможностей планировщика задач (Task Scheduler). В этом случае весь вредоносный код исполняется специально созданными задачами, и системный процесс запускает вредоносный код, что мешает антивирусной системе при проведении поведенческого анализа определить и заблокировать реальный вредоносный объект.
В самом простом случае вредоносный объект может представлять собой один компонент, например исполняемый файл, который при запуске производит действия, способные причинить ущерб компьютерному устройству. В таком случае антивирусная система без труда обнаружит вредоносный объект и предотвратит его активность.
Более сложные вредоносные объекты состоят из нескольких компонент, и каждый компонент выполняет определенную активность. Например, вредоносный объект может быть представлен в виде трех компонент: первый компонент может производить действия с файлами, второй компонент может модифицировать реестр, а третий - производить сетевую активность. Причем каждый компонент в отдельности может не производить вредоносных действий, но если объединить действия сразу трех, то возможно появление вредоносных действий в компьютерном устройстве. Чтобы определить многокомпонентный вредоносный объект, антивирусной системе будет недостаточно провести проверку каждого компонента в отдельности, поскольку в отдельности компоненты не представляют опасности. В таком случае необходимо проводить проверку совокупности действий всех компонент вредоносного объекта.
Вредоносные объекты могут быть представлены также в виде многокомпонентных интерпретируемых объектов, которые выполняются в процессе работы интерпретатора. В качестве примера можно привести объекты VB Script, которые выполняются в процессе браузера Internet Explorer. Для обнаружения таких объектов будет недостаточно проанализировать один компонент, в таком случае требуется произвести анализ всех компонент вредоносного объекта.
Приведенные сложные схемы заражения компьютерного устройства не позволяют известными средствами обеспечить безопасность компьютерного устройства на достаточном для ее функционирования уровне.
В настоящее время существуют системы и способы для обнаружения объектов, способных нанести вред компьютерному устройству, которые основаны на анализе процесса, запущенного из объекта. Подобные системы и способы описаны в патентах US 7698744 B2, US 7665138 B2, US 6775780 B1.
Описываемая технология отличается от запатентованных тем, что она позволяет обнаружить многокомпонентные вредоносные объекты, которые не могут быть обнаружены указанными системами.
Описываемая технология связана с ранее запатентованной технологией, описанной в патенте US 7472420 B1, которая применяется для обнаружения ранее неизвестных вредоносных приложений. Технология основана на наблюдении за событиями создания или изменения файлов, а также за процессами, с этим связанными. Однако запатентованная технология не способна защитить систему от активности многокомпонентных вредоносных объектов или объектов, которые используют сложные схемы заражения.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно систему и способ для защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения.
Сущность изобретения
Техническим результатом данного изобретения является повышение уровня защиты компьютерных устройств от вредоносных объектов за счет анализа процессов на компьютерном устройстве и завершения процессов, запущенных из вредоносных объектов.
Настоящее изобретение представляет собой систему и способ анализа запущенных процессов. Способ анализа запущенных процессов, выполняющийся на компьютере, заключается в том, что: (а) выделяют процессы, запущенные из тех объектов проверки, которые не являются доверенными, с помощью средства анализа объектов; (б) с помощью средства формирования контекстов создают контексты, которые сохраняют в средстве хранения контекстов; в созданные контексты помещают информацию о действиях, производимых при выполнении выделенных процессов; объединяют контексты для связанных выделенных процессов, запущенных из разных объектов проверки; (в) проводят анализ контекстов, находящихся в средстве хранения контекстов, при помощи средства анализа контекстов с использованием баз правил из средства хранения баз правил для обнаружения вредоносных объектов; (г) завершают процессы, запущенные из вредоносных объектов, обнаруженных в результате анализа контекстов средством анализа контекстов, с помощью антивирусного средства.
В частном варианте исполнения средство анализа контекстов отправляет контексты для процессов, запущенных из вредоносных объектов, по вычислительной сети на антивирусный сервер.
В частном варианте исполнения обновляют базу правил в средстве хранения базы правил, а также список доверенных объектов в средстве хранения списка доверенных объектов при помощи средства обновления, соединенного с антивирусным сервером посредством вычислительной сети.
В частном варианте исполнения проводят повторный анализ контекстов, находящихся в средстве хранения контекстов, при помощи средства анализа контекстов после обновления базы правил в средстве хранения базы правил.
В частном варианте исполнения удаляют вредоносные объекты, обнаруженные средством анализа контекстов, при помощи антивирусного средства.
В частном варианте исполнения правила в средстве хранения базы правил состоят из информации, описывающей наборы действий, производимых при выполнении процессов, запущенных из вредоносных объектов.
В частном варианте исполнения объектом проверки является, по меньшей мере, исполняемый файл или файл сценария.
В частном варианте исполнения вредоносным объектом является объект, который средством анализа контекстов определен вредоносным по результатам проверки контекста, соответствующего данному объекту.
В частном варианте исполнения доверенным объектом проверки является объект имеющий параметры, которые содержатся в средстве хранения списка доверенных объектов.
В частном варианте исполнения параметром доверенного объекта проверки является, по меньшей мере, контрольная сумма объекта.
В частном варианте исполнения дополнительно выполняют проверку электронной цифровой подписи объекта проверки для установления доверенного объекта проверки при помощи средства анализа объектов.
В частном варианте исполнения собирают при помощи средства формирования контекстов информацию о действиях, производимых при выполнении выделенного процесса, запущенного из объекта проверки, содержащую, по меньшей мере, контрольную сумму объекта проверки; тип производимого действия; контрольную сумму объекта, на который направлено действие.
В частном варианте исполнения типом производимого действия является, по меньшей мере, создание нового объекта, модификация имеющегося объекта, запуск процесса, запуск потока, изменение параметров реестра, открытие сетевого соединения.
В частном варианте исполнения связанными выделенными процессами, запущенными из разных объектов проверки, являются процессы, образующиеся при запуске одного процесса другим, при создании нового объекта, из которого запущен новый процесс, а также при внедрении потока в запущенный процесс.
В частном варианте исполнения помещают информацию о действиях связанных выделенных процессов, запущенных из разных объектов проверки, как в объединенный контекст, так и в контексты, созданные средством формирования контекстов для каждого выделенного процесса в отдельности.
В частном варианте исполнения производят анализ контекста после добавления в него информации о действиях, производимых при выполнении выделенного процесса, запущенного из объекта проверки, при помощи средства анализа контекстов.
В частном варианте исполнения завершают все процессы, связанные с процессом, запущенным из вредоносного объекта, при помощи антивирусного средства.
Система анализа запущенных процессов включает: (а) средство анализа объектов, связанное со средством хранения списка доверенных объектов и средством формирования контекстов, при этом упомянутое средство анализа объектов предназначено для выделения процессов, запущенных из тех объектов проверки, которые не являются доверенными; (б) упомянутое средство формирования контекстов, связанное со средством хранения контекстов, причем упомянутое средство формирования контекстов предназначено для создания контекстов, в которые помещается информация о действиях, производимых при выполнении выделенных процессов, а также средство формирования контекстов предназначено для объединения контекстов для связанных выделенных процессов, запущенных из разных объектов проверки; (в) упомянутое средство хранения контекстов, связанное со средством анализа контекстов, при этом упомянутое средство хранения контекстов предназначено для хранения контекстов, созданных средством формирования контекстов, а также упомянутое средство хранения контекстов предназначено для хранения контекстов, образованных средством формирования контекстов в результате объединения имеющихся контекстов для связанных выделенных процессов, запущенных из разных объектов проверки; (г) упомянутое средство анализа контекстов, связанное с антивирусным средством, а также со средством хранения базы правил, при этом упомянутое средство анализа контекстов предназначено для проведения анализа контекстов, находящихся в средстве хранения контекстов, с использованием правил из средства хранения базы правил, для обнаружения вредоносных объектов; (д) упомянутое антивирусное средство, предназначенное для завершения выделенных процессов, запущенных из вредоносных объектов, обнаруженных средством анализа контекстов; (е) упомянутое средство хранения списка доверенных объектов, предназначенное для хранения параметров доверенных объектов; (ж) упомянутое средство хранения базы правил, предназначенное для хранения правил, необходимых для работы средства анализа контекстов.
В частном варианте исполнения упомянутая система содержит средство обновления, связанное со средством хранения базы правил, средством хранения списка доверенных объектов, средством анализа контекстов, а также связанное через вычислительную сеть с антивирусным сервером, при этом средство обновления предназначено для проведения обновления с использованием антивирусного сервера базы правил в средстве хранения базы правил, а также для проведения обновления списка доверенных объектов в средстве хранения списка доверенных объектов.
В частном варианте исполнения средство обновления дополнительно предназначено для запуска средства анализа контекстов после обновления базы правил в средстве хранения базы правил, при этом средство анализа контекстов проводит повторный анализ контекстов, находящихся в средстве хранения контекстов.
В частном варианте исполнения антивирусное средство дополнительно предназначено для удаления вредоносных объектов, обнаруженных средством анализа контекстов.
В частном варианте исполнения объектом проверки является, по меньшей мере, исполняемый файл или файл сценария.
В частном варианте исполнения вредоносным объектом является объект, который средством анализа контекстов определен вредоносным по результатам проверки контекста, соответствующего данному объекту.
В частном варианте исполнения параметром объекта проверки является, по меньшей мере, контрольная сумма объекта.
В частном варианте исполнения доверенным объектом проверки является объект, имеющий параметры, которые содержатся в средстве хранения списка доверенных объектов.
В частном варианте исполнения средство хранения списка доверенных объектов дополнительно содержит электронные цифровые подписи доверенных объектов.
В частном варианте исполнения средство анализа объектов соединено через вычислительную сеть с антивирусным сервером с возможностью обмена параметрами объектов проверки с антивирусным сервером с целью выявления новых доверенных объектов проверки.
В частном варианте исполнения средство формирования контекстов собирает информацию о действиях, производимых при выполнении выделенного процесса, запущенного из объекта проверки, содержащую, по меньшей мере, контрольную сумму объекта проверки, тип производимого действия, контрольную сумму объекта, на который направлено действие.
В частном варианте исполнения типом производимого действия является, по меньшей мере, создание нового объекта, модификация имеющегося объекта, запуск процесса, запуск потока, изменение параметров реестра, открытие сетевого соединения.
В частном варианте исполнения связанными выделенными процессами, запущенными из разных объектов проверки, являются процессы, образующиеся при запуске одного процесса другим, при создании нового объекта, из которого запущен новый процесс, а также при внедрении потока в запущенный процесс.
В частном варианте исполнения информация о действиях связанных выделенных процессов, запущенных из разных объектов проверки, попадает как в объединенный контекст, так и в контексты, созданные средством формирования контекстов для каждого выделенного процесса в отдельности.
В частном варианте исполнения средство анализа контекстов производит анализ контекста после добавления в него информации о действиях, производимых при выполнении процесса, запущенного из объекта проверки.
В частном варианте исполнения правила в средстве хранения базы правил состоят из информации, описывающей наборы действий, производимых при выполнении процессов, запущенных из вредоносных объектов.
В частном варианте исполнения средство анализа контекстов дополнительно связано через вычислительную сеть с антивирусным сервером с возможностью обмена контекстами.
Краткое описание чертежей
Сопровождающие чертежи предназначены для лучшего понимания заявленного изобретения, составляют часть данного описания, иллюстрируют варианты реализации изобретения и совместно с описанием служат для объяснения принципов изобретения.
Фиг.1 иллюстрирует схему системы защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения.
Фиг.2 показывает схему механизма объединения контекстов для связанных процессов.
Фиг.3а и 3б показывает алгоритм работы системы защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения.
Фиг.4 показывает пример компьютерного устройства общего назначения, на котором может быть реализовано описанное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формулой.
Описание вариантов осуществления
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
На Фиг.1 изображена схема системы защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения. Описываемая система работает на основе анализа запущенных процессов с целью поиска вредоносных объектов в компьютерном устройстве. Каждый процесс при этом относится к определенному объекту проверки 101, это означает, что если какой-либо процесс будет производить вредоносную активность, то тот объект, из которого запущен процесс, также представляет потенциальную опасность.
В качестве примера объекта проверки 101 может быть рассмотрен исполняемый файл, содержащий код команд, который находится в средстве хранения компьютерной системы, например, на жестком диске. При запуске объекта 101 начинает выполняться процесс, инициализируется адресное пространство и начинается выполнение программы.
В описываемом варианте реализации система защиты компьютерного устройства от вредоносных объектов имеет средство анализа объектов 102, которое при появлении нового процесса в системе проверяет параметры объекта 101, из которого был произведен запуск данного процесса, с использованием доступных средств операционной системы, а также цифровую подпись объекта, из которого был запущен процесс. В качестве параметра объекта 101 может использоваться, например, контрольная сумма объекта, из которого был запущен процесс, или контрольная сумма программного кода из исполняемого файла, загруженного в виртуальную память. На первом этапе средство анализа объектов 102 сравнивает параметры объекта проверки 101 с параметрами доверенных объектов, которые находятся в средстве хранения списка доверенных объектов 109. Кроме сравнения параметров средство анализа объектов 102 выполняет проверку цифровой подписи объекта проверки 101, из которого был запущен данный процесс. Таким образом, после запуска процесса средство анализа объектов 102 устанавливает, является ли объект, из которого был произведен запуск процесса, доверенным или нет, для этого оно использует средство 109, в котором хранятся параметры доверенных объектов, в том числе объектов с электронной цифровой подписью.
В частном варианте реализации системы в средстве хранения списка доверенных объектов 109 могут находиться параметры только самых распространенных объектов. В таком случае, если средство анализа объектов 102 не сможет найти параметры объекта проверки в средстве 109, то оно будет обращаться с запросом на антивирусный сервер (не показан) посредством вычислительных сетей с доступом к сети Интернет 110. На антивирусном сервере находится полный набор параметров всех вредоносных и доверенных объектов. Такая реализация позволит сократить использование ресурсов компьютерного устройства.
Доверенным объектом является тот, который заведомо не представляет никакой угрозы для компьютерного устройства, следовательно, отсутствует необходимость производить какие-либо дополнительные действия в отношении доверенного объекта и процесса, который был запущен из доверенного объекта. В том случае если объект не является доверенным, то есть средство анализа объектов 102 не обнаружило объект проверки 101 в списке доверенных, то существует вероятность того, что объект и процесс, запущенный из данного объекта, может представлять угрозу для компьютерного устройства, и он должен находиться под наблюдением системы для предотвращения вредоносных действий при выполнении процесса, запущенного из объекта проверки.
Если объект проверки 101 не является доверенным, то средство анализа объектов 102 передает информацию о данном объекте проверки 101 средству формирования контекстов 103, которое создает контекст для этого объекта. Контекст является журналом, в котором хранятся события, возникшие в ходе выполнения процесса, запущенного из объекта проверки 101. Для другого объекта, из которого был запущен другой процесс, создается новый контекст и сохраняется в средстве хранения контекстов 104.
За процессами, которые были запущены из объектов, не являющихся доверенными, средство формирования контекстов 103 ведет наблюдение, которое заключается в сборе информации о событиях, возникающих при выполнении процесса, представляющих потенциальную опасность для компьютерного устройства. К таким событиям, в частности, относятся такие события, как создание новых объектов, модификация имеющихся объектов, запуск процессов, изменение параметров системного реестра, открытие сетевых соединений и т.д.
В случае появления потенциально опасных событий средство формирования контекстов 103 получает информацию об этом. Информация содержит, по меньшей мере, идентификатор объекта, из которого был запущен процесс, идентификатор, например, может быть в виде контрольной суммы объекта; тип события, например, изменение объекта; и идентификатор объекта, на который направлено событие, например, контрольная сумма изменяемого объекта.
После получения информации о событии процесса, средство формирования контекстов 103 сохраняет информацию в контексте анализируемого объекта в средстве хранения контекстов 104. Собранная информация будет в дальнейшем использоваться для выявления вредоносных объектов, находящихся на компьютерном устройстве.
Средство формирования контекстов 103 при работе использует механизм объединения контекстов, схема которого проиллюстрирована на Фиг.2. Механизм объединения контекстов, то есть создания общего контекста для нескольких объектов, применяется в том случае, если образуется связь между несколькими объектами в ходе процессов их выполнения. В таком случае для анализа общей угрозы для компьютерного устройства требуется проанализировать совокупность всех действий, связанных с процессами, запущенными из разных объектов. Связь между несколькими процессами, запущенными из разных объектов, образуется в том случае, например, если один процесс запускается из другого процесса или создает новый объект, из которого будет запущен новый процесс, а также если внедряет поток в запущенный процесс. В таких ситуациях процессы являются связанными, и анализ производится не только по действиям, возникшим при выполнении отдельных процессов, но и по всей совокупности действий, возникших при выполнении всех связанных процессов, запущенных из разных объектов. Подобная ситуация возникает, например, при активности многокомпонентного вредоносного объекта.
В качестве примера может выступать объект, из которого запускается процесс, в результате выполнения которого происходит создание и запуск другого объекта. В таком случае при появлении в системе первого процесса 201, не относящегося к доверенному объекту, создается контекст 203 средством формирования контекстов 103 в средстве хранения контекстов 104. В контекст 203 помещается информация о событиях, появляющихся в ходе выполнения процесса 201 (Событие 1.1-Событие 1.3). При этом одно из событий связано с созданием и запуском нового объекта в системе, при запуске которого образуется новый процесс 202.
После запуска нового процесса 202 создается отдельный контекст 204, в который будут записываться события, связанные с процессом 202. Средством формирования контекстов 103 будет также создан другой общий контекст 205, в который будут попадать события, возникающие при выполнении первого процесса 201 и второго процесса 202. В итоге при появлении новых потенциально опасных событий они будут попадать в контекст объекта, из которого был запущен процесс, при выполнении которого возникли потенциально опасные события, а также будут попадать в общий контекст 205.
Связанных подобным образом объектов может быть много, и при появлении новой связи средство формирования контекстов 103 будет производить пополнение контекста нового объекта и общего контекста событиями, поступившими при выполнении процесса, запущенного из нового объекта.
При появлении нового события оно фиксируется в одном (в случае отдельного объекта) или нескольких (в случае связанных объектов) контекстах в средстве хранения контекстов 104. Каждый контекст подвергается независимому анализу средством анализа контекстов 105. При анализе учитывается вредоносность объекта по тем действиям, которые производятся при выполнении запущенного процесса и которые зафиксируются в виде событий средством формирования контекстов 103. Анализ производится на основе правил поведения объектов проверки 101, в описываемой системе правила хранятся в средстве хранения базы правил 107. Под поведением объекта проверки понимается набор действий, производимых при выполнении процесса, запущенного из объекта проверки. В результате своей работы средство анализа контекстов 105 делает вывод по отдельному контексту о том, представляет ли угрозу для компьютерного устройства соответствующий контексту объект проверки.
Анализ повторяется каждый раз при появлении нового события в контексте, и если после появления какого-либо события средство анализа контекстов 105 выявляет вредоносность соответствующего объекта, то информация о таком объекте передается средством анализа контекстов на антивирусное средство 106. Далее антивирусное средство 106 завершает процесс, запущенный из вредоносного объекта, и удаляет объект, который вызвал вредоносный процесс.
Возможен вариант, когда анализ отдельного контекста 203 или контекста 204 не достаточен для определения вредоносности соответствующего объекта, однако при анализе объединенного контекста 205 по совокупности событий средство анализа контекстов 105 установит наличие вредоносной активности. Это означает, что вредоносный объект использует сложную схему заражения, то есть он производит действия с использованием нескольких процессов, при этом каждый процесс в отдельности не представляет угрозу, но общая совокупность действий от каждого процесса представляет угрозу для компьютерного устройства.
При возникновении описанной ситуации антивирусное средство 106 заблокирует выполнение обнаруженных процессов и удалит объекты с ними связанные.
В другом варианте один процесс 203 может провести последовательность действий, в результате которых запустится новый процесс или будет задействован существующий (при внедрении в процесс потока), после чего процесс 203 завершится, но контекст, содержащий последовательность действий при выполнении данного процесса, будет сохранен. Это означает, что останется последовательность действий, по которой в случае установления вредоносности второго процесса в результате работы средства анализа контекстов 105 будет известна связь двух процессов, и можно будет выявить все объекты, представляющие угрозу, даже после того как процессы, запущенные из этих объектов, будут завершены.
Часто вредоносный объект запускает потоки в системном процессе с целью скрыть свою активность, поскольку системные процессы относятся к доверенным и не проверяются. Если происходит запуск потока в системном процессе, то средство формирования контекстов 103 фиксирует данное событие, при этом формируется отдельный контекст, в который попадают действия при выполнении системного процесса, и общий контекст для двух связанных процессов при помощи средства формирования контекстов 103. С этого момента средство анализа контекстов 105 следит за действиями, выполняемыми системным процессом. В случае проявления вредоносной активности средство 105 сможет без труда найти по анализу контекстов, как произошел запуск вредоносного потока в системном процессе, и устранить вредоносный объект, совершивший данное действие.
Средство анализа контекстов 105 также связано посредством вычислительных сетей с выходом в сеть Интернет 110 с антивирусным сервером (не изображен). Данная связь позволяет производить отправку на антивирусный сервер контекстов вредоносных объектов и связанных с ними контекстов, которые найдены средством анализа контекстов 105. Также антивирусный сервер со своей стороны может отправить запрос на средство анализа контекстов 105, который будет содержать контрольную сумму объекта, по которому запрашивается контекст. В таком случае средство анализа контекстов 105 определяет наличие контекста для объекта с полученной контрольной суммой и передает данный контекст, а также все связанные контексты на антивирусный сервер. Возможность взаимодействия с антивирусным сервером крайне важна, поскольку она позволяет производить детальный анализ контекстов с целью создания новых правил, использующихся при работе средства анализа контекстов 105.
В описываемом варианте реализации в системе используется средство обновления 108, которое служит для проведения обновления базы правил в средстве хранения базы правил 107, а также для обновления списка доверенных процессов в средстве 109. Средство обновления использует вычислительные сети с возможностью доступа к сети Интернет 110 для получения обновлений от антивирусного сервера (не изображен).
В данной системе реализован дополнительный механизм, позволяющий повысить эффективность работы системы и увеличить число найденных вредоносных объектов. Новые вредоносные объекты появляются ежедневно, для них создаются правила, которые потом добавляются в базы правил, и после обновления баз новые правила становятся доступными. Возможны ситуации, когда новый вредоносный объект, который не может быть найден при помощи текущей версии баз правил, находится на компьютерном устройстве. Но для него создан контекст, поскольку он не является доверенным. Такой контекст может храниться в средстве хранения контекстов 104 долгое время, например месяц. Спустя время, будет создано правило, которое позволит обнаружить ранее неизвестный вредоносный объект по последовательности производимых действий при выполнении процесса, запущенного из данного объекта. При помощи этого правила можно будет обнаружить вредоносный объект по ранее созданному для него контексту.
Упомянутый механизм основан на действиях системы, производимых следом за обновлением базы правил, находящихся в средстве 107. После того как средство 108 выполняет обновление базы правил, находящихся в средстве хранения базы правил 107, оно передает информацию о том, что было произведено соответствующее обновление средству анализа контекстов 105. В свою очередь средство анализа контекстов приступает к анализу уже имеющихся проверенных контекстов, которые находятся в средстве хранения контекстов 104. Такая повторная проверка с использованием новых правил позволяет обнаружить новые вредоносные объекты, которые ранее не определялись, по имеющимся сохранным контекстам. Если обнаружатся новые вредоносные объекты, то далее средство анализа контекстов 105 передаст информацию о них антивирусному средству 106. Все последующие действия с обнаруженными вредоносными объектами будут проведены по аналогии с описанными выше.
На Фиг.3а и 3б показан алгоритм работы системы защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения.
При запуске системы происходит обновление списка доверенных объектов на шаге 301, которые находятся в средстве хранения списка доверенных объектов 109.
Обновление базы правил влечет за собой ряд действий, направленных на поиск вредоносных объектов по уже имеющимся контекстам, которые были сохранены в средстве хранения контекстов 104. На шаге 302 производится проверка наличия обновления для базы правил, находящихся в средстве хранения базы правил 107. В том случае, если обновление доступно, средство 108 производит обновление базы правил на шаге 303. После того как обновление было выполнено, средство обновления 108 сообщает об этом средству анализа контекстов 105. На шаге 304 средство анализа контекстов 105 производит анализ созданных ранее в средстве 104 контекстов с использованием обновленной базы правил. Если в средстве хранения контекстов 104 отсутствуют контексты для проверки, то анализ не производится. В том случае если анализируемый контекст содержит действия, которые определяют вредоносный объект, то информация о данном вредоносном объекте передается средством анализа контекстов 105 на антивирусное средство 106, которое на шаге 306 удаляет вредоносный объект. Аналогичные действия производятся с группой связанных объектов при анализе объединенных контекстов. На шаге 307 средство анализа контекстов 105 также отправляет параметры вредоносного объекта на антивирусный сервер.
После того как было произведено обновление списка доверенных объектов и базы правил, на шаге 308 происходит запуск объекта и создание связанного с ним процесса. Как только был создан новый процесс, средство анализа объектов 102 проводит проверку объекта, из которого был запущен процесс, на шаге 309 на предмет того, является ли объект доверенным. Если выясняется, что объект является доверенным на шаге 310, то система не производит дальнейший сбор информации по данному объекту и позволяет процессу, запущенному из данного объекта, беспрепятственное выполнение на компьютерном устройстве. В таком случае система прекращает свою работу в отношении анализируемого процесса на шаге 311.
В противном случае, если объект проверки 101 не является доверенным, что означает отсутствие информации о нем в средстве хранения списка доверенных объектов 109, то при наличии такого объекта средство анализа объектов 102 собирает параметры объекта на шаге 312 и передает их далее на средство формирования контекстов 103, которое формирует контекст для данного объекта на шаге 313. Сформированный контекст сохраняется в средстве хранения контекстов 104. После создания контекста объекта, средство формирования контекстов 103 следит за появлением подозрительных событий при выполнении процесса, запущенного из объекта проверки 101, например, событий, связанных с созданием или удалением объектов, изменением системного реестра и т.д. Если на шаге 314 система находит события, выявляющие связь анализируемого процесса с другим выполняемым процессом или с другим объектом, то при этом информация о такой связи поступает на средство формирования контекстов 103, которое выполняет объединение контекстов на шаге 315. При этом в средстве хранения контекстов 104 создается новый общий контекст, в который попадают события сразу от нескольких связанных процессов, запущенных из разных объектов.
При пополнении контекста новым событием контекст анализируется на шаге 316 средством анализа контекстов 105. Если на шаге 317 в результате анализа контекста опасной активности процесса не выявлено средством 105, то процесс продолжает выполняться на компьютерном устройстве, при этом продолжается сбор и анализ событий при выполнении процесса. В том случае если обнаруживается опасная активность при выполнении процесса, то такой процесс, а также все связанные с ним процессы завершаются антивирусным средством 106 на шаге 318, а связанный с ним вредоносный объект удаляется или блокируется в случае невозможности удаления на шаге 319. Также средство анализа контекстов 105 отправляет параметры вредоносного объекта на антивирусный сервер для дальнейшей обработки и анализа на шаге 320. На шаге 321 алгоритм работы системы завершается.
Фиг.4 представляет пример компьютерного устройства общего назначения, на котором может быть реализовано описанное изобретение. Компьютерное устройство общего назначения, персональный компьютер или сервер 20 содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс привода магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.).
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35 и дополнительные программные приложения 37, другие программные модули 38 и программные данные 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонки, принтер и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.4. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 51 и глобальную вычислительную сеть (WAN) 52. Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 51 через сетевой адаптер или сетевой интерфейс 53. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью 52, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.