Макровирусы представляют собой вредительские программы, написанные на макроязыках, встроенных в текстовые редакторы, электронные таблицы и др.
Для существования вирусов в конкретной системе (редакторе) необходимо, чтобы встроенный в нее макроязык имел следующие возможности:
1) привязку программы на макроязыке к конкретному файлу;
2) копирование макропрограмм из одного файла в другой;
3) получение управления макропрограммой без вмешательства пользователя.
Таким условиям отвечают редакторы МS Word, МS Office, Ami Pro, табличный процессор МS Ехсеl. В этих системах используются макроязыки Word Basic и Visual Basic.
При выполнении определенных действий над файлами, содержащими макропрограммы (открытие, сохранение, закрытие и т. д.), автоматически выполняются макропрограммы файлов. При этом управление получают макровирусы, которые сохраняют активность до тех пор, пока активен соответствующий редактор (процессор). Поэтому при работе с другим файлом в «зараженном редакторе (процессоре)», он также заражается. Здесь прослеживается аналогия с резидентными вирусами по механизму заражения. Для получения управления макровирусы, заражающие файлы МS Оfficе, как правило, используют один из приемов:
1) в вирусе имеется автомакрос (выполняется автоматически, при открытии документа, таблицы);
2) в вирусе переопределен один из стандартных макросов, который выполняется при выборе определенного пункта меню;
3) макрос вируса автоматически вызывается на выполнение при нажатии определенной клавиши или комбинаций клавиш.
Загрузочные вирусы заражают загрузочные (Вoot) сектора гибких дисков и Вооt‐сектора или Master Boot Sector (МВR) жестких дисков. Загрузочные вирусы являются резидентными. Заражение происходит при загрузке операционной системы с дисков.
После включения ЭВМ осуществляется контроль ее работоспособности с помощью программы, записанной в постоянном запоминающем устройстве. Если проверка завершилась успешно, то осуществляется считывание первого сектора с гибкого или жесткого диска. Порядок использования дисководов для загрузки задается пользователемпри помощи программы Setup. Если диск, с которого производится загрузка ОС, заражен загрузочным вирусом, то обычно выполняются следующие шаги:
Шаг 1. Считанный из 1‐го сектора диска загрузочный вирус (часть вируса) получает управление, уменьшает объем свободной памяти ОП и считывает с диска тело вируса.
Шаг 2. Вирус переписывает сам себя в другую область ОП, чаще всего – в старшие адреса памяти.
Шаг 3. Устанавливаются необходимые вектора прерываний (вирус резидентный).
Шаг 4. При выполнении определенных условий производятся деструктивные действия.
Шаг 5. Копируется Вооt‐сектор в ОП и передается ему управление.