Сканирование сигнатур

Сигнатура вируса — это уникальная последовательность байтов, которая всегда присутствует в определенном виде вирусов и по которой этот вид вируса можно с большой вероятностью опознать.

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

К размеру сигнатуры предъявляются противоречивые требования. С одной стороны, для того чтобы повысить вероятность правильной диагностики вируса, сигнатура должна быть достаточно длиной — как минимум 8-12 байт, а еще лучше 64 байта. С другой стороны, учитывая огромное число существующих к настоящему моменту вирусов (сотни тысяч), увелиение длины сигнатуры увеличит и без того большой объем базы данных сигнатур.

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

ПРИМЕЧАНИЕ

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

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

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

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