Система и способ проверки файлов на доверенность

Иллюстрации

Показать все

Изобретение относится к средствам проверки файлов на доверенность при антивирусной проверке. Технический результат заключается в уменьшении времени антивирусной проверки файлов на диске. Получают файл для проверки и сравнивают идентификатор полученного файла с идентификаторами, содержащимися в списке идентификаторов доверенных файлов. Проверяют, является ли идентификатор полученного файла идентификатором доверенного ключевого файла, если идентификатор полученного файла не содержится в списке идентификаторов доверенных файлов. Формируют пакет идентификаторов доверенных файлов, связанных с идентификатором полученного файла, если идентификатор полученного файла был определен как идентификатор доверенного ключевого файла. Добавляют сформированный пакет идентификаторов доверенных файлов в список идентификаторов доверенных файлов. 2 н. и 31 з.п. ф-лы, 5 ил.

Реферат

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

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

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

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

В этой связи постоянно развиваются и совершенствуются средства антивирусной защиты. Существует множество различных программ и способов проведения проверок файлов на наличие вредоносного ПО на диске компьютера. Одним из таких способов проверки файлов является проверка по требованию пользователя. Во время данной проверки антивирус проверяет файлы с помощью различных способов, таких как проверка по сигнатурным базам, поведенческий анализ и т.д. В настоящее время главными недостатками проверки по требованию, т.е. «on demand scanning» (далее - ODS проверка), являются долгое время самой проверки файлов на диске и большая нагрузка на диск при проверке.

Существует много различных способов оптимизации проверки файлов, например, основанные на использовании так называемых «белых списков» (whitelist) и «черных списков» (blacklist) или основанные на отслеживании факта модификации файла, например, через временные метки.

Так, в заявке US 1009083852 A1 описано изобретение, в котором для оптимизации ODS проверки данных система передает структуру данных (например, каталог значений хеш-сумм файлов) на сервер белых и черных списков и при этом указывает время последней успешной связи с сервером (т.е. последнюю успешную проверку данных). Сервер с белыми и черными списками проверяет только новые или измененные данные после последней успешной связи. После чего система получает информацию по отправленным данным, которые являются новыми или измененными данными, и определяет, являются данные доверенными или вредоносными. При таком подходе проверки данных описанному изобретению необходимо постоянно делать запросы на сервер по проверяемым данным.

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

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

Сущность изобретения

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

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

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

- поиска среди файлов файловой системы тех файлов, идентификаторы которых отсутствуют в указанном списке кэша данных,

- передачи, по меньшей мере, одного идентификатора файла из найденных файлов в информационный сервис,

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

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

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

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

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

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

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

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

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

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

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

Еще в одном частном варианте реализации системы модуль анализа файлов проводит поиск файлов, идентификаторы которых отсутствуют в списке идентификаторов доверенных файлов кэша данных, среди файлов файловой системы:

- в фоновом режиме;

- во время проверки файлов;

- во время установки нового программного обеспечения.

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

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

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

Еще в одном частном варианте реализации системы ключевым файлом является файл с одним из следующих имен: «setup» и «autorun».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Еще в одном частном варианте реализации способа ключевыми файлами являются файлы с именами: «setup» и «autorun».

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

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

Краткое описание прилагаемых чертежей

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

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

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

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

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

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

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

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

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

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

а) 101 - доверенные файлы, т.е. это файлы, которые являются безопасными файлами и известными файлами для заявленной системы, т.е. файлы, которые содержатся в «белых списках» антивирусных компаний;

б) 102 - неизвестные файлы, т.е. это файлы, которые неизвестны заявленной системе (т.е. файлы, которые не содержаться в списке доверенных файлов) и при этом могут быть как безопасными, так и вредоносными файлами;

в) 103 - доверенные ключевые файлы, т.е. это файлы, которые были выявлены из доверенных файлов 101. При этом ключевым файлом может быть файл, который можно быстро идентифицировать на ПК пользователя и по которому можно идентифицировать другие файлы ПО или всего пакета ПО. Как правило, ключевой файл будет размещен совместно с файлами, которые может идентифицировать, например, в одном корневом каталоге. Наиболее вероятно, что ключевым файлом будет являться какой-либо исполняемый файл ([имя файла].ехе), установочный файл ([имя файла].msi), архивный файл ([имя файла].rar). Еще одним примером ключевых файлов могут являться файлы с наиболее характерными именами, например, setup, autorun. Также ключевым файлом является любой постоянный (неизменчивый) файл из пакета файлов, например, файл, содержащий лицензионное соглашение производителя ПО или электронную цифровую подпись производителя ПО.

г) 104 - неизвестные доверенные ключевые файлы (далее - неизвестные ключевые файлы), т.е. это файлы являются файлами 103, но только неизвестны заявленному изобретению.

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

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

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

В рамках данной схемы рассматривается частный вариант реализации системы оптимизации антивирусной проверки. Однако представленное изобретение не ограничивается данным применением. Также данная система оптимизации подходит и для проверки файлов на доверенность при применении других технологий, например, OAS (on access scanning -проверка по доступу), HIPS (Host-based Intrusion Prevention System - система предотвращения вторжений), WL (whitelisting - чистые списки).

Система оптимизации антивирусной проверки в одном из вариантов реализации состоит из следующих модулей:

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

информационного сервиса 220, который анализирует уникальные идентификаторы (далее - хеши) файлов на их доверенность (безопасность) и принадлежность к ключевым файлам, проводит поиск хешей доверенных файлов 101, связанных с хешом доверенного ключевого файла 103, формирует пакеты хешей доверенных файлов 225 и предоставляет данные пакеты хешей доверенных файлов 225 модулю анализа файлов 240;

модуля анализа файлов 240, который анализирует файлы, представленные в файловой системе 100, производит необходимые запросы по анализируемым файлам 102 и 104 в информационный сервис 220 и пополняет кэш данных 230 новыми пакетами хешей доверенных файлов 225.

В частном случае реализации представленной системы возможно наличие антивирусного сканера 210, который управляет процессами проверки файлов из файловой системы 100 и направляет запросы по неизвестным файлам 102 и/или 104 к модулю анализа файлов 240, а также взаимодействует с кэшем данных 230.

В еще одном варианте реализации представленной системы можно объединить модуль анализа файлов 240 и антивирусный сканер 210 в единый модуль. В этом случае единый модуль будет исполнять функции модулей 210 и 240.

Далее рассмотрим вариант реализации при антивирусной проверке файлов.

Во время антивирусной проверки файлов, представленных в файловой системе 100 компьютера, запускается антивирусный сканер 210. Во время работы антивирусный сканер 210 направляет запрос о наличии информации по проверяемым файлам в кэш данных 230. Кэш данных 230, содержащий список хешей доверенных файлов, отвечает по запрашиваемым файлам, согласно данному списку, антивирусному сканеру 210. Перед запросом по проверяемым файлам в кэш данных 230 антивирусный сканер 210 формирует хеши всех проверяемых файлов. Затем антивирусный сканер 210 сравнивает полученные хеши проверяемых файлов с информацией (т.е. с хешами) из списка хешей доверенных файлов, который был предоставлен кэшем данных 230. Формирование хешей проверяемых файлов и их сравнивание возможно как по очереди, так и всех сразу.

В том случае, если хеш проверяемого файла совпал с каким-либо хешом из списка хешей доверенных файлов, то проверяемый файл является доверенным файлом 101 и не подвергается дальнейшей проверке. В том случае, если хеш проверяемого файла не был найден в списке хешей доверенных файлов, то данный файл является неизвестным файлом 102. Антивирусный сканер 210 блокирует выполнение данного неизвестного файла 102 до окончания проверки и вынесения решения по данному файлу 102. Затем антивирусный сканер 210 направляет запрос на анализ этого неизвестного файла 102 к модулю анализа файлов 240. В качестве запроса от антивирусного сканера 210 может отправляться не сам неизвестный файл 102, а уникальный идентификатор неизвестного файла 102, например, хеш файла.

В частном случае антивирусный сканер 210 может проверять файлы в файловой системе 100 по любым идентификаторам файла, например, метаданным файла, идентификаторам, присвоенным самой файловой системой каждому файлу, например, NTFS-идентификаторы. В этом случае кэш данных 230 должен также хранить списки идентификаторов файлов, по которым проводится проверка файлов.

