Бутовый вирус

Бутовый вирус

Бутовый вирус. Он заражает жесткие и гибкие диски (как загрузочные, так и иные). В отличие от файлового вируса он состоит из двух раздельных секций: головы и хвоста. Положение головы вируса всегда одинаково — она расположена в Boot секторе.

На жестком диске начальные байты вируса могут располагаться в одном из его двух Boot секторов: главном (MBR по адресу 0/0/1) или Boot секторе логического диска С. Последние байты — в различных местах, а именно: в кластерах, помеченных в FAT как сбойные, последних физических секторах дискеты или диска, в используемых или неиспользуемых блоках FAT главного каталога или одного из подкаталогов, на дополнительных дорожках дискеты или винчестера. В любом случае хвост вируса должен содержать копию оригинального Boot сектора. Если она не закодирована, то положение хвоста в большинстве случаев может быть определено глобальным контекстным поиском.

Механизм размножения вируса однотипен. При загрузке с зараженной дискеты бутовый вирус, заменяющий в Boot секторе загрузчик DOS, получает управление и сначала копирует себя в старшие адреса памяти. Затем он уменьшает размер памяти, заменяя значения вектора прерываний с Ah для защиты резидентной части вируса и Bh для перехвата обращений к диску. Таким образом, при обращении к диску управление всегда передается вирусу. Вирус запускает стандартный системный загрузчик, и только после этого происходит стандартная загрузка DOS.

Получив управление по прерыванию 13h, вирус анализирует, относится это к дискете или винчестеру. Если это обращение относится к дискете, вирус проверяет, заражена она уже или нет. Для этого считывается Boot сектор и проверяется его содержимое. Если дискета заражена, то вирус приступает к обработке непосредственно прерывания. Если дискета не заражена, то вирус сначала заражает ее.
Большая часть загрузочных вирусов не проверяет системную память на наличие своей уже установленной TSR копии: они либо используют СТЕЛС приемы, при которых повторный запуск кода вируса невозможен, либо ориентируются на то, что код вируса загружается однократно в момент загрузки DOS.

После первоначальной загрузки коды загрузочных секторов дисков больше не выполняются ни при каких условиях. Часть вирусов проверяет наличие своей копии. Для этого используются либо специальные вызовы INT 13h с каким-нибудь нестандартным значением, либо помечается заведомо неиспользуемый байт (или слово) в таблице векторов прерываний или в области данных BIOS (0040:00??). Существуют и другие способы обнаружения своей TSR копии.

Важно, что некоторые бутовые вирусы перехватывают прерывания от клавиатуры и поэтому могут сохраниться в памяти при быстрой перезагрузке по команде [Ctrl] + [Alt] + [Del].

Яндекс.Метрика