Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция. Проблема вирусного заражения программ,...doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
136.19 Кб
Скачать

3. Макровирусы

Макровирусы представляют собой вредительские программы, написанные на макроязыках, встроенных в текстовые редакторы, электронные таблицы и др. Наибольшее распространение получили макровирусы для MicrosoftWord, Excel и Office. Для своего размножения такие вирусы используют возможности макроязыков и при их помощи переносят себя из одного зараженного файла (документа или таблицы) в другие.

Для существования вирусов в конкретной системе (редакторе) необходимо, чтобы встроенный в нее макроязык, имел следующие возможности:

• привязку программы на макроязыке к конкретному файлу;

• копирование макропрограмм из одного файла в другой;

• получение управления макропрограммой без вмешательства пользователя.

Таким условиям отвечают редакторы MS Word, MS Office, Ami Pro, табличный процессор MS Excel. В этих системах используются макроязыки Word Basic и Visual Basic.

Эта особенность макроязыков предназначена для автоматической обработки данных в больших организациях или в глобальных сетях и позволяет организовать так называемый "автоматизированный документооборот". С другой стороны, возможности макроязыков таких систем позволяют вирусу переносить свой код в другие файлы и заражать их.

Большинство макровирусов являются резидентными: они активны не только в момент открытия/закрытия файла, но до тех пор, пока активен сам редактор.

При выполнении определенных действий над файлами, содержащими макропрограммы (открытие, сохранение, закрытие и т. д.), автоматически выполняются макропрограммы файлов. При этом управление получают макровирусы, которые сохраняют активность до тех пор, пока активен соответствующий редактор (процессор). Поэтому при работе с другим файлом в зараженном редакторе (процессоре), он также заражается. Здесь прослеживается аналогия с резидентными вирусами по механизму заражения.

Для получения управления макровирусы, заражающие файлы MS Office, как правило, используют один из приемов:

1) в вирусе имеется автомакрос (выполняется автоматически, при открытии документа, таблицы);

2) в вирусе переопределен один из стандартных макросов, который выполняется при выборе определенного пункта меню;

3) макрос вируса автоматически вызывается на выполнение при нажатии определенной клавиши или комбинаций клавиш.

Первый макровирус WinWord. Concept, поражающий документы Word, появился летом 1995 года. Вредительская функция этого вируса заключается в изменении формата документов текстового редактора Word в формат файлов стиле й. Другой макровирус WinWord Nuclear уже не столь безобиден. Он дописывает фразу с требованием запрещения ядерных испытаний, проводимых Францией в Тихом океане. Кроме того, этот вирус ежегодно 5 апреля пытается уничтожить важные системные файлы.

Принципы работы. При работе с документом Word выполняет различные действия: открывает документ, сохраняет, печатает, закрывает и т. д. Существует также несколько автомакросов, автоматически вызываемых при различных условиях.

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

Большинство известных Word-вирусов при запуске переносят свой код (макросы) в область глобальных макросов документа ("общие" макросы), для этого они используют команды копирования макросов MacroCopy, Organizer.Copy либо при помощи редактора макросов. Вирус вызывает его, создает новый макрос, вставляет в него свой код, который и сохраняет в документе. При выходе из 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 автоматически подгружает файлы-темплейты из этого каталога, но такие вирусы пока не встречались.

Методы размножения Excel-вирусов (включая Excel) в целом аналогичны методам Word-вирусов. Различия заключаются в командах копирования макросов (например, Sheets.Copy) и в отсутствии NORMAL.DOT, его функцию (в вирусном смысле) выполняют файлы в STARTUP-каталоге Excel.