Система и способ автоматической модификации антивирусной базы данных
Иллюстрации
Показать всеИзобретение относится к области оптимизации антивирусной проверки. Техническим результатом является увеличение скорости антивирусной проверки. Способ обновления информации в антивирусной базе данных путем формирования антивирусного списка в антивирусной базе данных, и при этом антивирусный список соответствует новому типу объекта, содержит этапы, в которых: хранят список типов объектов, содержащий отличительные признаки для определения типов объектов, и антивирусные списки, разделенные по типу объектов и содержащие антивирусные записи для соответствующих типов объектов; определяют тип полученного объекта с целью последующего выбора антивирусного списка для антивирусной проверки объекта; проводят антивирусную проверку полученного объекта на содержание вредоносного кода с помощью антивирусного списка, соответствующего определенному типу объекта, и формируют результаты проверки; проводят анализ результатов проверки с целью выявления объектов, у которых тип объекта был определен как неизвестный тип объекта; обновляют антивирусную базу данных путем добавления отличительных признаков выявленного типа, по крайней мере, одного объекта в список типов объектов и создания антивирусного списка, соответствующего выявленному типу объекта, при этом указанные списки не содержат антивирусные записи. 2 н. и 20 з.п. ф-лы, 7 ил.
Реферат
Область техники
Настоящее изобретение относится к системам и способам оптимизации антивирусной проверки файлов, более конкретно к системам и способам анализа результатов антивирусной проверки и последующей модификации антивирусной базы данных.
Уровень техники
В настоящее время вредоносные программы, к которым, в частности, могут относиться сетевые черви, троянские программы, компьютерные вирусы и прочие программы, наносящие какой-либо вред компьютеру, получают все большее распространение. Одним из наиболее эффективных способов противодействия вредоносным программам является использование антивирусного программного обеспечения. Антивирусное программное обеспечение содержит набор технологий, предназначенных для обнаружения и удаления из операционной системы компьютера максимально-возможного количества вредоносных (или потенциально вредоносных) программ. Один из методов обнаружения вредоносных программ, используемый антивирусным программным обеспечением, заключается в полном или выборочном сканировании присутствующих на жестких и сетевых дисках компьютера файлов.
Одним из основных методов проверки заражения файлов является сигнатурное сканирование. В антивирусных приложениях, как правило, во время сигнатурного сканирования проверка каждого файла ведется по всему списку сигнатур (шаблонов) вредоносного кода, содержащихся в антивирусной базе данных. С каждым годом антивирусная база данных постоянно увеличивается, что приводит к увеличению и времени проверки таким способом. Для оптимизации данного способа проверки (например, для увеличения скорости проверки) в настоящее время стало целесообразно использовать предварительный анализ файлов.
Предварительный анализ позволяет в дальнейшем оптимизировать основную антивирусную проверку и может заключаться, например, в фильтрации файлов согласно назначенным критериям; в приоритезации файлов перед проверкой; в выявлении необходимых параметров файла для дальнейшей антивирусной проверки; в преобразовании файлов в определенный вид. Во время предварительного анализа антивирусные приложения используют различные критерии оценки, например, тип файла, хеш-файла, размер файла, дата создания файла, имя файла и т.д. На основе выбранного критерия или совокупности критериев антивирусное приложение выявляет файлы, а затем проводит предварительный анализ выявленных файлов в соответствии с установленными настройками. Так, например, если предварительный анализ будет заключаться в приоритезации файлов, то согласно выявленным критериям будет формироваться очередь проверки файлов. В другом примере, если предварительный анализ заключается в фильтрации файлов, то согласно выявленным критериям файлы будут фильтроваться (пропускаться или отсеиваться от дальнейшей проверки).
В дальнейшем рассмотрим случай, когда предварительный анализ заключается в фильтрации файлов. При таком подходе ускорение антивирусной проверки файлов может достигаться путем исключения из проверки файлов, несоответствующих критериям фильтра. Так, например, фильтрация может быть основана на определении типа файла и отсеивании из дальнейшей проверки файлов, тип которых является безопасным типом, т.к. файлы данного типа не требуется проверять. Безопасным типом является такой тип файла, среди файлов которого не было обнаружено ни одного вредоносного файла или файла, содержащего вредоносный код. Другими словами, можно сказать, что данный тип файла является легитимным («чистым») типом.
Так, в патенте 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 показывает пример компьютерной системы общего назначения, на которой может быть реализовано данное изобретение.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Представленное изобретение может быть использовано для различных устройств, которые содержат в своем составе файловую систему. Такими устройствами, в первую очередь, являются персональный компьютер, ноутбук, мобильное устройство, например, смартфон, и т.д. Кроме того, представленное изобретение также должно являться частью устройства, на котором будут решаться поставленные задачи.
В общем случае структурная схема системы адаптивной настройки антивирусной базы данных при антивирусной проверке файлов имеет вид, показанный на Фиг. 1. Система адаптивной настройки антивирусной базы данных при антивирусной проверке файлов 100 (далее - адаптивная система) состоит из устройства предварительного анализа 110, устройства обнаружения вредоносного кода в файле 120 (далее - устройство обнаружения), антивирусной базы данных 130, устройства анализа результатов проверки 140, устройства модификации базы данных 150 и в частном случае устройства обновления базы данных 170.
Следует отметить, что при описании различных вариантов реализации системы адаптивной настройки антивирусной базы данных с целью удобства восприятия производится со ссылкой на компьютерные файлы, но не ограничиваются ими и могут быть применены к другим типам программных объектов. Такими объектами могут быть, по крайней мере, сценарии (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, которые соответствуют выявленным новым типам файлов.