 ┌───────┐                          ▓ Творческий коллектив NEATAVIA, г.Киев
 │░░░  О │ <═════════════════════╗  ▓
 │  ┌────┴──┐        ОБЩЕСТВО    ║  ▓        Электронный бюллетень
 │  │▒▒▒  С │                    ║  ▓       С О Ф Т П А Н О Р А М А
 └──┤  ┌────┴──┐    СИСТЕМНЫХ    ║  ▓              Выпуск С
    │  │▓▓▓  П │                 ║  ▓          Анализ программ,
    └──┤   o . │  ПРОГРАММИСТОВ  ║  ▓  восстановление поврежденных данных,
       │   ╔   │ ════════════════╝  ▓       компьютерная вирусология
       └───╨───┘                    ▓
                                    ▓       Публикуется ежемесячно,
                                    ▓        кроме июля и августа

   Составитель и научный редактор - Николай Безруков, т.(044) 268-10-26(д)
                                                        FIDO 2:463/10.1
   Секретарь - Виталий Пономаренко, т.(044) 484-1989(дом)
   Подписка и распространение - Галина Ткаченко, т.(044)484-8016(д).

     (C) Сорyright 1992, Редакция электронного бюллетеня СОФТПАНОРАМА -
 ТК NEATAVIA (составление,  предисловие, оглавление и материалы, подго-
 товленные редакцией).  Если не оговорено иначе, авторские права на от-
 дельные материалы и программы сохраняются за их  авторами. Разрешается
 бесплатное копирование предисловия и оглавления,  при условии сохране-
 ния идентичности текста и что распространение копий не связано с полу-
 чением прямой коммерческой выгоды. Для копирования с целью перепродажи
 необходим договор с ТК NEATAVIA.
      По вопросам  анализа новых вирусов пользователи должны обращаться
 только после проведения теста "дискета-дрозофила" (см.прил.) к  секре-
 тарю выпуска или Максиму Круковскому 221-2148,  449-9767 (д). Я убеди-
 тельно прошу придерживаться принципа

     "либо выделенный на программе вирус + незараженная программа, либо
     две дискеты (эталонная и дрозофила) с существенными (а не в 5 бай-
     тов как для популярного псевдовируса - дописанной в  конце  строки
     "MsDos")  явными различиями при сопоставлении с помощью DiskComp".


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

************************* ТЕМАТИКА ВЫПУСКА *****************************
                    А Н А Л И З     П Р О Г Р А М М
             В О С С Т А Н О В Л Е Н И Е     Д А Н Н Ы Х,
           К О М П Ь Ю Т Е Р Н А Я    В И Р У С О Л О Г И Я

     Тематическое содержание  данного выпуска определяется тремя основ-
 ными направлениями:
     - анализ программ (дизассемблирование,  трассировка, реконструкция
       и др.);
     - антивирусные   программы,   распространяемые   как   FREEWARE  и
       SHAREWARE, а также текущая информация по компьютерным вирусам.
     - контроль доступа, включая защиту от копирования (проблемы разра-
       ботки и устойчивости к тем или иным методам "взлома");

     Значительное внимание будет уделено вопросам создания и  использо-
 вания  отладчиков и дизассемблеров при анализе "черных ящиков" - прог-
 раммного обеспечения без исходных текстов,  а также разработки  и  ис-
 пользования самих отладчиков и дизассемблеров.

     Вторым вопросом является публикация антивирусных программ - тради-
 ционное направление для бюллетеня. В рамках данного выпуска этому нап-
 равлению можно выделить больше места,  чем когда оно было представлено
 разделом ANTIVIR выпуска A.  Я думаю,  что развитие рынка антивирусных
 программ, распространяемых как Freeware и Shareware, в интересах боль-
 шинства программистов и надеюсь на их помощь.  Хочу  подчеркнуть,  что
 своевременное  опубликование  даже  очень несовершенного фага на новый
 вирус гораздо полезнее чудесного  полифага  с  турбоинтерфейсом  месяц
 спустя.  Поэтому  не  стоит стесняться передавать редакции собственные
 разработки,  даже если они были сделаны в расчете на "внутреннее упот-
 ребление".

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

                                                             Н.Безруков
 

                                                            Приложение 1


*********** ТЕСТ НА НАЛИЧИЕ ВИРУСОВ С ПОМОЩЬЮ ДИСКЕТЫ-ДРОЗОФИЛЫ **********

      Количество компьютерных  вирусов в настоящее время превышает 2000
 и постоянно увеличивается. Поэтому наряду с традиционными, ручными ме-
 тодами анализа и выкусывания вирусов(типа Aidstest), необходимо разра-
 батывать и автоматические методы. Первом этапом такого анализа являет-
 ся  изоляция  вируса  в  некоторой  хорошо  изученной среде,  например
 заражение им специальной программы-дрозофилы  или  какой-то  известной
 программы.
      Кроме того,  последнее время отмечается тенденция  атрибутировать
 любые  нарушения  в  функционировании компьютера заражением последнего
 компьютерным вирусом.  Это далеко не всегда так. Поскольку наблюдается
 устойчивая  тенденция  атрибутировать любые нарушения функционирования
 компьютера наличием вируса,  а возникающая при  этом  паника  приносит
 большие  разрушения,  чем любой реальный вирус.  Классическим примеров
 является речение с помощью  AntiKot  файлов,  вакцинированных  строкой
 "MsDos" с помощью TNTVirus или чем-то аналогичным.
      Поэтому крайне необходим простой и эффективный тест проверки  за-
 раженности компьютера.  Наиболее простым и надежным представляетя раз-
 работанный автором тест, получивший название "ловлей вируса на дискету
 -дрозофилу".
      Дискетой-дрозофилой будем называть копию  некоторой  загружаеёмой
 дискеты  с  MS  DOS той версии,  которая используемтся на компьютере и
 несколькими стандартными или какими-то специальными драйверами (напри-
 мер  ) и несколькими исполняемыми программами.  Набор последних должен
 достаточно разнообразен и,  желательно,  включать NC. Другими словами,
 это  некоторая  системная  дискета с несколькими исполняемыми файлами,
 для которой ОБЯЗАТЕЛЬHО существует подготовленная  заранее  эталонная,
 защищенная от записи ("заклеенная") копия.  Последняя, по определению,
 не является зараженной.
      Основное преимущество дискеты-дрозофилы состоит в том, что иссле-
 довать дискету гораздо проще,  чем винчестер. Таким образом, вирус как
 бы "вытаскивается на свет".  Hапример,  место, куда вирус записал свое
 тело,  легко определяется путем сравнения зараженной дискеты с эталон-
 ной.
      Все известные сейчас компьютерные вирусы заражают дискеты. Поэто-
 му  дискета-дрозофила является одним из самых надежных тестов на зара-
 женность компьютера вирусом, в том числе стелс-вирусами и полиморфными
 вирусами и, тем самым, важным средством борьбы с вирусофобией.
      Методика использования  дискеты-дрозофилы  достаточно  проста   и
 включает следующие шаги:
      1. Прямо на "подозрительном" компьютере с эталонной защищенной от
 записи дискеты-дрозофилы (эталонной копии операционной системы в прос-
 тейшем случае) снимается копия.
      2. Компьютер перегружается с полученной копии защищенной дискеты-
 дрозофилы.
      3. В  течении некоторого времени работа на компьютере выполняется
 как обычно,  но COMMAND.COM,  NC и другие программы (например,  XCOPY)
 грузятся с дискеты дрозофилы,  для того, чтобы вирус (если он действи-
 тельно есть, заразил одну или несколько программ на полученной на пре-
 дыдущем шаге копии).
      4. Выполняется "холодная" перезагрузка (клавишей RESET или выклю-
 чением  питания) компьютера с эталонной защищенной от записи дискеты с
 операционной системой (т.е.  с эталонной копии дискетыдрозофилы, в на-
 шем случае).
      5. Выполняется сравнение эталонной копии дискеты-дрозофилы и сня-
 той копии,  с которой запускались программы, с помощью Diskcomp или PC
 Tools,  запускаемых с заклеенной эталонной дискеты с операционной сис-
 темой.
      6. Если найдены различия,  то вероятность того, что Ваш компьютер
 заражен вирусом,  достаточно велика и необходимо выполнить его поиск и
 дезинфекцию по методике,  описанной в дополнениях к монографии "Компь-
 ютерная  вирусология"  (это  дополнение записано в виде файла дискету,
 прилагаемую к монографии).  В частности,  для бутового вируса различия
 позволяют  определить классификаонный код,  если использовать разрабо-
 танную автором классификацию.
      7. Если различий нет,  то необходимо вернуться к п.2 и попытаться
 изменить дату,  последовательность запуска программ и другие известные
 методы "пробуждения" вируса.  Если ни один из этих приемов не привел к
 успеху, вероятность того, что компьютер заражен вирусом, мала по срав-
 нению с вероятностью других причин наблюдаемого аномального поведения.
 То есть, если несмотря на все усилия, дискета-дрозофила остается иден-
 тичной эталону,  то причину наблюдаемых аномалий следует искать в дру-
 гом.

 

                                                            Приложение 2

******************** О МЕТОДИКE ЗАЩИТЫ ОТ ВИРУСОВ, **********************
************ ОТВЕЧАЮЩИЙ ПРИHЦИПУ РАЗУМHОЙ ДОСТАТОЧHОСТИ *****************

    В настоящее  время проблема защиты от вирусов может быть переформу-
 лирована в виде проблемы минимально-необходимого набора средств  защи-
 ты.  Крайности сходятся и "переусердствование" типа запуска Aidstest в
 Autoexec.bat также вредно,  как и полное  пренебрежение.  Предлагаемая
 ниже схема комплексного использования антивирусных средств не является
 ни единственно возможной, ни "абсолютно непробиваемой", однако отвеча-
 ет некоторому интуитивно определяемому критерию "разумной достаточнос-
 ти", который учитывает три достаточно простые идеи:
    - заражение  может  происходить  только  "в точках поступления дис-
 кет/программ" т.е.,  обычно после записи на винчестер и запуска  новых
 программ (часто, игр). Относительная стабилизация состава программного
 обеспечения для MS DOS делает такие  "точки"  достаточно  редкими  для
 большинства пользователей, что определяет целесообразность использова-
 ния специальной "стратегии" обработки и  включения  в  каталоги  новых
 программ/пакетов:
    - при "хорошо организованной" сегментации заражение на  момент  его
 выявления,  как правило, является локальным, что позволяет вместо фага
 использовать восстановление программ с архивной копии.
    - распространение  вирусов  подчиняется  не законам распространения
 обычных инфекций (типа гриппа), а законам распространения заболеваний,
 при которых для заражения необходим непосредственный контакт с носите-
 лем инфекции (СПИД,  венерические заболевания и т. п.). Таким образом,
 при наличии антивирусных средств типа ревизоров, распространение ново-
 го компьютерного вируса в большинстве случаев носит локальный характер
 и ограничено цепочками заражения от первоначального вирусоносителя.
    Особенностью предлагаемой методики является использование некоторо-
 го "базисного" уровня защиты, практически не осложняющего работу поль-
 зователей и дополнительных уровней,  используемых только в режиме "по-
 вышенной    опасности"    или   зараженности   компьютера.   Упрощенно
 рекомендуемая методика включает следующие независимые методы  и  соот-
 ветствующие  программные  продукты,  которые могут быть использованы в
 разных комбинациях от минимальной до максимальной (буквально следовать
 предлагаемым  ниже "джентельменским" наборам для каждого уровня совсем
 необязательно,  в частности,  вместо рекомендуемых программ могут быть
 использованы  другие,  обладающие сходными или лучшими характеристика-
 ми):

     Уровень 1.  Профилактические мероприятия общего характера

      1.1. Создание Backup дискеты с копиями CMOS,  MBR и бут  секторов
 всех  логических  дисков (DiskTool из утилит Hортона или другая анало-
 гичная программа).

      1.2. Создание  "горячей коробки" резервных дискет и "красной пап-
 ки" с необходимой в "кризисных ситуациях" документацией  (по методике,
 описанной в [1]).

      1.3. Запуск Image для всех логических  дисков (кроме виртуальных)
