Среда обитания вирусов
Как уже указывалось выше, структурно компьютерный вирус можно представить состоящим из двух частей: головы и хвоста.
🕛 10.02.2009, 22:28
Поскольку голова вируса так или иначе должна получить управление, "среда обитания" головы компьютерного вируса может располагаться только в прямо или косвенно исполняемых программах. Не следует бояться, что вирус может быть перенесен через файл данных. Применительно к MS DOS для получения управления вирус должен встроить свою голову в загрузочные модули, такие как СOM-файлы, EXE-файлы, оверлейные фазы сегментированных программ (это наиболее распространенный случай и соответствующий тип вирусов будем называть файловыми); бут-сектор (этот случай также встречается достаточно часто и соответствующие вирусы будем называть бутовыми); MBR - таблицу разделов винчестера (фактически это частный случай предыдущего и такая стратегия заражения может использоваться только применительно к винчестеру, т.е. комбинироваться с предыдущей); драйвер; объектный модуль; библиотеку компилятора; BAT-файл; исходный текст программы на алгоритмическом языке (в расчете на его компиляцию); промежуточный код некоторого достаточно распространенного интерпретируемого языка, например dBase или Clipper. Поэтому необходим постоянный контроль за целостностью информации, содержащейся в элементах перечисленных типов. Проще всего этот контроль выполнять с помощью специальной программы-ревизора.Что касается места, где вирус может расположить свою голову, то для существующих вирусов характерны следующие: область стека некоторой системной программы (RC-0-346.LEH); начало, конец или середина исполняемого файла; бут-сектор; MBR.
Поскольку хвост вируса не должен получать управление непосредственно, количество мест его расположения существенно больше, и здесь многое зависит от изобретательности автора вируса. Сегментация в настоящее время характерна только для бутовых вирусов, и применительно к ним можно отметить следующие варианты расположения хвоста: один или группа кластеров, помеченных как сбойные (самый распространенный вариант); неиспользуемые блоки нулевой дорожки винчестера после MBR; неиспользуемые блоки системных таблиц, таких как FAT, главный каталог или один из подкаталогов и т.д.; специально созданный файл с атрибутами HIDDEN и/или SYSTEM; "хвосты" последних, заполненных частично, кластеров имеющихся файлов (например, системных); "дополнительные" дорожки на дискете или винчестере (например, 40 и более старшие дорожки дискеты).
Для файловых вирусов сегментация может использоваться для размещения хвоста в неиспользуемых секторах последнего кластера файла, однако такой способ в настоящее время применяется только в вирусе RC-0-512.DAV и, как оказалось, обладает существенными недостатками. В частности, команда COPY MS DOS не копирует информацию из неиспользуемых секторов последнего кластера. В результате при копировании зараженного файла хвост вируса теряется и скопированная программа становится неработоспособной (при этом вирус сохраняет работоспособность и запуск такой "урезанной" программы приведет к его успешной инсталляции в оперативной памяти).