Какие файлы заражают макро. Что такое макровирусы? Убью голыми руками

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

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

В начале четкое определение: макровирус - вирус, способный размножаться и храниться сам по себе (без вмешательства юзверя), использующий макро-язык. Из определения следует, что макровирусы могут жить не только в документах 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.

Есть такие программы, которые в своей работе используют свой собственный язык программирования, называемые макроязыками. Такие макроязыки, обычно, встраиваются в текстовые и табличные редакторы. Например, в программах Microsoft Word и Excel имеются свои собственные макроязыки. Вирусы, которые написаны и используют в своих целях макроязыки, называются макровирусами. Другими словами, макровирусы — это вирусы, написанные на макроязыках программирования.

Что такое макросы?

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

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

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

Вред от макровирусов

Фронт работы макровирусов - документы. И в принципе, они могут наделать все что угодно с Вашими документами. Но кроме этого, макровирусы способны навредить и самому компьютеру, то есть, при особом желании макровирусы могут получить контроль и над самим компьютером. Так что не нужно считать макровирусы вредителями исключительно документов.

Первый в истории макровирус

Самым первым задокументированным макровирусо стал вирус Concept, увидевший свет в 1995 году. Ничего особо страшного он не делал. От него не было вреда, но зато вирус Concept показал все цифровому миру, что и файлы могут нести в себе вредоносный код.

Макровирусы – это потенциально нежелательные утилиты, написанные на микроязыках, которые встроены в графические и текстовые системы обработки. Какие файлы заражают макро вирусы? Ответ очевиден. Наиболее распространенные версии для программ Microsoft Excel, Word и Office 97. Данные вирусы встречаются достаточно часто, как создать их проще простого. Именно поэтому при скачивании документов из Интернета стоит быть крайне внимательными и аккуратными. Большинство пользователей недооценивают их, совершая тем самым грубейшую ошибку.

Как происходит заражение ПК

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

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

В чем заключается принцип их работы

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

Заражение осуществляется в следующих случаях:

  1. При наличии авто макроса в вирусе (проводится в автоматическом режиме при выключении или запуске программы).
  2. Вирус обладает основным системным макросом (зачастую связан с пунктами меню).
  3. Активизируется автоматически в случае нажатия на конкретные клавиши или комбинации.
  4. Размножается лишь при его запуске.

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

Какой вред они приносят

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

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

Распознаем зараженный файл

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

Опасность можно определить по следующим признакам:

Кроме того, угроза зачастую легко обнаруживается визуально. Их разработчики обычно указывают во вкладке «Сводка» такую информацию, как название утилиты, категория, тема комментарии и имя автора, благодаря чему от макровируса можно избавиться значительно быстрее и проще. Вызвать ее можно при помощи контекстного меню.

Способы удаления

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

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

Если защититься таким образом не получается, ваш антивирус ничего не может сделать, а аварийного диска нет, то следует попробовать метод «ручного» лечения:


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

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


Таким образом, вы обезопасите себя, и макровирусы никогда не проникнут в соответствующие файлы.

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

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

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

2. копирования макро-программ из одного файла в другой;

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

Сетевые компьютерные вирусы.

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

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

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

Макро-вирусы заражают файлы форматов Word, Excel, Office. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

Особенности алгоритма работы компьютерных вирусов:

1. Резидентность.

2. Использование стелс-алгоритмов.

3. Самошифрование и полиморфичность.

4. Использование нестандартных приемов.

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

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

Стелс-вирусы теми или иными способами скрывают факт своего присутствия в системе.

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

Различные нестандартные приемы часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC.

Деструктивные возможности вирусов можно разделить на:

1. Безвредные , никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения).

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

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

То есть все то, с чем работают в офисах, дома и т.д. для ведения отчетов, документации и остальных. Вирусы этого вида являются самыми опасными, если смотреть со стороны потерь текстовой информации. Для своего размножения они используют по максимуму все возможности макро-языков и используя все возможности, переносят себя (а точнее программный код) из одного зараженного файла (как правило, это таблица или документ) в другие. Сегодня самыми распространенными являются макро-вирусы для программных пакетов Office 97, Microsoft Word, Excel. Разработаны так же и макро-вирусы, которые заражают базы данных Microsoft Access и документы Ami Pro.

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

1. копирования записанных макро-программ из определенного файла в любой другой;

2. привязки вируса на макро-языке к определенному файлу;

3. уникальная возможность получения полного управления вирусной макро-программой (автоматические или стандартные макросы).

Всем перечисленным условиям полностью удовлетворяют редакторы AmiPro, Microsoft Word Office 97, база данных Microsoft Access, а так же электронная таблица Excel. Все перечисленные системы содержат в себе разнообразные макро-языки: Excel, Office 97 (включая Access, Word 97 и Excel 97) – Visual Basic for Applications, а Word – Word Basic.

На сегодняшний день хорошо известны четыре совершенно разные системы, для которых существуют отдельные вирусы -Office 97, Microsoft Word, Excel и AmiPro. В этих системах макро-вирусы полностью получают управление во время закрытия или открытия зараженного файла. После получения управления вирус перехватывает все файловые функции, после чего свободно заражает файлы, к которым идет непосредственное обращение. Таким образом, если вы подхватили подобный вирус и смогли его определить, крайне не рекомендуется открывать и вообще работать с выше перечисленными программами до полного удаления вируса. Если пренебречь этим правилом, то вирус может удалить важную информацию (документы, таблицы и т.д.). По аналогии с MS-DOS можно смело подчеркнуть, что большинство современных макро-вирусов являются резидентными: они ведут себя активно пока активен сам редактор, а не в момент открытия/закрытия файла.