Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #35, ОКТЯБРЬ 2003 г.

Как антивирус находит жертвы

TanaT (TanaT@hotmail.ru)

Спецвыпуск Xakep, номер #035, стр. 035-080-1


Анализ файлов на предмет зараженности

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

Сканирование on-demand и on-access

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

Неотъемлемой частью любого антивирусного пакета являются сканер и монитор. Их целесообразно рассматривать совместно. Сканер в своей работе использует два метода: сигнатурный поиск и эвристический анализатор. Сигнатурный поиск заключается в изучении определенных частей исследуемого файла (имеются в виду точки входа в исполняемый файл и точки входа процедур/функций) и отыскании в их коде вирусных сигнатур. Сигнатура - это фрагмент кода, позволяющий однозначно идентифицировать какой-то вирус. При таком сканировании используется антивирусная база, которая содержит не что иное, как вирусные сигнатуры.

Есть еще такое понятие, как избыточное сканирование. При этом проверяются абсолютно все части файла, а не только точки входа. Избыточное сканирование позволяет повысить надежность и качество отыскания вирусов, но существенно замедляет сам процесс сканирования. В практических целях избыточное сканирование используется очень редко, но при проверке новых и "спорных" файлов его использование вполне оправданно (при этом потери времени почти неощутимы). Весь метод сигнатурного поиска неоднократно подвергался критике - многие считают, что сканер легко обмануть, добавив кучу "NOP" и "PUSH/POP" (команды ассемблера, не приводящие, по сути, к каким-либо изменениям, но меняющие сигнатуру кода). Должен сказать, что современные сканеры таким образом обмануть довольно сложно: огромное число "клонов" известных вирусов так и не попадает на компьютер пользователя, потому что антивирусный сканер уничтожает вирусы сразу без всякого обновления своей базы.

Эвристический анализатор - предмет многолетних дискуссий между учеными, антивирусными экспертами и тестерами. Эвристический анализатор - воплощение искусственного интеллекта, жизненная цель которого в том, чтобы находить вирусы. В стенах многих антивирусных компаний словосочетание "эвристический анализатор" либо вообще не употребляется, либо сокращается до простого и всем понятного "эвристик". Справедливости ради отмечу, что большинство антивирусных компаний вообще не реализовало в своих продуктах данную технологию. Если быть точным, то всем известный Norton Antivirus (я привел его в пример потому, что это самый популярный антивирус в мире) ничего, кроме сканирования по сигнатурам, делать не умеет. Одна из лучших в мире реализаций эвристика представлена в наших отечественных продуктах, а именно в Антивирусе Касперского. Это не просто слова - еще с далеких девяностых годов об этом говорят эксперты всего мира.

Работа эвристика - тайна за семью печатями. Сколько бы я ни пытался добиться ответа на этот вопрос от разработчиков различных антивирусных средств, всегда нарывался на: "К сожалению, мы не можем разглашать эту информацию, так как это нанесет больше вреда, чем пользы". Некоторые сведения собрать все же удалось.

Содержание  Вперед на стр. 035-080-2