Word-, Excel-, Office 97-вирусы

Общие сведения. Физическое расположение вируса внутри файла зависит от его формата, который в случае продуктов Microsoft чрезвычайно сложен. Все файлы-документы Word, Office 97 или таблицы Excel представляют собой последовательность блоков данных (каждый из которых также имеет свой формат), объединенных между собой при помощи большого количества служебных данных. Этот формат носит название OLE2 — Object Linking and Embedding. Структура файлов Word, Excel и Office 97 напоминает усложненную дисковую файловую систему DOS: "корневой каталог" файла-документа или таблицы указывает на основные подкаталоги различных блоков данных, несколько таблиц FAT содержат информацию о расположении блоков данных в документе и т. д.

Более того, система Office Binder, поддерживающая стандарты Word и Excel позволяет создавать файлы, одновременно содержащие один или несколько документов в формате Word и одну или несколько таблиц в формате Excel. При этом Word-вирусы способны поражать Word-документы, a Excel-вирусы — Excel-таблицы, и все это возможно в пределах одного дискового файла. То же справедливо и для Office 97.

По причине такой сложности форматов файлов Word, Excel и Office 97 представить расположение макровируса в файле можно лишь схематично (см. рис. 2.11).

Следует отметить, что Word версий 6 и 7 позволяет шифровать имеющиеся в документе макросы. Таким образом, некоторые Word-вирусы присутствуют в зараженных документах в зашифрованном (Execute only) виде.

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

Рис. 2.11 Расположение макровируса • файле


Вирусы для Word могут заражать компьютеры любого класса, а не только IBM PC. Заражение возможно в том случае, если на данном компьютере установлен текстовый редактор, полностью совместимый с Microsoft Word версии 6 или 7 (например, MS Word for Macintosh). To же справедливо для Excel и Office 97.

Следует также отметить, что сложные форматы документов Word, таблиц Excel и особенно Office 97 имеют следующую особенность: в файлах-документах и таблицах присутствуют "лишние" блоки данных, т. е. данные, которые никак не связаны с редактируемым текстом или таблицами либо являются случайно оказавшимися там копиями прочих данныу файла. Причиной возникновения таких блоков данных является кластерная организация данных в ОЕЕ2-документах и таблицах, так как даже если введен всего один символ текста, то под него выделяется один, а иногда и несколько кластеров данных. При сохранении документов и таблиц в кластерах, не заполненных "полезными" данными, остается "мусор", который попадает в файл вместе с прочими данными. Количество "мусора" в файлах может быть уменьшено отменой пункта настройки в Word и Excel "Allow Fast Save", однако это лишь уменьшает общее количество "мусора", но не убирает его полностью.

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

Следует также отметить тот факт, что некоторые версии OLE2.DLL содержат небольшой недочет, в результате которого при работе с документами Word, Excel и особенно Office 97 в блоки "мусора" могут попасть случайные данные с диска, включая конфиденциальные (удаленные файлы, каталоги и т. д.).

Принципы работы. При работе с документом Word версий 6 и 7 выполняет различные действия: открывает документ, сохраняет, печатает, закрывает и т. д. При этом Word ищет и выполняет соответствующие "встроенные макросы": при сохранении файла по команде File/Save вызывается макрос FileSave, при сохранении по команде File/SaveAs — File-SaveAs, при печати документов — FilePrint и т. д., если, конечно, таковые макросы определены.

Существует также несколько автомакросов, автоматически вызываемых при различных условиях. Например, при открытии документа Word проверяет его на наличие макроса AutoOpen. Если такой макрос присутствует, то Word выполняет его. При закрытии документа Word выполняет макрос AutoClose, при запуске Word вызывается макрос AutoExec, при завершении работы — AutoExit, при создании нового документа — AutoNew.

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

Таким образом, к автоматическим макросам/функциям относятся:

Word Excel Office 97
AutuOpen AutoClose Auto0pen Auto Close Document0pen Document Close
AutoExec    
AutoExit    
AutoNew Document New  
    AutoDeactivate


Имена некоторых стандартных макросов Word (даны имена в различных локализованных версиях Word) приведены ниже:

Английский Датский Голландский Финский
Fik'New FileOpen FileClose FilcSave FileSaveAs FilcTemplates ToolsMacro FilerNyt Filer+bn FilerLuk FilerGem FilerGemSom FilerSkabeloner FunkMakro BestandNieuw BestandOpenen BestandSluiten BestandOpslaan BestandOpslaanAls BestandSjablonen ExtraMacro TiedostoUusi TiedostoAvaa TiedostoSulje TiedostoTallenna TiedostoTallennaNimellf TiedostoMallit TyJkalutMakro
Французский Немецкий Итальянский  
FichierNouveau FichierOuvrir FichierFermer FichierEnregistrer FichierEnregistrerSous FichierModules OutilsMacro DateiNeu Dateiffnen DateiSchlie-en DateiSpeichern DateiSpeichernUnter DateiDokVorlagen ExtrasMakro FileNuovo FileApri FileChiudi FileSalva FileSalvaConNome FileModelli Strum Macro  
Португальский Испанский Шведский Бразильский
FicheiroNovo, FicheiroAbrir FicheiroFechar FicheiroGuardar FicheiroGuardarComo FicheiroModelos FerrameiitasMacro ArchivoNuevo ArchivoAbrir ArchivoCerrar ArchivoGuardar ArchivoGuardarComo ArchivoPlantillas HerramMacro ArkivNytt Arkivrppna ArkivStфпg ArkivSpara ArkivSparaSom ArkivMallar VerktygMakro ArquivoNovo ArquivoAbrir ArquivoFechar ArquivoSalvar ArquivoSalvarComo ArquivoModelos FerramMacro


Автоматически (т. е. без участия пользователя) выполняются также макросы/функции, ассоциированные с какой-либо клавишей либо моментом времени или датой, т. е. Word и Excel вызывают макрос-функцию при нажатии на конкретную клавишу (или комбинацию клавиш) либо при достижении какого-либо момента времени. В Office 97 возможности по перехвату событий несколько расширены, но принцип используется тот же.

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

Таким образом, если документ заражен, при его открытии Word вызывает зараженный автоматический макрос AutoOpen (или AutoClose при закрытии документа) и запускает код вируса, если это не запрещено системной переменной DisableAutoMacros. Если вирус содержит макросы со стандартными именами, они получают управление при вызове соответствующего пункта меню (File/Open, File/Close, File/SaveAs). Если же переопределен какой-либо символ клавиатуры, то вирус активизируется только после нажатия на соответствующую клавишу.

Большинство макровирусов содержат все свои функции в виде стандартных макросов Word, Excel, Office 97. Существуют, однако, вирусы, скрывающие свой код и хранящие его в виде немакросов. Известно три подобных приема, все они используют возможность макросов создавать, редактировать и исполнять другие макросы. Как правило, подобные вирусы имеют небольшой (иногда — полиморфный) макрос — загрузчик вируса, который вызывает встроенный редактор макросов, создает новый макрос, заполняет его основным кодом вируса, выполняет и затем, как правило, уничтожает (чтобы скрыть следы присутствия вируса). Основной код таких вирусов находится либо в самом макросе вируса в виде текстовых строк (иногда — зашифрованных), либо хранится в области переменных документа или в области Auto-text.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: