Энциклопедия компьютерных вирусов

         

Macro.Access/Word97.Cross


Заражает базы данных MS Access и документы MS Word (Office97). Способен переносить зараженные файлы из Word в Access и обратно и является первым известным вирусом такого рода. Был обнаружен на одном из Web-узлов и переслан в Лабораторию в виде двух зараженных файлов: базы данных Access и документа Word. В каждом из этих двух файлов присутствовало по одной копии вируса, которая размножается в «родном» окружении (Word или Access): вирус из Word-документа заражает документы Word, вирус из базы Access ищет и заражает другие базы Access. Таким образом вирус состоит из двух частей, каждая из которых является полноценным вирусом в своем «родном» окружении. Общая черта обоих вирусов заключается в способности переносить вирусный код из одного приложения Office в другое: Word-вирус заражает базы Access, а Access-вирус создает зараженный файл в каталогах Word.

Также общим у обоих вирусов является их структура. Каждый вирус состоит из трех блоков: процедура заражения «родных» файлов (Infect), подпрограмма переноса вируса в другое приложение Office (Transfer) и блок шестнадцатеричных данных (BIN):

+--------------+ |Infect | | | |--------------| |Transfer | | | |--------------| |BIN | | | +--------------+

Блок BIN в обоих вирусах содержит в себе данные, которые используются для заражения «чужого» приложения Office, т.е. в Word-вирусе блок BIN содержит упакованный Access-вирус и наоборот — блок BIN в Access-вирусе содержит упакованный Word-вирус.

Шестнадцатеричные данные в блоке BIN содержатся в «стандартном» для макро-вирусов формате, позволяющем записать их на диск и отконвертировать в файл при помощи DOS-утилиты DEBUG (см. «Macro.Word.Nuclear»). Следует отметить, что данные в блоке BIN упакованы в формате MS Cabinet, и вирусу дополнительно требуется распаковать эти данные при помощи стандартной утилиты MS Extract.

Распаковка блоков BIN в обоих Word- и Access-вирусах дает два зараженных файла: базу данных Access (которой Word-вирус заражает Access) и документ Word (которым Access-вирус заражает Word).
Обе новые копии вируса также, как и «родители», способны размножаться в «родной» среде и записывать зараженные файлы в «чужое» проложение Office. Однако в обоих случаях код вируса в новых зараженных файлах не полностью совпадает с «родителями»: процедуры Infect и Transfer идентичны, однако полученная пара содержит отличный от «родительского» блок BIN.

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

Таким образом первоначальная пара зараженных файлов является «матрешкой»: внутри одного вируса лежит еще один, который в свою очередь содержит третий вирус (Access->Word->Access и Word->Access->Word). Различия между Access-вирусами различных уровней состоит только в блоке BIN, а процедуры Infect и Transfer полностью идентичны (то же справедливо для Word-вирусов), за исключением вируса последнего уровня — в нем отсутствует блоки Transfer и BIN.

Access-вирус 1-го уровня Word-вирус 1-го уровня

+----------------+ +----------------+ |Заражение Access| <--\ /--> |Заражение Word | |----------------| \ / |----------------| |Transfer | <----\ /----> |Transfer | |----------------| \ / |----------------| |BIN | \ / |BIN | +------+---------+ \ / +-------+--------+ | \ / | | \ / | | \/ | | /\ | V / \ V / \ Word-вирус 2-го уровня / \ Access-вирус 2-го уровня / \ +----------------+ / \ +----------------+ |Заражение Word | <----/ \----> |Заражение Access| |----------------| / \ |----------------| |Transfer | <--/ \--> |Transfer | |----------------| |----------------| |BIN | |BIN | +------+---------+ +-------+--------+ | | | | | | V V

Access-вирус 3-го уровня Word-вирус 3-го уровня

+----------------+ +----------------+ |Заражение Access| |Заражение Word | +----------------+ +----------------+

Если проследить «развитие» вирусов снизу вверх, то становится очевидно, что результирующая пара вирусов получена двухшаговым «усовершенствованием» изначальных вирусов 3-го уровня: к ним была добавлена процедура Transfer и дописан блок BIN.С результатом такого «усовершенствования» (с вирусами второго уровня) была проделана аналогичная операция — и в результате появилась пара вирусов, которая затем и была обнаружена в Internet.

Побочным эффектом подобных действий с кодом вирусов является их размер: исходный текст результирующего Access-вируса превышает 370K, а Word-вируса — 160K.


Содержание раздела