В частном случае антивирусный сканер 210 при запросе по проверяемым файлам в кэш данных 230 может не формировать хеш запрашиваемых файлов. В этом случае антивирусный сканер 210 будет сравнивать данные файлы с помощью проверки данных файлов с другим списком доверенных файлов, который также хранится в кэше данных. Примером такого списка доверенных файлов может являться список NTFS-идентификаторов доверенных файлов для файловой системы NTFS. В этом случае антивирусный сканер 210 будет сравнивать NTFS-идентификаторы проверяемых файлов с NTFS-идентификаторами из списка NTFS-идентификаторов доверенных файлов. В случае, когда NTFS-идентификаторы проверяемых файлов оказались в данном списке, проверяемые файлы пропускаются во время дальнейшей проверки. В случае, когда проверяемые файлы не оказались в данном списке, то направляется запрос на анализ данных файлов в информационный сервис 220. Список NTFS-идентификаторов доверенных файлов может наполняться, например, во время наполнения списка хешей доверенных фалов, т.е. когда новые хеши доверенных файлов попадут в список хешей доверенных фалов, то NTFS-идентификаторы данных доверенных файлов будут добавлены в список NTFS-идентификаторов доверенных файлов. Список доверенных файлов наполняется согласно способу, описанному на Фиг.4.

В данном варианте реализации модуль анализа файлов 240 при получении запроса по неизвестному файлу 102 обрабатывает данный запрос и формирует запрос по указанному неизвестному файлу 102 к информационному сервису 220. Информационный сервис 220 проверяет данный неизвестный файл 102 на его безопасность, например, наличие данного файла 102 в базе «белых списков», которая используется информационным сервисом 220. В том случае, если неизвестный файл 102 отсутствовал в базе «белых списков», то информационный сервис 220 прекращает анализ данного неизвестного файла 102 и отвечает модулю анализа файлов 240, что данный неизвестный файл 102 отсутствует в базе «белых списков». Тогда модуль анализа файлов 240 отвечает антивирусному сканеру 210 о том, что данный неизвестный файл 102 был не определен и является потенциально опасным. В этом случае антивирусный сканер 210 начинает проверку данного неизвестного файла 102 всеми доступными ему средствами, например, поиск по сигнатурным базам, эвристический анализ, поведенческий анализ и т.д.

В частном случае информационный сервис 220, кроме ответа модулю анализа файлов 240 об отсутствии в базе «белых списках» неизвестного файла 102, может сделать ответный запрос по данному неизвестному файлу 102 для последующего самостоятельного анализа данного файла 102. В виде запроса информационный сервис 220 задает модулю анализа файлов 240 ряд вопросов для последующего анализа, например, откуда был получен файл, когда файл был установлен и т.д. Еще одним способом анализа данного неизвестного файла 102 является проверка по базе «черных списков», которая также является инструментом информационного сервиса 220. Также в качестве способов анализа не безопасного неизвестного файла 102 информационный сервис 220 может применить технологии, описанные в патентах на полезную модель RU 91203 G06F 21/00 и RU 101224 G06F 15/00.

В том случае, когда неизвестный файл 102 является безопасным файлом, т.е. находится в базе «белых списков», то данный файл 102 становится доверенным файлом 101, а информационный сервис 220 проводит анализ данного доверенного файла 101. При анализе данного доверенного файла 101 информационный сервис 220 выявляет, является ли данный файл 101 доверенным ключевым файлом 103 или нет. Примером определения файла как доверенного ключевого файла является поиск по базе данных ключевых файлов, которая содержится в информационном сервисе 220.

Если информационный сервис 220 определил, что данный доверенный файл 101 является доверенным ключевым файлом 103, то информационный сервис 220 производит выборку всех доверенных файлов 101, связанных с данным доверенным ключевым файлом 103. Например, выборка всех доверенных файлов 101 производится с помощью базы данных связанных файлов, которая содержится в информационном сервисе 220. Затем информационный сервис 220 формирует пакет хешей 225 из всех найденных доверенных файлов 101 и передает данный пакет хешей 225 модулю анализа файлов 240. После получения пакета хешей доверенных файлов 225 модуль анализа данных 240 добавляет указанный пакет 225 в список хешей доверенных файлов, хранящийся в кэше данных 230. Кэш данных 230 хранит список хешей доверенных файлов для дальнейшего предоставления указанных хешей из данного списка для проверки файлов файловой системы на их доверенность, например, при антивирусной проверке.

Если доверенный файл 101 не является известным доверенным ключевым файлом 103, то в кэш данных 230 будет добавлен только хеш данного доверенного файла 101.

