Понятие о загрузочных вирусах

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

Часть 3. Загрузочные вирусы

Глава 1. Разработка загрузочной вирусной программы

Для начала следует сказать несколько слов о том, как происходит начальная загрузка ЭВМ. После проверки аппаратной части компьютера и заполнения таблицы векторов прерываний BIOS пытается прочитать первый сектор нулевой дорожки нулевой стороны диска в дисководе "A". Этот сектор помещается в память по адресу 0000:7C00h, после чего на указанный адрес передается управление. В прочитанном секторе содержится программа начальной загрузки (BOOT - запись) и некоторые другие сведения, необходимые для доступа к данным на диске. Программа начальной загрузки проверяет, является - ли диск системным. Если это так, то загрузка операционной системы с диска продолжается, а если нет,то на экран выводится сообщение:

Non system disk or disk error Replace and press any key when ready .

после чего система ожидает действий оператора. Если же диск в " A " - дисководе отсутствует, то программа BIOS считывает первый сектор нулевой дорожки нулевой стороны первого жесткого диска. Он также помещается в память по адресу 0000:7C00h, после чего по указанному адресу передается управление. В прочитанном секторе на жестком диске записана так называемая MBR (главная загрузочная запись). MBR является программой, которая определяет активный раздел жесткого диска, считывает загрузочную запись (BOOT - запись) этого раздела в оперативную память и отдает ей управление. Дальше все происходит, как при загрузке системы с гибкого диска. Как видим, процесс загрузки с винчестера является как бы двухступенчатым. Если же программа MBR не нашла активный раздел, то выдается сообщение об отсутствии загрузочных устройств, и система останавливается. В некоторых старых машинах при невозможности запустить операционную систему загружался интерпретатор языка БЕЙСИК, записанный в микросхемах ПЗУ. Однако новые модели компьютеров не содержат встроенного интерпретатора и не используют его.

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

  1. Заражающие BOOT - сектора гибких дисков
  2. Заражающие BOOT - запись активного раздела жесткого диска и BOOT - сектора гибких дисков
  3. Заражающие MBR (Master Boot Record) жесткого диска BOOT - сектора гибких дисков

Отметим,что заражение BOOT - секторов дискет является обязательным, иначе вирус просто не сможет распространяться. Кроме того, почти все загрузочные вирусы являются резидентными,что объясняется спецификой их работы. Нерезидентный вирус смог бы размножаться только в том случае, если при загрузке с диска " A " из дисковода " B " забыли вытащить дискету, или при загрузке с зараженного винчестера диск находится в одном из дисководов. Очевидно, что при таком алгоритме работы вирус размножался бы очень медленно, и его создание было бы просто бессмысленным. Большое распространение получили также файлово - загрузочные вирусы, которые могут заражать файлы типов EXE, COM а иногда и другие. Ярким представителем этой разновидности можно считать ONEHALF, который может заражать EXE и COM - файлы. Файлово - загрузочные вирусы являются более заразными, чем файловые. Создать такой вирус также сложнее, и поэтому их подробное рассмотрение выходит за рамки данной книги.