Энциклопедия компьютерных вирусов

         

Win95.Bonk, семейство


Опасные резидентные вирусы, распространяются в Window95/98. Инсталлируют себя в память Windows и записываются в открываемые PE EXE-файлы. По причине ошибок работоспособны только под несколькими конкретными версиями Windows и завешивают систему в противном случае. Содержат строку:

[BONK32] by Vecna/29A

Записывают строку-идентификатор "BONK" в PE-заголовок (в поле контрольной суммы файла) и используют ее для детектирования уже зараженных файлов. При инсталляции в память и при заражении файлов используют несколько достаточно сложных приемов. Для того, чтобы скопировать и запустить свой код в Ring0 и получить доступ к VxD-функциям, используется метод, аналогичный вирусу "Win95.CIH"

. Затем вирусы перехватывают IFS API и при открытии EXE-файлов вызывают процедуру заражения. При заражении файлов вирусы различными способами модифицируют стартовый адрес файла: либо изменяется соответствующее поле в PE-заголовке, либо по первоначальному стартовому адресу записывается команда передачи управления на код вируса (JMP_Virus). Второй способ используется только если в стартовой процедуре отсутствуют так называемые "настраиваемые" адреса. Вирусы записывают свой код в файлы в две различные области: часть кода (процедура инициализации - около 200 байт) записывается в PE-заголовок (см. также "Win95.CIH"), основной код вируса записывается в конец файла. При этом основной код вируса в зараженных файлах присутствует как "оверлей": вирусы не модифицируют поля PE-заголовка для того, чтобы "приклеить" свой код к загружаемым в память секциям файла. Вместо этого процедура инициализации (первая чать кода вируса) открывает зараженный файл, считывает оттуда вирусный "оверлей" и передает на него управление. Вирусы также шифруют часть заражаемого файла (видимо, для того, чтобы усложнить процедуру лечения). При этом вирусы не сохраняют ключ шифровки. Вместо этого они при заражении подсчитывают CRC шифруемого блока, запоминают ее в своем теле, а при расшифровке перебирают все возможные ключи, пересчитывают CRC расшифрованного блока и сравнивают ее с первоначальной.



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