Макровирусы

В предыдущей своей статье (КВ №44, "Сетевые черви") я рассказал о сетевых червях и методах защиты от них. Но существуют и другие классы вирусов. Например, макровирусы. По распространенности на сегодня они уступают только сетевым червям (не совсем корректная фраза, так как некоторые макровирусы являются сетевыми червями).

Некоторые пользователи пренебрежительно относятся к макровирусам, полагая, что серьезных неприятностей они доставить не могут. Однако макровирус может, например, рассылать свои копии по электронной почте, форматировать жесткие диски.

Большинство макровирусов написано для офисных продуктов Microsoft. Причины этого две. Первая - язык VBA (Visual Basic for Applications), который используется для написания макросов в Word и Excel, предоставляет средства, достаточные для создания вредоносных программ. Вторая - многие используют Microsoft Office, обмен документами довольно интенсивен. Это позволяет вирусам успешно распространяться. Хотя существуют макровирусы и для других программ (например, для AmiPro), но найти их сегодня можно разве что в коллекциях производителей антивирусов, и реальной опасности для пользователя они не представляют. Поэтому, говоря о макровирусах, я буду подразумевать макровирусы для офисных продуктов Microsoft.

Макровирус, получив управление, вносит изменения в стандартные для офисной программы макрокоманды (например, FileOpen, FileSave, FileSaveAs) и перехватывает, таким образом, операции работы с файлами. Когда вызываются эти команды, вирус заражает файл, к которому идет обращение. Таким образом, все документы, с которыми пользователь работает на инфицированной машине, становятся зараженными.

Макровирус переносит свои команды в область глобальных макросов. После заражения, например, Word файл normal.dot будет содержать код вируса.

 

Файл normal.dot можно использовать для обнаружения макровируса. Для этого нужно сделать копию normal.dot и отслеживать изменения последнего. Если normal.dot изменился, а в настройки Word изменения не вносились, то можно предположить, что в системе поселился макровирус. В таком случае измененный normal.dot следует заменить копией и провести проверку компьютера антивирусом.

Есть мнение, что установленный для normal.dot атрибут read only не позволит макровирусу заразить систему. Но это не поможет в случае, если вирус проверяет атрибуты файла и устанавливает нужные.

Следует заметить, что Word при старте автоматически подгружает все шаблоны из каталога C:\Documents and Settings\user.domain\Application Data\Microsoft\Шаблоны\. Это путь для Word из русского Office XP, установленного в Windows XP. Для различных комбинаций версий Office и Windows пути отличаются. Найти требуемый можно, поискав файл normal.dot. Очередной макровирус может не изменять normal.dot, а создавать в упомянутом каталоге свой файл. Но большинство существующих макровирусов для Word все-таки изменяют normal.dot.

Несколько иначе обстоит дело с Excel, который при старте подгружает все шаблоны из каталога C:\Documents and Settings\user.domain\Application Data\Microsoft\Excel\XLSTART\. По умолчанию в этом каталоге файлов нет, поэтому существующие макровирусы создают новые файлы.

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

Защититься от макровирусов можно, установив в Word в пункте меню Сервис\Параметры\Безопасность\Защита от макросов (в Excel аналогичная настройка называется Безопасность макросов) уровень безопасности "Средняя" или "Высокая". В последнем случае разрешается запуск только подписанных макросов из надежных источников. Надежные источники можно указать на соседней закладке. Я предпочитаю сам определять, отключать макросы в документе или нет. Это можно делать, установив уровень безопасности "Средняя". При этом уровне безопасности при открытии содержащего макросы документа будет появляться предупреждающее сообщение и можно будет отказаться от выполнения макрокоманд. Подавляющее большинство документов макросов не содержит, поэтому соглашайтесь выполнять макрокоманды только в том случае, если уверены, что они должны быть в документе. Большинство макровирусов, получив управление, отключают защиту от макросов.

Входящие в состав Office 97 и Office 2000 версии Word содержат уязвимости, из-за которых макрокоманда может выполниться без запроса пользователя при включенной защите от макросов. Подробнее об этих ошибках можно прочитать в Microsoft Knowledge Base, статьи Q214652 и Q288266. В Word из Office XP эта ошибка исправлена. Исправить эту ошибку в более ранних версиях Word можно патчами:

Microsoft Word 97 SR2: download.microsoft.com/download/word97win/Patch/ 4.71.1015.0/W98NT42KMe/EN-US/wd97mcrs.exe;

Microsoft Word 2000 SR1a: download.microsoft.com/download/word2000/wd2kmse/1/ WIN98Me/EN-US/wd2kmsec.exe. Внимание! Патчи только для указанных версий Word (Service Release). Ссылки на заплатки для других версий Word можно найти на www.securityfocus.com/bid/2876/solution.

В заключение напомню: если при открытии документа нажать и удерживать клавишу Shift, макросы выполняться не будут.

Максим ГОРБАЧЕВ,
ОДО "ВирусБлокАда",
mg@vba.com.by

Версия для печатиВерсия для печати

Номер: 

49 за 2003 год

Рубрика: 

Защита информации
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!