DOC, Microsoft Word проверяет его содержимое на присутствие макроса AutoOpen. При наличии такого макроса Word выполняет его. Когда мы закрываем документ, автоматически выполняется макрос AutoClose.
Запускаем Word – автоматически вызывается макрос AutoExec, завершаем работу – AutoExit.
Макровирусы, поражающие файлы Office, как правило, действуют одним из трех способов.
Автомакрос присутствует (и, соответственно, выполняется) в самом вирусе.
Вирус переопределяет один из стандартных системных макросов (ассоциированный с каким-либо пунктом меню).
Макрос вируса запускается, если пользователь нажимает какую-либо клавишу/сочетание клавиш. Получив управление, такой вирус заражает другие файлы – обычно те, которые в данный момент открыты.
Продолжим наше знакомство с классификацией.
По способу заражения вирусы делятся на:
перезаписывающие (overwriting);
паразитические (parasitic);
вирусы-компаньоны (companion);
вирусы-ссылки (link);
вирусы, заражающие объектные модули (OBJ);
вирусы, заражающие библиотеки компиляторов (LIB);
вирусы, заражающие исходные тексты программ.
Рассмотрим каждый из перечисленных типов подробнее.
Перезаписывающие вирусы. Вирусы данного типа характеризуются тем, что заражают файлы путем простой перезаписи кода программы. «Стиль» работы такого вируса можно назвать достаточно грубым, так как перезаписанная программа (файл) перестает работать, к тому же из-за особенностей своей «вероломной» работы вирусы подобного рода легко обнаружить.
Паразитические вирусы. Особенностью паразитических вирусов является их способ заражения файлов, а именно: вирус просто «вклинивается» в код файла, не нарушая его работоспособность.
Такие вирусы можно разделить по способу внедрения в тело файла.
В начало файлов (prepending):
• когда вирус копирует начало заражаемого файла в его конец, а сам при этом копируется в освободившееся место;
• вирус просто дописывает заражаемый файл к своему коду.
В середину файлов (inserting). При таком способе заражения вирус просто "раздвигает" файл и записывает свой код в свободное место. Некоторые из вирусов при таком способе заражения способны сжать перемещаемый блок файла, так что конечный размер файла будет идентичным тому, который был до заражения.
Возможен и другой вариант внедрения в середину файла – так называемый метод "cavity", при котором вирус записывает свое тело в неиспользуемые области файла. Такими неиспользуемыми, "пустыми" областями могут быть области заголовка EXE-файла, "пробелы" между секциями EXE-файлов либо область текстовых сообщений компилятора.
В конец файлов (appending). Внедрение вируса в конец файла подразумевает, что вирусный код, оказавшись в конце файла, изменяет начало файла, так что первыми выполняются команды вируса. Это достигается путем коррекции стартового адреса программы (адрес точки входа) в заголовке файла.
EPO-вирусы – вирусы без точки входа. Особую группу вирусов представляют так называемые вирусы без «точки входа» (EPO-вирусы – Entry Point Obscuring viruses). Такие вирусы при заражении файла не изменяют адрес точки старта. Как же они работают, ведь в любом случае вирус должен получить управление? Все дело в том, что такие вирусы записывают команду перехода на свой код в середине файла. Стартуют такие вирусы не при запуске зараженного файла, а при вызове определенной процедуры, передающей управление на тело вируса. Запуск такой процедуры может произойти в редких случаях, в результате чего вирус может ждать внутри файла многие годы.
Вирусы-двойники. К данной категории относят вирусы, создающие для заражаемого файла файл-двойник. Алгоритм работы в данном случае обычно таков.
1. При заражении вирус переименовывает файл-жертву.
2. Записывает свой код на место зараженного файла под его именем.
3. Получив управление, вирус запускает оригинальный системный файл.
Скрипт-вирусы, как оно и следует из названия, написаны на различных языках сценариев, таких, например, как VBS, JS, BAT, PHP и т. д. Вирусы данного типа не являются исполняемыми файлами формата EXE, их код скорее похож на команды, выполняемые другими программами, виртуальной DOS-машиной и т. д.
Троянские кони
К данному типу относят программы, в основном специализирующиеся на воровстве паролей и другой конфиденциальной информации, удаленном управлении и т. д. Более подробно о троянских конях читайте в разд. 4.3.
Рис. 4.3. «Антивирус Касперского 7.0» распознал mac2006 (инструмент для подмены mac-адреса) как самый настоящий Hack-Tool!
Руткиты
Сам термин «rootkit» был заимствован из UNIX-среды. Понятие rootkit использовалось для описания инструментов, применяемых для взлома – получения прав root.