Конечно, компьютерная вирусология быстро развивается и в пос-
леднее время в разных ее разделах получены новые интересные резу-
льтаты, которые еще не нашли отражения в данной работе.
Данная рукопись представляет собой исправленный и дополненный
текст лекций, прочитанных автором на Киевском семинаре "Системное
программирование", начиная с апреля 1989 г., и является первой ча-
стью запланированной автором работы, посвященной вопросам, связан-
ным с компьютерными вирусами. В ней излагаются общие принципы фун-
кционирования вирусов, предлагаемая автором классификация и кратко
описываются наиболее распространенные (на период подготовки насто-
ящей редакции) компьютерные вирусы. Содержание книги охватывает
достаточно широкий круг вопросов без излишней детализации. Необхо-
димые термины определяются неформально и могут быть восприняты на
интуитивном уровне. Для понимания основного содержания книги дос-
таточно некоторого знакомства с операционной системой MS DOS (нап-
ример, в объеме, приводимом в книге В.Э.Фигурнова [Фигурнов90]) и
не требуется знания языка ассемблера. Хотя изложение ориентировано
на MS DOS, большинство излагаемых приемов анализа и методов защиты
применимы, с соответствующими модификациями, и для других операци-
онных систем.
Предполагается, что вся работа будет состоять их трех частей.
В частности, во второй части работы будут рассмотрены проблемы
трассировки, дизассемблирования и реконструкции загрузочных моду-
лей, а в третьей - вопросы классификации, использования и констру-
ирования средств защиты от компьютерных вирусов, Они будут опубли-
кованы в последующих выпусках бюллетеня СОФТПАНОРАМА.
Относительно компьютерных вирусов существует много мифов, по-
этому очень важно наличие объективной "первичной" информации. Дело
в том, что как в публикациях, так и в "программистском фольклоре"
встречаются неточные или вообще неверные утверждения относительно
эффектов, вызываемых тем или иным вирусом, и оптимального выбора
методов защиты. Следует также отметить, что некоторые авторы бро-
шюр на эту тему, появившихся в массовых изданиях и научно-популяр-
ных журналах, не обладают достаточной квалификацией в области сис-
темного программирования и, стараясь придать материалу сенсацион-
ный характер, скатываются при описании вирусов на уровень "фильмов
ужасов".
Поскольку научные интересы автора в последнее время были сос-
редоточены на вопросах разработки эффективных методов дисассембли-
рования, обратной трансляции и реконструкции программного обеспе-
чения [Безруков88], новый тип программ - вирусы сразу привлек вни-
мание как один из возможных полигонов для отработки разрабатывае-
мых методов и средств. В рамках проводимых автором исследований
автором выполнено дизассемблирование и реконструкция исходных тек-
стов ряда компьютерных вирусов [Безруков89,90а,90б,90в]. Дополни-
тельно к дизассемблированию и статическому анализу, работа вирусов
трассировалась и их поведение изучалось в контролируемой среде.
Приводимые ниже сведения дают достаточно подробную информацию об
особенностях, механизме распространения и типах наносимого ущерба
этой новой, сравнительно мало исследованной разновидности систем-
ных программ. Автор надеется, что эта систематизация и последова-
тельное изложение имеющегося фактического материала поможет более
эффективной борьбе как с уже известными, так и с новыми типами ко-
мпьютерных вирусов.
Поскольку настоящая публикация является предварительной, в
ней пропущена часть иллюстративного материала, недостаточно подро-
бно описаны средства защиты, ряд сведений о распространяющихся в
СССР вирусах носит фрагментарный характер. Кроме того, текст, по-
видимому, нуждается в литературном редактировании. Тем не менее,
учитывая отсутствие систематических сведений по данному вопросу и
срочность публикации, я считаю возможным предложить данную работу
"как есть", сознавая недостатки стиля изложения и принятой схемы
построения работы. Появление канала обратной связи в виде реакции
участников семинара и читателей безусловно послужит стимулом уст-
ранения имеющихся недостатков, и в последующих номерах бюллетеня
СОФТПАНОРАМА будет приведена очередная "исправленная и дополнен-
ная" редакция данной работы.
С начала 1989 года в Киеве действует ежемесячный семинар "Си-
стемное программирование" (семинар проходит во второй четверг каж-
дого месяца в ауд.4-205 КИИГА; начало в 15.00), работа которого в
какой-то мере координирует усилия разработчиков антивирусных
средств. По материалам семинара под редакцией автора этих строк
ежемесячно (точнее, 10 раз в год) выходит электронный бюллетень
СОФТПАНОРАМА, в котором регулярно публикуются новые версии антиви-
русных программ, распространяемых бесплатно, документация к ним и
сообщения о новых вирусах и их штаммах.
В настоящее время десятки коллективов и отдельных программис-
тов разрабатывают эффективные антивирусные средства. В частности,
значительной популярностью пользуются программы, разработанные
участниками семинара и распространяемые через бюллетень СОФТПАНО-
РАМА (CHECK21, SBM, VL и др.). Редакция СОФТПАНОРАМы предлагает
сотрудничать с ней авторам бесплатных антивирусных программ. При
этом переданная в редакцию версия, как правило, включается в оче-
редной выпуск бюллетеня, т.е. задержка в публикации составляет ме-
нее месяца (а для приезжающих на семинар иногородних разработчиков
- несколько часов). Кроме того, помещаются демонстрационные версии
коммерческих программ, если они представляют интерес для пользова-
телей. Все это позволяет оперативно реагировать на появление новых
разновидностей компьютерных вирусов и в пределах месяца обеспечи-
вать участников семинара и читателей бюллетеня доработанными, с
учетом появившихся вирусов, версиями антивирусных программ, а их
авторов - соответствующей долей общественного уважения.
Кроме того, все опубликованные в бюллетене СОФТПАНОРАМА анти-
вирусные программы участвуют в конкурсе на лучшую антивирусную
программу, проводимом с 1990 г. (призовой фонд первого конкурса,
проведенного в январе-феврале 1990 г. составил 1500 руб.).
В ходе проведения первой Всесоюзной конференции "Методы и
средства защиты от компьютерных вирусов в операционной системе MS
DOS" планируется проведение следующего, второго конкурса бесплат-
ных антивирусных программ (конференция пройдет с 14 по 17 ноября в
Киеве, на базе КИИГА). Программы, представляемые на конкурс, долж-
ны быть переданы в оргкомитет не позднее 12 сентября.
Конкурс пройдет в трех классах программ:
- фаги (включая самообучающиеся);
- детекторы и ревизоры (включая резидентные, а также модули и
заготовки на языках высокого уровня, обеспечивающие
самотестирование на заражение);
- вакцины и сторожа (включая специализированные драйверы и
самоизлечивающиеся оболочки).
Для победителей в каждом классе программ установлены следующие
премии:
- по классу фагов:
I премия - 1500 руб.,
II премия - 900 руб.,
III премия - 600 руб.
- по классу детекторов и ревизоров:
I премия - 1200 руб.,
II премия - 750 руб.,
III премия - 450 руб.
- по классу вакцин и сторожей:
I премия - 1200 руб.,
II премия - 750 руб.,
III премия - 450 руб.
Жюри будет состоять из независимых специалистов, продолжитель-
ное время работающих в данной области, но не участвующих в конкур-
се. Помимо премий жюри будет также установлен ряд дополнительных
премий.
В рамках конференции будут организованы секции:
- классификация вирусов и методы анализа вирусоподобных прог-
рамм, инструментальные средства вирусолога: разработка и использо-
вание средств дизассемблирования, трассировки и других методов
анализа загрузочных модулей; (руководитель секции Н.Н.Безруков);
- вопросы конструирования, cравнительный анализ и перспектив-
ные методы усиления фагов (руководитель секции Д.Н.Лозинский);
- вопросы конструирования детекторов, эвристические методы
детектирования вирусов, организация входного контроля, конструиро-
вание ревизоров и алгоритмы самотестирования программ;
- конструирование резидентных программ защиты, методы контро-
ля "on the fly", нетрадиционные методы защиты от вирусов, незара-
жаемые и самоизлечивающиеся программы (руководитель секции А.Водя-
ник);
- методы и алгоритмы защиты от несанкционированного копирова-
ния коммерческого ПО (руководитель секции В.Герасимов);
- меры воздействия и возможные санкции против разработчиков и
распространителей вирусов (общая дискуссия);
Поскольку в настоящее время компьютерная вирусология пережи-
вает своего рода бум, имеется определенная потребность в унифика-
ции терминологии и оперативном обмене информацией между разработ-
чиками и пользователями с одной стороны и между самими разработчи-
ками. Например, на начальном этапе практически каждый разработчик
антивирусных средств разрабатывал собственную классификацию компь-
ютерных вирусов, которая обычно оказывалась никак не согласованной
с классификацией других разработчиков. Сейчас эта ситуация неско-
лько меняется и среди неформальных названий стандартными постепен-
но становятся названия, используемые в полидетекторе SCAN фирмы
McAfee Associates (США). Однако этим неформальным названиям присущ
тот недостаток, что они охватывают только вирусы, детектируемые
текущей версией программы SCAN, а набор вирусов, распространяющих-
ся в США, отличается о советского.
Поэтому наряду с неформальной классификацией необходима и фо-
рмальная, попытка создания которой предпринята в предлагаемой ниже
работе. Сейчас уже практически никто не сомневается в важности со-
здания формальной классификационной схемы; споры вызывает лишь вы-
бор конкретной иерархии признаков (очевидно, что система классифи-
кации компьютерных вирусов, как и любая другая классификационная
система, должна предполагать иерархию признаков, т.е. выбор в от-
ношении порядка критериев и их значимости). Предлагаемый автором
подход является предельно прагматическим и ориентирован прежде
всего на однозначную идентификацию вирусов рядовыми пользователя-
ми, что, естественно, накладывает определенные ограничения на вы-
бор классификационных признаков (свойств). Данная классификацион-
ная система находит все более широкое применение и в настоящее
время используется рядом разработчиков. Однако, к сожалению, никто
из них не реализовал диалоговую подсказку на базе разработанного
автором дескриптора, хотя это существенно повысило бы качество вы-
даваемой пользователю информации.
Следует подчеркнуть, что всем разработчикам как бесплатных,
так и коммерческих антивирусных средств разрешается включение ко-
пий прил.1-5 в текст документации или в виде приложений к послед-
ней. Хотя предложенная классификация не лишена недостатков, все же
по мнению автора важнее во-время сделать ставку на какой-то более
или менее приемлемый вариант, чем тратить собственное время и силы
на разработку более удачной альтернативы. Поскольку автор регуляр-
но обновляет предложенные классификационные таблицы вирусов, кор-
ректировка документации (и оперативной подсказки пользователям !)
разработчиками антивирусных средств, использующих эти таблицы, мо-
жет быть выполнена путем простой замены предыдущей редакции таблиц
на текущую. Это можно даже сделать автоматически с помощью специа-
льного препроцессора. Кроме того, такое решение разработчиков су-
щественно облегчает жизнь пользователям, которые могут использо-
вать данную работу как дополнение к используемой антивирусной про-
грамме.
Наряду с классификацией, важное значение имеет создание ката-