Файловые вирусы могут внедряться только в исполняемые файлы: командные файлы (файлы, состоящие из команд операционной системы), саморазархивирующиеся файлы, пользовательские и системные программы в машинных кодах, а также в документы (таблицы), имеющие макрокоманды (макросы).
Для IBM – совместимых ПЭВМ вирус может внедряться в файлы следующих типов: командные файлы (BAT), загружаемые драйверы (SYS), программы в машинных (двоичных) кодах (EXE, COM), документы Word (DOC) с версии 6.0 и выше, таблицы EXCEL (XLS). Макровирусы могут внедряться и в другие файлы, содержащие макрокоманды.
Файловые вирусы могут размещаться в начале, середине и конце заражаемого файла.
Независимо от места расположения вируса в теле зараженного файла после передачи управления файлу первыми выполняются команды вируса.
В начало файла вирус внедряется одним из трех способов:
первый – заключается в переписывании файла в его конец, а на освободившееся место записывается вирус;
второй – предполагает считывание вируса и зараженного файла в оперативную память, объединение их в один файл и запись его на место файла;
|
|
третий – вирус записывается в начало файла без сохранения содержимого (в этом случае зараженный файл становится неработоспособным).
В середину файла вирус также может быть записан различными способами:
первый – файл может «раздвигаться», а в освободившееся место может быть записан вирус;
второй – вирус может внедряться в середину файла без сохранения участка файла, на место которого помещается вирус;
третий – (вирус «Mutant») применяет метод сжатия отдельных участков файла, при этом длина файла после внедрения вируса может не измениться.
Чаще всего вирус внедряется в конец файла, при этом первые команды файла заменяются командами перехода на тело вируса.
Алгоритм работы файлового вируса может быть следующим:
1) резидентный вирус проверяет, заражена ли оперативная память, и при необходимости заражает ее. Нерезидентный вирус ищет незараженные файлы и заражает их;
2) выполняются действия по сохранению работоспособности программы, в файл которой внедряется вирус (восстановление первых байт программы, настройка адресов программ и т.д.);
3) осуществляется деструктивная функция вируса, если выполняются соответствующие условия;
4) передается управление программе, в файле которой находится вирус.
Для существования макровирусов (вирусы, написанные на макроязыках, встроенные в текстовые редакторы, электронные таблицы и др.) в конкретной системе (редакторе) необходимо, чтобы встроенный в нее макроязык имел следующие возможности:
- привязку программы на макроязыке к конкретному файлу;
|
|
- копирование макропрограмм из одного файла в другой;
- получение управления макропрограммой без вмешательства пользователя.
Таким условиям отвечают редакторы MS Word, MS Office, Ami Pro, табличный процессор MS Excel (в этих системах используются макроязыки Word Basic и Visual Basic).
При выполнении определенных действий над файлами, содержащими макропрограммы (открытие, сохранение, закрытие и т.д.) автоматически выполняются макропрограммы файлов. При этом управление получают макровирусы, которые сохраняют активность до тех пор, пока активен соответствующий редактор (процессор). Поэтому при работе с другим файлом в «зараженном редакторе (процессоре)» он также заражается.