СПОСОБ УВЕЛИЧЕНИЯ НАДЕЖНОСТИ ОПРЕДЕЛЕНИЯ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
METHOD OF INCREASING RELIABILITY OF DETECTING MALICIOUS SOFTWARE

Область техники
Настоящее изобретение относится к антивирусной области, а именно к способам повышения надежности обнаружения вредоносных программ в распределенных вычислительных системах.
Уровень техники
Современная антивирусная индустрия сталкивается с постоянным противодействием вирусописателей на техническом и системном уровне. Любые методы, способы и системы обнаружения вредоносных объектов анализируются злоумышленниками с целью затруднить обнаружение или блокировать системы защиты. Таким образом, в антивирусной индустрии идет постоянная борьба «брони и снаряда». Вирусные аналитики, анализируя код вредоносных программ, создают антивирусные технологии. Вирусописатели анализируют антивирусные технологии и создают новые образцы вредоносного кода, невосприимчивые к средствам противодействия. Такая борьба характерна и для других областей науки и техники. Криптографы и криптоаналитики, хакеры и системные администраторы ведут аналогичную борьбу и в некоторых областях знаний такая борьба уже практически закончена. Примером победы в такой борьбе могут выступать криптостойкие криптографические протоколы с открытым ключом.
На текущий момент в антивирусных продуктах существует несколько модулей обнаружения и блокирования работы вредоносных программ и объектов, в качестве которых могут выступать файлы, сетевые пакеты, блоки данных приложений и т.д. Каждый модуль оперирует своими сущностями, выявляемыми из исследуемого объекта, и методами их обработки. Таким образом, можно составить сводную таблицу текущих модулей обнаружения, методов и средств их работы.
Из уровня техники известно решение, описанное в патентной заявке US 2008184371. Изобретение описывает способ и систему обнаружения неавторизованных действий на компьютерной платформе. Система отслеживает поведенческие модели компьютерных червей через анализ каналов связи с другими компьютерными системами через сеть. Согласно представленному способу определяют аппаратные или программные параметры, характеризующие известные модели поведения в вычислительной системе. Изучают известные образцы вредоносного программного обеспечения при помощи процессов изучения, например, сетей Байеса или искусственных нейронных сетей. Результаты машинного обучения анализируют в соответствии с данными шаблонами поведения. Потом приступают к обнаружению известных и неизвестных образцов вредоносного кода с использованием результатов машинного обучения. Предложенный способ имеет гибкую обучающую систему. Однако существует возможность изучить его алгоритмы работы и сформировать такую вредоносную модель поведения, которая будет очень похожа на безвредную. Либо злоумышленники после разбора алгоритма прибегнут к ранее неиспользованным и, возможно, недокументированным возможностям операционной системы (ОС). В таком случае система не сможет обнаружить новый вид угроз, поскольку не способна отследить все недокументированные функции ОС.
В другой публикации, патенте US 7836500, описана система автоматической чистки персонального компьютера от вредоносного программного обеспечения. Программное обеспечение проверяют на присутствие подозрительных признаков в компьютере. Специфическую системную информацию, которая соответствует информации о подозрительных атрибутах, помещают в запрос предполагаемого решения проблемы. Запрос предполагаемого решения проблемы передается на сервер для обработки. Сервер в ходе обработки создает ответ с использованием баз данных параметрических инструкций и отправляет его пользователю для выполнения. Автоматическое выполнение варианта инструкции решения проблемы включает удаление зараженных файлов, которые также могут быть отправлены на сервер для обследования. Если не удается автоматически создать вариант инструкции решения проблемы, задачу выполняет технический специалист и создает вариант решения проблемы. При работе технического эксперта ему доступны автоматические подсказки экспертной системы. Данная система является ближайшим аналогом предлагаемого решения. Однако авторы не уделяют достаточно внимания тому факту, что сам способ работы системы может оказаться целью атаки злоумышленника. Т.е., выполнив оценку системы на наличие уязвимостей, в следующих версиях вредоносной программы злоумышленник изменит подозрительные признаки, по которым выполнялось определение присутствия, проблемы и вырабатывался вариант инструкции решения проблемы.
Другое интересное решение предложено в публикации ЕР2090058. Авторы предлагают исследовать и классифицировать веб-контент, в том числе потенциально исполняемый веб-контент и вредоносный контент, который найден по унифицированному адресу ресурса (URL). URL делят на компоненты, руководствуясь индикатором энтропии, результатами поиска, данными об истории URL и данными о регистрации IP-адреса, соответствующего URL у регистратора, доступными через сервис WHOIS. Такой способ контроля доступа к веб-контенту легко обходят мошенники, поскольку не составляет труда зарегистрировать новый адрес IP и изменить все статичные части адреса URL на динамические, замусоренные или зашифрованные.
Материалы заявки раскрывают систему и способ, которые не подвержены недостаткам известных ранее решений.
Определения
Вредоносный объект - файл, исполняемый файл, процесс, поток протокола HTTP, адрес ресурса сети, путь к объектам сети, являющимся объектами обнаружения антивирусных модулей.
Сигнал о вредоносной активности - сетевой пакет, переданный в облако, при обнаружении вредоносного объекта информационным модулем обнаружения.
Сигнал блокировки вредоносной активности - сетевой пакет, переданный из облака, содержащий данные для метода блокировки блокирующим модулем обнаружения.
Информационный модуль обнаружения - модуль обнаружения, не блокирующий вредоносный объект или его активность, создающий сигнал о вредоносной активности для отправки в облако в соответствии со своими методами обнаружения.
Блокирующий модуль обнаружения - модуль обнаружения, блокирующий вредоносный объект или его активность на основании сигнала блокировки вредоносной активности.
Облако анализа и обработки сигнала о вредоносной активности - принимает сигнал вредоносной активности от информационного модуля обнаружения и создает сигналы для блокировки, которые возвращаются клиентам, подключенным к облаку.
Термин «Облако» используется как образ сложной инфраструктуры, за которой скрываются все технические детали. Согласно документу IEEE, опубликованному в 2008 году [http://www.computer.org/portal/web/csdl/doi/10.1109/MIC.2008.107]:
Облачная обработка данных - это парадигма, в рамках которой информация постоянно хранится на серверах в Интернете и временно кэшируется на клиентской стороне, например на персональных компьютерах, игровых приставках, ноутбуках, смартфонах и так далее. Облачная обработка данных как концепция включает в себя понятия: «Все как услуга», «Инфраструктура как услуга», «Платформа как услуга», «Программное обеспечение как услуга», «Рабочее место как услуга», «Данные как услуга» [http://ru.wikipedia.org/wiki/Облачные_вычисления].
Раскрытие изобретения
Настоящее изобретение обеспечивает повышение надежности обнаружения вредоносных программ. Технический результат, заключающийся в повышении вероятности обнаружения вредоносных компонент, достигается путем создания избыточных признаков и параметров для обезвреживания вредоносных объектов. Указанный результат достигается путем создания условий, в которых злоумышленники будут не в состоянии производить тестирование на уровень обнаружения своих программ. Повышение вероятности обнаружения вредоносных компонент достигается за счет избыточного анализа вредоносного объекта. Таким образом, известный вредоносный объект может быть в некоторой степени изменен (дописан незначительный мусор в конец объекта, что позволило изменить MD5 сумму вредоносного объекта, но оставило прежними дату компиляции и многие другие параметры вредоносного объекта) злоумышленником для исключения обнаружения такого вредоносного объекта по MD5 сумме. Но полученная избыточная информация о вредоносном объекте, которая не была изменена злоумышленником (например, последовательность вызовов функций) позволит выявить измененный вредоносный объект вспомогательным блокирующим модулем обнаружения, таким как эмулятор исполняемых файлов.
Способ обнаружения вредоносных объектов, реализуемый на основе компьютера пользователя с установленным комплексом средств антивирусной защиты, вычислительной сети и системы серверов, обеспечивающих функционирование системы блокирующих и информационных модулей, при этом способ состоит из этапов: передают при помощи информационного модуля обнаружения через вычислительную сеть в систему блокирующих и информационных модулей сигнал о вредоносном объекте, после чего
генерируют при помощи системы блокирующих и информационных модулей необходимые признаки обнаружения для обезвреживания вредоносных объектов согласно правилам в системе блокирующих и информационных модулей, где согласно правилам создается избыточное количество вариантов признаков обнаружения вредоносного объекта, дополнительно передают через сеть из системы блокирующих и информационных модулей, по меньшей мере, один блокирующий сигнал обнаружения на блокирующий модуль обнаружения комплекса средств антивирусной защиты, после чего обнаруживают вредоносный объект при помощи блокирующего модуля обнаружения. Одно правило описывает, каким образом, возможно собрать по одному сигналу из одного информационного модуля обнаружения дополнительную информацию. В альтернативном варианте реализации изобретения генерация необходимых признаков выполняется с использованием дополнительной информации, способы получения доступа к информации указаны в правилах взаимодействия, которые хранятся в системе блокирующих и информационных модулей. Таким образом, после обнаружения вредоносного объекта при помощи блокирующего модуля дополнительно обезвреживают вредоносный объект. Следует уточнить, что информационным модулем обнаружения является сигнатурный сканер, или поведенческий анализатор, или эмулятор сценариев (который проводит поиск совпадений множества вызовов функций в сценарии с параметрами, указанными в базе вредоносных сценариев), или эмулятор исполняемых файлов (который проводит поиск совпадений множества вызовов функций эмулируемого исполняемого файла с параметрами, указанными в базе вредоносных поведенческих сигнатур), или объектный блокиратор, или адресный фильтр, или фильтр пути.
После обнаружения вредоносного объекта обезвреживают вредоносный объект при помощи блокирующего модуля обнаружения, которым является сигнатурный сканер, или поведенческий анализатор, или эмулятор сценариев (который проводит поиск совпадений множества вызовов функций в сценарии с параметрами, указанными в базе вредоносных сценариев), или эмулятор исполняемых файлов (который проводит поиск совпадений множества вызовов функций эмулируемого исполняемого файла с параметрами, указанными в базе вредоносных поведенческих сигнатур), или объектный блокиратор, или адресный фильтр, или фильтр пути.
Краткое описание чертежей
Фиг.1 Общая схема связи с облаком.
Фиг.2 Структура правила взаимодействия обнаруживающих и блокирующих подсистем.
Фиг.3а, б Информационный модуль обнаружения - поведенческий анализатор.
Фиг.4 Граф информационного обмена между модулями обнаружения.
Фиг.5 Примерная компьютерная система пользователя.
Осуществление изобретения
Настоящее изобретение обеспечивает повышение надежности обнаружения вредоносных программ. Технический результат, заключающийся в повышении вероятности обнаружения вредоносных компонент, достигается путем создания избыточных признаков и параметров для обезвреживания вредоносных объектов. Указанный результат достигается путем создания условий, в которых злоумышленники будут не в состоянии производить тестирование на уровень обнаружения своих программ. Предлагается:
1. Разделить модули обнаружения на информационные и блокирующие.
2. Определить, в каких случаях модуль является информационным или блокирующим.
3. Создать систему взаимодействия информационных и блокирующих модулей на основе правил взаимодействия, хранящихся в облаке.
Подобная структура работы системы и способа позволит получать сигнал о вредоносном объекте от одного или от нескольких информационных модулей обнаружения. Каждый информационный модуль обнаружения собирает свою часть информации о подозрительном объекте. Такая информация может служить основанием для блокировки данного объекта в будущем. Разные информационные модули обнаружения, обследовав один и тот же объект, каждый по отдельности или сообща отправляют характерные параметры объекта. Данные отправляют в облако для обработки.
В данной системе облако содержит некоторое количество правил взаимодействия. Правила взаимодействия связывают между собой информационные модули обнаружения, согласно правилам создается избыточное количество вариантов обнаружения вредоносного объекта. Одно правило описывает, каким образом возможно собрать по одному сигналу из одного информационного модуля обнаружения дополнительную информацию, используя ресурсы облака. Важная особенность заключается в том, что сбор дополнительной информации осуществляется скрытно от потенциальных злоумышленников, что не дает возможности изучить слабые места системы.
Собранные данные об объекте классифицируются по приспособленности для работы с блокирующими модулями обнаружения. Классификация выполняется согласно заданным в правилах взаимодействия алгоритмам. В итоге получается, что по одному сигналу от информационного модуля обнаружения скрытым образом выполняется поиск и сбор дополнительной информации, например загрузка самого объекта, и на выходе формируется комплексное решение по способам блокировки данного вида вредоносного объекта. Комплексное решение по способам блокировки представляет собой набор ключевых признаков, используемых в работе блокирующих модулей обнаружения компьютеров клиента.
Отметим важный момент работы системы, который состоит в том, что потенциальный злоумышленник лишен возможности следить за производимыми действиями, т.к. основной комплекс мероприятий осуществляется в защищенном от доступа посторонних облаке. С другой стороны создаваемая в описанном способе избыточность сигналов позволяет обнаруживать и блокировать вредоносный объект несколькими подсистемами и по разным критериям.
Система реализована на основе компьютеров клиентов и системы серверов, объединенных между собой вычислительной сетью. При этом система серверов обеспечивает функционирование облака.
Компьютер клиента оснащен комплексом антивирусных средств, в том числе информационными модулями обнаружения следующих подсистем: сигнатурного сканера, поведенческого анализатора, эмулятора сценариев, эмулятора исполняемых файлов, объектного блокиратора, адресного фильтра, фильтра пути. Важнейшая задача этих информационных модулей обнаружения состоит в сборе информации о подозрительных объектах в рамках своего алгоритма работы и отправке информационного сигнала через сеть в облако системы.
Таблица 1
Обнаруживающие модули, методы и средства работы
Модуль обнаружения
Объект обнаружения
Метод обнаружения
Сигнатурный сканер
Файл
Бинарное сравнение сигнатуры файла с сигнатурами файлов, имеющихся в базе
Поведенческий анализатор
Процесс
Совпадение множества вызовов функций работающего процесса с параметрами, которые указаны в базе
Эмулятор сценариев
Поток протокола HTTP
Совпадение множества вызовов функций в сценарии с параметрами, указанными в базе вредоносных сценариев
Эмулятор исполняемых файлов
Исполняемый файл
Совпадение множества вызовов функций эмулируемого исполняемого файла с параметрами, указанными в базе поведенческих сигнатур
Объектный блокиратор
Файл
Совпадение контрольной суммы файла с контрольной суммой известных вредоносных файлов, указанной в базе
Адресный фильтр
Адрес ресурса сети
Сравнение адреса ресурса с данными, имеющимися в базе.
Фильтр пути
Путь к объектам сети
Бинарное сравнение пути с данными в базе
Разберем рамки алгоритмов работы каждого информационного модуля обнаружения в отдельности.
Информационный модуль обнаружения сигнатурного сканера выполняет бинарное сравнение сигнатуры файла с данными, имеющимися в базе. Этот модуль является вырожденным, поскольку наличие сигнатурной записи в базе данных означает известность объекта и отсутствие необходимости дополнительных исследований.
Разберем пример работы системы на Фиг.1. Информационный модуль обнаружения 100 поведенческого анализатора отслеживает вызовы системных функций и параметры вызова, создает карту поведения программ и отправляет в облако 101 сформированную характеристику поведения объекта и идентификатор объекта. В облаке выполняют операции сбора дополнительной информации об объекте и удостоверяются в его вредоносности. Дополнительная информация содержит списки адресов, по которым был скачан вредоносный объект, результаты эмуляции объекта, перечень адресов, к которым вредоносный объект выполнял попытки подключения. Если вредоносный объект является сетевым червем, то составляют сигнатуры сетевых атак, осуществленных при эмуляции вредоносного объекта. Собранную таким образом информацию классифицируют в соответствии с действующими активными блокирующими модулями компьютерных систем пользователей. Формируют блокирующие сигналы для всех блокирующих модулей обнаружения 102, для которых была классифицирована собранная информация. Блокирующий модуль обнаружения реализует лечение вредоносного объекта 103. Например:
- блокирующий модуль сигнатурного сканера получает блокирующий сигнал, содержащий сигнатуры вредоносных объектов;
- блокирующий модуль поведенческого блокиратора получает блокирующий сигнал, содержащий новые типы вредоносных сценариев поведения;
- блокирующий модуль эмулятора сценариев получает сигнатуры и последовательности вызовов функций вредоносного сценария для фильтрации. Вредоносные сигнатуры и последовательности вызовов функций помещают в базу данных компьютера пользователя;
- блокирующий модуль эмулятора исполняемых файлов получает вредоносные модели поведения в виде последовательностей вызовов функций в бинарных файлах и помещает их в базу данных компьютера пользователя;
- блокирующий модуль объектного блокиратора получает сигнал блокировки, содержащий контрольные суммы вредоносных объектов, и сохраняет контрольные суммы в базу данных компьютера пользователя;
- блокирующий модуль адресного фильтра получает сигнал блокировки, содержащий адреса ресурса в сети, который помещает в базу данных компьютера пользователя;
- блокирующий модуль фильтра пути получает сигнал блокировки, содержащий бинарное представление пути вредоносного объекта, и помещает в базу данных компьютера пользователя бинарное представление пути объекта.
Этот короткий пример описывает общие принципы работы системы и предназначен для того, чтобы сформировалось понимание основных задач, стоящих перед системой и путей решения этих задач. Более детальные примеры с раскрытием технических подробностей, деталей реализации и области применения будут приведены далее.
В общем случае все модули обнаружения связаны между собой правилами, согласно которым происходит смена обнаруживаемого объекта и автоматический выпуск сигнала блокировки согласно методу обнаружения. Рассмотрим несколько правил работы по взаимодействию модулей обнаружения.
1. Информационный модуль обнаружения - Поведенческий анализатор; Объект обнаружения - Процесс.
1.1 Блокирующий модуль обнаружения - Сигнатурный сканер; Объект обнаружения - Файл.
При обнаружении совпадения множества вызовов функций в некотором процессе с указанными комбинациями вызовов в базе поведенческого анализатора, через сеть передается сигнал о вредоносной активности с идентификатором самого объекта. Сигнал о вредоносной активности содержит информацию об исполняемом файле, породившем обнаруженный процесс. Имеется в виду именно тот исполняемый файл, который с носителя информации был скопирован загрузчиком в оперативную память, после чего получил управление на точку входа, и по сведениям поведенческого анализатора совершил вызовы функций, характерных для вредоносной активности. После нахождения указанного исполняемого файла в облаке создается сигнатура на код, содержащий вредоносную последовательность вызовов функций (см. Фиг.2). На этапе 200 выполняется обнаружение вредоносного процесса. Далее выполняют поиск исполняемого файла, породившего процесс (этап 201). Если файл был успешно найден на этапе 202, то на этапе 203 передают контрольную сумму файла в облако, выполняют поиск 204 файла в облаке и загрузку файла для исследования на этапе 205. Осуществляют поиск вредоносных последовательностей вызовов функций (206), поиск программного кода, осуществившего вызовы таких функций (207), создают сигнатуру на код исполняемого файла (208). Если на этапе 202 файл не был найден, выполняют этап (209) обнаружения внедрения вредоносного кода в процесс, выполняют поиск 210 исполняемого файла, совершающего внедрение в процесс. Если файл найден, передают управление на этап 203. Иначе выполняют этап 211 сканирования физической памяти на внедрение в процесс и этап 212 поиска процесса, в памяти которого обнаружено внедрение. С передачей управления на этап 202.
1.2 Блокирующий модуль обнаружения - Эмулятор сценариев; Объект обнаружения - Поток протокола HTTP.
При обнаружении совпадения множества вызовов функций в некотором процессе, с указанными комбинациями вызовов в базе поведенческого анализатора, в облако передается сигнал о вредоносной активности. Сигнал о вредоносной активности содержит поток протокола HTTP, созданный найденным процессом. Данные потока HTTP анализирует на содержание вредоносных последовательностей вызовов функций, и описывают в терминах работы эмулятора сценариев (см. Фиг.3а).
Обнаруживают вредоносный файл в информационном модуле эмулятора сценариев на этапе 300. На этапе 301 осуществляют запрос истории появления вредоносного файла в системный журнал или в журнал подсистемы поведенческого анализатора. Передают историю появления вредоносного файла в облако 302. Облако выполняет этапы 303, 303', 303” анализ работы процесса, создающего вредоносный файл на компьютере пользователя; поиск вредоносных последовательностей вызовов функций в работе процесса; создание описания вредоносных последовательностей вызовов функций процесса.
2. Информационный модуль обнаружения - Объектный блокиратор; Объект обнаружения - файл.
2.1 Блокирующий модуль обнаружения Поведенческий анализатор; Объект обнаружения - Процесс.
При обнаружении (см. Фиг.3б, позиция 304) совпадения контрольной суммы файла с указанной в базе, в облако передается сигнал о вредоносной активности. Запрашивают историю вредоносной активности на этапе 305. На шаге 306 передают сигнал о вредоносной активности, который содержит историю появления данного файла. На основании последовательностей вызовов функций (этап 307) процесса, создавшего вредоносный файл, на шаге 308 создают описания последовательностей вызовов функций. Облако создает описание данных и функций для поведенческого анализатора (этап 309). Алгоритм способа работы в таком варианте состоит из следующих этапов:
- обнаруживают вредоносный файл (304);
- запрашивают историю появления вредоносного файла (305);
- передают историю появления вредоносного файла в облако (306);
- анализируют работу процесса, создавшего вредоносный файл в компьютерной системе пользователя (307);
- создают описания последовательностей вызовов функций (308);
- создают описания последовательностей вызовов функций процесса (309).
Со ссылкой на Фиг.4 разберем подробно сущность правил взаимодействия, которые задают связи между узлами и модулями системы. На Фиг.4 изображен граф, где вершинами являются информационные модули обнаружения, а дугами представлены правила взаимодействия, для которых начало будет в информационном модуле обнаружения, а конец - в блокирующем модуле обнаружения. Подписи каждой дуги отражают информационное наполнение сигнала блокировки, который был выработан облаком согласно правилу взаимодействия между соответствующими информационным и блокирующим модулями.
Основным источником сигналов блокировки вредоносной активности является информационный модуль 400 поведенческого анализатора, который отправляет в облако сигнал 421 для генерации сигнатуры на код исполняемого файла, который породил процесс. Как следствие, в облако отправляют информацию с соответствующим сигналом блокировки, который содержит сигнатуру процесса для блокировки. Сигнатура обрабатывается модулем блокировки сигнатурного сканера 401 и сохраняется в локальной базе данных компьютера пользователя. По сигналу 424 в облако дополнительно отправляется описание работы процесса в виртуальном окружении эмулятора, облако обрабатывает его согласно правилу взаимодействия и генерирует сигнал блокировки, содержащий сценарий вредоносного поведения, который отправляется в блокирующий модуль 403 эмулятора исполняемых файлов. По сигналу 426 в облако дополнительно отправляется информация о файле, породившем процесс, а облако согласно правилу взаимодействия генерирует сигнал блокировки, содержащий контрольную сумму файла, породившего процесс, получаемый в блокирующем модуле 405 объектного блокиратора. По сигналу 431 в облаке дополнительно собирают информацию об адресах ресурсов сети, обнаруженных в истории работы процесса, а список таких ресурсов передают в блокирующий модуль 406 фильтра пути. По сигналу 425 в облаке собирают списки адресов сети, обнаруженных в истории работы процесса, и передают с сигналом блокировки в блокирующий модуль 404 адресного фильтра и сохраняют в локальную базу данных компьютерной системы пользователя. По сигналу 422 в облаке классифицируют модели поведения сценариев из потока протокола HTTP и отправляют описание вредоносного поведения через сигнал блокирования в блокирующий модуль 402 эмулятора сценариев, описание вредоносного поведения сохраняют в локальной базе данных компьютера пользователя.
Сигнатурный сканер 401 отправляет в облако информационный сигнал о найденном совпадении вредоносной сигнатуры с файлом и информацию о процессе, порожденном этим файлом. Облако загружает вредоносный файл и исследует процесс, создавший вредоносный файл. Исследует его и возвращает в блокирующем сигнале 420 описание работы процесса, создавшего данный файл. Данные с описанием вредоносного поведения используют в поведенческом анализаторе 400 и сохраняют в локальной базе данных компьютера пользователя.
Эмулятор исполняемых файлов 403 отправляет в облако информационный сигнал с описанием вредоносной активности файла. Облако загружает вредоносный файл и генерирует сигнатуру на код исполняемого файла. Сигнатура передается в блокирующем сигнале 427 на сигнатурный сканер 401 и сохраняется в локальную базу данных компьютера пользователя. По сигналу 430 от эмулятора исполняемых файлов 403 облако создает список адресов в сети, используемых при работе вредоносного файла. Блокирующий сигнал 430 из облака содержит список адресов сети, получаемых в адресном фильтре 404. При этом список адресов, использованных в работе вредоносного файла, сохраняют в локальной базе данных компьютера пользователя.
Объектный блокиратор 405 выявляет совпадения контрольной суммы файла с указанной в базе данных и отправляет файл в облако в информационном сигнале. Облако генерирует описание работы такого файла, формирует сценарий вредоносного поведения и передает его через блокирующий сигнал 434 в эмулятор исполняемых файлов 403, который сохраняет сценарий вредоносного поведения в локальную базу данных компьютера пользователя. По сигналу 428 от объектного блокиратора 405 облако создает описание работы процесса, создавшего вредоносный файл, и передает блокирующий сигнал со сценарием вредоносного поведения в поведенческий анализатор 400, который сохраняет сценарий вредоносного поведения в локальную базу данных компьютера пользователя. По сигналу 432 объектный блокиратор отправляет в облако адрес того файла, который был загружен из сети и контрольная сумма которого совпала с указанной в базе данных контрольной суммой. Создают список адресов, по которым расположен такой файл, и передают блокирующий сигнал в фильтр пути 406 для блокировки попыток обращения к таким адресам. Список адресов сохраняют в локальную базу данных компьютера пользователя.
Фильтр пути 406 выполняет бинарное сравнение пути с данными в базе данных и отправляет соответствующий информационный сигнал в облако. Облако генерирует список адресов ресурсов в сети и в блокирующем сигнале 433 отправляет в адресный фильтр 404. Полученный список ресурсов в сети сохраняют в локальной базе данных компьютера пользователя.
Адресный фильтр 404 выполняет сравнение адреса ресурса с данными в локальной базе данных и при совпадении отправляет информационный сигнал с адресом объекта сценария в облако. Облако создает описание содержимого объекта сценария в сети и через блокирующий сигнал 429 отправляет сценарий вредоносного поведения в эмулятор сценариев 402. Нежелательные сценарии блокируют эмулятором, а поступающие сценарии вредоносного поведения сохраняют в локальной базе данных компьютера пользователя.
Фиг.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, но следует понимать, что возможно применение иных типов компьютерных носителей информации, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.).
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35 и дополнительные программные приложения 37, другие программные модули 38 и программные данные 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.5. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 51 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 51 через сетевой адаптер или сетевой интерфейс 53. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью 52, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными, и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
Настоящее описание излагает основной изобретательский замысел автора, который не может быть ограничен теми аппаратными устройствами, которые упоминались ранее. Следует отметить, что аппаратные устройства прежде всего предназначены для решения узкой задачи. С течением времени и с развитием технического прогресса такая задача усложняется или эволюционирует. Появляются новые средства, которые способны выполнить новые требования. В этом смысле следует рассматривать данные аппаратные устройства с точки зрения класса решаемых ими технических задач, а не чисто технической реализации на некой элементной базе.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.