Электронная библиотека книг Александра Фролова и Григория Фролова.
 
Библиотека
Братьев
Фроловых
Электронная библиотека книг Александра Фролова и Григория Фролова.
Библиотека системного программиста
Программирование на JAVA
ПК. Шаг за шагом
Другие книги
Восстановление данных
Антивирусная защита
Статьи для
программистов
Пользователю компьютера
[Назад]

Вирусы в Ваших документах

Журнал "Компьютерра",
© Фролов А.В., Фролов Г.В., 01.09.96

Совсем недавно представление многих людей о безопасности обмена файлами документов коренным образом изменились. Впервые на широкую дорогу вышел вирус Winword.Concept, распространяющийся вместе с файлами документов популярного текстового процессора Microsoft Word for Windows версии 6.0 и 7.0.

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

Не все пользователи, даже проработав в среде Microsoft Word for Windows несколько лет, знают, что вместе с документом могут храниться небольшие программы, названные макрокомандами. Макрокоманды обычно создаются на специальном языке программирования WordBasic и записываются в файле стилей.

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

Идея, положенная в основу вируса, настолько проста, что всевозможные клоны вируса Winword.Concept и вирусы, использующие аналогичную методику распространения, смогли широко распространиться по всему миру.

Появились новые вирусы не только для текстового процессора Microsoft Word for Windows, но и для электронной таблицы Microsoft Excel for Windows, пакета Lotus Ami Pro и некоторых других программ.

Макрокомандные вирусы можно назвать кросс-платформными. Компьютер с любой архитектурой, а не только совместимый с IBM PC, на котором установлен текстовый процессор Microsoft Word for Windows, может быть заражен таким вирусом.

Секреты макрокомандного вируса

В чем же основной секрет макрокомандного вируса?

Текстовый процессор Microsoft Word позволяет создавать собственные программы для обработки документов на языке WordBasic. Однако они не записываются в файлы документов, а хранятся в отдельных файлах стилей.

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

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

Автор первого вируса для текстового процессора Microsoft Word и его последователи решили все эти проблемы. И сейчас мы откроем вам все секреты макрокомандных вирусов - где они живут, как получают управление и как распространяются.

Первый главный секрет вируса WinWord.Concept, и практически всех остальных известных нам сегодня вирусов для текстового процессора Microsoft Word, заключается в том, что файл документа можно сохранить в формате файла стилей.

Такой файл можно открыть как обычный файл документа. Его можно редактировать и сохранить изменения на диске. Единственное, что нельзя с ним сделать, так это сохранить файл в другом формате, например в формате документа или в формате RTF. Если вы выберите из меню File строку Save As, то в открывшейся диалоговой панели Save As список Save File as Type, отображается серым цветом и не доступен для выбора. Такой "дефект" не имеет особого значения, потому что операция сохранения файла в другом формате выполняется достаточно редко, чтобы пользователь заметил неладное и поднял тревогу.


Рис. 1. Диалоговая панель Save As

Второй секрет вируса заключается в том, как он получает управление.

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

Третий секрет вируса состоит в том, как он распространяется.

Одна из макрокоманд вируса обычно называется FileSaveAs. После того как макрокоманды вируса записаны в основной файл стилей Microsoft Word, макрокоманда вируса FileSaveAs выполняется каждый раз, когда пользователь сохраняет документ выбирая строку Save As меню File. Макрокоманда FileSaveAs заражает документ - записывает в него макрокоманды вируса и сохраняет файл в формате файла стилей.

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

Вирус WinWord.Concept

По нашей просьбе АО "ДиалогНаука" предоставило нам экземпляр документа, зараженного вирусом WinWord.Concept. Благодаря тому, что макрокоманды вируса не закрыты от чтения, мы легко смогли их проанализировать. Вероятно, автор вируса желал предоставить всем желающим возможность изучить устройство вируса и дополнительно снабдил комментариями и без того простой текст макрокоманд.

Вирус состоит из пяти макрокоманд, общий объем которых составляет примерно 110 строк на языке WordBasic. Макрокоманды вируса имеют названия AAAZAO, AAAZFS, AutoOpen, FileSaveAs и PayLoad. При этом две пары макрокоманд AAAZAO, AutoOpen и AAAZFS, FileSaveAs фактически дублируют друг друга, а макрокоманда PayLoad состоит из единственной строки комментария.

Когда пользователь открывает зараженный файл документа, Microsoft Word for Windows автоматически выполняет содержащуюся в нем макрокоманду AutoOpen, принадлежащую вирусу. Она просматривает названия всех макрокоманд, определенных в файле стилей NORMAL.DOT. Если среди них обнаружена макрокоманда PayLoad, считается, что файл стилей уже заражен. Если присутствует макрокоманда FileSaveAs, вирус также не будет устанавливаться, чтобы не портить эту макрокоманду.

Если макрокоманды PayLoad и FileSaveAs не обнаружены, вирус копирует в файл стилей NORMAL.DOT макрокоманды PayLoad, FileSaveAs, AAAZFS и AAAZAO.

