Нерезидентный и резидентный файловый вирус

Нерезидентный и резидентный файловый вирус

Нерезидентный файловый вирус ищет программы обычно с помощью переменных среды DOS. Резидентный вирус при инициализации перехватывает и контролирует некоторые прерывания DOS в соответствии с механизмом поиска программ (при запуске, открытии, чтении, записи) обычно перехватываются 21h и 13h прерывания DOS. Заражение .com и .ехе файлов производится по схемам, различающимся лишь числом байт, изменяемых в начале выполняемого модуля, и связанным с различной структурой файлов данного типа. Распознавание типа модулей вирусом обычно производится по расширению файла и по идентификатору (в .ехе модуле первые 2 байта обычно mz, реже zm).

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

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

Разумеется, файловые вирусы используют и другие механизмы взаимодействия с программными модулями. Например, так называемые вирусы-компаньоны (они заражают .ехе модули) не изменяют заражаемого модуля, а используют свойство операционной системы, заключающееся в том, что из нескольких выполняемых модулей с одинаковыми именами DOS в первую очередь выполняет при запуске по имени модуль с расширением сот, т. е. вирус записывает в каталог, содержащий заражаемый .ехе файл свой код в модуль с тем же именем, но с расширением сот.

Другим примером служат так называемые link-вирусы, представителем которых является печально известный DIR II. Вирус хранит на диске только одну свою копию, а при заражении выполняемых модулей лишь прописывает в соответствующем разделе fat таблицы вместо номера начального кластера файла физический адрес начала вируса на диске.

Яндекс.Метрика