которые тем самым будут защищены от заражения данным типом вируса.
В этом случае вакцинирование является необратимым в том смысле,
что восстановить первоначальное значение секунд не удастся, хотя
они, конечно, могут быть сброшены.
Активные вакцины являются резидентными программами, действие ко-
торых обычно основано на имитации присутствия вируса в оперативной
памяти. Поэтому они обычно применяются против резидентных вирусов.
Если такая вакцина находится в памяти, то когда при запуске зара-
женной программы вирус проверяет, находится ли уже в оперативной
памяти его копия, вакцина имитирует наличие копии. В этом случае
вирус просто передает управление программе-хозяину, и его инстал-
ляция не происходит. Простейшие вакцины представляют собой выде-
ленный и слегка модифицированный (лишенный способности к размноже-
нию) вирус. Поэтому они могут быть оперативно изготовлены, быст-
рее, чем программы-фаги. Более сложные вакцины (поливакцины) ими-
тируют наличие в оперативной памяти нескольких вирусов.
Конечно, приведенный список не исчерпывает всего многообразия
антивирусных программ, хотя и охватывают основные их разновидно-
сти. Каждая из антивирусных программ подобна узкому специалисту в
определенной области, поэтому оптимальной тактикой является комп-
лексное применение нескольких типов антивирусных средств. Более
подробно вопросы применения антивирусных средств рассмотрены в
главе 10. Список отечественных антивирусных средств, распространя-
емых бесплатно и опубликованных в бюллетене СОФТПАНОРАМА, приведен
в прил. 5.
2.6. Жизненный цикл компьютерных вирусов
"Где начало того конца,
которым оканчивается начало ?"
Козьма Прутков
Следует различать два основных действия (фазы), выполняемые ком-
пьютерным вирусом: размножение и проявление. Размножение обычно
является первым и обязательным действием вируса при получении им
управления. Фаза проявления, на которой выполняются несанкциониро-
ванные действия, может чередоваться с размножением, начинаться
через определенный (инкубационный) период или при сочетании неко-
торых условий. Она может заключаться в изощренных визуальных или
звуковых эффектах, включать или исключительно состоять из нанесе-
ния повреждений файловой системе. Повреждения могут быть массиро-
ванными, когда например, стирается FAT и другие системные блоки,
или наоборот, распределенными, когда довольно часто выполняются
небольшие, трудно обнаруживаемые повреждения. У ряда вирусов фаза
проявления отсутствует, т.е. помимо размножения они никаких несан-
кционированных действий не выполняют. В то же время, любой вирус
обладает рядом побочных эффектов, которые не были предусмотрены
при создании вируса, но которые фактически относятся к его прояв-
лениям. Наиболее частым побочным эффектом является зависание опе-
рационной системы или потеря работоспособности некоторых (чаще
всего резидентных) программ. Другим важным побочным эффектом явля-
ется появление некоторых "необъяснимых" сообщений операционной
системы. Например, если при попытке запуска программы с защищенной
дискеты появлется хорошо знакомое любому пользователю MS DOS со-
общение Abort, Retry..., то это должно настораживать.
Наряду с указанными действиями, вирус может обладать определен-
ной латентной фазой, в течение которой никаких действий по своему
размножению или проявлению не предпринимается. Латентная фаза мо-
жет быть обусловлена определенным временным периодом (например,
определенным месяцем или годом), конфигурацией (например, вирус
может активизироваться только при попадании на винчестер) или ап-
паратными особенностями (например, только на клонах IBM PC).
Длина пути от первоначально зараженной программы до программы, в
которой этот вирус был впервые обнаружен, может быть довольно
большой. Практика показывает, что обычно в качестве первичного но-
сителя вируса выступает популярная игровая программа или новая
версия популярного программного продукта. Вопросы использования
программных средств, затрудняющих или делающих невозможным размно-
жение вируса, рассматриваются ниже.
2.7. Среда обитания вирусов
Как уже указывалось выше, структурно компьютерный вирус можно
представить состоящим из двух частей: головы и хвоста.
Поскольку голова вируса так или иначе должна получить управле-
ние, "среда обитания" головы компьютерного вируса может распола-
гаться только в прямо или косвенно исполняемых программах. Не сле-
дует бояться, что вирус может быть перенесен через файл данных.
Применительно к MS DOS для получения управления вирус должен
встроить свою голову в: загрузочные модули, такие как СOM-файлы,
EXE-файлы, оверлейные фазы сегментированных программ (это наиболее
распространенный случай и соответствующий тип вирусов будем назы-
вать файловыми); бутсектор (этот случай также встречается доста-
точно часто и соответствующие вирусы будем называть бутовыми);
таблицу разделов винчестера (Partition Table), в начале которой
содержится так называемый Master Boot (фактически это частный слу-
чай предыдущего и такая стратегия заражения может использоваться
только применительно к винчестеру, т.е. комбинироваться с предыду-
щей); драйвер; объектный модуль; библиотеку компилятора; BAT-
файл; исходный текст программы на алгоритмическом языке (в расчете
на его компиляцию); промежуточный код некоторого достаточно рас-
пространенного интерпретируемого языка, например dBASE или
CLIPPER. Поэтому необходим постоянный контроль за целостностью ин-
формации, содержащейся в элементах перечисленных типов. Проще все-
го этот контроль выполнять с помощью специальной программы-ревизо-
ра.
Что касается места, где вирус может расположить свою голову, то
для существующих вирусов характерны следующие: область стека неко-
торой системной программы (RC-0-346); начало, конец или середина
исполняемого файла; бутсектор; MBR.
Поскольку хвост вируса не должен получать управление непосредст-
венно, количество мест его расположения существенно больше и здесь
многое зависит от изобретательности автора вируса. Сегментация в
настоящее время характерна только для бутовых вирусов, и примени-
тельно к ним можно отметить следующие варианты расположения
хвоста: один или группа кластеров, помеченных как сбойные (самый
распространенный вариант); неиспользуемые блоки нулевой дорожки
винчестере после MBR; неиспользуемые блоки системных таблиц, таких
как FAT, главный каталог или один из подкаталогов и т.д.; специ-
ально созданный файл с атрибутами HIDDEN и/или SYSTEM; "хвосты"
последних, заполненных частично, кластеров имеющихся файлов (на-
пример, системных); "дополнительные" дорожки на дискете или винче-
стере (например, 40 и более старшие дорожки дискеты).
Для файловых вирусов сегментация может использоваться для разме-
щения хвоста в неиспользуемых секторах последнего кластера файла,
однако такой способ в настоящее время применяется только в вирусе
RC-0-512 и, как оказалось, обладает существенными недостатками. В
частности, команда COPY MS DOS не копирует информацию из неисполь-
зуемых секторов последнего кластера. В результате при копировании
зараженного файла хвост вируса теряется и скопированная программа
становится неработоспособной.
2.8. Симптомы заражения
"Если на клетке слона прочтешь над-
пись"буйвол", не верь глазам своим"
Козьма Прутков
Существуют определенные признаки, указывающие на поражение про-
граммы или диска вирусами. Помимо очевидных, связанных с демонст-
рационным эффектом, характерным для данного вируса, к ним можно
отнести следующие: изменение длины командного процессора
(COMMAND.COM); выдача сообщений типа WRITE PROTECT ERROR при чте-
нии информации, при загрузке программ с защищенных от записи дис-
кет; изменение длины и/или даты создания программы (их рекоменду-
ется просматривать с помощью Norton Commander или другой оболочки,
непосредственно интерпретирующей содержимое каталогов); программа
выполняется медленнее, чем обычно; возрастание времени загрузки,
зацикливание при загрузке; необъяснимые обращения к дискетам или
файлам на защищенных разделах винчестра; потеря работоспособности
некоторых резидентных программ или драйверов; аварийное завершение
ранее нормально функционировавших программ; необъяснимые зависания
или перезагрузки системы; уменьшение объема системной памяти или
свободной памяти после загрузки. Резкое уменьшение доступной дис-
ковой памяти, хотя файлы не добавлялись и не удалялись; появление
новых сбойных кластеров, дополнительных скрытых файлов или других
изменений файловой системы (выявляются запуском CHKDSK или другой
подходящей утилиты);
Конечно, приведенные признаки носят эвристический характер и мо-
гут наблюдаться на "здоровых" компьютерах по причинам, совершенно
не связанным с вирусами. Тем не менее, появление каких-то аномалий
должно сразу настораживать пользователя. Если после перезагрузки с
защищенной дискеты некоторые из этих признаков исчезают, то есть
смысл провести более или менее полное тестирование с помощью про-
граммы ревизора (только не при загруженной с винчестера и возможно
зараженной операционной системе), а также визуально сравнить со-
держимое бутсектора и таблицы разделов с эталонными. Полезно также
просмотреть дамп программы (с помощью Norton Commander, PC Shell
или другой подходящей утилиты). Если в конце программы имеются по-
дозрительные текстовые строки или, наоборот, нет ни одной тексто-
вой строки, то такая программа заслуживает дополнительного иссле-
дования.
2.9. Вызываемые вирусами эффекты
"Однажды мои соседи обнаружили
у себя в квартире странные явле-
ния: каждую ночь что-то упорно
шелестело в мусорном ведре, и
каждое утро отходы обнаруживались
в самых не подходящих местах.
Стали исчезать картошка, лук...
Крысы! - мелькнула догадка."
Газета "Красная Пресня",
апрель 1990 г.
Как уже указывалось, компьютерные вирусы являются одной из раз-
новидностей компьютерного вандализма. Вызываемые вирусами эффекты
могут быть классифицированы по следующим основным категориям:
1) отказ в выполнении той или иной функции (например, блокирова-
ние вирусом RС-1701 загрузки программы с защищенной от записи дис-
кеты);
2) выполнение действий, не предусмотренных программой (например,
изменение данных в каком-то файле);
3) разрушение отдельных файлов, управляющих блоков или всей фай-
ловой системы в целом (форматирование диска, удаление файла и
т.д.);
4) выдача ложных, раздражающих или отвлекающих сообщений
(например, "Скажи бебе" или "Non system disk");
5) создание звуковых или визуальных эффектов (например, падение
букв в вирусе RС-1701, замедление выполнения программ в вирусе
RСЕ-1813, проигрывание мелодии в RCE-1805, движущийся на экране
ромбик в Bx1-1C и т.д.);
5) инициирование ошибок или сбоев в программе или операционной
системе (например, переполнение стека), перезагрузка или зависание
MS DOS;
6) блокирование доступа к системным ресурсам (разрастание зара-
женных файлов за счет их многократного повторного заражения, не-