Загрузочные вирусы заражают
загрузочный (Boot) сектор флоппи-диска и Boot-сектор
или Master Boot Record (MBR) винчестера. При инфицировании
диска вирус в большинстве случаев переносит
оригинальный Boot-сектор (или MBR) в какой-либо
другой сектор диска (например, в первый
свободный). Если длина вируса больше длины
сектора, то в заражаемый сектор помещается
первая часть вируса, остальные части размещаются
в других секторах (например, в первых свободных).
Затем вирус копирует системную информацию,
хранящуюся в первоначальном загрузчике в свои
коды и записывает их в загрузочный сектор (для MBR
этой информацией является Disk Partition Table, для
Boot-сектора дискет - BIOS Parameter Block).
Существует несколько способов
размещения на диске первоначального
загрузочного сектора и продолжения вируса: в
сектора свободных кластеров логического диска, в
неиспользуемые или редко используемые системные
сектора, в сектора, расположенные за пределами
диска.
Если продолжение вируса
размещается в секторах, которые принадлежат
свободным кластерам диска (при поиске этих
секторов вирусу приходится анализировать
таблицу размещения файлов - FAT), то, как правило,
вирус помечает в FAT эти кластеры как сбойные (так
называемые псевдосбойные кластеры). Этот способ
используется вирусами "Brain", "Ping-Pong" и в
дальнейшем будет именоваться как СПОСОБ
"BRAIN".
Вирусы семейства "Stoned"
используют другой метод - они размещают старый
загрузочный сектор в неиспользуемом или редко
используемом секторе. На винчестере этот сектор
является одним из секторов (если такие есть),
расположенных между MBR и первым Boot-сектором, а на
дискете этот сектор выбирается из последних
секторов корневого каталога. В дальнейшем этот
метод будет называться СПОСОБ "STONED".
Реже используется метод сохранения
продолжения вируса за пределами диска, этот
метод пока встречался только при заражении
вирусом флоппи-дисков. Для этого вирусу
приходиться форматировать на диске
дополнительный трек (метод нестандартного
форматирования), например, 40-й трек на 360K дискете.
Конечно, существуют и другие методы
размещения вируса на диске, например, вирусы
семейства "Azusa" содержат в своем теле
стандартный загрузчик MBR и при заражении
записываются поверх оригинального MBR без его
сохранения.
Алгоритм работы загрузочного
вируса
Как правило загрузочные вирусы
всегда резидентны. Они внедряются в память
компьютера при загрузке с инфицированного диска.
При этом системный загрузчик считывает
содержимое первого сектора диска, с которого
производится загрузка, помещает считанную
информацию в память и передает на нее (т.е. на
вирус) управление. После этого начинают
выполняться инструкции вируса, который:
- уменьшает объем свободной памяти (слово по
адресу 0040:0013);
- считывает с диска свое продолжение (если оно
есть);
- переносит себя в другую область памяти
(например, в самые старшие адреса памяти);
- устанавливает необходимые векторы прерываний;-
совершает, если они есть, дополнительные
действия; - копирует в память оригинальный
Boot-сектор и передает на него управление.