ОСНОВНЫЕ ВИДЫ ВИРУСОВ И
СХЕМЫ ИХ ФУНКЦИОНИРОВАНИЯ
Среди всего разнообразия вирусов можно выделить следующие
основные группы:
— загрузочные;
— файловые;
— файлово-загрузочные.
Загрузочные вирусы
Рассмотрим схему функционирования очень простого
загрузочного вируса, заражающего диски. Мы сознательно обойдем все тонкости,
с которыми неизбежно встретились бы при строгом разборе алгоритма его
функционирования.
Что происходит, когда вы включаете компьютер? Первым делом
управление передается программе начальной загрузки (ПНЗ), которая хранится в
постоянно запоминающш устройстве (ПЗУ)
Всякий диск размечен на секторы и дорожки. Среди секторов
есть несколько служебных, используемых операционной системой для собственных
нужд (в этих секторах не могут размещаться ваши данные). Среди служебных
секторов нас пока интересует один - сектор начальной загрузки (boot-spctor).
В секторе начальной загрузки хранится информация о дискете
(количество поверхностей, дорожек, секторов и пр). Но нас сейчас интересует
не она, а небольшая программа начальной загрузки (ПНЗ), которая должна
загрузить саму операционную систему и передать ей управление.
Таким образом, нормальная схема начальной загрузки
следующая:
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
Теперь рассмотрим вирус. В загрузочных вирусах выделяют
две части — голову и хвост. Хвост, вообще говоря, может быть пустым.
Пусть у вас имеются чистая дискета и зараженный компьютер,
под которым мы понимаем компьютер с активным резидентным вирусом. Как только
этот вирус обнаружит, что в дисководе появилась подходящая жертва (в нашем
случае не защищенная от записи и еще не зараженная дискета), он приступает к
заражению. Заражая дискету, вирус производит следующие действия:
— выделяет некоторую область диска и помечает ее
как
недоступную операционной системе, это можно сделать по-
разному (традиционно занятые вирусом секторы помечаются
как сбойные);
— копирует в выделенную область диска свой хвост и
оригинальный (здоровый) загрузочный сектор;
— замещает программу начальной загрузки в загрузоч
ном секторе (настоящем) своей головой;
— организует цепочку передачи управления согласно
схеме.
Таким образом, голова вируса теперь первой получает
управление, вирус устанавливается в память и передает управление
оригинальному загрузочному сектору. Б цепочке
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
появляется новое звено:
ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА
Мы рассмотрели схему функционирования простого бутового
вируса, живущего в загрузочных секторах дискет. Как правило, вирусы способны
заражать не только загрузочные секторы дискет, но и загрузочные секторы
винчестеров. При этом, в отличие от дискет, на винчестере имеются два типа
загрузочных секторов, содержащих программы начальной загрузки, которые
получают управление. При загрузке компьютера с винчестера первой берет на
себя управление программа начальной загрузки в MBR (Master Boot Record —
главная загрузочная запись). Если ваш жесткий диск разбит на несколько разделов,
то лишь один из них помечен как загрузочный (boot). Программа начальной
загрузки в MBR находит загрузочный раздел винчестера, и передает управление
на программу начальной загрузки этого раздела. Код последней совпадает с
кодом программы начальной загрузки, содержащейся на обычных дискетах, а
соответствующие загрузочные секторы отличаются только таблицами параметров.
Таким образом, на винчестере имеются два объекта атаки загрузочных вирусов
программа начальной загрузки и MBR и программа начальной загрузки в бут-секторе
загрузочного диска.
|