СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОЙ МОДИФИКАЦИИ АНТИВИРУСНОЙ БАЗЫ ДАННЫХ
SYSTEM AND METHOD FOR AUTOMATIC MODIFICATION OF ANTIVIRUS DATABASE

Область техники
Настоящее изобретение относится к системам и способам оптимизации антивирусной проверки файлов, более конкретно к системам и способам анализа результатов антивирусной проверки и последующей модификации антивирусной базы данных.
Уровень техники
В настоящее время вредоносные программы, к которым, в частности, могут относиться сетевые черви, троянские программы, компьютерные вирусы и прочие программы, наносящие какой-либо вред компьютеру, получают все большее распространение. Одним из наиболее эффективных способов противодействия вредоносным программам является использование антивирусного программного обеспечения. Антивирусное программное обеспечение содержит набор технологий, предназначенных для обнаружения и удаления из операционной системы компьютера максимально-возможного количества вредоносных (или потенциально вредоносных) программ. Один из методов обнаружения вредоносных программ, используемый антивирусным программным обеспечением, заключается в полном или выборочном сканировании присутствующих на жестких и сетевых дисках компьютера файлов.
Одним из основных методов проверки заражения файлов является сигнатурное сканирование. В антивирусных приложениях, как правило, во время сигнатурного сканирования проверка каждого файла ведется по всему списку сигнатур (шаблонов) вредоносного кода, содержащихся в антивирусной базе данных. С каждым годом антивирусная база данных постоянно увеличивается, что приводит к увеличению и времени проверки таким способом. Для оптимизации данного способа проверки (например, для увеличения скорости проверки) в настоящее время стало целесообразно использовать предварительный анализ файлов.
Предварительный анализ позволяет в дальнейшем оптимизировать основную антивирусную проверку и может заключаться, например, в фильтрации файлов согласно назначенным критериям; в приоритезации файлов перед проверкой; в выявлении необходимых параметров файла для дальнейшей антивирусной проверки; в преобразовании файлов в определенный вид. Во время предварительного анализа антивирусные приложения используют различные критерии оценки, например, тип файла, хеш-файла, размер файла, дата создания файла, имя файла и т.д. На основе выбранного критерия или совокупности критериев антивирусное приложение выявляет файлы, а затем проводит предварительный анализ выявленных файлов в соответствии с установленными настройками. Так, например, если предварительный анализ будет заключаться в приоритезации файлов, то согласно выявленным критериям будет формироваться очередь проверки файлов. В другом примере, если предварительный анализ заключается в фильтрации файлов, то согласно выявленным критериям файлы будут фильтроваться (пропускаться или отсеиваться от дальнейшей проверки).
В дальнейшем рассмотрим случай, когда предварительный анализ заключается в фильтрации файлов. При таком подходе ускорение антивирусной проверки файлов может достигаться путем исключения из проверки файлов, несоответствующих критериям фильтра. Так, например, фильтрация может быть основана на определении типа файла и отсеивании из дальнейшей проверки файлов, тип которых является безопасным типом, т.к. файлы данного типа не требуется проверять. Безопасным типом является такой тип файла, среди файлов которого не было обнаружено ни одного вредоносного файла или файла, содержащего вредоносный код. Другими словами, можно сказать, что данный тип файла является легитимным («чистым») типом.
Так, в патенте US 7620991 B2 описывается предварительный анализ, основанный на определении соответствия типа передаваемого файла пользователю от удаленного сервера какому-либо известному типу файлов с целью последующего принятия решения о необходимости проведения антивирусной проверки. В том случае, если выявленный тип файла соответствует типу файла, который не содержит вредоносный код, файл исключается из антивирусной проверки. В противном случае будет произведена антивирусная проверка. Тип файла будет определяться на основе поиска в структуре файла «магического числа» (некая последовательность байт файла (сигнатура), которая характерна только для определенного типа файла), который соответствует тому или иному типу файлов.
В заявке US 20120159631 описывается метод проверки файлов на наличие вредоносных объектов. Особенностью данного метода является наличие промежуточной (предварительной) проверки, на основе которой выносится решение о дальнейшей проверке файла. Промежуточная проверка заключается в проверке файла с помощью различных простых операций, которые позволяют исключить вероятность того, что файл является вредоносным. К таким операциям относятся проверка контрольных сумм, заголовков файлов, количества секций файлов и других свойств файлов, которые позволяют отличить вредоносные файлы от безопасных.
Также антивирусное программное обеспечение в случае его использования на мобильных устройствах имеет ряд ограничений, связанных с более ограниченными ресурсами самих мобильных устройств. Как правило, ограничения связаны с быстродействием работы, объемом памяти и временем использования мобильного устройства из-за периодической необходимости подзаряжать аккумуляторную батарейку. Вследствие чего появляется задача эффективного использования предоставленных ресурсов мобильным устройством. Например, можно уменьшить количество технологий, используемых антивирусным программным обеспечением, за счет использования различных способов предварительного анализа или фильтрации файлов во время их антивирусной проверки.
Кроме того, используя в качестве предварительного анализа систему фильтрации по параметрам файла, которые предварительно были выбраны, можно дополнительно повысить скорость антивирусной проверки путем разделения базы данных по соответствующим параметрам файла. Так, при антивирусной проверке с использованием сигнатур используются базы данных, содержащие критерии выявления вредоносного кода. В качестве сигнатур вредоносного кода могут быть образцы кода в виде строк, хеш-суммы вредоносного кода или его частей и т.д. Следовательно, в случае разделения базы данных, например, по типу файла появляется распределенная база данных, которая позволит оптимизировать (увеличить) скорость анализа файлов, т.к. проверка будет проводиться не по всей базе данных, а только по соответствующей части.
Так, в патенте US 6675170 описан метод разделения базы данных на два или более подмножеств с целью упрощения размещения элементов в базе и ускорения получения данных из базы в соответствии с запросом.
Однако необходимо также учитывать следующее обстоятельство: при огромном и постоянно растущем количестве новых типов файлов и новых образцов (сигнатур) вредоносного кода антивирусные базы данных также постоянно увеличиваются и, как следствие, увеличивается время проверки файлов. По этой причине для того, чтобы эффективно использовать преимущества предварительного анализа (фильтрации), например, по типу файла, а также разделенной антивирусной базы данных, необходимо, чтобы набор типов файлов, используемый во время предварительного анализа, был адаптирован (т.е. актуален) для системы, в которой данная проверка производится.
Поэтому хотя изобретения, перечисленные в указанных выше патентах и заявках, направлены на решение определенных задач в области предварительного анализа по типу файлов и работы с разделенной базой данных, они имеют один общий недостаток - отсутствие адаптации для систем, в которых производится антивирусная проверка. Устранение данного недостатка позволит значительно сократить время антивирусной проверки.
Еще одним недостатком является разрозненность различных баз данных, используемых антивирусным программным обеспечением, таких как база данных, содержащая хеш-суммы вредоносного кода; база данных, содержащая хеш-суммы легитимного кода, база данных, содержащая типы файлов; и т.д. Данная особенность постоянно влияет на объем занимаемых ресурсов, в частности, на мобильном устройстве.
Другим недостатком является огромное количество безопасных файлов, которые также подвергаются антивирусной проверке, что значительно увеличивает время проверки.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно систему для автоматической модификации антивирусной базы данных. Настоящее изобретение, которое будет описано далее, позволяет устранить недостатки, описанные выше, и более эффективно и результативно решить задачу увеличения скорости антивирусной проверки файлов.
Сущность изобретения
Настоящее изобретение предназначено для увеличения скорости антивирусной проверки объектов.
Технический результат настоящего изобретения заключается в увеличении скорости антивирусной проверки. Указанный технический результат достигается за счет учета при обработке обновленной информации, хранящейся в антивирусной базе данных.
В качестве одного из вариантов реализации предлагается способ обновления информации в антивирусной базе данных путем формирования антивирусного списка в антивирусной базе данных, и при этом антивирусный список соответствует новому типу объекта, содержит этапы, в которых: хранят список типов объектов, содержащий отличительные признаки для определения типов объектов, и антивирусные списки, разделенные по типу объектов и содержащие антивирусные записи для соответствующих типов объектов; определяют тип полученного объекта с целью последующего выбора антивирусного списка для антивирусной проверки объекта; проводят антивирусную проверку полученного объекта на содержание вредоносного кода с помощью антивирусного списка, соответствующего определенному типу объекта, и формируют результаты проверки; проводят анализ результатов проверки с целью выявления объектов, у которых тип объекта был определен как неизвестный тип объекта; выявляют тип, по крайней мере, одного объекта, у которого тип объекта был определен как неизвестный тип объекта; обновляют антивирусную базу данных путем добавления отличительных признаков выявленного типа, по крайней мере, одного объекта в список типов объектов и создания антивирусного списка, соответствующего выявленному типу объекта, при этом указанные списки не содержат антивирусные записи.
В качестве еще одного варианта реализации антивирусные записи являются шаблонами вредоносного кода.
В качестве другого варианта реализации антивирусные записи являются, по крайней мере, метаданные объекта, расширение объекта, хеш-сумма объекта, размер объекта, MIME тип, месторасположение объекта, тин платформы, на которой работает объект.
В еще одном варианте реализации определение типа объекта включает, по крайней мере, определение месторасположения объекта в файловой системе и определение типа платформы, на которой работает объект.
В качестве еще одного варианта определяют тип и продолжительность антивирусной проверки объекта на основе выявленного типа платформы или месторасположения объекта в файловой системе.
В качестве другого варианта реализации типом антивирусной проверки являются, по крайней мере, сигнатурный анализ, эвристический анализ и анализ с помощью эмулятора.
В качестве еще одного варианта реализации типом платформы является, по крайней мере, Symbian, Android, IOS и Windows.
В еще одном варианте реализации проводят антивирусную проверку объектов, у которых тип объекта был определен как неизвестный тип объекта, с помощью антивирусного списка для неизвестных типов объектов.
В качестве еще одного варианта реализации выявление типа объектов происходит на основе анализа структуры объектов.
В качестве другого варианта реализации выявление типа объектов происходит на основе запроса к антивирусному серверу.
В еще одном варианте реализации выявление типа объектов происходит на основе анализа содержимого объектов.
В качестве еще одного варианта реализации анализом содержимого объектов является побайтовое сравнение содержимого объектов и последующее выделение, по крайней мере, одного идентичного участка содержимого объектов.
В еще одном варианте реализации в качестве идентичного участка содержимого объектов является последователь байт, равная 2 байтам и более и при этом содержащаяся во всех анализируемых объектах по одному и тому же смещению.
В одном из вариантов реализации предлагается система обновления информации в антивирусной базе данных путем формирования антивирусного списка в антивирусной базе данных, и при этом антивирусный список соответствует новому типу объекта, которая содержит: антивирусную базу данных, предназначенную для хранения списка типов объектов, содержащего сведения о типах объектов, и антивирусных списков для каждого типа объектов, которые содержат антивирусные записи, и предоставления указанного списка типов объектов устройству предварительного анализа, и указанных антивирусных списков устройству обнаружения; устройство предварительного анализа, предназначенное для определения типа проверяемого объекта с помощью списка типов объектов и передачи информации о типе объекта устройству обнаружения; устройство обнаружения, предназначенное для обнаружения вредоносного кода в проверяемом файле с помощью антивирусного списка, который соответствует определенному типу объекта, и передачи результатов проверки устройству анализа результатов проверки; устройство анализа результатов проверки, предназначенное для анализа результатов антивирусной проверки объектов, формирования на основании анализа решения о необходимости корректировки базы данных и передачи соответствующей информации устройству модификации базы данных; устройство модификации базы данных, предназначенное для обновления базы данных путем создания нового антивирусного списков, который не содержит антивирусные записи, и добавления сведений о новом типе объекта в список типов объектов в соответствии с полученной от устройства анализа результатов проверки информацией.
В качестве еще одного варианта реализации система также содержит устройство обновления базы данных, предназначенное для обновления записей в антивирусных списках, хранящихся в антивирусной базе данных.
В качестве другого варианта реализации антивирусные записи являются шаблонами вредоносного кода.
В еще одном варианте реализации антивирусные записи являются, по крайней мере, метаданными объекта, расширение объекта, хеш-сумма объекта, размер объекта, MIME тип, месторасположение объекта, тип платформы, на которой работает объект.
В еще одном варианте реализации определение типа объекта включает, по крайней мере, определение месторасположения объекта в файловой системе и определение типа платформы, на которой работает объект.
В качестве еще одного варианта определяют тип и продолжительность антивирусной проверки объекта на основе выявленного типа платформы или месторасположения объекта в файловой системе.
В качестве другого варианта реализации типом антивирусной проверки являются, по крайней мере, сигнатурный анализ, эвристический анализ и анализ с помощью эмулятора.
В качестве еще одного варианта реализации типом платформы является, по крайней мере, Symbian, Android, IOS и Windows.
В качестве еще одного варианта реализации устройство анализа результатов проверки, проводя анализ результатов антивирусной проверки объектов, выделяет объекты, у которых тип объекта был определен как неизвестный тип объекта, для последующего определения указанных неизвестных типов объектов.
В качестве другого варианта реализации неизвестные типы объектов определяются с помощью анализа структуры объектов.
В еще одном варианте реализации неизвестные типы объектов определяются с помощью запроса к антивирусному серверу.
В качестве еще одного варианта реализации неизвестные типы объектов определяются с помощью анализа содержимого объектов.
В качестве другого варианта реализации анализом содержимого файлов является побайтовое сравнение содержимого объектов и последующее выделение, по крайней мере, одного идентичного участка содержимого объектов.
В еще одном варианте реализации в качестве идентичного участка содержимого объектов является последователь байт, равная 2 байтам и более и при этом содержащаяся во всех анализируемых объектах по одному и тому же смещению.
В качестве еще одного варианта реализации устройство обнаружения проводит обнаружение вредоносного кода в объектах, у которых тип объекта был определен как неизвестный тип объекта, с помощью антивирусного списка для неизвестных типов объектов.
Краткое описание прилагаемых чертежей
Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием, служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг.
1 показывает структурную схему работы системы адаптивной настройки антивирусной базы данных при антивирусной проверке файлов.
Фиг.
2 показывает пример взаимодействия устройства предварительного анализа, устройства обнаружения вредоносного кода в файле и антивирусной базы данных.
Фиг.
3 показывает схему алгоритма работы системы адаптивной настройки антивирусной базы данных при антивирусной проверке файлов.
Фиг.
4 показывает схему алгоритма работы системы адаптивной настройки антивирусной базы данных.
Фиг.
5 показывает схему алгоритма работы системы адаптивной настройки антивирусной базы данных с помощью подсчета отношения количества проверенных файлов безопасного типа файлов от всего количества проверенных файлов.
Фиг.
6 показывает график сравнения содержимого файлов.
Фиг.
7 показывает пример компьютерной системы общего назначения, на которой может быть реализовано данное изобретение.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Представленное изобретение может быть использовано для различных устройств, которые содержат в своем составе файловую систему. Такими устройствами, в первую очередь, являются персональный компьютер, ноутбук, мобильное устройство, например, смартфон, и т.д. Кроме того, представленное изобретение также должно являться частью устройства, на котором будут решаться поставленные задачи.
Фиг.
100
110,
120
130,
140,
150
170.
В общем случае структурная схема системы адаптивной настройки антивирусной базы данных при антивирусной проверке файлов имеет вид, показанный на 1. Система адаптивной настройки антивирусной базы данных при антивирусной проверке файлов (далее - адаптивная система) состоит из устройства предварительного анализа устройства обнаружения вредоносного кода в файле (далее - устройство обнаружения), антивирусной базы данных устройства анализа результатов проверки устройства модификации базы данных и в частном случае устройства обновления базы данных
Следует отметить, что при описании различных вариантов реализации системы адаптивной настройки антивирусной базы данных с целью удобства восприятия производится со ссылкой на компьютерные файлы, но не ограничиваются ими и могут быть применены к другим типам программных объектов. Такими объектами могут быть, по крайней мере, сценарии (script), апплеты, электронные письма, URL-адреса, SMS и ММС сообщения.
Устройство предварительного анализа 110 предназначено для определения типа проверяемого файла из файловой системы 10 с помощью списка типов файлов, хранящегося в антивирусной базе данных 130, и передачи установленного типа файла вместе с самим файлом устройству обнаружения 120. Стоит отметить, что сам проверяемый файл может не передаваться от устройства к устройству, а будет передаваться только ссылка, указывающая на месторасположение файла в файловой системе 10, который необходимо проверить. Список типов файлов содержит записи о различных типах файлов (форматах файлов), в соответствии с которыми можно точно определить, к какому типу файлов относится анализируемый файл. Каждая запись в списке типов файлов содержит информацию в виде различных параметров, которые характеризуют тот или иной тип файлов. В качестве таких параметров могут быть: расширение файла, последовательность байтовых строк («магическое число», сигнатура), которая может быть найдена по смещению (величине, показывающей при относительном методе адресации смещение ячейки памяти относительно базового адреса) от начала файла, метаданные (информация о данных файла; могут содержать информацию о размере файла, типе файла, дате создания и т.д.), MIME тип (спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету), параметры программно-аппаратной платформы, на которой может запускаться файл указанного типа и другие отличительные параметры файлов. В частном случае реализации устройство 110 предназначено для определения типа платформы, на которой может запускаться анализируемый файл, и определения месторасположения файла в файловой системе с целью определения типа антивирусной проверки и продолжительности проверки, необходимой для дальнейшей антивирусной проверки устройством обнаружения 120.
Устройство обнаружения 120 предназначено для антивирусной проверки получаемых файлов и последующей передачи информации о результатах проверки устройству анализа результатов проверки 140. Антивирусная проверка проводится путем вызова антивирусного списка 135 (далее - АВ список) из базы данных 130, который соответствует типу проверяемого файла, и последующего сравнения проверяемого файла с записями в АВ списке 135, которые содержат параметры для определения вредоносного кода. Параметрами вредоносного кода являются образец вредоносного кода, хеш-сумма файла, содержащего вредоносный код, различные внешние атрибуты файла (размер, дата создания, например) и т.д.
В частном случае реализации, в зависимости от определенного типа и продолжительности необходимой антивирусной проверки, в качестве антивирусной проверки может быть описанная выше проверка с помощью предварительной распаковки файлов - архивов до n-го уровня или более сложных методов проверки. В качестве более сложных методов проверки, по крайней мере, являются эвристический метод и эмуляция. Тип и продолжительность антивирусной проверки может зависеть от аппаратной или программной платформы, на которой работает система 100. Например, платформы мобильных устройств, таких как Android и Symbian, ограничены в обработке данных из-за ограничений, связанных с размером памяти и ресурсами зарядной батареи, по сравнению, например, с РС-платформами, таких как Windows и Unix. Таким образом, на платформах мобильных устройств устройство обнаружения 120 может использовать более быстрые и простые способы проверки, такие как сигнатурная проверка (сравнение проверяемого файла с записями из АВ списка 135); а более сложные и трудоемкие типы проверки, такие как эвристический анализ и эмуляция, не проводить или отложить (например, на время когда мобильное устройство не используется). На PC-платформах устройство обнаружения 120 может использовать более тщательные и трудоемкие способы проверки, которые можно запускать в фоновом режиме без вмешательства в использование ПК.
В другом аспекте, тип и продолжительность антивирусной проверки может зависеть от месторасположения файла. Например, на некоторых мобильных платформах, устройство обнаружения 120 может решить, следует ли выполнить или отменить антивирусную проверку файла на основе месторасположения файла в файловой системе мобильной ОС. Устройство обнаружения 120 может, например, сначала проверять файлы, расположенные в папках приложения (ПО), а затем только файлы, расположенные в папках данных (системных папках). Данное определение связано с тем, что, например, на платформе Android, папки и файлы приложений, как правило, устанавливаются в папку с названием самого приложения (например, "/ storage/sdcard0/data/app", где "арр" это имя приложения), в то время как файлы данных (например, медиа файлы) хранятся в папке данных "/ storage/sdcard0/DCIM". Следовательно, устройство обнаружения 120 будет выполнять более тщательную и трудоемкую проверку файлов из папок приложения и менее тщательную проверку файлов из папок данных.
Особенностью адаптивной системы 100 является антивирусная база данных 130. Как было отмечено выше, антивирусная база данных 130 включает в себя два вида списков данных - список типов файлов и АВ списки 135, которые предоставляются соответственно устройствам 110 и 120. Стоит отметить, что среди АВ списков 135 существует АВ список, который отвечает за проверку файлов, тип которых не был определен (другими словами, файл является файлом неизвестного типа). Неизвестным типом фалов является такой тип файла, записи о котором нет в списке типов файлов, следовательно, данный тип не может быть определен устройством предварительного анализа 110. Кроме того, в антивирусной базе данных 130 хранятся не только сведения о типах файлов, файлы которого содержат вредоносный код, но и сведения о безопасных (легитимных) типах файлов. Безопасным типом файлов является такой тип файлов, среди файлов которого системе 100 неизвестно ни одного файла, содержащего вредоносный код. Следовательно, среди АВ списков 135 есть АВ списки 135 безопасных типов файлов, в которых не содержится никаких записей о вредоносных файлах и, соответственно, являются пустыми списками, что увеличивает скорость проверки файлов из файловой системы 10, тип которых является безопасным (вариант формирования АВ списка для безопасного типа файла будет описан ниже). В частном случае реализации АВ списки 135 наполняются и изменяются с помощью устройства обновления базы данных 170. Устройство обновления базы данных 170 для наполнения антивирусной базы данных 130 с некой периодичностью производит запросы к антивирусному серверу 180 (далее - АВ сервер) с целью обновления АВ списков 135. В случае если АВ сервер 180 содержит новые записи образцов (например, MD5-хеш) вредоносного кода, то АВ сервер 180 направит их устройству обновления базы данных 170, которое, в свою очередь, добавит их в соответствующие АВ списки. В противном случае АВ сервер 180 направит уведомление об отсутствии новых записей.
Еще одной особенностью антивирусной базы данных 130 является то, что в начале работы адаптивной системы 100, которая установлена, например, на мобильное устройство, антивирусная база данных 130 может содержать в списке типов файлов записи о типах файлов, для которых не созданы АВ списки. АВ списки не созданы для некоторых типов файлов, так как файлы данных типов не содержат вредоносный код и, соответственно, не являются вредоносными файлами. Во время работы системы 100 антивирусная база данных 130 будет адаптирована в соответствии с нуждами мобильного устройства, т.е. в зависимости от проверенных файлов и определенных их типов. Одним из критериев адаптации базы может являться адаптация в соответствии с программно-аппаратной платформой соответствующего устройства. Например, для платформы Symbian будут добавлены/оставлены только типы файлов, которые могут работать на соответствующей платформе.
Основное отличие адаптивной системы 100 от существующего уровня техники заключается в наличии устройства модификации базы данных 150. Устройство модификации базы данных 150 предназначено для корректировки антивирусной базы данных 130 путем добавления записи о новом типе файла в список типов файлов и создания соответствующего АВ списка, в соответствии с решением, полученным от устройства анализа результатов проверки 140. В свою очередь устройство анализа результатов проверки 140 предназначено для анализа информации, полученной от устройства обнаружения 120, и для принятия решения о необходимости модификации антивирусной базы данных 130. Информация может передаваться в виде журнала проверки, который содержит различные сведения о проверке файлов из файловой системы 10. Сведения, содержащиеся в журнале проверки, могут являться, например, сведениями о решении, принятом по отношению к проверяемому файлу (вредоносный файл или нет), о типе файла, о неизвестном типе файла и его особенностях, о времени проверки и т.д.
Этапы взаимодействия устройства предварительного анализа ПО, устройства обнаружения 120 и антивирусной базы данных 130, а также формирование журнала проверки будут описаны на Фиг. 2. После того как файлы из файловой системы 10 будут проверены устройством обнаружения 120 и сформирован журнал проверки в соответствии с результатами проверки файлов из файловой системы 10, то указанный журнал проверки передается устройству анализа результатов проверки 140. Устройство анализа результатов проверки 140 проводит анализ журнала проверки, на основе которого принимает решение о необходимости модификации антивирусной базы данных 130. В случае если модификация необходима, устройство анализа результатов проверки 140 передает соответствующую информацию устройству модификации базы данных 150. В противном случае завершает работу.
Одним из примеров ситуации, когда необходима модификация базы данных 130, может быть случай, когда в ходе анализа журнала проверки был выявлен новый тип файла, информации о котором нет в списке типов файлов из антивирусной базы данных 130. В этом случае устройство анализа результатов проверки 140 передает устройству модификации базы данных 150 информацию о новом тиле файлов. После чего устройство модификации базы данных 150 согласно полученной информации формирует новую запись в списке типов файлов и создает новый АВ список 135 в соответствии с новым типом файлов.
Вариантом выявления нового типа файлов является запрос к АВ серверу 180, который содержит информацию о результатах проверки файла из журнала проверки. В свою очередь АВ сервер 180 проводит анализ полученной информации о файле, после которого направляет принятое решение к устройству анализа результатов проверки 140. Решение может содержать как информацию о типе файла, которому соответствует предоставленная информация, так и информацию о невозможности определить тип файла. Еще один вариант определения нового типа файла в ходе анализа журнала проверки возможен в случае обновления списка типов файлов с помощью устройства обновления базы данных 170. Данное обновление происходит автоматически с некой предварительно установленной периодичностью, как было описано выше для обновления АВ списков 135.
Еще одним вариантом выявления нового типа файла в ходе анализа журнала проверки устройством анализа результатов проверки 140 является способ анализа структуры файлов. Способ основан на анализе форматов файлов, а именно на анализе спецификации структуры данных, записанных в файле. Спецификация структуры данных дает представление о том, как различные фрагменты информации располагаются внутри файла. Так как для многих форматов файлов существуют спецификации, в которых подробно описана структура файлов соответствующего формата, то устройство анализа результатов проверки 140 может провести анализ структуры файла, у которого тип был определен как неизвестный тип файла, на соответствие какому-либо известному формату файла. Следовательно, в случае совпадения с каким-либо известным форматом, тип анализируемого файла будет определен. Стоит отметить, что способ анализа структуры файлов может быть произведен на АВ сервере 180. В этом случае устройство анализа результатов проверки 140 будет только делать запросы к АВ серверу 180 по файлам, у которых тип был определен как неизвестный тип файлов, и получать ответы с результатом проведенного анализа на АВ сервере 180.
Еще одним вариантом выявления нового типа файла в ходе анализа журнала проверки устройством анализа результатов проверки 140 является способ сравнения содержимого файлов. Способ основан на сравнении значений байтов по фиксированным смещениям и последующем выявлении схожих байтовых последовательностей. Рассмотрим ситуацию, когда устройство анализа результатов проверки (далее - устройство анализа) 140 выявило в журнале проверки информацию о нескольких файлах, у которых тип файла был определен как неизвестный тип файла. Как было написано выше, устройство анализа 140 может сделать запрос к АВ серверу 180, но при этом получить отрицательный ответ о типе файлов, т.е. тип файлов не был определен. Далее устройство анализа 140 проверит расширение файлов и выделит те файлы, у которых расширение файлов совпадет. Расширение файла - это часть имени файла, которая следует за точкой после названия и указывает на тип файла (например, readme.txt, autorun.exe). В случае если совпадут расширения у двух и более файлов, то устройство анализа 140 проведет разбор данных файлов и сформирует результат в виде графика, представленного на Фиг. 6. На Фиг. 6 изображен график, показывающий распределение значений байтов файлов относительно их позиций (смещения) в содержимом файла. Далее устройство анализа 140 выявит все характерные (идентичные) участки содержимого файлов. При этом в одном из вариантов реализации могут быть пропущены участки, которые содержат последовательности «00» и «0FFh» - значения в шестнадцатеричной системе счисления (на Фиг. 6 значения кода представлены в десятичной системе исчисления и, следовательно, устройство анализа 140 будет игнорировать значения, равные 0 и 255). Идентичным участком файлов является последователь байтов, равная 2 байтам и более и при этом содержащаяся во всех анализируемых файлах по одному и тому же смещению (стоит отметить, что наиболее оптимальной последовательностью является последовательность в 4 байта). В случае если будет выявлен хотя бы один идентичный участок, то на основе данного участка кода будет сформирован характерный шаблон для выявления файлов данного типа. В противном случае, если, по крайней мере, один идентичный участок не будет выявлен для всех анализируемых файлов, то к файлам могут быть применены следующие действия:
а) в случае если количество файлов предоставленных для анализа было 10 или менее, то файлы будут сохранены до следующего анализа журнала проверки и повторно проанализированы или переданы в АВ сервер 180 для последующего анализа;
б) в случае если количество файлов было более 10, то устройство анализа 140 произведет повторный анализ графика. После чего, если будет найден идентичный участок кода для 80% файлов от всех анализируемых файлов, то данная группа файлов будет выделена и для них устройство анализа 140 сформирует характерный шаблон для выявления файлов данного типа. Оставшиеся файлы устройство анализа 140 сохранит до следующего анализа журнала проверки.
Шаблон и информация о типе файла будут переданы устройству модификации базы данных 150. Стоит отметить, что чем больше неизвестных однотипных файлов будет проанализировано, тем с большей вероятностью будет выявлен тип (сигнатура) файла.
Также стоит отметить, что в одном из вариантов реализации разбор кода файлов может быть ограничен только первыми 100 байтами кода, т.к. с наибольшей вероятностью информация о типах (сигнатурах) файлов будет располагаться в данной области кода. Данное утверждение основано на опыте анализа различных форматов и структур файлов.
Таким образом, в ходе модификации списка типов файлов антивирусная база данных 130 пополняется АВ списками 135, которые соответствуют выявленным новым типам файлов. Стоит отметить, что новые АВ списки 135 будут являться пустыми списками, т.к. адаптивной системе 100 неизвестны файлы нового типа, в которых бы содержался вредоносный код. Поэтому можно говорить, что соответствующие типы файлов будут считаться легитимными (безопасными) типами файлов до тех пор, пока устройство обновления базы данных 170 не получит записи вредоносных файлов соответствующих типов от антивирусного сервера 180. Еще одним примером определения, что тип файла является не безопасным, является поиск записей о файле соответствующего типа в АВ списке 135 для неизвестных типов файлов. В случае нахождения такой записи, данная запись будет перемещена в соответствующий АВ список, а тип файла станет вредоносным типом файла.
Другим примером ситуации, когда необходима модификация базы данных 130, может быть случай, когда в ходе анализа журнала проверки устройством анализа результатов проверки 140 было выявлено, что значительное время проверки занимает время проверки файлов, тип которых является безопасным типом файлов. Данное утверждение связано с тем, что изначально антивирусная база данных 130 содержит записи только о вредоносных файлах и проверка файлов, которые соответствуют безопасных типам файлов, проводится с помощью АВ списка для неизвестных типов файлов 135, которые могут содержать в разы больше записей, чем остальные АВ списки 135. Значительное время проверки будет определяться, например, с помощью подсчета количества проверенных файлов безопасного типа и общего количества проверенных файлов. В случае если количество проверенных файлов безопасного типа занимает 10% и более от общего количества проверяемых файлов в течение заданного промежутка времени, то устройство анализа результатов проверки 140 передает устройству модификации базы данных 150 информацию о необходимости создать новый АВ список для данного типа файла. В свою очередь устройство модификации базы данных 150 сформирует новый АВ список 135 для проверки файлов указанного безопасного типа файлов. После чего новый АВ список 135 будет добавлен в антивирусную базу данных 130. Промежуток времени, в течение которого проводится подсчет, может быть задан как с помощью пользователя, так и в автоматическом режиме. Стоит отметить, что данный АВ список будет пустой, т.к. файлы данного типа файлов не содержат вредоносного кода, что позволит адаптивной системе 100 провести ускоренную проверку файлов с таким типом.
В частном случае реализации модификация антивирусной базы данных 130 возможна в случае, когда устройство анализа результатов проверки 140 во время анализа журнала проверки, полученного от устройства обнаружения 120, производит анализ файла, тип которого был определен как неизвестный. В данном случае устройство обнаружения 120 выполняет проверку файла с неизвестным типом файла с помощью АВ списка для неизвестных типов файлов (как будет описано на Фиг. 2). После чего будет вынесено решение о наличии вредоносного кода, а результаты проверки будут направлены соответственно устройству анализа результатов проверки 140. В случае если файл будет определен как вредоносный файл, а устройство анализа результатов проверки 140 затем определит тип файла данного вредоносного файла (как описано выше), то устройство модификации базы данных 150 добавит информацию о данном типе файла в список типов файлов. Кроме того, устройство модификации 150 создаст АВ список, который будет соответствовать данному типу, и добавит в него соответствующую запись из АВ списка для неизвестных типов. В противном случае, если файл будет определен как безопасный файл, устройство модификации базы данных 150 произведет действия согласно описанному выше применению.
В частном случае реализации устройство модификации базы данных 150 после добавления в антивирусную базу данных 130 нового АВ списка проведет анализ АВ списка для неизвестных типов файлов из антивирусной базы данных 130 на содержание в нём записей, принадлежащих типу файла, которому соответствует новый АВ список. В случае выявления таких записей они будут также добавлены в новый АВ список.
140
135
150.
130.
В еще одном частном случае адаптации антивирусной базы данных 130 устройство анализа результатов проверки 140 проводит анализ АВ списка 135 для неизвестных типов файлов. Необходимость данного анализа заключается в том, что данный АВ список 135 содержит записи обо всех файлах, у которых тип файла был не определен, и при этом количество таких записей постоянно растет. Рост записей в АВ списке 135 для неизвестных типов файлов связан с постоянным появлением новых типов файлов, которые невозможно распознать. Поэтому проверка файлов из файловой системы с помощью данного АВ списка может занимать основную часть проверки, что приведет к увеличению времени проверки. Это особенно актуально в случае наличия большого числа файлов неизвестных типов. Одним примером определения неизвестных типов файлов является метод, идентичный методу определения нового типа файла устройством анализа 140, который был описан выше. Другим примером является случай, когда со временем данные типы файлов будут распознаны и определены (например, с помощью раскрытия информации о типе файла компанией - разработчиком данного типа или путем проведения специальных исследований по определению данного типа различными компетентными организациями), что позволит отделить записи, принадлежащие данному типу, в отдельный АВ список. Рассмотрим ситуацию, когда устройство анализа результатов проверки 140 получило от АВ сервера 180 информацию, с помощью которой можно определить тип файла, который ранее не был определен. После получения данной информации устройство анализа результатов проверки проводит анализ АВ списка для неизвестных типов файлов. Анализ основан на выявлении записей, относящихся к данному типу файлов. После выявления, по крайней мере, одной такой записи устройство анализа результатов проверки 140 направляет информацию о новом типе файлов и о выявленной записи устройству модификации базы данных Устройство модификации базы данных 150 создает соответствующий АВ список в антивирусной базе данных После чего в созданный АВ список переместит из АВ списка для неизвестных типов файлов выявленную запись, у которой тип файла соответствует созданному АВ списку.
135,
В частном случае реализации при использовании адаптивной системы 100 на мобильных устройствах, целесообразно в базе данных изначально хранить информацию только о типах файлов и, соответственно, АВ списки файлы которых содержат вредоносный код. А информацию о других типах файлов добавлять в антивирусную базу данных по мере их появления в файловой системе 10. Кроме того, стоит отметить, что базы данных также должны изначально хранить информацию только о тех типах файлов, которые соответствуют программно-аппаратной платформе соответствующего устройства. Примерами программно-аппаратной платформы, по крайней мере, являются: Symbian, Android, Windows и IOS.
Также для мобильных устройств актуально рациональное использование памяти устройства. Следовательно, в еще одном частном случае реализации формирование новых АВ списков может происходить только в случае, когда устройство анализа результатов проверки 140 при анализе журнала проверки и выявлении нового типа файла, будет проводить подсчет количества проверенных файлов данного типа. В случае если файлы данного типа занимают 10% и более от общего количества проверяемых файлов в течение заданного промежутка времени, то для проверки файлов данного типа будет сформирован АВ список. Сформированный АВ список изначально будет пустой, т.к. он был создан на основе анализа безопасного типа файлов. После чего он будет добавлен в антивирусную базу данных 130. Промежуток времени может задаваться как пользователем, так и в автоматическом режиме.
На Фиг. 2 показан пример взаимодействия устройства предварительного анализа 110, устройства обнаружения вредоносного кода в файле 120 и антивирусной базы данных 130. Предположим, что необходимо провести антивирусную проверку нескольких файлов в файловой системе 10. Устройство предварительного анализа 110 производит анализ данных файлов из файловой системы 10 с помощью списка типов файлов, который был получен от антивирусной базы данных 130. В случае если тип файла был определен, то делается соответствующая отметка о выявленном типе файлов, например, как показано на Фиг. 2:
1) файл 1, тип РЕ;
2) файл 2, тип pdf;
3) файл 3, тип png.
140.
В противном случае анализируемому файлу соответствует отметка, что тип файла неизвестен, например, файл 4, тип unknown. Далее устройство предварительного анализа 110 передает файл с установленным типом файла устройству обнаружения 120. Устройство обнаружения 120 при проверке каждого полученного файла использует АВ список из антивирусной базы данных 130, который соответствует установленному типу файла. Так, например, для файла 1 был установлен тип файла - РЕ (формат исполняемого файла). Следовательно, устройство обнаружения 120 вызовет АВ список для типа файлов РЕ. Далее устройство обнаружения 120 сравнивает файл с записями из соответствующего АВ списка. Если соответствия будут найдены, то файл является вредоносным. В противном случае файл является безопасным (легитимным). В том случае, когда тип файла был определен как легитимный тип файла (например, png), проверка файла будет заключаться в вызове соответствующего АВ списка, а т.к. данный АВ список является пустым, то и последующим определением файла как безопасного (легитимного) файла. В том случае, если было установлено, что тип файла неизвестен, то вызывается АВ список для неизвестных типов файлов. После проверки файлов результаты проверки передаются устройству анализа результатов проверки
140
В наиболее актуальном варианте реализации, результаты проверки передаются устройству анализа результатов проверки только в случае анализа файла, у которого тип файла не был определен.
Стоит отметить, что АВ списки, используемые в рассматриваемой системе, не ограничены типами файлов, приведенными в данном примере.
Фиг.
130.
120.
130.
350
130.
360
120
370
380
140.
Фиг.
На 3 показана схема алгоритма работы системы адаптивной настройки антивирусной базы данных при антивирусной проверке файлов. На этапе 310 устройство предварительного анализа 110 получает указатель на файл из файловой системы 10, который необходимо проверить на наличие вредоносного кода. На этапе 320 устройство предварительного анализа 110 проводит поиск соответствий между заранее сформированным отличительным признаком проверяемого файла и записями, содержащимися в списке типов файлов, который хранится в антивирусной базе правил В случае если соответствия найдены, то на этапе 330 устанавливается, что тип файла проверяемого файла является определенным. В противном случае, если соответствия не найдены, то на этапе 330 тип файла будет определен как неизвестный тип файла. Далее файл с установленным ему типом передается в устройство обнаружения В том случае, если тип был определен, на этапе 340 предоставляется АВ список в соответствии с определенным типом из антивирусной базы данный В том случае, если тип был не определен (т.е. тип неизвестен), на этапе предоставляется АВ список для неизвестных типов файлов из антивирусной базы данный Стоит отметить, что данный АВ список может иметь записи от различных типов, которые не были определены. На этапе устройство обнаружения  проводит сравнение записей из полученного АВ списка и полученного файла. После чего на этапе будет вынесено решение о наличии вредоносного кода в файле. В случае если соответствия найдены, то файл является вредоносным. В противном случае, файл является безопасным. После чего, на этапе будут направлены результаты проверки устройству анализа результатов проверки Анализ результатов проверки будет описан на 4.
140
В частном случае реализации результаты проверки будут направлены устройству анализа результатов проверки только в случае, когда тип файла не был определен.
Фиг.
420.
430
На 4 показана схема алгоритма работы системы адаптивной настройки антивирусной базы данных. На этапе 410 устройство анализа результатов проверки 140 получает результаты проверки от устройства обнаружения 120 и производит анализ указанных результатов на этапе На этапе устройство анализа результатов проверки 140 определяет, к какому типу файлов относится файл, тип которого изначально был определен как неизвестный тип.
180,
140.
170.
Фиг.
Примером определения типа файла является запрос к АВ серверу который содержит информацию о результатах проверки файлов. В свою очередь АВ сервер 180 проводит анализ полученной информации о файлах, после которого направляет принятое решение к устройству анализа результатов проверки Решение может содержать как информацию о типе файлов, которым соответствует предоставленная информация, так и информацию о невозможности определить тип файлов. Другим примером определения типа файла в ходе анализа результатов проверки является обновление списка типов файлов с помощью устройства обновления базы данных Еще одним примером выявления нового типа файла в ходе анализа журнала проверки является способ сравнения содержимого файлов, который основан на сравнении кода файлов и последующем выявлении схожих участков содержимого файлов и был описан при описании 1.
140
410
440
140
150.
450
170
130.
130.
460
130.
В случае если тип файл не был определен, то устройство анализа результатов возвращается к этапу и ждет следующих результатов проверки файлов. В противном случае на этапе устройство формирует необходимую информацию для дальнейшего определения выявленного типа файла и передает указанную информацию устройству модификации базы данных На этапе устройство модификации базы данных формирует АВ список для выявленного типа файла, который затем добавляет к другим АВ спискам, хранящимся в антивирусной базе данных Кроме этого, устройство 150 полученные сведения о типе файла добавляет в список типов файлов, который также хранится в антивирусной базе данных После чего на этапе завершается работа по адаптации антивирусной базы данных
Фиг.
520.
140
550
На 5 показана схема алгоритма работы системы адаптивной настройки антивирусной базы данных с помощью подсчета отношения количества проверенных файлов безопасного типа файлов от всего количества проверенных файлов. На этапе 510 устройство анализа результатов проверки 140 получает результаты проверки от устройства обнаружения 120 и производит анализ указанных результатов на этапе На этапе 530 устройство анализа результатов проверки 140 определяет наличие информации о файлах, у которых тип файла относится к безопасным типам файлов. В случае если информация об указанных файлах не была найдена, то устройство анализа результатов проверки возвращается к этапу 510 и ждет следующих результатов проверки файлов. В противном случае, если информация об указанных файлах была найдена, то проводится подсчет количества проверенных файлов безопасного типа и общего количества проверенных файлов всех типов. На этапе определяется, соответствует ли отношение между подсчитанными файлами установленному значению. Установленное значение может быть определено пользователем, но с целью наибольшей эффективности данное значение должно соответствовать критерию «10% и более» и установлено по умолчанию. Критерий «10% и более» обозначает, что количество проверенных файлов одного и того же безопасного типа занимает от 10% и более от общего количества проверенных файлов. В случае если отношение соответствует заданному критерию, то устройство анализа результатов проверки 140 формирует необходимую информацию для дальнейшего создания АВ списка для последующих проверок файлов данного типа и передает сформированную информацию устройству модификации базы данных 150. В противном случае, если отношение не соответствует заданному критерию, то устройство анализа результатов проверки 140 возвращается к этапу 510 и ждет следующих результатов проверки файлов. На этапе 560 устройство модификации базы данных 170 формирует АВ список в соответствии с полученной информацией, который затем на этапе 570 добавляется к другим АВ спискам, хранящимся в антивирусной базе данных 130. После чего на этапе 580 завершается работа по адаптации антивирусной базы данных 130 до тех пор, пока не будут предоставлены новые результаты проверки.
На Фиг. 7 показана компьютерная система, для которой может быть использовано описанное изобретение.
Фиг. 7 представляет пример компьютерной системы общего назначения (может быть как персональным компьютер, так и сервером) 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, представленного на Фиг. 7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.