СИСТЕМА И СПОСОБ ВЫБОРА ОПТИМАЛЬНОГО ТИПА АНТИВИРУСНОЙ ПРОВЕРКИ ПРИ ДОСТУПЕ К ФАЙЛУ
SYSTEM AND METHOD OF SELECTING OPTIMUM TYPE OF ANTIVIRAL VERIFICATION WHEN ACCESSING FILE

Область техники
Изобретение относится к системам и способам выбора оптимального типа антивирусной проверки при доступе к файлам.
Уровень техники
В последнее время рост количества вредоносных приложений увеличился. Сетевые черви, троянские программы, компьютерные вирусы и прочие вредоносные приложения наносят большой урон пользователям и компаниям. Одним из самых эффективных способов противодействия вредоносным приложениям является использование антивирусного программного обеспечения. Антивирус - программный пакет, предназначенный для обнаружения и удаления с компьютера вредоносных программ. Для обнаружения вредоносных приложений антивирусная программа производит полную или выборочную проверку файлов, присутствующих на жестких и сетевых дисках.
Для проверки при попытке доступа к файлу (OAS, On-Access Scan) антивирусная программа может использовать технологии синхронной и асинхронной проверки файлов. В синхронном режиме при попытке доступа к файлу все действия со стороны других программ над файлом, который проверяется, заблокированы антивирусной программой до тех пор, пока проверка не закончится. Блокирование файлов также позволяет предупредить выполнение вредоносного кода из файла и вовремя изолировать вредоносное приложение. Асинхронная проверка файлов целесообразна в тех случаях, когда при обращении к файлу угроза выполнения вредоносного кода минимальна, а в блокировании файлов нет необходимости. В асинхронном режиме при доступе к файлу блокирования не происходит, а сам файл проверяется параллельно с другими действиями над файлом.
Более подробно различия между синхронным и асинхронным режимами показаны на Фиг.1А и Фиг.1Б.
На Фиг.1А показан порядок взаимодействия с файлом процессов доступа и антивирусной программы при синхронной проверке. В момент времени 101 антивирусная программа получает команду на проверку какого-либо файла. Такая команда может быть инициирована, например, попыткой пользователя открыть указанный файл. В случае синхронного режима проверки любые процессы доступа к файлу приостанавливаются на период времени 102, в течение которого антивирусная программа производит проверку файла на вредоносность. В качестве примера процесса доступа можно привести процесс текстового редактора Microsoft Word, который ожидает окончания антивирусной проверки файла документа, прежде чем произвести его открытие. Доступ к файлу процесс доступа сможет получить только на этапе 104, после того, как антивирусная программа в момент времени 103 завершит его проверку.
На Фиг.1Б показан порядок взаимодействия с файлом процессов доступа и антивирусной программы при асинхронной проверке. В момент времени 101 антивирусная программа получает команду на проверку какого-либо файла. В случае асинхронного режима любые процессы доступа на этапе 104 получают доступ и продолжают работу с файлом. Антивирусная программа параллельно начинает проверку файла 102 независимо от действий других приложений над файлом.
Периодически возникают ситуации, когда требуются повторные проверки файлов, например когда на компьютер пользователя попадает вредоносное приложение, сигнатуры для которого не содержатся в антивирусной базе данных. По этой причине первая синхронная проверка ничего не обнаруживает, и вредоносное приложение получает разрешение на запуск. Спустя некоторое время происходит обновление до набора антивирусных сигнатур, в котором содержится информация об этом вредоносном приложении. Чтобы выявить такой случай, который в последнее время встречается все чаще, все недавно обнаруженные файлы следует проверять каждый раз при обновлении набора сигнатур. При выполнении повторной проверки синхронность операции не оправдана, так как будет влиять на работу пользователя. Поэтому имеет смысл осуществлять проверку асинхронно. Помимо этого, в случае, если файл оказывается чистым, что наиболее вероятно, антивирус не будет блокировать доступ к нему и его запуск. На уровень защиты пользователя асинхронность последующих проверок также не повлияет, так как проверяемая программа уже работает с момента первой синхронной проверки и до момента получения нового набора антивирусных сигнатур, что вполне достаточно для совершения злоумышленнику необходимых вредоносных действий.
В настоящее время существуют различные решения по организации синхронных и асинхронных проверок и оценке их влияния на производительность системы.
Так, в публикации US8122507 В1 описывается возможность выбора типа проверки объекта (выборочная или инкрементальная). В ходе работы создаются списки файлов для обоих типов проверки. Для выборочной проверки ведется история изменений антивирусных сигнатур, для инкрементальной проверки ведется история изменения файлов.
В заявке US20060288416A1 рассматривается процесс выбора типа проверки (on-access scan, on-demand scan) в зависимости от дополнительной ранее собранной информации о файле. Подобные действия, по мнению авторов публикации, направлены на улучшение производительности системы. Дополнительная информация добывается отдельным модулем, который анализирует данные файла, а не только его характеристики.
В патенте US7681237B1 особое внимание уделяется синхронизации объектов при сканировании. Подчеркивается возможность использования синхронной и асинхронной проверок. Определяется тип полусинхронной проверки, при которой файл во время синхронной проверки может быть доступен другим приложениям.
Однако необходимо также учитывать следующее обстоятельство: большое количество публикаций описывает именно возможность проверки файлов различными способами, но вопрос принятия решения о выборе типа проверки остается вне публикаций.
Поэтому хотя изобретения, перечисленные в указанных выше патентах и заявках, направлены на решение определенных задач в области организации различных видов проверки и их влияния на систему, они имеют один общий недостаток, связанный с отсутствием выбора типа антивирусной проверки файла, оптимального по нагрузке на дисковую подсистему при работе с файлами. Настоящее изобретение позволяет более эффективно решать задачу проверки файлов, используя механизм выбора синхронного или асинхронного режима проверки.
Раскрытие изобретения
Настоящее изобретение предназначено для выбора оптимального типа антивирусной проверки при обращении к файлу.
Технический результат настоящего изобретения заключается предоставлении типа проверки при обращении к файлу. Указанный технический результат достигается за счет использования правил выбора оптимального типа проверки файлов, синхронной или асинхронной, в соответствии с совокупностью изменений файла.
В одном из вариантов реализации предоставляется система выбора оптимального типа антивирусной проверки, содержащая: базу данных правил, предназначенную для хранения правил выбора типа антивирусной проверки, предоставления указанных правил средству выбора типа проверки; базу данных файлов, предназначенную для хранения атрибутов файлов и предоставления значений атрибутов файлов средству анализа файлов; средство анализа файлов, предназначенное для определения идентификатора и текущих значений атрибутов проверяемого файла, поиска хранимых значений атрибутов файла в базе данных файлов по идентификатору, определения результатов изменений атрибутов файла и совокупности изменений файла, передачи файла и его совокупности изменений средству выбора типа проверки; средство выбора типа проверки, предназначенное для определения на основе совокупности изменений файла правила выбора оптимального типа проверки, синхронной или асинхронной, передачи файла с параметром типа проверки средству обнаружения вредоносного кода; средство обнаружения вредоносного кода, предназначенное для антивирусной проверки файла в соответствии с назначенным типом проверки. В частном случае реализации системы база данных файлов и база данных правил заполняется при помощи данных о файлах множества пользователей персональных компьютеров, подключенных к антивирусному серверу. В частном случае реализации системы в базе данных файлов в качестве идентификатора файла выступает хэш-сумма.
В одном из частных вариантов реализации системы в базе данных файлов хранятся следующие атрибуты файлов: дата последней проверки файла, дата выпуска антивирусных сигнатур при последней проверке файла, NTFS идентификатор файла.
Еще в одном частном варианте реализации системы средство анализа файлов после передачи файла и совокупности его изменений обновляет значения атрибутов файла в базе данных файлов.
В дополнительном частном варианте реализации системы файл проверяется локальным средством проверки.
В другом частном варианте реализации системы файл проверяется средством проверки антивирусного сервера.
В еще одном частном варианте реализации системы при выборе типа проверки учитывается тип файла.
В другом частном варианте реализации системы при выборе типа проверки учитывается статистика проверки одинаковых типов файла.
Также в одном частном варианте реализации системы при выборе типа проверки учитывается местонахождение файла.
В другом варианте реализации предоставляется способ выбора оптимального типа антивирусной проверки, в котором: определяют идентификатор и текущие значения атрибутов проверяемого файла; осуществляют поиск хранимых значений атрибутов файла в базе данных файлов по идентификатору; определяют результат изменений значения каждого атрибута файла и совокупность изменений файла; определяют на основе совокупности изменений файла правило выбора оптимального типа проверки, синхронной или асинхронной; выполняют антивирусную проверку файла в соответствии с назначенным типом проверки.
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг.1А показывает порядок взаимодействия с файлом процессов доступа и антивирусной программы при синхронной проверке.
Фиг.1Б показывает порядок взаимодействия с файлом процессов доступа и антивирусной программы при асинхронной проверке.
Фиг.2 отображает структурную схему системы выбора оптимального типа антивирусной проверки.
Фиг.3 показывает пример работы системы выбора оптимального типа проверки.
Фиг.4 показывает схему алгоритма работы системы выбора оптимального типа проверки.
Фиг.5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
В данном изобретении на наличие вредоносного кода проверяется объект. В качестве объекта может выступать файл, URL, поток данных. Далее по тексту в качестве объекта подразумевается файл.
Учитывая особенность синхронной и асинхронной антивирусных проверок, целесообразно осуществлять выбор оптимального типа проверки перед началом процесса проверки файлов. Целесообразность такого выбора становится очевидной в случаях, когда нет разницы в результатах проверок, проведенных двумя способами. Для того чтобы предотвратить первичный запуск вредоносного кода, проверка при открытии выполняется синхронно, но в случае, когда запуск файла был осуществлен ранее, синхронность не является необходимой, поскольку вредоносный код был уже выполнен. Исходя из вышеперечисленного, задержка в несколько секунд при синхронной проверке не влияет на предотвращение заражения. Используя подход, когда в первую очередь необходимо выбирать тип проверки файлов, можно уменьшить количество лишних блокировок, что позволит оптимизировать работу компьютерной системы и антивирусной программы.
Кроме того, учитывая особенности антивирусных программ, можно улучшить качество определения типа антивирусной проверки путем обработки различной статистической информации о ранее проверенных файлах. Например, многие антивирусные программы используют модуль подсчета и сбора контрольных сумм проверенных файлов. Подобную информацию можно использовать при выборе типа проверки, например учитывать, какой файл и когда изменен, чтобы синхронно не проверять файлы, над которыми изменений не производилось. Очевидно, что большее количество информации о проверяемых файлах обеспечит более корректный выбор типа антивирусной проверки.
В общем случае структурная схема системы выбора оптимального типа антивирусной проверки имеет вид, показанный на Фиг.2. Система выбора оптимального типа антивирусной проверки 220 состоит из средства анализа файлов 221, базы данных файлов 222, средства выбора типа проверки 223 и базы данных правил 224. При попытке доступа к файлу 210 последний анализируется средством анализа файлов 221, которое производит определение идентификатора и текущих значений атрибутов файла, проводит поиск хранимых значений атрибутов файла по идентификатору в базе данных файлов 222, сравнивает значения атрибутов, хранимых в базе данных файлов, с текущими значениями атрибутов файла, определяет результаты изменений атрибутов файла, определяет совокупность изменений файла на основе результатов изменений атрибутов файла и передает файл с совокупностью изменений файла средству выбора типа проверки 223, обновляет значения атрибутов файла в базе данных файлов 222, если они изменились. Если файл в базе не найден, средство анализа файлов 221 присваивает файлу значения атрибутов, которые были определены при анализе, и заносит их в базу данных файлов 222.
К числу указанных атрибутов могут относиться: дата последней проверки, дата выпуска сигнатурных баз при последней проверке файла, NTFS-идентификатор файла, контрольная сумма файла и т.д. В качестве идентификатора файла может выступать любой вид хэш-суммы, а также любая другая информация, однозначно идентифицирующая файл.
Средство выбора типа проверки 223 предназначено для поиска соответствия совокупности изменений атрибутов файла, полученной от средства анализа файла 221, правилам, хранимым в базе данных правил 224, назначения для каждого файла оптимального типа проверки согласно найденному соответствию. Результатом работы системы выбора оптимального типа антивирусной проверки 220 является выбор оптимального типа проверки. После того как тип проверки для файла выбран, файл с параметром типа проверки передается средству проверки 230. Средство проверки 230 в соответствии с параметром типа проверки файла производит антивирусную проверку.
База данных файлов и база данных правил могут быть любыми базами данных правил, а именно: иерархическими (IMS, TDMS, System 2000), сетевыми (Cerebrum, Cronospro, DBVist), реляционными (DB2, Informix, Microsoft SQL Server), объектными-ориентированными (Jasmine, Versant, POET), объектно-реляционными (Oracle Database, PostgreSQL, FirstSQL/J), функциональными и т.д. Также заполнение баз данных файлов 222 и базы данных правил 224 возможно из антивирусного сервера 240.
Атрибуты файлов в базе данных имеют значения. Для построения правил недостаточно учитывать только факт изменения атрибутов, необходимо знать количественную разницу изменения значений атрибутов. Далее по тексту, под количественной разницей изменения значения атрибута подразумевается результат изменений атрибута файла. Для определения результата изменений атрибута файла необходимо сравнить текущее значение атрибута файла, которое было определено при анализе файла, со значением атрибута, которое хранится в базе данных файлов 222. Все результаты изменений атрибутов одного файла составляют совокупность изменений файла. Фиг 3. содержит примеры значений атрибута файла, результатов изменений атрибутов файла и совокупности изменений файла.
Так же на Фиг.3 показан пример работы системы выбора оптимального типа проверки файла. Для каждого файла в базе данных 222 содержатся идентификатор и значения атрибутов. При обращении к файлу запускается механизм проверки. Средство анализа файлов 221 подсчитывает хэш-сумму проверяемого файла и определяет текущие значения атрибутов файла, после этого производит поиск хранимых значений атрибутов файла в базе данных файлов 222. В случае если по хэш-сумме были найдены значения атрибутов файла, средство анализа файлов 221 сравнивает эти значения с текущими значениями, определенными ранее, и подсчитывает результаты изменений атрибутов файла, собирает результаты изменений атрибутов файла в совокупность изменений файла и передает вместе с проверяемым файлом средству выбора типа проверки 223. После передачи, средство анализа файлов 221 записывает значения атрибутов файла, которые были определены при анализе, в базу данных файлов 222. Средство выбора типа проверки 223 производит поиск соответствия совокупности изменений файла правилу выбора оптимального типа проверки. Для каждого правила определена совокупность изменений файла, по которой определяется оптимальный тип проверки файла. Правила могу быть изначально заданы антивирусной программой либо изменяться после обновления антивирусных сигнатур. После выбора оптимального типа проверки средство выбора типа проверки 223 присваивает параметр типа проверки и предает файл средству проверки 230.
На Фиг.4 показана схема алгоритма работы системы выбора оптимального типа антивирусной проверки. На этапе 410 происходит попытка обращения к файлу. На этапе 420 средство анализа файлов 221 анализирует файл и определяет идентификатор и текущие значения атрибутов файла, осуществляет поиск по идентификатору хранимых значений атрибутов, содержащихся базе данных файлов 222. На этапе 425 средство анализа файлов 221 определяет совокупность изменений файла и передает ее вместе с файлом средству выбора типа проверки 223, обновляет значения атрибутов файла, если они изменились, в базе данных файлов 222. На этапе 430 средство выбора типа проверки 223 производит поиск соответствий между совокупностью изменений файла, полученной от средства анализа файлов 221, и правилами, хранимыми в базе данных правил 224. Для всех случаев предусмотрены правила выбора оптимального типа проверки файла. На этапе 440 после выбора оптимального типа проверки средство выбора типа проверки 223 присваивает параметр типа проверки и предает файл средству проверки 230. На этапе 450 в случае, когда проверка осуществляется в синхронном режиме, файл блокируется до окончания проверки средством проверки 230. На этапе 460, когда проверка осуществляется в асинхронном режиме, доступ к проверяемому файлу не блокируется, а средство проверки 230 осуществляет проверку параллельно работе других приложений с файлом. На этапе 470 проверка файла антивирусом заканчивается.
Фиг.5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.5. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.