операционной системы приводит к срабатыванию вируса и, как
правило, к потере информации на носителе (ничего себе легкое
распознавание ! - БНН). Отметим, что большинство вирусов,
заражающих скрытые системные файлы, относятся к классам вирусов,
либо повреждающих системные области дисков, либо форматирующих
диски.".
Опыт автора показывает, что в случае поражения обычными
файловыми вирусами (резидентные вирусы, заражающие файлы при
открытии заражают указанные системные файлы при их копировании)
скрытых файлов операционная система становится неработоспособной.
Специальных вирусов, рассчитанных именно на заражение скрытых
файлов, в настоящее время не существует (возможно, потому, что
слишком мала инфицирующая способность такого вируса - меньше чем у
бутового). Единственный специализированный вирус, заражающий
командный процессор (Lеhigh), по данным П.Хофман, можно считать
практически уничтоженным. В нашу страну он пока не попадал.
7. КАТАЛОГ БУТОВЫХ ВИРУСОВ,
ОБНАРУЖЕННЫХ В СССP
В настоящее время можно выделить четыре группы бутовых вирусов:
итальянскую, пакистанскую, новозеландскую и индийскую.
7.1. Итальянская группа
Итальянская группа представляет собой бутовые вирусы,
демонстрирующие интересный визуальный эффект: во время работы
пользователя ни с того ни с сего на экране появляется хаотически
движущееся на экране светлое пятно (мячик). Первым и наиболее
распространенным представителем этой группы является вирус Bx1-1C,
на примере которого мы и рассмотрим эту группу.
7.1.1. Вирус Bx1-1C (Ping-Pong - Пинг-понг;
Italian Bouncing - Итальянский попрыгунчик)
Неформальные названия данного вируса связаны с тем, что вирус
визуально проявляется в виде светлого ромбика на экране дисплея,
двигающегося в случайном направлении и "отражающегося" от символов
псевдографики. Формально данный вирус относится к резидентным
бутовым вирусам типа Вx1: он заражает как дискеты, так и
винчестер, а его хвост расположен в одном кластере, помеченном как
сбойный, как на дискетах, так и на винчестере.
Дамп головы и хвоста вируса приведены ниже. Как уже указывалось,
инфицируются любые дискеты, а не только системные. Оригинальный
бутсектор находится во втором секторе сбойного класера, что
позволяет использовать его при восстановлении с помощью Norton
Utilities или PC Tools. Длина вируса составляет 1536 (600h) байт.
Перехватывает прерывания 10h и 13h. Когда происходит загрузка с
зараженного диска, сначала считывается голова вируса, которая
размещается по адресу 0000:7C00 и управление передается на начало
вируса. Вирус определяет объем памяти компьютера (слово по адресу
0040:0013) и уменьшает его значение на 2, резервируя место
размером 2K под свою копию. Затем вирус копирует себя в
зарезервированную область, передает туда управление, ищет свою
вторую часть на диске, дописывает к себе свое продолжение и
считывает оригинальный бутсектор (второй сектор псевдосбойного
кластера с хвостом вируса) в память по адресу 0000:7C00. Затем
вирус перехватывает прерывание 13h с тем, чтобы контролировать
обращения к диску и запускает стандартный системный загрузчик (
передавая управление на адрес 0000:7C00), который, в свою очередь,
загружает IBMIO.COM и IBMDOS.COM (или IO.SYS и MSDOS.SYS), т.е.
происходит стандартная загрузка системы. В дальнейшем, в процесс
работы пользователя на ЭВМ, вирус активируется всякий раз, когда
выполняется операция чтения с дискеты. Получив управление, вирус
анализирует, относится ли оно к дискете или к винчестеру. Если это
прерывание относится к дискете, то сначала вирус проверяет,
заражена уже данная дискета или нет. Для этой цели считывается
бутсектор и проверяются его содержимое. Если дискета еще не
заражена, то вирус заражает дискету, а затем обрабатывает команду
READ. В случае, если дискета уже заражена, вирус сразу переходит к
обработке команды READ; так же он поступает в случае, если дискета
защищена от записи.
Заражение выполняется следующим образом. Сначала вирус копирует
оригинальный бутсектор в оперативную память. Затем вирус ищет
свободный кластер, который он может пометить как сбойный. Если ни
одного свободного кластера на дискете нет, то заражения не
происходит. Если подходящий кластер найден, то вирус копирует туда
оригинальный бутсектор и свoй хвост (в первый сектор кластера
записывается хвост, а во второй сектор - оригинальный бутсектор).
Для того чтобы занятый вирусом кластер не был использован MS DOS
при создании нового файла, вирус помечает этот кластер как
сбойный. И, наконец, вирус записывает свою голову в бутсектор
заражаемого диска, предварительно записав в ней номер кластера,
содержащего хвост вируса. Заражение дискет происходит стандартным
образом: при обращении к дискете. Заражаемые дискеты должны иметь
512 сектора и 2 сектора в кластере. При заражении винчестера вирус
анализирует в MBR таблицу разделов (Partition Table) и определяет
положение бутсектора на винчестере.
Стадия проявления у данного вируса наступает через случайный
промежуток времени, варьирующийся от десятков минут до десятков
часов. Условия активизации точно автору не известны. Как уже
указывалось, стадия проявления заключается в появлении на экране
светлого ромбика(знак 07h ASCII), который хаотически движется по
диагоналям, отражающегоcя от границ экрана и символов
псевдографики. При этом не имеет значения тип установленного
адаптера. Ромбик беспрепятственно проходит сквозь обычные символы;
однако в некоторых случаях он изменяет цвет символа или заменяет
символ собой, искажая в последнем случае содержимое экрана. При
редактировании это совсем не безобидные изменения, поскольку при
записи в память искажения сохраняются. Поэтому можно исказить
редактируемый текст, работая на зараженной машине.
Если экран находится в графическом режиме, то движущийся ромбик
изменяет цвет полей, через которые он проходит. Для некоторых игр
это приводит к быстрому окрашиванию экрана в черный цвет, что
делает невозможным продолжение игры. Как уже указывалось изменение
цвета наблюдается и в текстовом режиме, когда ромбик, "проходя
сквозь символ", также меняет его цвет. Это часто наблюдается со
стандартной подсказкой DOS.
В теле вируса имеется экзотическая команда, которую выполняет
микропроцессор 8086/8088 и не выполняет микропроцессор 80286.
Поэтому вирус работоспособен только на машинах класса XT. При
попытке загрузиться с зараженной дискеты на IBM PC/AT система
зависает.
Исторические замечания. Данный вирус появился на Западе примерно
в конце 1987 г. В СССР появился в конце 1988 г. (в Киеве в начале
1989 г.). Поскольку вирус достаточно распространен в соцстранах,
то он, несомненно, попадал в СССР неоднократно с различными
программными средствами. Первым и достаточно удачным фагом для
этого вируса, появившимся в Киеве, была зарубежная программа PNCL,
см. СП 1-1. Поскольку данный вирус является одним из самых
распространенных бутовых вирусов, имеются многочисленные штаммы.
Неформальные названия. Для данного вируса существует порядка
десятка неформальных названий. Среди них: Bouncing Dot - Танцующий
зайчик; Bouncing Ball - Прыгающий мячик; Italian Bouncing -
Итальянский попрыгунчик; Ball - Мячик, Vera Cruz - Вера Круз,
Italian - Итальянский. Полидетектор SCAN опознает этот вирус как
"Ping Pong Virus - Version B [Ping]".
Методы и программные средства защиты. Вирус можно
идентифицировать путем визуального просмотра содержимого
бутсектора (использовать Norton Utilities удобнее чем PCTools).
При проверке полученных дискет удобнее всего сравнивать первые три
байта (J-сигнатуру) дампа. Norton Utilitis (NU), которая выдает
FAT в "полуинтерпретированном" виде и позволяет сразу определить
номер кластера, помеченного как сбойный, что облегчает его поиск и
анализ. Как уже указывалось, вирус хранит содержимое нормального
бутсектора во втором секторе своего сбойного кластера. Поэтому
можно дезинфицировать зараженные дискеты, переписывая второй
сектор сбойного кластера в бутсектор. Эту операцию можно
выполнить, например, с помощью Norton Utilities. Затем необходимо
исправить в FAT сбойный кластер на FFF (тем самым он становится
"потерянным") и превратить его в файл, запустив утилиту CHKDSK с
параметром /F, и наконец, удалить полученный файл с тем, чтобы
бывший сбойный кластер попал в пул свободных кластеров. Имеется
также специальная утилита для удаления сбойный секторов. Полифаг
AIDSTEST и другие сопровождаемые полифаги распознают и уничтожают
этот вируса, предварительно нейтрализуя его в памяти. Тем не менее
лучше выполнять эту операцию, загрузивщись с защищенной от записи
эталонной MS DOS. Возможно вакцинирование дискеты от данного
вируса, однако оно существенного значения не имеет, поскольку при
минимальных мерах предосторожности (обязательное использование при
копировании программ с дискет защитных наклеек, контроль
бутсектора), распространения этого вируса, как и любого, бутового
вируса можно избежать.
Дамп головы вируса Bx1-1C
000: EB1C90504320546F 6F6C730002020100 ...PC Tools.....
010: 027000D002FD0200 09000200000033C0 .p............3.
020: 8ED0BC007C8ED8A1 13042D0200A31304 ....|.....-.....
030: B106D3E02DC0078E C0BE007C8BFEB900 ....-......|....
040: 01F3A58EC80E1FE8 000032E4CD138026 ..........2....&
... .. .. .. .. .. .. .. .. . . . . . . . .
120: F77DFE5A595B5807 1FEA1B0300C8B801 .}.ZY[X.........
130: 02B600B90100E88A FFF606F87D807423 ............}.t#
140: BEBE81B90400807C 0401740C807C0404 .......|..t..|..
150: 740683C610E2EFC3 8B148B4C02B80102 t..........L....
160: E860FFBE0280BF02 7CB91C00F3A4813E .`......|......>
170: FC8157137515803E FB8100730DA1F581 ..W.u..>...s....
180: A3F57D8B36F981E9 0801C3813E0B8000 ..}.6.......>...
190: 0275F7803E0D8002 72F08B0E0E80A010 .u..>...r.......
1A0: 8098F726168003C8 B82000F726118005 ...&..... ..&...
1B0: FF01BB0002F7F303 C8890EF57DA1137C ............}..|
1C0: 2B06F57D8A1E0D7C 33D232FFF7F3408B +..}...|3.2...@.
1D0: F88026F77DFB3DF0 0F7605800EF77D04 ..&.}.=..v....}.
1E0: BE01008B1E0E7C4B 891EF37DC606B27E ......|K...}...~
1F0: FEEB0D01000C0001 00240200571355AA .........$..W.U.
Хвост вируса, записанный в "псевдосбойном" кластере
000: FF06F37D8B1EF37D 8006B27E02E88DFE ...}...}...~....
010: EB39B80300F606F7 7D04740140F7E6D1 .9......}.t.@...
020: E82A26B27E8BD881 FBFF0173D38B9700 .*&.~......s....
030: 80F606F77D04750D B104F7C601007402 ....}.u.......t.
040: D3EA80E60FF7C2FF FF7406463BF776C2 .........t.F;.v.
050: C3BAF7FFF606F77D 04750D80E60FB104 .......}.u......
060: F7C601007402D3E2 099700808B1EF37D ....t..........}
... .. .. .. .. .. .. .. .. . . . . . . . .
7.1.2. Штамм Bx1-1C-b
(Ping-Pong modified by Yankee Doodle - Пинг-понг,
модифицированный вирусом Янки Дудль)
В данном штамме имеются изменения, вносимые вирусами подгруппы
музыкальных самоедов. Изменения состоят в введении счетчика,
увеличивающегося на единицу при каждом заражении. При достижении
счетчиком значения 255 вирус теряет способность к дальнейшему
размножению.
Исторические замечания. Выделен и изучен И.Сысоевым. Приводимые
сведения опираются непосредственно на его сообщение на семинаре.
Неформальные названия. Помимо приведенного выше, отсутствуют.