В этой статье речь пойдет о макровирусах, в частности, о тех представителях этого многочисленного семейства, которые поражают документы Word.

Пользователи ПК зачастую недооценивают макровирусы, не учитывая, что макрос, написанный,например, на языке VBA и интегрированный в документ Word или Excel, обладает всеми теми же возможностями, что и обычная программа. Он может отформатировать ваш винчестер, удалить любые файлы по выбору, скопировать какую-либо конфиденциальную информацию (например, пароли) и отправить ее по электронной почте и т.д.

Макровирусы - это программы, написанные на так называемых макроязыках, встроенных в некоторые системы обработки данных (текстовые и графические редакторы, электронные таблицы и т.д.). Для своего размножения такие вирусы используют возможности макроязыков, они переносятся от одного зараженного файла к другому. Наибольшее распространение получили макровирусы для Microsoft Word, Excel. Макровирусы получают управление при открытии или закрытии зараженного файла, перехватывают стандартные файловые функции и затем заражают файлы, к которым каким-либо образом идет обращение. Большинство макровирусов являются резидентными вирусами: они активны не только в момент открытия или закрытия файла, но до тех пор, пока активен сам текстовый или табличный редактор (а некоторые могут оставаться в оперативной памяти до выключения ПК!). Легкость создания макровирусов поражает воображение,все находится буквально под рукой: достаточно запустить Word, выбрать меню Сервис -> Макрос -> Редактор Visual Basic -> и запустится программная среда VBA (Visual Basic for Application)!

Принцип работы макровирусов

При работе с документом MS Word выполняет различные действия: открывает документ, сохраняет, печатает, закрывает и т. д. При этом Word ищет и выполняет соответствующие встроенные макросы: при сохранении файла по команде Файл - Сохранить вызывается макрос FileSave, при сохранении по команде Файл -> Сохранить как... -> FileSaveAs, при печати по команде Печать... —> FilePrint и т. д. Существуют также несколько макросов, автоматически вызываемых при возникновении соответствующих ситуаций. Например,при открытии документа Word проверяет его на наличие макроса AutoOpen. Если такой макрос присутствует, то Word выполняет его. При закрытии документа Word выполняет макрос AutoClose, при запуске Word вызывается макрос AutoExec, при завершении работы - AutoExit, при создании нового документа - AutoNew (похожие механизмы, но с другими именами макросов, используются и в Excel).

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

1) в вирусе присутствует автомакрос;

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

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

4) вирус начинает размножаться только в том случае, если пользователь запускает его на выполнение.

Основной механизм заражения такой: когда мы открываем зараженный документ Word, макровирус копирует свой код в область глобальных макросов документа. А при выходе из Word'a глобальные макросы (включая макросы вируса) автоматически записываются в dot-файл глобальных макросов (шаблон Normal.dot).

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

Как обнаружить макровирусы

Характерными признаками присутствия макровирусов являются:

1) невозможность сохранения зараженного документа Word в другой формат (по команде Сохранить как...);

2) невозможность записи документа в другой каталог или на другой диск командой Сохранить как...;

3) невозможность сохранения внесенных изменений в документ (команда Сохранить);

4) недоступность вкладки Уровень безопасности (меню Сервис - Макрос - Безопасность...);

5) так как многие вирусы написаны с ошибками (или некорректно работают в различных версиях пакета Microsoft Office), то возможно появление соответствующих системных сообщений с кодом ошибки;

6) другие «странности» в поведении документов Word;

7) зачастую макровирусы можно обнаружить визуально. Дело в том, что большинство вирусописателей отличаются тщеславием: в свойствах файла Word (окно Свойства вызывается по щелчку правой кнопки мыши - выбрать из контекстного меню Свойства) на вкладке Сводка заполняют поля ввода (Название, Тема, Автор, Категория, Ключевые слова и Комментарий). Эту информацию (как правило, в макровирусах она пишется смесью латиницы с кириллицей и включает - в числе прочего - некоторые бессмысленные слова, типа муниципализмо и т.д.) можно увидеть при наведении указателя мыши на значок файла Word - она появляется во всплывающей подсказке и внизу слева в папке, в окошке Подробно (если включено Использование типичных задач для папок).

Лечение зараженных файлов

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

