Алгоритм работы Word-макровирусов

Большинство известных Word-вирусов (версий 6, 7 и Word 97) при запуске переносят свой код (макросы) в область глобальных макросов документа ("общие" макросы), для этого они используют команды копирования макросов MacroCopy, Organizer. Сору либо при помощи редактора макросов. Вирус вызывает его, создает новый макрос, вставляет в него свой код, который и сохраняет в документе.

При выходе из Word глобальные макросы (включая макросы вируса) автоматически записываются в DOT-файл глобальных макросов (обычно это NORMAL.DOT). Таким образом, при следующем запуске Word вирус активизируется в тот момент, когда WinWord грузит глобальные макросы, т. е. сразу.

Затем вирус переопределяет (или уже содержит в себе) один или несколько стандартных макросов (например, FileOpen, FileSave, FileSaveAs, FilePrint) и перехватывает команды работы с файлами. При вызове этих команд вирус заражает файл, к которому идет обращение. Для этого вирус конвертирует файл в формат Template (что делает невозможным дальнейшие изменения формата файла, т. е. конвертирование в какой-либо не-Template-формат) и записывает в файл свои макросы, включая автомакрос.

Таким образом, если вирус перехватывает макрос FileSaveAs, то заражается каждый DOC-файл, сохраняемый через перехваченный вирусом макрос. Если перехвачен макрос FileOpen, то вирус записывается в файл при его считывании с диска.

Второй способ внедрения вируса в систему используется значительно реже. Он базируется на так называемых Add-in-файлах, т. е. файлах, являющихся служебными дополнениями к Word. В этом случае NORMAL.DOT не изменяется, a Word при запуске загружает макросы вируса из файла (или файлов), определенного как Add-in. Этот способ практически полностью повторяет заражение глобальных макросов за тем исключением, что макросы вируса хранятся не в NORMAL.DOT, а в каком-либо другом файле.

Возможно также внедрение вируса в файлы, расположенные в каталоге STARTUP. Word автоматически подгружает файлы-темплейты из этого каталога, но такие вирусы пока не встречались.

Рассмотренные выше способы внедрения в систему представляют собой некоторый аналог внедрения резидентных DOS-вирусов. Макровирусы, которые не переносят свой код в область системных макросов можно рассматривать аналогом нерезидентных вирусов. Для заражения других файлов-документов они либо ищут их при помощи встроенных в Word функций работы с файлами, либо обращаются к списку последних редактированных файлов (Recently used file list). Затем такие вирусы открывают документ, заражают его и закрывают.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: