Исследование механизма защиты от вредоносных макросов
1. Установите средний уровень безопасности защиты от вредоносных макросов (меню <Сервис>-<Макрос>-<Безопасность>). Теперь при обнаружении макрокода в документе или шаблоне система будет выводить пользователю запрос.
2. Создайте новый документ и сохраните его в папке Мои документы под именем Документ с макросом. Закройте документ и оцените его объем в байтах. Сколько в данном «пустом» файле 512–байтных блоков?
3. Откройте сохраненный документ. Сопровождается ли его открытие предупреждением о макросах?
4. Откройте редактор VBE (Alt–F11), затем его дочернее окно Проект, «щелкните» дважды левой кнопкой мыши по строке Project(Документ с макросом), а затем – по выпавшей строке ThisDocument. Откроется окно кода встроенного программного модуля документа, в которое следует ввести с клавиатуры подряд несколько символов (например, «12345»). Закройте окно редактора VBЕ, сохраните и закройте документ. Изменился ли размер сохраненного файла? Почему?
5. Вновь откройте Документ с макросом. Сопровождается ли его открытие сообщением об опасности? Откройте редактор VBA и посмотрите, что случилось с ранее записанной в модуль кода строкой. Как реагирует приложение на внедрение имитации программного кода?
6. Запишите в окно кода модуля ThisDocument этого документа начальную и заключительную строчки процедуры, например:
Private Sub AAA()
End Sub
7. Закройте окно редактора, сохраните и закройте документ. Проверьте, изменился ли его размер. Сколько 512–байтных блоков добавилось к документу?
8. Вновь откройте Документ с макросом. Сработала ли защита от вредоносных макросов?
9. Откройте редактор VBE и полностью удалите каркас процедуры из модуля ThisDocument. Закройте редактор, сохраните и закройте документ. На сколько блоков уменьшился его размер?
10. Вновь откройте документ. Сопровождается ли его открытие предупреждением об опасности?
11. Попробуйте установить минимальную строку в модуле кода, на которую «срабатывает» механизм безопасности. Запишите в модуль кода документа слово Sub, после чего сохраните, закройте и вновь откройте документ. Если защита не сработала и размер файла не увеличился, добавьте имя процедуры, например Sub A. Зафиксируйте момент, когда защита отнесется к внесенной записи как к полноценному и опасному макросу.
12. Аналогичную проверку проведите в отношении ключевого слова Function (функция).
13. Найдите раздел системного реестра, в котором располагается параметр защиты от вредоносных макросов. Методом проб установите соответствие между уровнем защиты, установленным в окне Безопасность, и значением параметра.
14. Доверяет ли Word собственному глобальному шаблону и общим шаблонам на предмет возможности присутствия в них вредоносного кода? Соотносится ли такое доверие с именем каталога, в котором шаблоны по умолчанию размещаются? Внедрите в глобальный шаблон событийную процедуру AutoExec(), которая срабатывает при запуске Word, и убедитесь в ее работоспособности. Попробуйте переместить Normal.dot в другой каталог. Для этого предварительно измените его расположение в настройках Word (<Сервис>-<Параметры>-<Расположение>). Затем завершите работу процессора (активное приложение полностью блокирует свой глобальный шаблон и не позволяет манипулировать им), после чего переместите Normal.dot в назначенное место. Вновь откройте Word и наблюдайте за сообщениями. Сделайте выводы.
15. Можно ли считать надежной реализованную защиту от вирусов в макросах? Какие способы могут использовать злоумышленники для ее обхода?
Блокирование просмотра программного кода, реализованного в некоторых макровирусах
1. Создайте новый документ. Откройте окно программного модуля ThisDocument этого документа и создайте там две событийные процедуры:
Sub ToolsMacro()
‘ Открытие диалогового окна “Макрос”
End Sub
Sub ViewVBCode()
‘ Вход в интегрированную среду разработки VBE
End Sub
2. Попробуйте открыть диалоговое окно Макрос либо войти в редактор VBA. Почему ваши попытки не удаются? Подобные способы защиты часто используются в текстах вредоносных макросов для того, чтобы пользователь не мог визуально проверить наличие постороннего программного кода. Попробуйте обойти эту блокировку, не закрывая документ. Если не получилось, попытайтесь преодолеть защиту с помощью другого документа с макрокодом.
3. Закройте созданный документ без сохранения.
4. Внедрите вышеуказанные процедуры в глобальный шаблон, после чего закройте и вновь откройте Word. На этот раз обойти защиту, не удаляя глобальный шаблон, будет трудно. Рекомендуется воспользоваться для этого дополнительной панелью Элементы управления, командная кнопка Исходный текст. Результаты отразите в отчете.
5. Напишите процедуру, отключающую командные кнопки и клавиши быстрого вызова окна Макрос и редактора VBE. Проверив результат, возвратите активность элементам управления.
6. Установите парольную защиту на программный проект Normal.dot и постарайтесь ее преодолеть. Сделайте выводы относительно результативности средств маскировки вредоносного макрокода.
После представления результатов работы преподавателю убедитесь, что все созданные вами файлы и шаблоны удалены!