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

Рассмотрим схему функционирования очень простого загрузочного вируса, заражающего дискеты.

Что происходит, когда вы включаете компьютер? Первым делом управление передается программе начальной загрузки, которая хранится в постоянно запоминающем устройстве (ПЗУ) т.е. ПНЗ ПЗУ.

Эта программа тестирует оборудование и при успешном завершении проверок пытается найти дискету в дисководе А:

Всякая дискета размечена на т.н. секторы и дорожки. Секторы объ-единяются в кластеры, но это для нас несущественно.

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

В секторе начальной загрузки хранится информация о дискете - ко-личество поверхностей, количество дорожек, количество секторов и пр. Но нас сейчас интересует не эта информация, а небольшая программа началь-ной загрузки (ПНЗ), которая должна загрузить саму операционную систе-му и передать ей управление.

Таким образом, нормальная схема начальной загрузки следующая:

ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА

Теперь рассмотрим вирус. В загрузочных вирусах выделяют две ча-сти: голову и т.н. хвост. Хвост может быть пустым.

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

• выделяет некоторую область диска и помечает ее как недоступ-ную операционной системе, это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad)

• копирует в выделенную область диска свой хвост и оригиналь-ный (здоровый) загрузочный сектор

• замещает программу начальной загрузки в загрузочном сек-торе (настоящем) своей головой

• организует цепочку передачи управления согласно схеме.

Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному за-грузочному сектору. В цепочке: ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА

появляется новое звено: ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА

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

Файловые вирусы

Рассмотрим теперь схему работы простого файлового вируса. В от-личие от загрузочных вирусов, которые практически всегда резидентны, файловые вирусы совсем не обязательно резидентны. Рассмотрим схему функционирования нерезидентного файлового вируса. Пусть у нас имеется инфицированный исполняемый файл. При запуске такого файла вирус по-лучает управление, производит некоторые действия и передает управление «хозяину»

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

Но, изменяя код файла, вирус не обязательно вносит другие изменения:

• он не обязан менять длину файла

• неиспользуемые участки кода

• не обязан менять начало файла

Наконец, к файловым вирусам часто относят вирусы, которые «име-ют некоторое отношение к файлам», но не обязаны внедряться в их код.

Таким образом, при запуске любого файла вирус получает управле-ние (операционная система запускает его сама), резидентно устанавливает-ся в память и передает управление вызванному файлу.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: