Сигнатурный анализ

Сигнатурный анализ

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

Для детектирования вирусов в каждом движке реализовано несколько технологий. Самые известные из них – поиск по сигнатурам и эвристический анализатор.

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

Неизвестный вирус пройдет через такой детектор незамеченным. На анализ и выработку сигнатуры нового вируса уходит некоторое время, в течение которого любой компьютер беззащитен. Ошибка при выборе сигнатуры может привести к тому, что подозрение может пасть на незараженный файл. Такие случаи нельзя назвать редкими: однажды подозрение пало на программу Punto Switcher, которая находилась на компакт-диске, приложенном к журналу. Антивирус Avast! находил в этом файле троянца. Проверки с помощью других антивирусов показывали, что файл чист.

Совет

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

Каждый разработчик антивирусной программы, как правило, имеет на своем сайте функцию онлайн-проверки; есть сервисы, проверяющие файл сразу несколькими антивирусами. Например, сервис Virustotal (http://www.virustotal.com/en/indexf.html) позволяет проверить подозрительный файл с помощью 32 различных антивирусов. Я отправил для проверки файл, зараженный не самым старым трояном. В результате вирус обнаружили только 17 из 32 антивирусов (рис. 2.1).

Рис. 2.1. Проверка файла в Virustotal

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

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

Данный текст является ознакомительным фрагментом.