В последние годы резко возросло количество вирусов на корпоративных уз­лах. Это связано преимущественно с распространением одного из новейших ти­пов вирусов - макровирусов. В конце 1999 года количество макровирусов со­ставляло две трети от общего числа компьютерных вирусов [КАВА99].

Эти вирусы являются особенно опасными по нескольким причинам.

1. Макровирусы являются независимыми от платформы. Почти все макрови­русы заражают документы, созданные в редакторе Microsoft Word. Все ап­паратные платформы и операционные системы, поддерживающие Word, подвержены заражению.

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

    Макровирусы легко распространяются. Очень часто для этого применяется электронная почта.

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

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

    Автоматически выполняющийся (autoexecute). Если макрос в шаблоне "normal.dot" или в глобальном шаблоне, который хранится в каталоге инициализации (startup directory) приложения Word, имеет имя AutoExec, он всегда запускается при запуске Word.

    Автомакрос (automacro). Автомакрос запускается в результате наступления определенного события. Таким событием может быть открытие или закры­ тие документа, создание нового документа или выход из приложения Word.

    Командный макрос (command macro). Если имя макроса, имеющегося в глобальном файле макросов или вложенного в документ, совпадает с именем существующей команды Word, то при вызове этой команды запускает­ся такой макрос (например, FileSave).

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

Следующие один за другим выпуски приложения Word обеспечивают все более надежную защиту от макровирусов. Например, фирма Microsoft предлагает устанав­ливаемый по желанию инструмент Macro Virus Protection, который выявляет подоз­рительные файлы в формате Word и предупреждает клиента о потенциальном риске, возникающем при открытии файлов с макросами. Другие производители антивирус­ных программных продуктов также имеют в своем арсенале инструменты для выявления и устранения макровирусов. В борьбе с макровирусами происходит такая же "гонка вооружений", как и в отношении вирусов других типов.

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

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

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

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

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

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

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

Физическая структура компьютерного вируса достаточно проста. Он состоит из головы и, возможно, хвоста. Под головой вируса понимается его компонента, получающая управление первой. Хвост – это часть вируса, расположенная в тексте зараженной программы отдельно от головы. Вирусы, состоящие из одной головы, называют несегментированными , тогда как вирусы, содержащие голову и хвост, — сегментированными .

Наиболее существенные признаки компьютерных вирусов позволяют провести следующую их классификацию.

Существует несколько подходов к классификации компьютерных вирусов по их характерным особенностям:

— по среде обитания вируса;

— по способу заражения;

— по деструктивным возможностям;

— по особенностям алгоритма работ.

По среде обитания вирусы подразделяются на:

Файловые вирусы — вирусы поражающие исполняемые файлы, написанные в различных форматах. Соответственно в зависимости от формата, в котором написана программа это будут EXE или COM вирусы.

Загрузочные вирусы — вирусы поражающие загрузочные сектора (Boot сектора) дисков или сектор содержащий системный загрузчик(Master Boot Record) винчестера.

Сетевые вирусы — вирусы, распространяющиеся в различных компьютерных сетях и системах.

Макро вирусы — вирусы поражающие файлы Microsoft Office

Flash вирусы — вирусы поражающие микросхемы FLASH памяти BIOS.

По способу заражения вирусы делятся на:

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

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

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

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

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

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

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

По особенностям алгоритма работы вирусы можно подразделить на:

Вирусы спутники(companion) — эти вирусы поражают EXE-файлы путем создания COM-файла двойника, и поэтому при запуске программы запустится, сначала COM-файл с вирусом, после выполнения своей работы вирус запустит EXE-файл. При таком способе заражения «инфицированная» программа не изменяется.

Вирусы «черви» (Worms) — вирусы, которые распространяются в компьютерных сетях. Они проникают в память компьютера из компьютерной сети, вычисляют адреса других компьютеров и пересылают на эти адреса свои копии. Иногда они оставляют временные файлы на компьютере но некоторые могут и не затрагивать ресурсы компьютера за исключением оперативной памяти и разумеется процессора.

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

«Полиморфные» (самошифрующиеся или вирусы-призраки, polymorphic) — вирусы, достаточно трудно обнаруживаемые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфного вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

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

По режиму функционирования:

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

— транзитные вирусы (вирусы, которые выполняются только в момент запуска зараженной программы).

По объекту внедрения:

— файловые вирусы (вирусы, заражающие файлы с программами);

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

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

— исполняемые файлы;

командные файлы и файлы конфигурации;

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

— файлы с драйверами устройств;

— файлы с библиотеками исходных, объектных, загрузочных и оверлейных модулей, библиотеками динамической компоновки и т.п.

Загрузочные вирусы подразделяются на вирусы, заражающие:

— системный загрузчик, расположенный в загрузочном секторе и логических дисков;

— внесистемный загрузчик, расположенный в загрузочном секторе жестких дисков.

По степени и способу маскировки:

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

В свою очередь, MtE-вирусы делятся:

— на обычные вирусы-мутанты, в разных копиях которых различаются только зашифрованные тела, а дешифрованные тела вирусов совпадают;

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

Наиболее распространенные типы вирусов характеризуются следующими основными особенностями.

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

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

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

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

Макровирусы распространяются под управлением прикладных программ, что делает их независимыми от операционной системы. Подавляющее число макровирусов функционирует под управлением текстового процессора Microsoft Word. В то же время известны макровирусы, работающие под управлением таких приложений, как Microsoft Excel, Lotus Ami Pro, Lotus 1-2-3, Lotus Notes, в операционных системах фирм Microsoft и Apple.

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

«Лазейки» , подобные описанной выше обусловленные особенностями реализации тех или иных функций в программном обеспечении, являются объективной предпосылкой для создания и внедрения репликаторов злоумышленниками.

Эффекты, вызываемые вирусами в процессе реализации ими целевых функций, принято делить на следующие группы:

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

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

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

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

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

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

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

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

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

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

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