040: A23236062FCF3672 24DF3EBC2CDF362E .26./.6r$.>.,.6.
050: 3212361732290FB7 43289D1602020EE7 2.6.2)..C(......
060: 8233363632322E26 2222262602237126 .36622.&""&&.#q&
070: 6D3A36363332DF2B 3F13464676507A5D m:6632.+?.FFvPz]
080: C86338529B9A46AE A2F9274D01A38022 .c8R..F...'M..."
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
Пример карты памяти зараженного компьютера. В приводимой ниже
карте памяти резидентная часть вируса занимает последнюю строку
(1E1E) таблицы резидентных программ. Ее длина, указанная в графе
"bytes", не соответствует действительной. Перехватываемые прерыва-
ния также не указаны.
Addr Program Parent Sg Bytes Hooked Vectors
------ -------- -------- -- ------ ------------------
(1A66) DOS N/A 3 5504
(1B4E) E1840 DOS 2 1280
(1BA0) QUICK DOS 2 512
(1BC2) KBMNA DOS 2 480 16
(1BE2) DOSEDIT DOS 2 2032
(1C62) BDS1 DOS 2 7056 00 08 09 13 1A
(1E1E) N/A N/A 1 64
5.1.2. Вирус RС-1704 (Cascade-B -- Буквопад-Б)
Данный штамм отличается от исходного исправленной ошибкой, свя-
занной с проверкой фирмы -- изготовителя BIOS. Других особенностей,
по-видимому, не имеет. Детектируется полидетектором SCAN. Длина
штамма 1704 (6A8h) байтов.
5.2. Иерусалимская группа
Иерусалимская группа получила свое название с связи с тем, что
один из представителей этой группы был обнаружен в конце 1987 г.
студентом Иерусалимского университета. Вирус существует в несколь-
ких разновидностях (штаммах), отличающихся по своим размерам, дей-
ствиям и типам заражаемых файлов. Из них наиболее распространенным
является версия, которая в пятницу, приходящуюся на 13 число, уда-
ляет все запускаемые файлы. Другими словами, если в этот день
файл, содержащий исполняемую программу, запускается на выполнение
на зараженной машине, вирус удаляет его с диска и при попытке по-
вторного выполнения этой программы MS DOS сообщит, что соответст-
вующий файл не найден. Большинство представителей этой группы за-
ражают COM-файлы, размещая свое тело в начале, а не в конце, как
большинство других групп вирусов.
5.2.1 Вирус RCE-1813 (Ierusalem -- Иерусалим,
Black Friday -- Черная пятница)
Вирус RСЕ-1813 получил название Black Friday -- Черная пятница,
поскольку, если 13 число месяца приходится на пятницу, то он уда-
ляет все запускаемые файлы. Впервые обнаружен в Израиле, поэтому
другим распространенным названием вируса является Israeli Virus --
Израильский вирус. Формально вирус RСЕ-1813 является резидентным
файловым вирусом, поражающим как СОМ-, так и ЕХЕ-файлы.
Работоспособен на версиях, начиная с 2.0, как на PC XT, так и на
PC AT.
При выполнении зараженной программы вирус вначале проверяет на-
личие своей копии в памяти компьютера. Если она есть, то управле-
ние передается зараженной программе. Если ее нет, то вирус инстал-
лируется, выполняя следующие действия: 1) запоминает в своем теле
значения байтов памяти с адресами 003FCh-003FEh; 2) размещает по
указанным адресам программу копирования и передает ей управление;
3) программа копирования перемещает тело вируса в самые младшие
адреса, выделенные для основной программы (при этом вирус в COM-
программе копируется сам в себя, а в EXE-программе стирает часть
кода основной программы), и возвращает управление в копию вируса;
4) восстанавливает старое содержимое байтов памяти с адресами
003FCh-003FEh; 5) определяет имя основной программы и функцией
EXEC (21-4Bh) запускает ее на выполнение (т.е. в памяти компьютера
в этот момент находятся 2 копии основной программы); 6) по оконча-
нии работы программы вирус освобождает лишнюю память и остается
резидентным в памяти (с помощью прерывания 21-31h). Использование
для постановки в резидент прерывания 21-31h означает, что вирус
виден по карте памяти (см. ниже). Из нее видно, что после загрузки
в память вирус перехватывает прерывания 08 и 21. После того, как
вирус RСЕ-1813 стал резидентным, он пытается заразить каждый запу-
скаемый файл, за исключением файлов с именем COMMAND.COM.
Файлы типа СОМ поражаются данным вирусом однократно, при этом
дата их создания не меняется, а длина увеличивается на 1813 бай-
тов. В инфицированной программе тело вируса размещается в начале
файла, поскольку при заражении COM-файла вирус выделяет область
памяти (с помощью int 21h, ah=48h), в которую копирует сначала
свое тело, а затем зараженный файл. Полученный образ зараженного
файла записывается на диск с добавление 5-байтового поля (обычно
это поле содержит "MsDos", однако имеются штаммы с другим содержа-
нием), используемого вирусом в качестве признака зараженности COM-
файлов. Ограничений на длину файлов нет, поэтому вирус уничтожает
COM-файлы, длина которых после заражения превысит 64K. Вирус не
заражает COMMAND.COM, определяя его по имени файла.
ЕХЕ-файлы (включая оверлейные) поражаются многократно, порой
разрастаясь до невероятных размеров, достигающих предельно допу-
стимого для данной машины размера (например, Norton Commander мо-
жет достичь размера в несколько сот килобайт). Дата создания не
изменяется, а длина при каждом заражении увеличивается на 1808 --
1823 байта. Тело вируса размещается обычно в конце файла, однако в
случае, если поражаемый EXE-файл имеет неверную длину в заголовке
(это имеет место, например, в ряде программ, использующих часть
своего файла в качестве буфера на диске для хранения промежуточных
данных), то вирус размещается в середине. Такой эффект наблюдается
для FOXBASE, QC и ряда других больших программ, использующих часть
своего дискового файла в качестве буфера или неявного оверлея. При
изменении заголовка файла вирус записывает в поле контрольной
суммы значение 1984h.
Фаза проявления наступает через некоторое время после того, как
вирус стал резидентным (это время зависит от тактовой частоты ЭВМ
и для обычных РС/ХТ с тактовой частотой 4.77 Мгц составляет поряд-
ка 40 мин.) и зависит от даты и дня недели. В "обычный" день, не
приходящийся на пятницу, совпадающую с 13 числом, проявление дан-
ного вируса состоит в замедлении работы ЭВМ. При этом выдача любой
команды, например DIR, приводит к медленному "выползанию" строк на
экран. Этот эффект основан на том, что вирус перехватывает преры-
вание от таймера (8h) и при каждом прерывании 8h выполняет цикл из
нескольких тысяч команд. Обычно через некоторое время после начала
стадии проявления действия вируса приводят к зависанию MS DOS с
сообщением "Stack overflow". Вторым визуальным эффектом является
вырывание кусков изображения с появлением на экране черного окна в
левом нижнем углу экрана (вирус выполняет скроллинг части экрана).
Если текущий день недели -- пятница, а текущее число -- 13, то ста-
дия проявления меняется: в такие дни вирус не заражает собой все
запускаемые файлы, а просто удаляет их с диска. Таким образом, при
попытке запустить программу на выполнение, MS DOS выдает сообщение
о том, что файл не найден. В результате будут уничтожены все фай-
лы, которые пользователь пытается запускать, пытаясь выяснить, что
происходит с компьютером. Поэтому непреложным правилом поведения
пользователей должно стать следующее: при возникновении каких-то
аномалий необходимо перегрузиться с защищенной дискеты и уже после
этого пытаться анализировать, что произошло с компьютером. Как уже
отмечалось, из-за ошибки в тексте вируса при заражении как COM-,
так и EXE-файлов, имеющих размер, дающий при увеличении на 1808 --
1821 байтов величину, превосходящую 64К, 128К и т.д., заражаемая
программа необратимо портится, перезаписываясь в начале.
Исторические замечания. Вирус RСE-1813 появился в Израиле в на-
чале 1988 г. В СССР обнаружен в ноябре 1988 г. в одном из москов-
ских кооперативов. Первый детектор был, по-видимому, разработан в
Институте программных систем (Переславль-Залесский), однако эта
программа до Киева не дошла. По результатам анкеты, проведенной
автором на апрельском семинаре, этот вирус был обнаружен в 10 ор-
ганизациях из 50 участников семинара, принявших участие в анкети-
ровании. Поскольку создание средств защиты несколько запоздало (в
Киеве эпидемия началась приблизительно в апреле, а средства защиты
появились примерно в июне), вирус распространился довольно широко
и нанес определенный ущерб: десятки, если не сотни тысяч часов бы-
ли потеряны на восстановление и перезапись зараженных программ.
Первыми использовавшимися в киевской практике детекторами для
этого вируса были DOCTOR А.А.Чижова и ANTIDOS киевской разработки.
Первые фаги, использовавшиеся в Киеве для борьбы с этим вирусом,
были разработаны А.А.Чижовым (DOCTOR1) и Л.И.Обуховым (FAG1813 --
август 1989 г.). Программа FAG1813, распространявшаяся как
SHAREWARE по цене 1 рубль за копию (см.СП 1-1), работала устойчи-
во, однако не могла рекурсивно обрабатывать подкаталоги (впрочем,
программа очень мала (1808 байтов)). Для рекурсивной обработки
подкаталогов использовалась с RUNTREE. Кроме того, Л.И.Обуховым
была разработана резидентная вакцина VAC1813R, а позднее VAC1813Q.
Вакцина содержит обработчик неиспользуемого в MS DOS прерывания
Е0, используемого вирусом для определения, имеется ли в оператив-
ной памяти копия вируса или нет. Если этот обработчик возвращает
значение 3, то вирус считает, что он уже является резидентным и
загрузку собственной копии в список резидентных программ не выпол-
няет. Данная вакцина является первым отечественным продуктом тако-
го типа и позволяет, в частности, работать на зараженной машине
без дезактивации всех зараженных файлов. Версия VAC1813Q выдает
предупреждающее сообщение всякий раз, когда делается попытка запу-
стить зараженную программу. Таким образом, она является одновре-
менно резидентным детектором для данного типа вируса. Позднее
В.В.Пономаренко была разработана поливакцина NEATVAC (СП 2-7).
Зарубежные программы появились в СССР несколько позднее. Первой
из них была программа FAG_SU, разработанная Joe Ratcatcher & Anre
Molnar.
Неформальные названия. Данный вирус имеет более десятка нефор-
мальных названий. Среди них: Hebrew University, PLO (ООП), Black
Hole (Черная дыра), Вирус замедления, Time (Время -- О.Котик). По-
лидетектор SCAN называет данный вирус "Jerusalem Virus Version B
[Jeru]".
Методы и программные средства защиты. В настоящее время все по-
лифаги и полидетекторы распознают этот вид вируса. Однако почти
все из указанных программ не обрабатывают случай, когда вирус на-
ходится в середине файла. Поэтому результаты их работы необходимо
контролировать с помощью контекстного поиска по всему диску. В по-
следних версиях полифага DOCTOR введен новый ключ, задающий расши-
ренную обработку файлов. В этом случае проводится полный просмотр
файлов. Поскольку для каждого зараженного СОМ-файла вирус в конце
дописывает признак зараженности, который состоит из 5 байтов, со-
держащих слово MsDos, можно реализовать пассивное вакцинирование
СОМ-файлов от этого типа вирусов. Для этой цели применима, напри-
мер, команда COPY, если заготовить слово MsDos в отдельном файле,
а затем конкатенировать COM-файлы с этим файлом.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1813
+---------------- команда обхода области данных
| (дрозофила перемещена в конец файла - см. ниже)
+-----+
0000:|E9920073554D7344 6F7300018F250000 ...sUMsDos...%..
0010: 001000D800AD0F5C 06FD1856059D1007 .......\...V....
0020: 7E00000000000000 0000000000000000 ~...............
0030: 000E258000000080 000E255C000E256C ..%.......%\..%l
0040: 000E250004FABA29 0053A1000000004D ..%....).S.....M