Файловые
вирусы
Рассмотрим
теперь схему работы простого файлового вируса. В отличие от загрузочных
вирусов, которые практически всегда резидентны, файловые вирусы совсем не
обязательно резидентны. Рассмотрим схему функционирования нерезидентного
файлового вируса. Пусть у нас имеется инфицированный исполняемый файл. При
запуске такого файла вирус получает управление, производит некоторые
действия и передает управление «хозяину» (хотя еще неизвестно, кто в такой
ситуации хозяин).
Какие же действия выполняет вирус?
Он ищет новый объект для заражения - подходящий по типу файл, который еще
не заражен (в том случае, если вирус «приличный», а то попадаются такие,
что заражают сразу, ничего не проверяя). Заражая файл, вирус внедряется в
его код, чтобы получить управление при запуске этого файла. Кроме своей
основной функции - размножения, вирус вполне может сделать что-нибудь
замысловатое (сказать, спросить, сыграть) - это уже зависит от
фантазии автора вируса. Если файловый вирус резидентный,, то он
установится в память и получит возможность заражать файлы и проявлять
прочие способности не только
во время работы зараженного файла. Заражая исполняемый файл, вирус всегда
изменяет его код - следовательно, заражение исполняемого файла всегда
можно обнаружить. Но, изменяя код файла, вирус не обязательно вносит
другие изменения:
à
à он не обязан
менять длину файла
à
à неиспользуемые
участки кода
à
à не обязан
менять начало файла
Наконец, к файловым вирусам часто
относят вирусы, которые «имеют некоторое отношение к файлам», но не
обязаны внедряться в их код. Рассмотрим в качестве примера схему
функционирования вирусов известного семейства
Dir-II.
Нельзя не признать, что появившись в 1991 г., эти вирусы стали причиной
настоящей эпидемии чумы в России. Рассмотрим модель, на которой ясно
видна основная идея вируса. Информация о файлах хранится в каталогах.
Каждая запись каталога включает в себя имя файла, дату и время создания,
некоторую дополнительную информацию, номер первого кластера файла и
т.н. резервные байты.
Последние оставлены «про
запас» и самой
MS-DOS
не используются.
При запуске исполняемых файлов
система считывает из записи в каталоге первый кластер файла и далее все
остальные кластеры. Вирусы семейства
Dir-II
производят следующую «реорганизацию» файловой системы: сам вирус
записывается в некоторые свободные секторы диска, которые он помечает как
сбойные. Кроме того, он сохраняет информацию о первых кластерах
исполняемых файлов в резервных битах, а на место этой информации
записывает ссылки на себя.
Таким образом, при запуске любого
файла вирус получает управление (операционная система запускает его сама),
резидентно устанавливается в память и передает управление вызванному
файлу.
Загрузочно-файловые вирусы
Мы не станем рассматривать модель
загрузочно-файлового вируса, ибо никакой новой информации вы при этом не
узнаете. Но здесь представляется удобный случай кратко обсудить крайне
«популярный» в последнее время загрузочно-файловый вирус
OneHalf,
заражающий главный загрузочный сектор (MBR)
и исполняемые файлы. Основное разрушительное действие - шифрование
секторов винчестера. При каждом запуске вирус шифрует очередную порцию
секторов, а зашифровав половину жесткого диска, радостно сообщает об этом.
Основная проблема при лечении данного вируса состоит в том, что
недостаточно просто удалить вирус из
MBR
и файлов, надо расшифровать
зашифрованную им информацию. Наиболее «смертельное» действие - просто
переписать новый здоровый
MBR.
Главное - не паникуйте. Взвесьте все спокойно, посоветуйтесь со
специалистами.
Полиморфные вирусы
Большинство
вопросов связано с термином «полиморфный вирус». Этот вид компьютерных
вирусов представляется на сегодняшний день наиболее опасным. Объясним же,
что это такое.
Полиморфные вирусы - вирусы,
модифицирующие свой код в зараженных программах таким образом, что два
экземпляра одного и того же вируса могут не совпадать ни в одном бите.
Такие вирусы не только шифруют свой
код, используя различные пути шифрования, но и содержат код генерации
шифровщика и расшифровщика, что отличает их от обычных шифровальных
вирусов, которые также могут шифровать участки своего кода, но имеют при
этом постоянный код шифровальщика и расшифровщика.
Полиморфные вирусы - это вирусы с
самомодифицирующимися расшифровщиками. Цель такого шифрования: имея
зараженный и оригинальный файлы вы все равно не сможете проанализировать
его код с помощью обычного дизассемблирования. Этот код зашифрован и
представляет собой бессмысленный набор команд. Расшифровка производится
самим вирусом уже непосредственно во время выполнения. При этом возможны
варианты: он может расшифровать себя всего сразу, а может выполнить такую
расшифровку «по ходу дела», может вновь шифровать уже отработавшие
участки. Все это делается ради затруднения анализа кода вируса.