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

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

TanaT (TanaT@hotmail.ru)

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


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

Компьютерный Шерлок Холмс

В состав антивирусов часто входит модуль под названием инспектор изменений. Иногда его называют ревизором изменений. Я буду использовать оба термина.

Хочу обратить твое внимание, что в некоторых антивирусах ревизора нет. Почему? Отнюдь не из-за его неэффективности или, что еще глупее, бесполезности. Дело в том, что инспектор изменений подходит только для защиты рабочих станций, то есть компьютеров домашних пользователей и офисных машин. Большинство же разработчиков антивирусных решений ориентируются на защиту корпоративных клиентов, которым в первую очередь необходимо обезопасить сервера (файловые, почтовые, базы данных и т.д.). В этом случае, как я уже говорил, технология не подходит в принципе.

Сегодня широко известны два ревизора. Первый входит в состав Антивируса Касперского Personal Pro, второй является "примочкой" к Dr. Web.

Переходим к самой технологии. Применяется инспектор изменений по следующей схеме. На чистом от вирусов, незараженном, компьютере запускается ревизор. Он согласно настройкам собирает информацию о некоторых важных (или всех подряд) файлах и записывает ее в свою собственную базу данных. После этого ревизор выключается. При следующем запуске (в зависимости от настроек - через час, два, день, неделю или просто во время ближайшей перезагрузки) ревизор проверяет наличие своей базы. Так как она уже создана, инспектор начинает сравнивать данные о файлах в "реальной жизни" (на жестком диске) и в своей БД. Если изменений нет, то компьютер чист на 100%. Если же есть, то их надо анализировать. Вполне вероятно, что ты просто обновил свой документ или установил новую версию программы. А может, файл подвергся заражению. Обычно (если ревизор не смог сам определить, вредоносные ли изменения произошли) инспектор изменений выводит на экран все отличия, которые нашел. В этом случае ты, как пользователь и администратор, можешь ознакомиться с этими данными и определить, менял ли ты сам эти файлы (обновлял) или это сделал вирус. Я рекомендую настроить ревизор на проверку при каждой перезагрузке (при каждом включении) ПК. В этом случае ты просто не успеешь забыть, какое ПО и какие файлы были обновлены.

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

Назад на стр. 035-080-3  Содержание  Вперед на стр. 035-080-5