Можно также воспользоваться загрузочным «аварийным» диском, содержащим антивирус со свежими базами (предварительно в BIOS нужно установить загрузку с CD-ROM'a). Загрузить антивирус, просканиро-вать винчестер, найденные вирусы будут обезврежены.

Если антивирус не смог вылечить файл, зараженный макровирусом (что бывает очень и очень редко!), или приходится временно работать на ПК без установленного антивируса, или нет под руками загрузочного «аварийного» диска, а зараженный документ Word'а содержит ценную информацию и необходим, как воздух, - есть очень эффективный способ ручного лечения.

1. Сохраняем (не открывая!) документ Word в формате .rtf (rich textformat), т.е. нужно поменять расширение файла .doc на .rtf. Для этого нужно запустить Проводник Windows, открыв любую папку, например, щелкнув по значку Мой компьютер. Выберите меню Сервис -> Свойства папки... В открывшемся диалоговом окне Свойства папки откройте вкладку Вид. В прокручиваемом списке Дополнительные параметры снимите флажок со строки Скрывать расширения для зарегистрированных типов файлов. Нажмите ОК.

2. Найдите файл, который нужно вылечить. Теперь в его названии отображается расширение .doc. Поменяйте в названии файла расширение .doc на .rtf (текстовый формат .rtf позволит сохранить всю необходимую информацию, включая текст, рисунки, таблицы; при этом VBA-надстройка файла, в которой гнездятся макровирусы, будет вычищена от программного кода макровируса). Появится предупреждение системы: «После смены расширения имени файла этот файл может оказаться недоступным. Вы действительно хотите изменить расширение? Да/Нет». Санкционируйте смену расширения, нажав Да.

3. Далее нужно удалить зараженный шаблон Normal, dot (после лечения шаблон Normal .dot будет создан заново при очередном запуске Word ) и другие зараженные шаблоны *.dot в следующих папках (для Windows ХР):

1) \Documents and Settings\Имя_пользователя\ Application Data\Microsoft\Шaблoны

2) \Documents and Settings\Имя_пользователя\ Application Data\Microsoft\Word\STARTUP

3) \Documents and Settings\Имя_пользователя\Шаблоны (учтите, что папка Application Data-скрытая, поэтому в меню Сервис -> Свойства папки... -> Вид -> нужно поставить переключатель Показывать скрытые файлы и папки).

Расположение шаблонов для Windows 98/МЕ:

1) \WINDOWS\Application Data\Microsoft\Шаблоны

2) \WINDOWS\Application Data\Microsoft\Word\ STARTUP

Расположение шаблонов для Windows Vista:

1) \User\Имя_пользователя\Арр0а1а\Roaming\ Microsoft\Шабл0ны

2) \User\Имя_пользователя\Арр0а1а\Roaming\ Microsoft\Word\STARTUP

4. Меняем расширение файла .rtf на .doc. Устанавливаем обратно флажок Скрывать расширения для зарегистрированных типов файлов (Мой компьютер -> Сервис -> Свойства папки... -> Вид -> Дополнительные параметры): это нужно для того, чтобы у вас в дальнейшем не было неудобств с переименованием файлов. Работаем с файлом по обычной схеме.

Внимание!

В результате этих действий мы удалим макровирус из зараженного файла и Word'a, но он может остаться в других документах Word. Поэтому перед запуском других документов нужно просканировать систему антивирусным сканером (или продолжить ручное лечение, что является очень трудоемким занятием!).

Как защититься от макровирусов

1. Пользуйтесь надежными антивирусными программами с регулярно (не менее одного раза в неделю!) обновляемыми базами.

2. Не полагайтесь на антивирусный монитор: всегда перед копированием и открытием проверяйте антивирусным сканером все исполняемые файлы и документы (особенно файлы на дискетах, флешки, компакт-диски, полученные по Интернету).

3. Почаще делайте так называемый «бэкап», храните копии наиболее ценной информации на разных носителях (например, диски CD-RW, флешки и т.д.).

4. Если вы работаете на ПК без антивируса, то рекомендуется сохранять и переносить Word'овские файлы в формате .rtf.

5. Найдите шаблон Normal.dot, щелчком правой кнопки мыши вызовите контекстное меню, установите атрибут Только чтение -> ОК. Это защитит шаблон от перезаписи (и заражения) макровирусами.

6. Имейте в виду, что рекомендуемый некоторыми авторами запрет запуска макросов (меню Сервис -> Макрос -> Безопасность... -> диалоговое окно Безопасность -> вкладка Уровень безопасности -> Очень высокая -> ОК) является полумерой, так как при этом не запрещается запуск макросов со стандартными именами (FileOpen, FileSave, FileSaveAs, FilePrint, AutoExec), то есть остается лазейка для макровирусов.