Вернуться   Компьютерный форум > Блоги > Базаров
Оценить эту запись

Особые виды вирусов

Запись от Базаров размещена 10.01.2013 в 02:38

(Информация датирована 1996 г.)

Опишем два вида вирусов, внедряющихся не в сами файлы, а в файловую систему на дисках. Эти вирусы требуют особого отношения, поскольку стандартные методы лечения для них могут привести к потере информации (для вирусов семейства DIR) или не излечивают от вируса (для вирусов семейства ЗАРАЗА).
Вирусы семейства DIR
В 1991 г. появились вирусы нового типа - вирусы, меняющие файловую систему на диске. Эти вирусы обычно называются DIR. Такие вирусы прячут свое тело в некоторый участок диска (обычно - в последний кластер диска) и и помечают его в таблице размещения файлов (FAT) как конец файла или как дефективный участок. Для всех .СОМ- и .ЕХЕ-файлов указатели на первый кластер (участок) файла, содержащиеся в соответствующих элементах каталога, заменяются ссылкой на участок диска, содержащий вирус, а правильный указатель в закодированном виде прячется в неиспользуемой части элемента каталога. Поэтому при запуске любой программы в память загружается вирус, после чего он остается в памяти резидентно, подключается к программам DOS для обработки файлов на диске и при всех обращениях к элементам каталога выдает правильные ссылки.
Таким образом, при работающем вирусе файловая система на диске кажется совершенно нормальной. При поверхностном просмотре зараженного диска на "чистом" компьютере также ничего странного не наблюдается. Разве лишь при попытке прочесть или скопировать с зараженной дискеты программные файлы из них будут прочтены или скопированы только 512 или 1024 байта, даже если файл гораздо длиннее. А при запуске любой исполнимой программы с зараженного таким вирусом диска этот диск, как по волшебству, начинает казаться исправным (неудивительно, ведь компьютер при этом становится зараженным).
При анализе на "чистом" компьютере с помощью программы ChkDsk, ScanDisk или NDD файловая система зараженного DIR-вирусом диска кажется совершенно испорченной. Так, программа ChkDsk выдает кучу сообщений о пересечениях файлов ("... cross linked on cluster ...) и о цепочках потерянных кластеров ("... lost clusters found in ... chains").
Особая опасность вирусов семейства DIR состоит в том, что повреждения файловой структуры, сделанные этими вирусами, не следует исправлять программами типа ScanDisk или NDD - при этом диск окажется безнадежно испорченным. Для исправления надо применять только антивирусные программы.
Замечание. Вирусы семейства DIR формально относят к файловым, хотя они меняют не сами файлы, а способ обращения операционной системы к этим файлам.
Вирусы семейства ЗАРАЗА
Еще один необычный тип вирусов - это вирусы, заражающий системный файл IO.SYS. Семейство этих вирусов обычно называется ЗАРАЗА, поскольку первый такой вирус выводил сообщение "В ВООТ СЕКТОРЕ - ЗАРАЗА!".
Данные вирусы являются файлово-загрузочными и используют рассогласование между механизмом начальной загрузки DOS и обычным механизмом работы с файлами. При начальной загрузке MS DOS проверяется, что имена двух первых элементов в корневом каталоге загрузочного диска - IO.SYS и MSDOS.SYS, но атрибуты этих элементов не проверяются. Если имена совпадают, то программа начальной загрузки считывает впамять первый кластер элемента с именем IO.SYS и передает ему управление. Пользуясь этим несовершенством программы начальной загрузки, вирус ЗАРАЗА при заражении жестких дисков делает следующее:
  • копирует содержимое файла IO.SYS в конец логического диска;
  • сдвигает элементы корневого каталога, начиная с третьего, на один элемент к концу каталога;
  • копирует первый элемент корневого каталога (соответствующий файлу IO.SYS) в освободившийся третий элемент корневого каталога и устанавливает в нем номер начального кластера, указывающий на место, куда было скопировано содержимое файла IO.SYS;
  • записывает свое тело в место, где находился файл IO.SYS (как правило, в начало области данных логического диска);
  • у первого элемента корневого каталога диска устанавливает признак "метка тома".
Таким образом, начало оглавления корневого каталога после заражения будет выглядеть примерно так (при просмотре программой DiskEdit):

NameSector...____.Ext____Size____Date________Time____Cluster____Arc____R/O____SYS____Hid____Dir____Vol
IO_______________SYS____40744___31.05.94______6:22 _____2_________________R/O____Sys_____Hid___________Vol
MSDOS___________SYS____38138___14.07.95______23:44 _____5________________R/O____Sys_____Hid
IO_______________SYS____40744___31.05.94______6:22 _____63616_____________R/O____Sys_____Hid
. . .

Здесь в столбце "Cluster" у первого элемента стоит 2 - номер кластера диска, куда вирус записал свое тело (и где раньше располагался файл IO.SYS), а у третьего элемента в этом столбце указан номер того кластера, начиная с которого вирус поместил копию файла IO.SYS.
Иначе говоря, в корневом каталоге появляются два элемента с именем IO.SYS, один из которых помечен атрибутом "метка тома". Однако при начальной загрузке это не вызывает сбоев - программа начальной загрузки, проверив, что первые два элемента каталога имеют имена IO.SYS и MSDOS.SYS, загрузит кластер, указанный в первом элементе оглавления (на обычном диске - это начало файла IO.SYS, а на зараженном - код вируса), и передаст ему управление. Вирус загрузит себя себя в оперативную память, после чего загрузит начало исходного файла IO.SYS и передаст ему управление. Далее начальная загрузка идет как обычно.
А что же при обычной работе в DOS? Неужели в корневом каталоге не будут видны два элемента с именем IO.SYS? Оказывается, нет. DOS и все программы (кроме программы начальной загрузки) будут считать первый элемент каталога, раз он помечен признаком "метка тома", описанием метки диска С:. А метки игнорируются при обработке файлов и каталогов,поэтому первый элемент с именем IO.SYS не будет виден при просмотре корневого каталога. Разве лишь метка тома для диска С:, выводимая при вводе команды VOL C:, станет "IO SYS" (некоторые программы станут показывать ее как IOSYS). Однако мало кто из пользователей обращает внимание на метки дисков!
Опасность вирусов семейства ЗАРАЗА состоит в следующем: даже если загрузить компьютер с "чистой" системной дискеты и ввести команду SYS C:, вирус не будет удален с диска! Команда SYS, как и остальные программы DOS, проигнорирует указывающий на вирус первый элемент корневого каталога, посчитав его описанием метки. Перезаписан будет лишь "файл-дублер" IO.SYS, описанный в третьем элементе корневого каталога. Причем если программа SYS запишет файл IO.SYS в новое место на диске, то система перестанет загружаться с жесткого диска, т.к. вирус в своем теле хранит адрес начального сектора исходного файла IO.SYS.
Поэтому обеззараживать диски, инфицированные вирусами семейства ЗАРАЗА, командой SYS не следует, это надо делать антивирусными программами. Напомним, что симптомом вируса семейства ЗАРАЗА является метка тома "IO SYS", то есть в ответ на команду DOS VOL C: выводится:

Volume in drive C is IO SYS
Volume Serial Number is . . .

В крайнем случае, можно использовать следующий прием: с помощью программы DiskEdit снять у первых трех элементов (первый и третий - с именами IO.SYS, второй - с именем MSDOS.SYS) корневого каталога диска С: на жестком диске атрибуты "скрытый", "системны", "только для чтения" и "метка тома", переименовав при этом один из элементов с именем IO.SYS, например, в IO1.SYS:

NameSector...____.Ext____Size____Date________Time____Cluster____Arc____R/O____SYS____Hid____Dir____Vol
IO_______________SYS____40744___31.05.94______6:22 _____2
MSDOS___________SYS____38138___14.07.95______23:44 _____5
IO1______________SYS____40744___31.05.94______6:22 _____63616
. . .

После этого файлы IO.SYS, IO1.SYS и MSDOS.SYS можно удалить командой Del. Теперь команда SYS C: сможет записать на диск С: чистые системные файлы.
Размещено в Без категории
Просмотров 3551 Комментарии 0 Отправить другу ссылку на эту запись
Всего комментариев 0

Комментарии

 

Текущее время: 13:56. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.