Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция. Проблема вирусного заражения программ,...doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
136 Кб
Скачать
☆

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

Иногда загрузочные вирусы называют бутовыми вирусами.

Загрузочные вирусы записывают себя

  • в загрузочный сектор диска (Boot Record, BR) -сектор),

  • в сектор, содержащий системный загрузчик жесткого диска, системной дискеты или загрузочного ком­пакт-диска (Master Boot Record), подменяя находящиеся в них про­граммы начальной загрузки и загрузки операционной системы своим кодом.

Исходное содержимое этих секторов при этом со­храняется в одном из свободных секторов диска или непосред­ственно в теле вируса.

В случае CD-диска управление получает boot-сектор диска, который анализирует таблицу параметров диска (ВРВ — BIOSParameterBlock), высчитывает адреса системных файлов ОС, считывает их в память и запускает на выполнение. Если же на загрузочном диске отсутствуют файлы операционной системы, программа, расположенная в boot-секторе диска, выдает сообщение об ошибке и предлагает заменить загрузочный диск. В случае винчестера управление получает программа, расположенная в MBR (MasterBootRecord) винчестера. Она анализирует таблицу разбиения диска (DiskPartitionTable), вычисляет адрес активного boot-сектора (обычно этим сектором является boot-сектор диска С:), загружает его в память и передает на него управление. Получив управление, активный boot-сектор винчестера проделывает те же действия, что и boot-сектор дискеты.

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

Заражение дисков производится единственным известным способом: вирус записывает свой код вместо оригинального кода boot-сектора дисков.

Способы заражения винчестера:

  • вирус записывается либо вместо кода MBR (Master Boot Record),

  • либо вместо кода boot-сектора загрузочного диска (обычно диска С),

  • либо модифицирует адрес активного boot-сектора в Disk Partition Table, расположенный в MBR винчестера.

После заражения MBR, являющегося первым сектором нуле­вой головки нулевого цилиндра жесткого диска, вирус получает управление сразу по завершении работы процедуры проверки оборудования (POST), программы BIOS Setup (если она была вызвана пользователем), процедур BIOS и его расширений.

Аналогичным образом работает и загрузочный вирус в BR, за­мещая программу загрузки операционной системы.

Обычной формой заражения компьютера загрузочным виру­сом является случайная попытка загрузки с несистемной диске­ты, загрузочный сектор которой заражен вирусом. Эта ситуация возникает, когда зараженный диск остается в дисководе при выполнении перезагрузки операционной системы. После заражения главного загрузочного сектора жесткого диска вирус распространяется при первом обращении к любому незараженному диску. В связи с тем, что загрузочные сектора магнитных дисков имеют небольшой размер (512 байт), при их заражении сложным вирусом необходимо найти дополнительные места размещения той части его кода, которая не поместилась в зараженных объектах.

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

  • занесение кода вируса в свободные сектора диска с пометкой их как дефектных для защиты от перезаписи (псевдосбойные сектора);

  • помещение кода вируса в редко занимаемые свободные сек­тора в конце одного из разделов жесткого диска, которые остают­ся помеченными как свободные;

  • перенос части кода вируса в зарезервированные для последу­ющего применения операционной системой сектора диска сектора;

  • в сектора, расположенные за пределами диска.

Короткие вирусы могут уместиться в один сектор загрузчика и полностью взять на себя функции MBR.

Если продолжение вируса размещается в секторах, которые принадлежат свободным кластерам диска (при поиске этих секторов вирусу приходится анализировать таблицу размещения файлов — FAT), то, как правило, вирус помечает в FAT эти кластеры как сбойные (так называемые "псевдосбойные" кластеры).

Некоторые вирусы записывают свой код в последние сектора винчестера поскольку они используются только тогда, когда винчестер полностью заполнен информацией, что бывает довольно редко, если учесть размеры современных дисков

Следует также отметить тот факт, что загрузочные вирусы очень редко уживаются вместе на одном диске. Часто они используют одни и те же дисковые сектора для размещения своего кода/данных. В результате код/данные первого вируса оказываются испорченными при заражении вторым вирусом, и система либо зависает при загрузке, либо зацикливается (что также приводит к ее зависанию).

Алгоритм работы загрузочного вируса

По­лучив управление, загрузочный вирус выполняет следующие действия:

  1. копирование своего кода в конец оперативной памяти ком­пьютера, уменьшая тем самым размер ее свободной части;

  2. переопределение «на себя» нескольких прерываний BIOS, в основном связанных с обращением к дискам;

  3. загрузка в оперативную память компьютера истинной про­граммы начальной загрузки, в функции которой входит просмотр таблицы разделов жесткого диска, определение активного раздела, загрузка и передача управления программе загрузки операци­онной системы активного раздела;

  4. передача управления истинной программе начальной заг­рузки.