В частном случае, когда доверенный файл 101 не является доверенным ключевым файлом 103, информационный сервис 220 проводит поиск на принадлежность данного доверенного файла 101 к какому-либо доверенному ключевому файлу 103 или нескольким доверенным ключевым файлам 103. Если будет обнаружена принадлежность данного доверенного файла 101 к какому-либо одному или нескольким доверенным ключевым файлам 103, то информационный сервис 220 отправит запрос к модулю анализа файлов 240 с целью поиска данных обнаруженных доверенных ключевых файлов 103 в файловой системе 100. В предпочтительном варианте реализации запрос будет направлен во время передачи хеша данного доверенного файла 101 в список хешей доверенных файлов. При поиске доверенных ключевых файлов 103, которые были отправлены из информационного сервиса 220, модуль анализа файлов 240 может ограничить сам поиск, например, задав границы данного поиска каталогом, в котором находился неизвестный файл 102. В том случае, если модуль анализа файлов 240 найдет какой-либо доверенный ключевой файл 103 из запрашиваемых доверенных ключевых файлов 103 в файловой системе 100, то направит ответ в информационный сервис 220 в виде информации о найденном доверенном ключевом файле 103. В этом случае информационный сервис 220 будет искать доверенные файлы 101, связанные с данным доверенным ключевым файлом 103. В том случае, если не будет обнаружен ни один из предлагаемых доверенных ключевых файлов 103 в файловой системе 100, то модуль анализа файлов 240 сообщит информационному сервису 220 об отсутствии данных доверенных ключевых файлов 103 в файловой системе 100. Тогда информационный сервис 220 не будет искать доверенные файлы 101, связанные с данным доверенным ключевым файлом 103, а закончит работу с данными доверенными ключевыми файлами 103.

В частном случае в качестве ответа на запрос по неизвестному файлу 102 информационный сервис 220 может передавать только признак, например, выраженный в виде флага (отдельного бита). Данный признак будет информировать модуль анализа файлов 240, что запрашиваемый файл 102 является доверенным ключевым файлом 103, и сформирован пакет хешей доверенных файлов 225, связанных с данным доверенным ключевым файлом 103. В случае необходимости данного пакета 225 модуль анализа файлов 240 отправит повторный запрос в информационный сервис 220.

В предпочтительном варианте реализации система не имеет антивирусного сканера 210. В этом случае модуль анализа файлов 240 имеет следующий ряд функций: поиск неизвестных файлов 102 и 104 в файловой системе 100, формирование запросов по неизвестным файлам 102 и 104 к информационному сервису 220, анализ полученных пакетов хешей доверенных файлов 225 от информационного сервиса 220 и передача пакетов хешей доверенных файлов 225 в кэш данных 230. Также возможно объединение модулей 210 и 240 в единый модуль и в этом случае единый модуль будет выполнять функции обоих представленных модулей.

Модуль анализа файлов 240 при взаимодействии с информационным сервисом 220 делает запрос по неизвестному файлу 102 и получает ответ от информационного сервиса 220 в виде:

1) хеша доверенного файла 101, если неизвестный файл 102 является доверенным файлом 101,

2) пакета хешей доверенных файлов 225, связанных с данным неизвестным файлом 102, если неизвестный файл 102 является доверенным ключевым файлом 103,

3) только информации о самом неизвестном файле 102.

Ответ будет зависеть от того, каким является неизвестный файл 102 - доверенным файлом 101, доверенным ключевым файлом 103 или неизвестным файлом 102.

В частном случае модуль анализа файлов 240 предварительно может определить, является ли неизвестный файл 102, полученный от антивирусного сканера 210 или найденный самостоятельно, неизвестным ключевым файлом 104 или нет. В этом случае модуль анализа файлов 240 будет делать запросы к информационному сервису 220 только по неизвестным ключевым файлам 104. Тогда информационный сервис 220 будет определять, является ли данный неизвестный ключевой файл 104 доверенным ключевым файлом 103. В том случае, если запрашиваемый неизвестный ключевой файл 104 является доверенным ключевым файлом 103, то информационный сервис 220 будет искать все доверенные файлы 101, связанные с данным доверенным ключевым файлом 103, и формировать пакет хешей доверенных файлов 225. Сформированный пакет хешей доверенных файлов 225 информационный сервис 220 будет направлять в модуль анализа файлов 240, который в свою очередь указанный пакет 225 будет добавлять в список хешей доверенных файлов, хранящийся в кэше данных 230. В том случае, если запрашиваемый неизвестный ключевой файл 104 не является доверенным ключевым файлом 103, то информационный сервис 220 проинформирует об этом результате модуль анализа файлов 240 и закончит работу.

