


                              ПРЕДИСЛОВИЕ

                                          "Читатель, вот мои "Досуги"...
                                           Суди беспристрастно!
                                           Издаю пока отрывок."
                                                          Козьма Прутков

   По мере  развития и  усложнения компьютерных    систем и программного
обеспечения возрастает  объем и  повышается уязвимость  хранящихся в них
данных. Одним  из новых факторов, резко повысивших эту уязвимость, явля-
ется массовое  производство программно-совместимых  мощных  персональных
компьютеров, которое  явилось одной  из причин  появления нового  класса
программ-вандалов -- компьютерных вирусов. Наибольшая опасность, возника-
ющая в  связи с  возможностью заражения программного обеспечения компью-
терными вирусами,  состоит в  возможности искажения или уничтожения жиз-
ненно важной информации, которое может привести не только к финансовым и
временным потерям, но и вызвать человеческие жертвы.

   В последние  три года в зарубежной печати наблюдается активное разви-
тие исследований,  посвященных проблеме защиты компьютеров от вирусов. О
размахе работ  по рассматриваемой  тематике свидетельствует  ряд фактов:
библиография работ, затрагивающих или целиком посвященных данной пробле-
ме, исчисляется  сотнями наименований, появился ряд монографий, как аме-
риканских, так  и европейских  авторов (см.  приведенный в данной работе
список источников,  хотя он,  естественно, является  неполным и включает
только публикации,  доступные в  СССР). Состоялось несколько конференций
по проблеме  защиты от вирусов, а на большинстве представительных конфе-
ренций имеются  секции, так или иначе связанные с этой тематикой. Появи-
лись периодические  издания, в  значительной мере или целиком ориентиро-
ванные на освещение проблемы компьютерных вирусов. Количество зарубежных
фирм, предлагающих  различного рода  антивирусные продукты,  исчисляется
десятками.

   Все это  ставит вопрос  о формировании  новой  инженерной  дисциплины
"компьютерной вирусологии",  рассматриваемой как  совокупность методов и
приемов изучения  компьютерных вирусов  и разработки эффективных средств
защиты от  них. Можно  выделить три  основных направления исследований в
компьютерной вирусологии: теоретические исследования, разработка методов
анализа и  разработка средств защиты. Теоретические исследования связаны
с выявлениями  закономерностей, присущих эпидемиям компьютерных вирусов,
анализом "точек  проникновения" и созданием неспецифической методики вы-
явления вирусов в компьютерных программах. Исследование этих проблем на-
талкивается на  значительные трудности, частично связанные с их новизной
и необычностью,  а частично с нечеткостью самой проблемы. Например, про-
блема выделения  вируса в  компьютерной программе  может с теоретической
точки зрения  рассматриваться как  задача распознавания  образов, однако
такой абстрактный подход непросто увязать с практическими проблемами де-
тектирования вирусов.

   Разработка методов  анализа связана  с  проблемой  дизассемблирования
программного обеспечения, не имеющего исходных текстов. К проблеме диза-
ссемблирования до последнего времени в академических кругах незаслуженно
относились пренебрежительно,  а те  немногие статьи, которые писались по
данной тематике, часто отвергались редакциями журналов как "ненаучные" и
связанные с  "пиратством". На  самом же деле проблема дизассемблирования
является частью проблемы реконструкции программного обеспечения. Послед-
нее время это направление усиленно развивается за рубежом, и есть надеж-
да, что постепенно оно будет признано и нашей "официальной" наукой.

   Наибольшие результаты  в настоящее время достигнуты в третьем направ-
лении --  создании конкретных антивирусных программ и методик их примене-
ния. Многие разработки доведены до уровня программных продуктов и широко
используются пользователями.  Не случайно этой теме посвящена значитель-
ная часть "антивирусных публикаций".

   В книге  отражены результаты  первой Всесоюзной конференции "Методы и
средства защиты  от компьютерных вирусов в операционной системе MS DOS",
которая была  проведена с  14 по  17 ноября 1990 г. в Киеве. Конференция
стала значительным  событием в развитии отечественной вирусологии. В ней
приняли участие  более 250  специалистов, включая  ведущих отечественных
разработчиков антивирусных  программ, а  также  специалисты  Болгарии  и
Польши. В  ходе конференции был проведен второй Всесоюзный конкурс анти-
вирусных программ, распространяемых бесплатно, общий размер премиального
фонда которого  составил около 10 тыс. рублей. Конкурс проводился в трех
классах программ: фаги (программы, "выкусывающие" компьютерные вирусы из
зараженных программ),  детекторы (программы,  определяющие, заражена  ли
программа тем  или иным компьютерным вирусом) и ревизоры (программы, оп-
ределяющие, внесены  ли какие-либо изменения в текст программы или нет),
вакцины (программы,  делающие компьютер  в целом или отдельные программы
невосприимчивыми к  тому или  иному типу компьютерного вируса) и сторожа
(программы, выявляющие  попытки выполнить "незаконные" операции с файла-
ми). На  заключительном заседании конференция приняла обращение, которое
представляет интерес  как первое  официальное упоминание о надвигающемся
советском вирусном взрыве и воспроизводится в книге.

   В настоящее  время можно  констатировать начало  советского вирусного
взрыва: экспоненциального  роста количества советских техно-крыс (разра-
ботчиков компьютерных  вирусов).  Особое беспокойство вызывает тот факт,
что в  эту деятельность  активно вовлекаются студенты вузов. Можно гово-
рить даже  об особой  группе компьютерных  вирусов, называемых  в данной
книге студенческими  вирусами, и имеющих ряд отличительных особенностей.
Другой неприятной  особенностью советского вирусного взрыва является на-
личие сравнительно  большого числа  вирусов-вандалов, т.е.  вирусов, на-
правленных на  разрушение информации  в компьютерах,  что,  по-видимому,
связано с  низким уровнем культуры в студенческой среде. Если наметивша-
яся тенденция  сохранится, то к концу 1991 г. СССP может выйти на первое
место среди  стран-разработчиков вирусов, "оттеснив" Болгарию. Тем самым
будет существенно  подорван наш шанс выйти на мировой рынок программного
обеспечения. Одним из стимулов написания данной работы является стремле-
ние автора предотвратить такое развитие событий.

  Данная книга  представляет собой исправленный и дополненный текст лек-
ций, прочитанных  автором на Киевском семинаре "Системное программирова-
ние", начиная с апреля 1989 г., и является первой частью запланированной
автором работы,  посвященной вопросам, связанным с компьютерными вируса-
ми. В  ней излагаются общие принципы функционирования вирусов, предлага-
емая автором  классификация и кратко описываются наиболее распространен-
ные (на  период подготовки настоящей работы) компьютерные вирусы. Содер-
жание книги охватывает достаточно широкий круг вопросов без излишней де-
тализации. Необходимые  термины определяются  неформально и  могут  быть
восприняты на  интуитивном уровне.  Для понимания  основного  содержания
книги достаточно  некоторого знакомства  с операционной  системой MS DOS
(например, в объеме, приводимом в книге В.Э.Фигурнова [Фигурнов90]) и не
требуется знания языка ассемблера. Ряд сведений, необходимых для понима-
ния книги,  вынесен в  приложения 4-5.  Хотя изложение  ориентировано на
MS DOS, большинство излагаемых приемов анализа и методов защиты примени-
мы, с соответствующими модификациями, и для других операционных систем.
   Предполагается, что вся работа будет состоять из трех частей. В част-
ности, во  второй части  работы будут  рассмотрены проблемы трассировки,
дизассемблирования и  реконструкции загрузочных  модулей, а  в третьей --
вопросы классификации, использования и конструирования средств защиты от
компьютерных вирусов.

   Относительно компьютерных  вирусов существует  много  мифов,  поэтому
очень важно  наличие объективной "первичной" информации. Дело в том, что
как в  публикациях, так  и в "программистском фольклоре" встречаются не-
точные или вообще неверные утверждения относительно эффектов, вызываемых
тем или иным вирусом, и оптимального выбора методов защиты. Следует так-
же отметить, что некоторые авторы брошюр на эту тему, появившихся в мас-
совых изданиях  и научно-популярных  журналах, не  обладают  достаточной
квалификацией в  области системного программирования и, стараясь придать
материалу сенсационный  характер, скатываются  при описании  вирусов  на
уровень "фильмов ужасов".

   Поскольку научные интересы автора в последнее время были сосредоточе-
ны на вопросах разработки эффективных методов дизассемблирования, обрат-
ной трансляции  и реконструкции  программного обеспечения  [Безруков88],
новый тип программ -- вирусы сразу привлек внимание как один из возможных
полигонов для отработки разрабатываемых методов и средств. В рамках про-
водимых исследований, автором выполнено дизассемблирование и реконструк-
ция исходных  текстов ряда  компьютерных вирусов. Дополнительно к дизас-
семблированию и статическому анализу, работа вирусов трассировалась и их
поведение изучалось в контролируемой среде. Эта работа была начата авто-
ром в  начале 1989 г. и, начиная с сентября 1989 г., редакции данной ра-
боты распространялись  в виде  текста на  дискете,  содержание  которого
уточнялось и  дополнялось практически каждый месяц. Печатаемый текст ос-
нован на  редакции 6.0 данной работы. К сожалению, информация о конкрет-
ных вирусах  быстро устаревает, поэтому основное внимание уделено систе-
матизации имеющихся знаний. Автор надеется, что эта систематизация и по-
следовательное изложение имеющегося фактического материала поможет более
эффективной борьбе  как с  уже известными, так и с новыми типами компью-
терных вирусов.  Дело в  том, что,  хотя количество  конкретных  вирусов
стремительно растет,  большинство из  них являются вариантами (штаммами)
известных вирусов,  и многие  их свойства  можно предсказать,  исходя из
свойств прототипа.

   Вместе с  тем количество  имеющихся в настоящее время вирусов таково,