при каждой перезагрузкe;

      1.4. Проверка целостности/оптимизиция(дефрагментация файлов) фай-
 ловой системы (рекомендуется NDD в режиме проверки(но  не исправления)
 +  Speedisk  или OPTUNE версии 1.2).  Полную оптимизацию целесообразно
 проводить не реже,  чем в режиме раз в неделю, а дефрагментацию файлов
 -  ежедневно  (например,  путем запуска при "перекуре" или перерыве на
 обед"[2]). Сохранения оптимизированных системных блоков при этом реко-
 мендуется выполнять с помощью программы MIRROR c тем,  чтобы иметь бо-
 лее стабильную копию состемных блоков, не разрушающуюся при каждой пе-
 резашрузке

      1.5. Архивирование  по схеме неделя-месяц-квартал с тремя незави-
 симыми комплектами архивных дискет (для полной копии рекомендуется ис-
 пользовать  Fastback,  для  частичных  -  Pkzip или Arj) или кассетами
 стриммера.

      1.6. Сегментация с защищенным разделом. Сегментация винчестера на
 логические разделы с использованием не менее одного раздела,  защищен-
 ного от записи (со статусом Read Only).  Для MS DOS 5.0 наиболее прос-
 тым методом реализации такой защиты в настоящее  время  представляется
 использование  дискового  кэша Ncache2 из пакета Norton Utilities 6.03
 (запускаемого из Config.sys),  а для MS DOS 3.3 кэша Dcache  канадской
 фирмы Datamorphics Limited. Альтернативным и в общем случае более гиб-
 ким методом реализации сегментации с  защищенными  разделами  является
 использование  специального  дискового драйвера (Advanced Disk Manager
 или Disk Manager), обеспечивающая защиту системных блоков MS DOS (MBR,
 бутсектор,  FAT)  от уничтожения при срабатывании вируса или троянской
 программы, а наиболее часто используемые программы и компоненты MS DOS
 - от заражения. Кроме того эти драйверы либо сами (ADM) либо с помощью
 допольнительных программ (для Disk Manager это программа PROTECT Дмит-
 рия Гуртяка) позволяют ввести парольный доступ к разделам винчестера.
      1.7. Организация "контролируемо-безвирусной" перезагрузки MS DOS:
 хранение компонент операционной системы и всех программ, вызываемых из
 Autoexec.bat,  в разделе винчестера, защищенном от записи. Использова-
 ние для контроля перезагрузки ревизора памяти  Neatchk В.В.Пономаренко
 (в качестве последнего или предпоследнего - перед запуском NC или дру-
 гой оболочки - шага Autoexec.bat).

      1.8. Отслеживание изменений в режиме "раз в сутки". Систематичес-
 кий запуск при каждой перезагрузке или раз в сутки ревизора Adinf вер-
 сии 7.00 или более поздней (необходим режим переименования создаваемых
 Adinf файлов) с обязательным переименованием создаваемых им  файлов  и
 размещением  их  вне  корневого каталога диска С.  Рекомендуется также
 хранить дополнительную копию дистрибутива Adinf в защищенном от записи
 разделе винчестера.

            Уровень 2. Режим "повышенной бдительности"
               (при получении новых программ/дискет)

      2.1. Принудительная вакцинация всех получаемых дискет  с  помощью
 бутовой  вакцины  VitaminB  (фактически  вакцинация  состоит  в замене
 бут-сектора дискеты на заведомо незараженный бут-сектор  со специльной
 программой загрузки,  проверяющей "свое здоровье" при получении управ-
 ления). Желательно, чтобы переход к просмотру диска А выполнялся путем
 запуска пакета,  скажем, с именем AA, который включал указанную опера-
 цию.  Такая вакцинация исключает  возможность  последующего  заражения
 компьютера  бутовым или файлово-бутовым вирусом при случайной перезаг-
 рузке с вставленной в дисковод дискеты, хотя, конечно, более радикаль-
 ным  способом представляется перепрошивка BIOS на один из более совре-
 менных - имеющих в процедуре  Setup  режим  установки  устройства  для
 начальной загрузки.
      2.2. Cплошной входной контроль новых программных  средств  c  по-
 мощью батареи детекторов-фагов (рекомендуются Aidstest, Sos, Scan, -V)
 с предварительной распаковкой архивов и,  что несколько более трудоем-
 ко,  но представляется полезным, расжатием обработанных PKLITE (и ана-
 логами) файлов.
      2.3. Использование резидентного детектора Inspector Евгения Сусли-
 кова в сочетании с программой усиления атрибута Read Оnly (DR  DOS 6.0
 или  специальная  утилита для усиления этого атрибута в MS DOS:  автор
 рекомендует File Defender Игоря Свиридова).
      2.4. Использование  хотя бы примитивного режима карантина для но-
 вых программ.  Запись новых программ/пакетов на отдельный раздел  вин-
 честера.  Защита всех других разделов от записи перед первым (несколь-
 кими первыми)  запуском.  Дополнительные  контрольные  запуски  Adinf+
 Neatchk  до и после нескольких первых сеансов работы с новым программ-
 ным средством (минимальный карантинный режим).

         Уровень 3. Ситуация обнаружения вируса на винчестере

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

      3.2. В  сомнительных случаях (вирусофобия,  Stealth-вирусы) конт-
 роль наличия вируса с помощью теста "дискета-дрозофила" (см. ниже При-
 ложение 1).

      3.3. Определение "очага поражения" с помощью  Adinf, запускаемого
 с  защищенной  от записи дискеты.  Эта рекомендация требyет пояснения.
 Дело в том, что ADinf расчитан на работy в зараженной среде и прекрас-
 но обнарyживает вирyсы,  бyдyчи запyщен с винчестера, посколькy читает
 диск напрямyю через BIOS.  При этом ADinf использyет запомненный ранее
 адрес обработчика прерывания Int 13h в BIOS.  При запyске его с закле-
 енной дискеты ADinf бyдет вынyжден снова определять  этот  адрес,  что
 является  дополнительным  источником  возможных  неприятностей  в  том
 слyчае, если активный вирyс пытается противодействовать антивирyсам. С
 дрyгой стороны, запyскать какие-либо программы с зараженного винчесте-
 ра  опасно,  поэтомy  действительно  после  обнарyжения  вирyса   надо
 загрyзить  чистyю  операционнyю системy и запyстить ADinf с заклеенной
 дискеты, но при запyске необходимо задать ключ -Setup:<Path> (например
 -Setup:C:\VD\), где Path - полный пyть каталога, в котором был записан
 ADinf,  использyемый на машине. Этот ключ был введен, начиная с версии
 ADinf  7.03.  При этом бyдет использован найденный ранее адрес вектора
 13h,  а также бyдет использоваться выбранная ранее конфигyрация  ADinf
 (список расширений, типы контрольных сyмм и т.д.)

      3.4. Уничтожение  или  запись за дискету(ы) всех зараженных прог-
 рамм,  а затем выгрузка "чистых" файлов с помощью Fastback (Fastback +
 backup  как  самый универсальный фаг).  Предварительно желательно убе-
 диться по справке наличие незараженной копии.

      3.5. В  случае  отсутствия  незараженной  резервной копии той или
 иной программы использование готового или написание  собственного фага
 (при этом "лечение" должно проводиться не на "живом" винчестере,  а на
 дискете с предварительно переписанными зараженными программами и после
 перезагрузки  с  эталонной защищенной от записи дискеты с операционной
 системой.

      3.6. Контроль целостности данных:  проверка сохранности данных на
 случай наличия в вирусе троянских компонент и,  при необходимости, ис-
 пользование  специальной  методики восстановления поврежденных вирусом
 файлов и баз данных.

                     Дополнительные замечания

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

                             Литература

      1. Безруков Н.Н. Компьютерные вирусы.- М.: Наука, 1991.- 159 с.
      2. Безруков Н.Н.  Компьютерная вирусология.- Киев:  Укр. сов. эн-
 цик., 1991. - 416 с.