После копирования макрокоманд вирус добавляет в файл конфигурации WINWORD6.INI параметр WW6I: WW6I=1

В конце выполнения вирусной макрокоманды AutoOpen вирус отображает на экране временную диалоговую панель.


Рис. 2. Диалоговая панель вируса WinWord.Concept

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

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

Пользователь вводит в этой диалоговой панели имя файла документа, под которым он будет сохранен. Если пользователь сохраняет документ в формате документов текстового процессора Microsoft Word for Windows, тогда вирус изменяет формат сохраняемого документа. Вместо того чтобы сохранить документ в формате документов текстового процессора Microsoft Word for Windows, он сохраняет его в формате файла стилей, предварительно записав в него макрокоманды AutoOpen, AAAZAO, AAAZFS и PayLoad.

Таким образом, WinWord.Concept изменяет формат документа, сохраняя на диске файл стилей, содержащий текст документа и макрокоманды вируса. Внешне зараженный файл практически не отличается от обыкновенного файла документа. Он имеет расширение DOC, а при загрузке в текстовый процессор вы увидите набранный вами текст.

Никаких вредоносных действий вирус WinWord.Concept не выполняет. Макрокоманда PayLoad, которая могла быть использована для этого, содержит только один комментарий:

Sub MAIN
REM That’s enough to prove my point
End Sub

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

Как обнаружить WinWord.Concept

Вы легко можете проверить, заражен ли текстовый процессор Microsoft Word for Windows вирусом WinWord.Concept даже без специальных программ.

Запустите текстовый процессор Microsoft Word for Windows. Выберите из меню Tools строку Macro. На экране появится диалоговая панель Macro (рис. 1). Из списка Macros Available In выберите строку All Active Templates. Обратите внимание на список макрокоманд Macro Name. Если в нем находятся строки AAAZAO, AAAZFS, AutoOpen, FileSaveAs, PayLoad, значит текстовый процессор инфицирован вирусом WinWord.Concept.


Рис. 3. Диалоговая панель Macro

Опасность макрокомандных вирусов

Первый и самый простой макрокомандный вирус WinWord.Concept практически безвреден. Единственный побочный эффект от заражения документа вирусом WinWord.Concept заключается в том, что документ сохраняется как файл стилей. Вы можете работать с таким файлом как обычно, за исключением, того, что возможность сохранить файл в другом формате будет заблокирована (рис. 1).

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

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

Вирус WinWord.Nuclear

Надо сказать, что наши опасения имеют под собой основание. Так, один из первых вирусов WinWord.Nuclear, появившихся вслед за вирусом WinWord.Concept, уже набивается пользователям текстового процессора Microsoft Word в соавторы.

Когда пользователь направляет свой документ на печать, вирус с вероятностью 1/12 добавляет в конце файла собственную фразу:

And finally I would like to say:
STOP ALL FRENCH NUCLEAR TESTING IN THE PACIFIC!

В переводе на русский язык она звучит следующим образом:

И в конце я хотел бы сказать: ОСТАНОВИТЕ ВСЕ ФРАНЦУЗСКИЕ ИСПЫТАНИЯ ЯДЕРНОГО ОРУЖИЯ В ТИХОМ ОКЕАНЕ!

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

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

Достаточно странно, что вирус, написанный пацифистом, пятого апреля пытается удалить основные файлы операционной системы - IO.SYS, MSDOS.SYS и COMMAND.COM. Но из-за ошибок автора вируса и особенностей текстового процессора эта попытка не удается.

Вирус WinWord.Nuclear заражает не только файлы документов и стилей. Что удивительно, WinWord.Nuclear может заразить обыкновенные выполнимые файлы в формате COM и EXE. Он также может заразить EXE- файлы, предназначенные для операционной системы Windows.

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

Программа DEBUG - это простой отладчик, который входит в состав дистрибутива MS-DOS и копируется на жесткий диск компьютера во время установки операционной системы, поэтому он присутствует практически на всех компьютерах. В числе прочего DEBUG позволяет просмотреть и изменить содержимое оперативной памяти, запустить программу и т. д.

Страшный сон

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

Например вирус WinWord.Atom, при определенном условии устанавливает пароль на зараженный документ. Не зная пароля, пользователь не сможет даже открыть собственный документ.

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

Вирусы в макрокомандах

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

Практически любой программный пакет, имеющий возможность создания макрокоманд, потенциально может служить средой для распространения новых компьютерных вирусов. В качестве примера можно привести редактор электронных таблиц Excel и графический пакет Corel Draw. Эти пакеты имеют встроенные средства создания макрокоманд, сходные с языком WordBasic текстового процессора Microsoft Word for Windows.

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

Обратная сторона Internet

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

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

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

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

Как защитить свои документы

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

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

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

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

[Назад]


Создание интернет-магазинов: http://www.shop2you.ru/ © Александр Фролов, Григорий Фролов, 1991-2016