что подробный анализ и исследование каждого из них выходит за рамки воз-
можностей одного человека. Поэтому, хотя автор тщательно проверял приво-
димые сведения,  не все они проверены на компьютере. В ряде случаев при-
водятся данные,  полученные путем  сопоставления информации из различных
источников (в  основном, из  руководств к  антивирусным программам,  по-
скольку приводимые в них сведения в наибольшей степени заслуживают дове-
рия). Тем не менее, ряд сведений, в особенности о вирусах, появившихся в
конце 1990 г., носит фрагментарный характер и, возможно, содержит ошибки
и неточности.  Однако в  условиях отсутствия систематических сведений по
данному вопросу  и срочности  публикации я  считаю возможным  предложить
данную работу "как есть". Появление канала обратной связи в виде реакции
читателей безусловно  послужит стимулом устранения имеющихся недостатков
при последующих изданиях.

   С начала  1989 г. в  Киеве действует  ежемесячный семинар  "Системное
программирование", работа  которого в  какой-то мере координирует усилия
отечественных разработчиков антивирусных средств. По материалам семинара
под редакцией автора этих строк ежемесячно (точнее 10 раз в год) выходит
электронный бюллетень  Софтпанорама, в котором регулярно публикуются но-
вые версии антивирусных программ, распространяемых бесплатно, документа-
ция к  ним и  сообщения о  новых вирусах  и их штаммах. Содержание этого
бюллетеня может служить полезным дополнением к книге.

   Поскольку в  настоящее время в стране происходит вирусный взрыв и ко-
личество вирусов быстро нарастает, имеется потребность в унификации тер-
минологии и  оперативном обмене информацией между разработчиками и поль-
зователями, а  также между  самими разработчиками. До настоящего времени
практически каждый  разработчик антивирусных  средств разрабатывал  соб-
ственную классификацию  компьютерных вирусов, которая обычно оказывалась
никак не согласованной с классификацией других разработчиков. Сейчас эта
ситуация несколько  меняется, и среди неформальных названий стандартными
постепенно становятся  названия, используемые в полидетекторе Scan фирмы
McAfee Associates  (США).   Однако указанные  названия охватывают только
вирусы, детектируемые  текущей версией  программы Scan, а набор вирусов,
распространяющихся в США, отличается от советского.

   Поэтому, наряду  с неформальной классификацией, необходима и формаль-
ная, попытка создания которой предпринята автором [Безруков89, 90а, 90б,
90в]. Предлагаемый подход является предельно прагматическим и ориентиро-
ван прежде всего на однозначную идентификацию вирусов рядовыми пользова-
телями. На  базе разработанной классификации автором созданы классифика-
ционные таблицы,  приведенные в приложениях 1-2, с помощью которых поль-
зователи могут определять тип вируса, с которым они столкнулись, даже не
имея специальных антивирусных программ. Поскольку эти таблицы обновляют-
ся автором регулярно и позволяют значительно сократить затраты на созда-
ние документации, разработчикам как бесплатных, так и коммерческих анти-
вирусных средств разрешается включение копий указанных классификационных
таблиц в текст документации или в виде приложений к последней.
   В процессе работы автор опирался на помощь и поддержку участников ки-
евского семинара  "Системное программирование",  студентов -- сотрудников
ТК NEATAVIA (В.В.Пономаренко, И.А.Свиридов, И.А.Суворов), а также разра-
ботчиков антивирусных  программ.  Обмен  информацией  с  Е.В.Касперским,
Д.Н.Лозинским, А.В.Сессой,  А.А.Чижовым и  другими разработчиками отече-
ственных антивирусных  программ позволил оперативно включать в очередные
редакции сведения  о появлявшихся вирусах. Кроме того, при написании ра-
боты использовалась  неопубликованная документация  к антивирусным  про-
граммам Д.Н.Лозинского и Е.В.Касперского. Особую благодарность автор вы-
ражает cотруднику  ВЦ АН  СССР Ю.П.Лященко,  который на протяжении всего
времени работы  над данной книгой оказывал автору существенную помощь. В
частности, Ю.П.Лященко высказал ряд полезных замечаний по тексту рукопи-
си и выполнил трудоемкую работу по составлению и редактированию библиог-
рафии и приложения 3.

   Ряд читателей  "электронных редакций" данной работы прислали свои за-
мечания и предложения, учет которых позволил повысить качество изложения
и исправить  ошибки и  неточности. Всем им автор выражает свою искреннюю
благодарность.

   В то  же время именно автор несет ответственность за все ошибки и не-
точности, имеющиеся  в работе,  и будет благодарен всем, приславшим свои
замечания и  предложения. Они  будут учтены при подготовке очередной ре-
дакции данной работы.




                                                            Н.Н.Безpуков
   10 января 1991 г.
