с момента заражения не станет равным 256. Длина исходной программы
вирусом не сохраняется. Атрибуты файла не проверяются, поэтому ви-
рус не заражает файлы с атрибутами READ-ONLY. Вирус RC-492 не про-
веряет, находится заражаемая программа (которая загружается на вы-
полнение) на защищенной дискете или нет, и пытается выполнить за-
пись на защищенную от записи дискету. При этом операционная систе-
ма выдает сообщение:
Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?
Вирус использует "гибридную" стратегию заражения, в которой
сочетаются методы, характерные для нерезидентного вируса с
методами, характерными для резидентного вируса. Как уже отмеча-
лось, получив управление, вирус сначала пытается заразить файл
COMMAND.COM в корневом каталоге -- стратегия, характерная в основ-
ном для нерезидентных вирусов. Вместе с тем, став резидентным, ви-
рус перехватывает прерывание 1С и 21 и заражает программы, запу-
скаемые на выполнение.
Отличительной особенностью данного вируса является то, что в
оперативной памяти его тело располагается в области второй полови-
ны векторов прерываний (0000:200h -- 0000:03FFh). Это может приво-
дить к зависанию компьютера при инсталляции вируса, если к этому
моменту одна из резидентных программ использует какой-нибудь из
затираемых векторов прерываний.
При запуске зараженной программы RС-492 сначала проверяет с по-
мощью прерывания 21-35, имеется ли уже резидентная копия данного
вируса (по значению адреса обработчика прерывания 1С). Если усло-
вие зараженности оперативной памяти выполнено, то вирус передает
управление зараженной программе, в противном случае он приступает
к поиску и заражению COMMAND.COM в главном каталоге диска С. Затем
вирус становится резидентным и перехватывает прерывания 1Ch и 21h.
В результате при запуске любой программы вирус получает управле-
ние, проверяет, является ли запускаемая программа зараженной, и
если нет, то заражает данную программу на диске. У зараженного
файла изменены значения первых 6 байтов (организуется переход на
начало тела и признак зараженности файла).
Фаза проявления данного вируса в настоящее время еще не ясна.
Есть основания считать, что прерывание 1Ch используется вирусом
для выбора момента уничтожения информации в выбираемых случайным
образом последовательных секторах диска С (похоже, записывается
четное число секторов -- 2,4,6). В указанные сектора записывается
информация из оперативной памяти компьютера. По мнению Д.Н.Лозин-
ского, есть надежда, что данный фрагмент содержит ошибку и такой
момент никогда не наступает. Код вируса RC-492 не содержит при-
емов, затрудняющих дизассемблирование и анализ программы.
Исторические замечания. Данный вирус появился в СССР в июле 1990
г. Впервые был выделен автором в ВЦ АН СССР (Moсква) 19 июля 1990
г. и, независимо, Д.Н.Лозинским. B Киеве не отмечался. Первыми
фагами для данного вируса были -V (Е. Касперского) и NEATFAG (В.
Пономарентко).
Неформальные названия. sI (строка "sI" расположена со смещением
3 от начала зараженной программы)
Программные средства защиты. Доступные версии полидетектора
SCAN (до 66, включительно) данный вирус не обнаруживают. Фаги см.
прил.1. При использовании системы управления доступом к винчестеру
(Disk Manager, Advanced Disk Manager и т.д.) вирус не в состоянии
попасть в разделы винчестера, для которых установлен статус READ
ONLY. Однако при этом становится невозможным вызов программ с за-
щищенной дискеты или раздела винчестера. Специальные средства за-
щиты от данного вируса принципиально могут включать детектор, фаг
для резидентной части, резидентный и пакетный фаги для зараженных
файлов и активную (резидентную) вакцину.
Фрагмент дампа программы DUMY16.COM,
зараженной вирусом RC-492
000: E91D007349FF9090 90909090909090C3 ...sI...........
010: 0000000000000000 0000000000000000 ................
020: 2E8B1E010183C303 B104D3EB8CD803C3 ................
030: 8ED82EA1B001A38C 02BE6F01BF0001FC ..........o.....
040: B90600F3A4B81C35 CD2181FB45027508 .......5.!..E.u.
050: 0E0E1F07680001C3 B810008EC0B90002 ....h...........
060: BF00018BF7F3A406 1EBA7501E835001F ..........u..5..
070: B81C25BA4502CD21 B82135CD21891E8E ..%.E..!.!5.!...
080: 028C069002BA9202 B82125CD21EBC190 .........!%.!...
090: 9090909090433A5C 434F4D4D414E442E .....C:\COMMAND.
0A0: 434F4D00B43DB002 CD215B1F537303E9 COM..=...![.Ss..
0B0: 91008BD8B43FB906 00BA6F01CD21727F .....?....o..!r.
0C0: 813E720173497455 813E6F014D5A746F .>r.sItU.>o.MZto
0D0: B80242B90000BA00 00CD2172628BC883 ..B.......!rb...
0E0: C90F83E902890E25 0283C1032BC8BA2A .......%....+..*
0F0: 02B440CD217248B4 40B9EC01BA0001CD ..@.!rH.@.......
100: 21CC3CB80042B900 00BA0000CD21722F !.<..B.......!r/
... .. .. .. .. .. .. .. .. .. .. .. ..
1E0: 040083EF018BF7BF 8301ACE86CFFAE74 ............l..t
1F0: 03EB0B90E2F41F5A 521E0EE8A6FE1F5A .......ZR......Z
200: 075D5F5E595B582E FF2E8E02 .]_^Y[X.....
5.6.2. Вирус RC-488
(Flu-2 -- Грипп-2, LoveChild -- Внебрачный ребенок)
Неформальное название данного вируса связано с тем, что в теле
вируса имеются текстовые строки "v2 (c) Flu Systems (R)" и
"LoveChild in reward for software sealing". Формально RC-488 явля-
ется файловым резидентным вирусом, заражающим COM-файлы. Длина ви-
руса 488 (1E8h) байтов совпадает с приращением при заражении. Фай-
лы заражаются однократно. Командный процессор заражается как обыч-
ный COM-файл.
При заражении COM-файлов вирус дописывает себя в конец, изменяя
первые четыре байта. Файлы заражаются при их загрузке в память,
при открытии и создании (21-3C, 21-3D, 21-4B и 21-5B). При зараже-
нии длина файлов не проверяется.
При инсталляции записывает свое тело во вторую половину таблицы
векторов прерываний, начиная с адреса 0000:01E0h. Проверяет версию
операционной cистемы. Для версии 3.3 умеет определять "истинные"
адреса 21 и 13 прерываний. Для получения управления по 21 прерыва-
нию использует сплайсинг. Обработка 13 прерывания сводится к заме-
не адреса его обработчика на первоначальное значение, что "отруба-
ет" сторожа, следящие за этим прерыванием, как, впрочем, и драйве-
ры типа 800, обеспечивающие нестандартные форматы записи на диске-
ты.
Фаза проявления наступает при определенных значениях счетчика
времени. При этом вирус либо уничтожает файлы, либо создает вместо
файла подкаталог с таким же именем. Кроме того, вирус может моди-
фицировать COM-файлы таким образом, что их запуск вызовет стирание
секторов винчестера (стирается вся информация, расположенная на
всех секторах, соответствующих 0-3 головкам записи/чтения).
Исторические замечания. Судя по текстовым строкам, RC-488 имеет
зарубежное происхождение, однако в доступной автору версии списка
П.Хоффман, датированном 10.10.90, описание этого вируса отсутству-
ет. В СССР появился примерно в августе 1990 г. Автору был пере-
дан Е.Касперским. B Киеве не отмечался.
Неформальные названия. Помимо приведенных выше, неизвестны.
Программные средства защиты. Полифаг Aidstest, начиная с версии
45. Детектирование возможно по сигнатурам, приведенным в прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом RC-488
000: FBE9F200B402B207 CD21CD2000000000 .........!. ....
010: 0000000000000000 0000000000000000 ................
*** далее следуют строки, идентичные предыдущей ***
0E0: 7632202863292046 6C75205379737465 v2 (c) Flu Syste
0F0: 6D732028522933C0 8EC0E800005E8BEE ms (R)3......^..
100: BFE001FC26813D76 32744881EE1D00B9 ....&.=v2tH.....
110: E801F3A4B430CD21 3D031E7527BE7000 .....0.!=..u'.p.
120: 8EDEBEB400BF4C00 A5A5B80312CD2F26 ......L......./&
130: 8C1EC803BE6014C6 04EA8C4403C74401 .....`.....D..D.
140: CD02EB0F061FBE84 00A5A58C44FEC744 ............D..D
150: FCCD028CC88EC08E D8BF00018BF581C6 ................
160: 6E00A5A533C083EF 04FFE790909090FB n...3...........
170: E90000B003CFB901 00BA80038BD9B810 ................
180: 03CD13FECE79F7B6 03FEC5EBF14C6F76 .....y.......Lov
190: 654368696C642069 6E20726577617264 eChild in reward
1A0: 20666F7220736F66 7477617265207365 for software se
1B0: 616C696E672E2EF6 066C0407750A1F5A aling....l..u..Z
1C0: 595B58B441E9FD00 E9EE0088132EFF0E Y[X.A...........
1D0: CB027803E9EE002E FF06CB0280FC4075 ..x...........@u
1E0: 24578BFA813D4D5A 751A2EF6066C0406 $W...=MZu....l..
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
2B0: B440CD215BB43ECD 212EC706CB02FFFF .@.![.>.!.......
2C0: 1F5A595B58EA6714 0000 .ZY[X.g...
5.7. Группа стелс-вирусов
"ВВС США впервые использовали в боевых
условиях свой секретный истребитель-
бомбардировщик F-117A "Стелс". Новый
самолет, "невидимый" для радаров,
участвовал в бомбардировке в Панаме
перед высадкой там в среду американ-
ских войск."
ТАСС, 24 декабря 1989 г.
Как и другие продукты человеческой деятельности, компьютерные
вирусы претерпевают определенную эволюцию, которая в значительной
степени облегчается тем, что в течении значительного отрезка вре-
мени среда их размножения (MS DOS) остается практически неизмен-
ной. Если попытаться квантовать наблюдаемые непрерывные эволюцион-
ные изменения, то можно говорить о поколениях компьютерных виру-
сов.
Понятие поколения компьютерного вируса связано, в основном, с
механизмом размножения и методами маскировки. Наблюдаемый cейчас в
ряде публикаций акцент на проявлениях того или иного вируса явля-
ется неверным: по сути вирус можно разделить на две достаточно не-
зависимые части: компоненту размножения и компоненту проявления.
При этом именно характеристики компоненты размножения являются ос-
новными и определяют место конкретного вируса "в эволюционной це-
почке". В то же время популярная пресса акцентирует внимание на
компоненте проявления, что видно хотя бы из распространенности не-
формальных названий типа Тринадцатая пятница, День Колумба, Воск-
ресенье, Пинг-Понг и т.д. Если провести аналогию с авиацией, то
компонента размножения соответствует самому летательному аппарату,
а компонента проявления -- полезной нагрузке. Очевидно, что один и
тот же самолет может доставлять и бомбы и листовки.
Компонента размножения должна обеспечить две основные функции:
получить управление с тем, чтобы обеспечить репликацию вируса; из-
бежать обнаружения, чтобы выжить и выполнить предыдущий пункт.
Важность этих двух функций изменяется в ходе эволюции. На первом
этапе эволюции вирусов основной является репликация. При этом воп-
росам маскировки либо вообще не уделялось внимание, либо они носи-
ли несистематический характер и были направлены на маскировку од-
ного или двух изменений, возникающих в зараженной программе или
системе. Этому этапу эволюции соответствует первое поколение виру-
сов -- вирусы, не рассчитанные на преодоление антивирусных средств.
С распространением антивирусных средств вопросы маскировки стали
основными, и вирусу для того, чтобы выжить, важно как можно дольше
остаться незамеченным. В связи с этим основные усилия при разра-
ботке стали направляться именно на маскировку. В результате маски-
ровка приобрела комплексный характер и соответствующие вирусы мож-
но условно относить к новому поколению вирусов, получившему назва-
ние стелс-вирусов. Действия по маскировке можно условно классифи-
цировать на следующие категории: a (automodification) -- автомоди-
фикация инсталлятора с целью затруднить обнаружение детекторами,