logo search
Классификация вирусов

2. Загрузочные вирусы

    Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска и boot-сектор или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов основан на алгоритмах запуска операционной системы при включении или перезагрузке компьютера - после необходимых тестов установленного оборудования (памяти, дисков и т.д.) программа системной загрузки считывает первый физический сектор загрузочного диска (A:, C: или CD-ROM в зависимости от параметров, установленных в BIOS Setup) и передает на него управление.

    В случае дискеты или компакт-диска управление получает boot-сектор, который анализирует таблицу параметров диска (BPB - BIOS Parameter Block) высчитывает адреса системных файлов операционной системы, считывает их в память и запускает на выполнение.

    При заражении дисков загрузочные вирусы «подставляют» свой код вместо какой-либо программы, получающей управление при загрузке системы. Принцип заражения, таким образом, одинаков во всех описанных выше способах: вирус "заставляет" систему при ее перезапуске считать в память и отдать управление не оригинальному коду загрузчика, а коду вируса.

    Заражение дискет производится единственным известным способом — вирус записывает свой код вместо оригинального кода boot-сектора дискеты.  Винчестер заражается тремя возможными способами - вирус записывается либо вместо кода MBR, либо вместо кода boot-сектора загрузочного диска (обычно диска C:), либо модифицирует адрес активного boot-сектора в Disk Partition Table, расположенной в MBR винчестера.

    При инфицировании диска вирус в большинстве случаев переносит оригинальный boot-сектор (или MBR) в какой-либо другой сектор диска (например, в первый свободный). Если длина вируса больше длины сектора, то в заражаемый сектор помещается первая часть вируса, остальные части размещаются в других секторах (например, в первых свободных).

    Существует несколько вариантов размещения на диске первоначального загрузочного сектора и продолжения вируса: в сектора свободных кластеров логического диска, в неиспользуемые или редко используемые системные сектора, в сектора, расположенные за пределами диска.

    Если продолжение вируса размещается в секторах, которые принадлежат свободным кластерам диска (при поиске этих секторов вирусу приходится анализировать таблицу размещения файлов - FAT), то, как правило, вирус помечает в FAT эти кластеры как сбойные (так называемые псевдосбойные кластеры). Этот способ используется вирусами «Brain», «Ping-Pong» и некоторыми другими.

    В вирусах семейства «Stoned» задействован другой метод. Эти вирусы размещают первоначальный загрузочный сектор в неиспользуемом или редко используемом секторе — в одном из секторов винчестера (если такие есть), расположенных между MBR и первым boot-сектором, а на дискете такой сектор выбирается из последних секторов корневого каталога.

    Конечно, существуют и другие методы размещения вируса на диске, например, вирусы семейства «Azusa» содержат в своем теле стандартный загрузчик MBR и при заражении записываются поверх оригинального MBR без его сохранения.

    Пользователям новых операционных систем (Novell, Win95, OS/2) загрузочные вирусы также могут доставить неприятности. Несмотря на то, что перечисленные выше системы работают с дисками напрямую (минуя вызовы BIOS), что блокирует вирус и делает невозможным дальнейшее его распространение, код вируса все-таки, хоть и очень редко, получает управление при перезагрузке системы. Поэтому вирус «March6», например, может годами «жить» в MBR сервера и никак не влиять при этом на его (сервера) работу и производительность. Однако при случайной перезагрузке 6-го марта этот вирус полностью уничтожит все данные на диске.