использование стека. При анализе дампов программ, зараженных штам-
мами данной подгруппы, обращает на себя внимание тот факт, что все
они содержат группы повторяющихся символов с кодом 05. Поэтому для
контекстного поиска зараженных файлов можно использовать строку,
состоящую из восьми повторений символа с шестнадцатиричным кодом
05.
Начиная со штамма RCE-2661 (ТР-38) в них применяется защита от
обнаружения фильтрами, перехватывающими прерывание 21. Примененный
прием основан на выполнении трассировки программ, "сидящих" на 21
прерывании до попадания в "оригинальный" обработчик MS DOS, и за-
поминании соответствующего адреса. Кроме того, именно с этого
штамма наблюдается эффект "самоизлечения" зараженной программы,
при попытке трассировки ее на зараженной вирусом машине.
Среди данной подгруппы впервые встречается попытка реализовать
модификацию одного вируса другим вирусом. Начиная со штамма ТР-42,
вирус проверяет, заражен ли компьютер, на котором он распространя-
ется вирусом Bx1-1C (Пинг-понг). Если да, то выполняется модифика-
ция вируса Bx1-1C в памяти таким образом, что в код вируса вводит-
ся специальный счетчик, инициализируемый значением 255. После за-
ражения дискеты вирус уменьшает счетчик на единицу и при достиже-
нии счетчиком значения нуль перестает размножаться. Кроме того,
начиная со штамма TP-44, мелодия играется не каждый раз при дости-
жении часами значения 17.00, а с вероятностью приблизительно 1/8,
что несколько затрудняет обнаружение вируса.
Наиболее распространенным представителем этой группы является
штамм RCE-2885 (Five o'clock; TP-44), с которого мы и начнем опи-
сание представителей данной группы.
5.3.3.1. Штамм RCE-2885 (TP-44,
Yankee Doodle-2C - Янки дудль-2С, Five o'clock)
Вирус RСE-2885 является файловым резидентным вирусом, поражающим
как файлы типа СОМ, так и файлы типа EXE. Заражение файлов проис-
ходит при запуске на выполнение соответствующих программ. Зараже-
ние COMMAND.COM происходит сразу после инсталляции вируса в верх-
ние адреса свободной оперативной памяти, поскольку при этом зати-
рается транзитная часть COMMAND.COM. Зараженный командный процес-
сор имеет длину 28197, при исходной длине 25307.
Зависимости работоспособности вируса от версии MS DOS не
обнаружено. Проверка номера версии в теле вируса не выполняется.
Перехватывает прерывания 1, 3, 1Ch, 21h. Дата создания и атрибуты
заражаемого файла остаются неизменными. Заражение выполняется од-
нократно.
При заражении COM-файлов вирус дописывает свое тело в конец фай-
ла, вставляя в первые три байта команду перехода на начало вируса.
Зараженные COM-файлы увеличиваются на 2885 (B45h) байтов (с вырав-
ниванием на границу параграфа). Заражаются COM-файлы длиной от 20h
до F277h байтов. В конце зараженного файла расположена четырехбай-
товая сигнатура вируса 7Fh, 39h, 2Ch, 00h.
При заражении EXE-файлов вирус также дописывает свое тело в ко-
нец файла с выравниванием начала вируса на границу параграфа. При
этом размер файла увеличивается на 2881 (B41h) байт. Длина при за-
ражении EXE- файлов не контролируется. В конце зараженного EXE-
файла четырехбайтовая сигнатура отсутствует.
При инсталляции вирус узнает длину исходного файла, восстанавли-
вает истинный стартовый адрес программы и проверяет наличие своей
копии в памяти компьютера. Если компьютер не заражен или заражен
более ранней версией вируса, то RCE-2885 копирует себя в область
памяти либо сразу за телом программы, либо выделенную функцией
ALLOC (21-48h) и, манипулируя с MCB, остается резидентным в памя-
ти, перехватывая прерывания 21h, 1Ch и 09h.
Вирус RCE-2885 проверяет, загружается ли файл с защищенной дис-
кеты или нет. Поэтому он не препятствует загрузке любого СОМ-файла
с защищенной дискеты. Резидентная часть вируса не обнаруживается
путем просмотра списка резидентных программ (с помощью утилит MAP,
SMAP, MMAP и т.д.). При этом вирус не детектируется программой
RELEASE, а попытка запустить RELEASE на зараженной машине приводит
к выдаче сообщения о том, что RELEASE не может стать резидентным.
Вирус обходит контроль резидентных фильтров, следящих за записью в
программные файлы.
Фаза проявления данного вируса состоит в проигрывании с вероят-
ностью 1/8 мелодии Янки Дудль ("Yankee Doodle") в 17 часов (точ-
нее, в 16:59:53). Никаких разрушений или манипулирований с данными
вирус не выполняет.
При попытке дизассемблирования дизассемблером Sourcer, а также
трассировке на зараженной машине, наблюдается эффект "самоизлече-
ния" файлов. Этот достаточно "экзотический" эффект достигается за
счет контроля прерываний 1h и 3h при получении управления по пре-
рыванию 1Ch. По умолчанию процедуры обработки этих прерываний со-
стоят из одной команды возврата. При загрузке программы, перехва-
тывающей данные прерывания (программа трассировки или дизассемблер
типа SOURCER), вирус устанавливает для указанных прерываний собст-
венные процедуры обработки. Последние проверяют, не произошли ли
эти прерывания из кодового сегмента, в котором расположена рези-
дентная часть вируса, и если да, запускают подпрограмму восстанов-
ления кода вируса, тем самым отключая программу трассировки.
Другими словами контроль прерываний 1 и 3 состоит в том, что, пока
процедуры обработки этих прерываний состоят из одной команды воз-
врата из прерывания, никаких действий вирусом не производится, но
стоит Вам загрузить программу, модифицирующую адреса обработчика
данных прерываний (например, отладчик), как вирус установит для
них собственные процедуры обработки. Основной целью перехвата уп-
равления при обработке прерываний 1h и 3h является проверка, не
произошли ли эти прерывания из кодового сегмента, равного сегменту
загрузки в память резидентного вируса. Если это так, то кто-то пы-
тается посмотреть работу вируса под отладчиком, и в ответ на это
вызывается специальная процедура восстановления кода вируса, чем
прерывается работа отладчика.
Аналогичным образом реализовано самоизлечение загружаемых в
трассировщик зараженных файлов: резидентная часть вируса отслежи-
вает момент загрузки программы в память без исполнения (21-4Bh,
AH=03), и проверяет, загружают в память зараженную программу или
нет. В последнем случае запускается подпрограмма "выкусывания" ви-
руса. Как уже указывалось, при заражении файлов, зараженных пред-
ыдущими версиями вируса, выполняется сначала "выкусывание", а за-
тем заражение данным штаммом.
Исторические замечания. Впервые вирус был описан В.Бончевым под
названием TP-44. Данный вирус был обнаружен в Киеве в сентябре
1989 г. Первым фагом для данного вируса были программы RVC и RVE.
(для COM- и EXE-файлов, соответственно). В настоящее время данные
программы представляют только исторический интерес.
Неформальные названия. Помимо приведенных в заголовке,
используются следующие названия: Янки Дудль, Музыкальный, Летучий
Голландец, TP-44.
Программные средства защиты. Простейшие средства защиты недоста-
точно эффективны против данного вируса. В частности, попытки запи-
си вируса в запускаемый файл не обнаруживаются ни VIRBLK, ни
ANTI4US2. Эффективна защита на уровне дискового драйвера (Advanced
Disk Manager, Dcache и т.д.). Как уже указывалось, вирус содержит
средства защиты против трассировки. Для контроля работы детекторов
можно использовать поиск строки "0505050505050505"h.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-2885
100 E90E089090909090 9090909090909090 ................
110 9090040090909090 9090909090909090 ................
120 9090909090909090 9090909090909090 ................
130 9090909090909090 909090C37A3D0000 ............z=..
140 F47A2C0000003C00 BE0A909090909090 .z,...<.........
150 9090909090909090 9090909090909090 ................
160 9090909090909090 9090601479026014 ..........`.y.`.
170 790256058C4253FF 00F00500B6643B13 y.V..BS......d;.
180 DE006A002E833ED4 065C0770002E833E ..j...>..\.p...>
190 D4065C0770000000 2101000100016901 ..\.p...!.....i.
1A0 0000100000010002 CF02C711C711E60F ................
1B0 280EC711280EE60F C417C711C711E60F (...(...........
1C0 280EC711C711C711 C711E60F280E590D (...........(.Y.
1D0 280EE60FC711EF12 C4172C15EF12C711 (.........,.....
1E0 C7112C15EF122C15 C51A2C15EF12C711 ..,...,...,.....
1F0 2C15C4172C15C417 C51A671CC51AC417 ,...,.....g.....
200 2C15EF122C15C51A 2C15EF12C7112C15 ,...,...,.....,.
210 C417C711EF12E60F C711C711FFFF0505 ................
220 0505050505050505 0505090905050505 ................
230 0505050505050505 0909050505050505 ................
240 0505050505050505 0605050505050505 ................
250 06050505050909FE 067A7DFE06FB7D74 .........z}...}t
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+----- начало инсталлятора вируса
V
911 E800005B81EBD4 072EC6875C00FFFC ....[.......\...
920 2E80BF5B00007418 BE0A0003F3BF0001 ...[..t.........
930 B92000F3A40E2EFF B76400061E50EB13 . .......d...P..
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
B60 3146F826A10A0031 46FA26A10C003146 1F.&...1F.&...1F
B70 FC26A10E003146FE EB118BC1B908008D .&...1F.........
B80 76F033FFF336A58B C8EB0349EB9BD1EA v.3..6.....I....
B90 7202EB868BE55DC3 558BEC1E8E5E048E r.....].U....^..
BA0 460633DB268B0731 0783C30283FB1072 F.3.&..1.......r
BB0 F3FF4604FF4606FF 4E0875E01F5DC355 ..F..F..N.u..].U
BC0 8BEC1EB30133F633 C98B7E08037E0A4F .....3.3..~..~.O
BD0 8EDFD02CD1D14F3B 7E0873F40BC97411 ...,..O;~.s...t.
BE0 51FF7606FF7604E8 EBFE83C4068ED830 Q.v..v.........0
BF0 1C4683FE1072D0D0 E373CA1F5DC387DB .F...r...s..]...
C00 88CB8A998F38E7CD A19B3EEF86C89783 .....8....>.....
C10 5234BE8C2129B1F9 C19B120409F34501 R4..!)........E.
C20 931DB0B9C6010692 375049E8D5719722 ........7PI..q."
C30 A6E64C50BE2A23BE 441DA1A66BA0E006 ..LP.*#.D...k...
C40 AA1AF62AC0022F75 99060F5B97023E64 ...*../u...[..>d
C50 7DC8506608C4FA92 8E64751BA61BB932 }.Pf.....du....2
C60 BD0B3E616DE0C4B9 29CA9C170821EAEE ..>am...)....!..
C70 7E85B1632AC37171 2CA0F28B590DF9D5 ~..c*.qq,...Y...
C80 00F47A2C00 ..z,.
+----+
сигнатура
5.3.3.2. Вирус RCE-2680
(ТР-33, Yankee Doodle-21 -- Янки дудль-21)
Этот штамм, по-видимому, является первым представителем подгруп-
пы самоедов. Именно в нем была добавлена часть, обеспечивающая
восстановление оригинального кода вируса при изменении до 16 по-
следовательных байтов (с помощью самокорректирующегося кода Хем-
минга). Вирус играет мелодию Янки Дудль в 17 часов.
Исторические замечания. Данный вирус распространялся на вирусной
дискете В.Бончева в файле TP33VIR.COM, датированном 17 февраля
1989 г.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-2680
0100 E99F069090909090 9090909090909090 ................
0110 9090909090909090 9090909090909090 ................
0120 9090909090909090 9090909090909090 ................
0130 9090909090909090 90909090909090C3 ................
0140 4D0800AF00000000 0000000000000000 M...............
0150 6002FD1660147402 5605631353FF00F0 `...`.t.V.c.S...
0160 20000500BB916A13 0000C60052002EC6 .....j.....R...
0170 5C077000558B5C07 7000010001909090 \.p.U.\.p.......
0180 9090909090909090 90909087DB87DB90 ................
0190 6402C711C711E60F 280EC711280EE60F d.......(...(...
01A0 C417C711C711E60F 280EC711C711C711 ........(.......
01B0 C711E60F280E590D 280EE60FC711EF12 ....(.Y.(.......
01C0 C4172C15EF12C711 C7112C15EF122C15 ..,.......,...,.
01D0 C51A2C15EF12C711 2C15C4172C15C417 ..,.....,...,...
01E0 C51A671CC51AC417 2C15EF122C15C51A ..g.....,...,...