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

Архитектура макровируса

В начале четкое определение: макровирус - вирус, способный размножаться и храниться сам по себе (без вмешательства юзверя), использующий макро-язык. Из определения следует, что макровирусы могут жить не только в документах Word'а, а в ЛЮБОМ офисном документе, в котором реализованы такие функции макро-языка, как копирование макросов и их сохранение. Вот почти полный список приложений, подверженных угрозе макрозаразы: Word (любой), Excel, AmiPro (это такой текстовый редактор), MS Visio, PowerPoint, MS Access и 1С. Как видишь число таких прог достаточно велико, а в Интернете часто можно встретить статьи, дающие определение макровирусам так:
"вирусы, заражающие файлы-документы в формате
WinWord". Недотепы какие-то писали!

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

Конечная цель любого макрозасранца - поиметь normal.dot (в нем хранятся все настройки шаблонов). Тогда все открываемые файлы будут заражены и твоим текстам придет каюк.
Word предоставляет несколько уровней безопасности: высокий, средний и низкий. Также он содержит встроенный механизм защиты от макроинфекции. Это по замыслу разработчиков должно действовать на макровирусы, как серебро на нечисть. Оно-то, может быть, и действует, если бы не одно "но". Именно из-за него я и не буду углубляться в различия между уровнями безопасности и во внутренние настройки Word'а. А смысл в том, что ВСЕ внутренние параметры security можно запросто МЕНЯТЬ через реестр. Благо макро-языки позволяют это
делать. Конкретный пути (где что искать) я прописывать не буду, дабы не соблазнять твои шаловливые ручки. Особо одаренные могут связаться со мной по мылу - сообщу, но "только с целью ознакомления с данной уязвимости программного обеспечения, для их ликвидации" 🙂

Если подвести черту, то структура макровируса имеет следующий вид:

1. Переопределяем какой-либо стандартный или автоматический полезный макрос так, чтобы он отключал защиту и исправлял уровень безопасности.
2. Добавляем туда заразу.
3. Проверяем, чтобы этот макрос был востребован, а зараза размножалась и обязательно прописывалась в Normal.dot

Все достаточно просто - именно из-за этого так много различных вариаций макротварей.

Убью голыми руками!

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

1. Создаешь свой собственный макрос с таким кодом:
Sub Main
DisableAutoMacros
End Sub
Сохраняешь это чудо под именем AutoExec и таким образом становишься неуязвим для автомакросов.

2. Манипулируешь с уровнями защиты - тогда Word при исполнении макросов будет спрашивать разрешения.

3. Не использовать формат doc. Ведь все можно поместить и в RTF - те же шрифты, оформление, таблицы, графику... А RTF не содержит макросов по определению. Все было бы идеально, но есть минус: при сохранении инфы в rtf-формате все рисунки автоконвертируются в bmp-формат. Этот графический формат весит столько, что врагу не пожелаешь. В результате, даже после архивации, проигрыш в размерах получившегося файла может привести к тому, что он просто не поместится на дискету (зависит, конечно, от количества картинок). Правда, если графики нет, то rtf - идеален.

Тяжелая артиллерия

Пора набраться смелости и убить макротварей раз и навсегда. Задача не так сложна для исполнения: нужен неинфицированный комп и последний дистрибутив Антивируса Касперского. Несколько лет назад Лаборатория Касперского разработала модуль под названием Office Guard. О нем то мы и поговорим. 

Обычно Office Guard не входит в состав пиратских дистрибутивов, однако при известной сноровке и его можно выискать. Что же это за штука? Вот что говорят о нем создатели:
"Office Guard представляет собой принципиально новую технологию для защиты от макровирусов и макротроянцев. В Office Guard, который рассчитан на опытных пользователей, реализован революционный подход к обеспечению антивирусной безопасности, базирующийся на принципах поведенческого блокиратора. В отличие от применяемых "классических" схем защиты против вирусов, построенных на базе обычного контекстного поиска, Office Guard решает проблему комплексно, исключая саму возможность функционирования на защищенном компьютере макровирусов. Office Guard различает макровирусы не по внешним признакам (наличие той или иной последовательности символов), а по их поведению, которое определяется возможностями языка программирования VBA (Visual Basic for
Application)."

Самая классная фича заключается в том, что его не надо обновлять! Однако его использование таит в себе немало подводных камней:

1. Устанавливать его следует на неинфицированную машину.
2. Если у тебя стоял Word, потом ты установил Office Guard, а потом установил Excel, то под защитой окажется только Word. Выводы делай сам.
3. Office Guard ловит вирусы, но НЕ ЛЕЧИТ.

Чтобы решить последнюю проблему, как раз и нужен антивирусный сканер. Таким образом, AVP-сканер + Office Guard дают полную безопасность от макровирусов. Если же ты хочешь лечить документы, то время от времени придется скачивать обновление для
AVP.

Однако будем справедливы - нельзя перетягивать одеяло в сторону Лаборатории Касперского, а то пойдут разговоры типа:
"И сколько тебе заплатили за раскрутку продукта?" 

Любой обновленный антивирус дает хорошую, почти 100%,
защиту от макрогадов. Просто каждый из них использует разные технологии для этого. Например, DrWeb использует поиск по сигнатурам и эвристический анализатор,
о чем мы и поговорили с его создателями:

В комплект вашего антивируса не входит отдельный модуль для борьбы с макровирусами. Почему? Вы считаете, что резидентный монитор гарантирует безопасность от макровирусов?

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

В состав АВП входит отдельный модуль против макровирусов в MS Office. Разработчики утверждают, что в основе этого модуля лежит поведенческий блокиратор, анализирующий действия программы-пациента. В результате этот продукт дает 100% гарантию от макровирусов до того момента, пока не выйдет новая версия VBA. Т.е. макровирус ищется не по сигнатурам. Плюсом такого
подхода является то, что установив такой модуль единожды - его не нужно обновлять. Теперь вопросы: ДрВеб ищет макровирусы по сигнатурам?

DrWeb ищет макровирусы и по сигнатурам и при помощи встроенного
оригинального мощного эвристического анализатора. Механизм поиска и анализа макросов
реализован на нескольких уровнях: сканируется и бинарный код макросов,
их откомпилированный и исходный текст. Это позволяет обнаруживать известные вирусы,
их модификации, а также неизвестные макро-вирусы. Таким образом,
становится возможным не только не зависеть от версии установленного
пакета MS Office (возможность перехвата выполняемых макросов появилась
только в Office 2000 и отсутствовала в предыдущих версиях), но и вообще от
наличия MS Office на компьютере, на котором производится сканирование
файлов -- например, на корпоративном интернет-шлюзе.

Кроме того, при помощи построенного на тех же принципах эвристического
анализатора, DrWeb способен обнаруживать и неизвестные троянцы,
бэкдоры, интернетовские вирусы-черви, irc, пакетные (bat) и скрипт
(vbs/vbe) вирусы.

Ваше личное мнение: может ли модуль из состава АВП дать 100% безопасность от макроинфекции?

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

На вопросы отвечали
Сергей Юрьевич Попов
Андрей Владимирович Башаримов

Разработчики антивирусных программ семейства Dr.WEB.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии