Осторожно компьютерные вирусы

       

Как работает загрузочный вирус


При заражении дискеты или жесткого диска компьютера загрузочным вирусом, последний заменяет загрузочную запись или главную загрузочную запись. Настоящая загрузочная запись или главная загрузочная запись обычно не пропадает (некоторые вирусы не сохраняют исходной загрузочной записи). Вирус копирует их в один из свободных секторов (рис. 1.1).

Таким образом, вирус получает управление сразу после завершения процедуры POST. Затем он, как правило, действует по стандартному алгоритму. Вирус копирует себя в конец оперативной памяти, уменьшая при этом объем свободной оперативной памяти. После этого он перехватывает несколько функций BIOS, так что обращение к ним передает управление вирусу. В конце вирус загружает в оперативную память компьютера настоящий загрузочный сектор и передает ему управление. Далее компьютер загружается как обычно, но вирус уже находится в памяти и может контролировать работу всех программ и драйверов.

Рис. 1.1. Загрузочный вирус

Обычно загрузочный вирус заражает компьютер, когда пользователь загружает компьютер с дискеты, на которой уже есть вирус (вне зависимости от того системная эта дискета или нет). Чаще всего это происходит случайно. Вы работаете с дискетой и оставляете ее в дисководе A: компьютера. Если теперь вы перезагрузите компьютер или произойдет сбой работы компьютера из-за скачка питания, то загрузка компьютера начинается с зараженной дискеты и управление получает вирус. Он сразу заражает жесткий диск компьютера, устанавливает себя резидентным в памяти. Затем вирус загружает компьютер обычным образом. Если дискета загрузочная, то произойдет загрузка операционной системы, в противном случае на экране появляется предложение вставить в дисковод A: системную дискету и перезагрузить компьютер.

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


Дальнейшее распространение зависит от особенностей вируса. Обычно применяется простая схема. Если вы вставите в дисковод дискету, не зараженную вирусом, и обратитесь к ней, например, чтобы считать названия записанных на ней файлов, вирус получает сигнал, что дискета вставлена в дисковод. Вирус считывает загрузочную запись с дискеты и записывает ее в какой-либо другой сектор дискеты. Вместо оригинальной загрузочной записи записывается код вируса.

Некоторые вирусы, например Joshi, форматируют на дискете дополнительную дорожку. Информация с этой дорожки не может быть считана и записана обычными средствами операционной системы. Вирус может использовать эту дорожку для хранения настоящего загрузочного сектора и некоторых своих модулей. Надо заметить, что использование дополнительных дорожек не является изобретением писателей вирусов. Эта методика применяется многими системами защиты от копирования

Интересный эффект получается, если дискета или диск последовательно заражены несколькими загрузочными вирусами. В зависимости от того, какие секторы эти вирусы используют для хранения настоящего загрузочного сектора, возможны два случая.

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

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

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


Содержание раздела