Мы разобрали основные аспекты проблемы, которую поставили перед программистами всего мира макро-вирусы, рассказав о макро-вирусах, распространяемых посредством документов пакета Microsoft Office в целом и текстового процессора MS Word в частности. Хотелось бы, вкратце, затронуть макро-вирусы, которые еще не так распространены, но потенциальная опасность которых сопоставима с опасностью макро-вирусов для Office, а может даже и превосходит их – это макро-вирусы, созданные на встроенном языке программирования комплекса 1С – Предприятие. Данный язык обладает довольно гибкими возможностями работы с файловой системы, что может позволить манипулировать информацией, находящейся на пораженном компьютере. Если учесть, что, к примеру, в нашей стране (а также и в странах СНГ), данный пакет применяется практически повсеместно, вплоть до весьма крупных предприятий, то экономический ущерб от воздействия данных вирусов, потенциально, очень велик (ущерб от потери данных, затраты на восстановление информации (а, к примеру, на VBA в Office можно создать вирус, после воздействия которого восстановить информацию можно лишь очень дорогими способами, недоступными в обычных условиях (необходимы специальные лаборатории), ущерб от простоя вычислительной техники и т. д.).
Глава 2. Описание программы MacroVirus Detector.
По причине того, что документы MS Word обладают недостаточно эффективной защитой от макро-вирусов, было решено провести анализ путей повышения защищенности компьютеров и сетей от вирусов при работе с документацией в формате Microsoft Word, фактически ставшем основным форматом при обмене текстовой (и не только) информацией.
Результатом данного анализа стало создание программы MacroVirus Detector, разработанной в среде программирования Visual Basic 6.0, входящей в пакет Visual Studio 6.0, компании Microsoft.
Предлагаемая программа призвана обеспечить более высокий уровень безопасности при работе с документами MS Word тем, что она позволяет блокировать запуск макросов без предварительного оповещения пользователя о их наличии в документе, а, при необходимости, ознакомления пользователя с программным кодом макросов и возможностью его корректировки.
При первом запуске данной программы происходит изменение системной базы данных (реестра), что позволяет автоматически контролировать запуск документов Word, то есть программа способна работать как монитор, при этом не занимая ресурсов компьютера в то время, когда в этом нет необходимости. Запуск программы в таком режиме осуществляется за 1 – 2 секунды (Pentium Pro, 300 MHz), что практически не влияет на скорость работы с документами. Согласно проведенному исследованию , документы Word в условиях Высшего учебного заведения открываются 15 – 20 раз, то есть при использовании нашей программы общее время задержки не превысит 1 минуты в сутки, что является весьма необременительным (при запуске программы необходимо немногим более 100 Кбайт оперативной памяти).
Интерфейс программы чрезвычайно прост и интуитивно понятен, что, в современных условиях играет очень важную роль, так как пользователь, по возможности, не должен подстраиваться под программу и такие элементы, как “горячие” клавиши, пункты меню должны быть стандартизированы. Основная форма программы представлена на рис. 1.
Рисунок №1 – Основная форма программы MacroVirus Detector.
В меню Файл размещаются функции работы с файлами: Открыть; Сохранить как, и процедуры перемещения по открытым документам, в случае, если открыто сразу несколько файлов. В меню Правка расположены стандартные функции управления текстом, так как программа имеет специализированный текстовый редактор, это следующие возможности: Вставка; Копирование; Удаление; Выделить все; также данное меню предоставляет специальную функцию – Комментарии, которая используется для полного обезвреживания макроса, но сохранения его при этом в документе практически в неизменном виде (применяется для досконального изучения работы макроса специалистом). Меню Сервис содержит пункты Отмена регистрации и О программе… Отмена регистрации – это функция, восстанавливающая первоначальное состояние реестра (отменяет переопределение запуска документов на себя). Пункт О программе… выводит форму, сообщающую о разработчике и позволяющую получить некоторую информацию о компьютере пользователя.
При выборе команды Открыть в меню Файл, появляется стандартное диалоговое окно Открыть файл, в котором можно выбрать файл для проверки на наличие макросов, а, возможно, и вирусов. После выбора документа, при отсутствии в нем макросов, об этом сообщается пользователю, а при наличии, - главная форма несколько видоизменяется. Для отображения кода первого (по порядку) модуля необходимо нажать кнопку Проверить. Новое изображение формы приведено на рис. 2.
Рисунок № 2 – Основная форма после открытия файла Doc2.doc.
Видно, что стала доступной кнопка Изменить, появились цифры напротив надписей Количество модулей и Текущий модуль и надпись в поле редактора, а также изменился заголовок формы. Из данного рисунка следует, что документ, с которым мы работаем, называется Doc2.doc, он содержит 1 программный модуль, который в данный момент и является активным. Содержит он код, находящийся в поле редактора. После редактирования кода нужно нажать кнопку Изменить. Программа попросит подтверждения изменения модуля, и, получив его, заменит код текущего модуля на новый, находящийся в настоящее время в окне редактора.
При работе с несколькими документами, навигация осуществляется при помощи команд Следующий и Предыдущий меню Файл. В остальном, алгоритм действий не отличается от приведенного выше.
Иногда вирус, заразив документ, пытаясь обезопасить себя и усложняя процесс его нейтрализации, закрывает проект документа паролем. В этом случае становится невозможным просмотр и редактирования кода программных модулей. Программа, в такой ситуации, предлагает пользователю сохранить исходный файл в безопасном формате RTF (Rich Text Format), позволяющем сохранять документы без программного кода макросов. Таким образом, существует возможность безопасного открытия документов. Программа испытывалась в работе со многими вирусами, в том числе и шифрующимися (Cap) и ни в одном случае не было допущено несанкционированного запуска вирусных макросов.
Теперь несколько слов о том, как же можно случайно запустить вирус, работая с форматом RTF. Дело в том, что данный формат абсолютным большинством пользователей (а также и программистов) считается совершенно безопасным, а ошибочная уверенность в полной собственной неуязвимости, с психологической точки зрения, намного страшнее “трезвого” осознания возможной опасности заражения вирусом. При сохранении документов в формате RTF имеется возможность подключения к данному файлу шаблонов, в которых могут находиться вирусы. Причем, что интересно, данные макросы (находящиеся в шаблоне) запускались (до выхода MS Office XP) даже без оповещения пользователя о их наличии. В связи с существованием в программе MS Word XP недокументированной функции отключения защиты от вирусов в макросах, даже в этой версии появляется возможность запуска вредных макросов без ведома пользователя. Потенциальная опасность состоит в том, что RTF файл может ссылаться на документ (находящийся на каком-либо сервере глобальной сети, который является шаблоном, содержащим код вируса, а так же на файл, находящийся на компьютере пользователя, с тем же содержимым (попасть на компьютер шаблон мог при выполнении скрипта на странице злоумышленника)).
В программе, описанию которой и посвящена данная работа, предусмотрены функции проверки файлов формата RTF на наличие небезопасных ссылок, обнаружив которые, программа сообщит о наличии ссылок пользователю и, если необходимо, удалит их (при сохранении документов Word в формате RTF проверка производится автоматически).
Мы раскрыли основные технические характеристики представляемой программы, исходя из результатов тестирования которой, можно считать, что данная программа позволяет значительно повысить надежность антивирусной защиты от вирусов наиболее распространенного на сегодняшний день, и не перестающего развиваться класса, - макро-вирусов.
Заключение
Для решения задачи по повышению надежности антивирусной защиты документов Word был проведен анализ вирусной уязвимости текстового процессора, а также путей улучшения данной защиты.
Результатом проведенной работы явилось создание программы, резко повышающей эффективность защиты документов от вирусов. В ходе испытания предлагаемой программы не было зафиксировано ни одного случая несанкционированного запуска макросов, причем тестирование проходило с использованием практически всех типов макро-вирусов (в т. ч. стелс и шифрующихся). Стабильная работа программы с довольно сложными вирусами доказывает ее эффективность в борьбе с вирусами и обеспечении безопасной работы с документами.
Учитывая частые жалобы работников различных предприятий и учреждений на проявления работы макро-вирусов (в основном – порча информации), можно говорить о достаточно высокой востребованности предлагаемой программы во многих сферах деятельности.
Как и любая программа, наша программа должна впоследствии улучшаться, с тем, чтобы обеспечивать более комфортную работу с документами Word, а, затем, распространиться на весь пакет MS Office, а также, возможно и на упомянутый в работе комплекс 1С-Предприятие.
Список литературы
1999-2000: макровирусы свирепствуют. Сайт http://www.polynom.rzn.ru/
Е. Касперский, Компьютерные вирусы.
Лицензия на будущее? (CuriousBasic – 3). Сайт http://www.izcity.com/
Н.Н.Безруков, Компьютерная вирусология. Киев, 1991
Сайт http://sbvc.net
Сайт http://vx.netlux.org
Сайт http://www.antiviruspro.ru/
Сайт http://www.avp.ru
Эвангелос Петрусос Visual Basic 6.0: Руководство разработчика в двух томах: Издательская группа BHV, 2000г.