|
|
|
Загрузочные вирусы заражают загрузочный (boot) сектор
флоппи-диска и boot-сектор или Master Boot Record (MBR) винчестера.
Принцип действия загрузочных вирусов основан на алгоритмах запуска
операционной системы при включении или перезагрузке компьютера - после
необходимых тестов установленного оборудования (памяти, дисков и т.д.)
программа системной загрузки считывает первый физический сектор
загрузочного диска (A:, C: или CD-ROM в зависимости от параметров,
установленных в BIOS Setup) и передает на него управление. |
|
В случае дискеты или компакт-диска управление
получает boot-сектор, который анализирует таблицу параметров диска
(BPB - BIOS Parameter Block) высчитывает адреса системных файлов
операционной системы, считывает их в память и запускает на
выполнение. Системными файлами обычно являются MSDOS.SYS и IO.SYS,
либо IBMDOS.COM и IBMBIO.COM, либо других в зависимости от
установленной версии DOS, Windows или других операционных систем.
Если же на загрузочном диске отсутствуют файлы операционной системы,
программа, расположенная в boot-секторе диска выдает сообщение об
ошибке и предлагает заменить загрузочный диск. |
В
случае винчестера управление получает программа, расположенная в MBR
винчестера. Эта программа анализирует таблицу разбиения диска (Disk
Partition Table), вычисляет адрес активного boot-сектора (обычно этим
сектором является boot-сектор диска C:), загружает его в память и передает
на него управление. Получив управление, активный boot-сектор винчестера
проделывает те же действия, что и boot-сектор дискеты. При
заражении дисков загрузочные вирусы "подставляют" свой код вместо
какой-либо программы, получающей управление при загрузке системы. Принцип
заражения, таким образом, одинаков во всех описанных выше способах: вирус
"заставляет" систему при ее перезапуске считать в память и отдать
управление не оригинальному коду загрузчика, но коду
вируса. Заражение дискет производится единственным известным
способом - вирус записывает свой код вместо оригинального кода
boot-сектора дискеты. Винчестер заражается тремя возможными способами -
вирус записывается либо вместо кода MBR, либо вместо кода boot-сектора
загрузочного диска (обычно диска C:), либо модифицирует адрес активного
boot-сектора в Disk Partition Table, расположенной в MBR
винчестера. При инфицировании диска вирус в большинстве случаев
переносит оригинальный boot-сектор (или MBR) в какой-либо другой сектор
диска (например, в первый свободный). Если длина вируса больше длины
сектора, то в заражаемый сектор помещается первая часть вируса, остальные
части размещаются в других секторах (например, в первых свободных). |
|