Также в одном из вариантов реализации модуль анализа файлов 240 после получения от информационного сервиса 220 пакета хешей доверенных файлов 225, проводит предварительный поиск каждого хеша файла из полученного пакета хешей доверенных файлов 225 на его наличие в файловой системе 100. Для этого модуль анализа файлов 240 формирует хеш каждого файла из файловой системы 100. В том случае, когда хеш файла из полученного пакета 225 был найден среди хешей файлов файловой системы 100, то данный хеш файла добавляется в список хешей доверенных файлов, находящейся в кэше данных 230. В том случае, когда хеш файла из полученного пакета 225 не был найден, то данный хеш не добавляется в список хешей доверенных файлов и удаляется.

В частном случае модуль анализа файлов 240 проводит поиск неизвестных ключевых файлов 104 в файловой системе 100 с целью предварительного наполнения кэша данных 230 доверенными файлами 101. В предпочтительном варианте реализации поиск проводится в фоновом режиме и когда антивирусный сканер 210 не работает и находится в режиме ожидания. В этом случае модуль анализа файлов 240 проводит поиск по файловой системе 100 на наличие установленного нового ПО. После определения ключевых файлов в новом ПО модуль анализа файлов 240 проверяет хеши найденных ключевых файлов в списке хешей доверенных файлов из кэша данных 230. Если хеши данных ключевых файлов уже находятся в списке хешей доверенных файлов, то модуль анализа файлов 240 пропускает их. Если хеши данных ключевых файлов отсутствуют в списке хешей доверенных файлов, то данные ключевые файлы являются неизвестными ключевыми файлами 104. После чего модуль анализа файлов 240 делает запрос, по крайне мере, по одному из найденных неизвестных ключевых файлов 104 в информационный сервис 220. Информационный сервис 220 исследует полученный хеш неизвестного ключевого файла 104. Если будет определено, что данный хеш принадлежит доверенному ключевому файлу 103, то будет сформирован пакет хешей доверенных файлов 225, связанный с запрашиваемым хешом. Затем данный пакет 225 будет передан в кэш данных 230, а именно в список хешей доверенных файлов. В том случае, если пакет хешей 225 был передан в модуль анализа файлов 240, то модуль 240 предварительно проверит хеши полученного пакета хешей доверенных файлов 225 на наличие файлов с данными хешами в файловой системе 100. В том случае, если были обнаружены данные хеши, то модуль анализа файлов 240 передает данные хеши в кэш данных 230. В том случае, если не были найдены данные хеши, то модуль анализа файлов 240 удаляет данные хеши из пакета хешей доверенных файлов 225.

В частном случае модуль анализа файлов 240 проводит проверку хешей полученного пакета хешей доверенных файлов 225 на наличие файлов с данными хешами не по всей файловой системе 100, а по наиболее вероятным местам их нахождения, например, C:/Program Files.

В одном из вариантов реализации модуль анализа файлов 240 выполняет функцию проверки актуальности списков хешей доверенных файлов в кэше данных 230, т.е. на наличие файлов с данными хешами в файловой системе 100, т.к. файлы могли быть удалены. Поиск файлов может проводиться как по всей файловой системе 100, так и только по пути (адресу), по которому файл был первоначально обнаружен.

В еще одном варианте реализации модуль анализа файлов 240 отслеживает операции с файлами (во время работы пользователя), например, установку ПО, изменение уже существующих файлов, удаление файлов и т.д., при этом модуль 240 ведет запись изменений в файловой системе. После того как пользователь закончил работу, модуль анализа файлов 240 проводит соответствующие изменения в кэше данных 230. Если изменения были произведены над существующими файлами, то данные файлы стали неизвестными файлами 102. В этом случае модуль 240 сделает запрос по данным файлам в информационный сервис 220 и согласно ответу исправит записи по данным файлам в кэше данных 230. Если ответ положительный, т.е. файлы являются доверенными файлами 101, то модуль 240 добавит хеши данных файлов 101 в кэш данных 230. Если ответ будет отрицательный, т.е. файлы являются неизвестными файлами 102, то модуль 240 передаст данные файлы 102 антивирусному сканеру 210 для последующего анализа. Если была произведена установка ПО, то модуль 240 выявит из данного ПО ключевые файлы 103 или 104 и проведет анализ файлов. Также возможен вариант, когда модуль 240 не будет дожидаться окончания работы поль