Обнаружение, основанное на сигнатурах

Материал из Энциклопедия фан-клуба Лаборатории Касперского
Перейти к: навигация, поиск

Обнаружение, основанное на сигнатурах — метод работы антивирусов и систем обнаружения вторжений, при котором программа, просматривая файл или пакет, обращается к словарю с известными вирусами, составленному авторами программы. В случае соответствия какого-либо участка кода просматриваемой программы известному коду (сигнатуре) вируса в словаре, антивирус может заняться выполнением одного из следующих действий:

  1. Удалить инфицированный файл.
  2. Отправить файл в «карантин» (то есть сделать его недоступным для выполнения, с целью недопущения дальнейшего распространения вируса).
  3. Попытаться восстановить файл, удалив сам вирус из тела файла.

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

Антивирусные программы, созданные на основе метода соответствия определению вирусов в словаре, обычно просматривают файлы тогда, когда компьютерная система создаёт, открывает, закрывает или посылает файлы по электронной почте. Таким образом, вирусы можно обнаружить сразу же после занесения их в компьютер и до того, как они смогут причинить какой-либо вред. Надо отметить, что системный администратор или пользователь домашнего компьютера может составить график для антивирусной программы, согласно которому могут просматриваться (сканироваться) все файлы на жёстком диске.

Хотя антивирусные программы, созданные на основе поиска соответствия определению вируса в словаре, при обычных обстоятельствах, могут достаточно эффективно препятствовать вспышкам заражения компьютеров, авторы вирусов стараются держаться на полшага впереди таких программ-антивирусов, создавая «олигоморфические», «полиморфические» и, самые новые, «метаморфические» вирусы, в которых некоторые участки кода перезаписываются, модифицируются, шифруются или искажаются так, чтобы невозможно было обнаружить совпадение с определением в словаре вирусов.

Создание и распределение сигнатур

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

Разработка сигнатур — ручной процесс, тяжело поддающийся автоматизации. Несмотря на массу исследований, посвящённых автоматической генерации сигнатур, нарастающий полиморфизм (и «метаморфизм») вирусов и атак делают синтаксические сигнатуры бессмысленными. Антивирусные компании вынуждены выпускать большое количество сигнатур для всех вариантов одного и того же вируса, и если бы не закон Мура, ни один современный компьютер уже не смог бы закончить сканирование большого числа файлов с такой массой сигнатур в разумное время. Так, в октябре 2012 года сканеру Антивируса Касперского было известно около 9,6 млн. вирусов.

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

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

В большинстве ПО по безопасности база сигнатур является ядром продукта, наиболее трудоёмкой и ценной частью. Именно поэтому большинство вендоров предпочитает держать свои сигнатуры закрытыми — хотя и в этой области существует ряд открытого ПО (напр., ClamAV), а также исследования по обратной разработке закрытых сигнатур. Virus Bulletin регулярно публиковал сигнатуры новых вирусов вплоть до 2000 года.

Проблемы разработки сигнатур и слабого распределения некоторых представителей вредоносного ПО приводят к тому, что разработанные в разных антивирусных компаниях сигнатуры содержат определения для разных подмножеств вирусов. Эту проблему можно устранить, разработав международный стандарт на описание антивирусных сигнатур, который будет содержать необходимую информацию для обнаружения, идентификации и устранения вредоносного ПО. Максимальный эффект от такого стандарта можно получить при реализации централизованной базы знаний по вредоносному ПО, в которую все антивирусные компании будут иметь право записи новых сигнатур (или изменение существующих). Но в таком централизованном хранилище (базе данных) каждая запись должна иметь цифровую подпись автора (конкретной компании), которая будет защищать конечных пользователей от атаки на локальную базу сигнатур путем отравления её содержимого. Так же при добавлении новых записей в центральное хранилище сигнатур должен изменяться рейтинг фирм производителей. Этот рейтинг сделает фирмы заинтересованными, так как их работу пользователь может напрямую оценивать.

Недостатки и достоинства синтаксических сигнатур

  • Позволяют определять конкретную атаку с высокой точностью и малой долей ложных вызовов
  • Неспособны выявить какие-либо новые атаки
  • Беззащитны перед полиморфными вирусами и изменёнными версиями того же вируса
  • Требуют регулярного и крайне оперативного обновления
  • Требуют кропотливого ручного анализа вирусов

Метод эвристического сканирования призван улучшить способность сканеров применять сигнатуры и распознавать модифицированные вирусы в тех случаях, когда сигнатура совпадает с телом неизвестной программы не на 100%. Данная технология, однако, применяется в современных программах очень осторожно, так как может повысить количество ложных срабатываний.

См. также

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты