                                                            H.H.Безруков

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

Версия 2.1.

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

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

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

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

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

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

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

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

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

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

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

                             Литература

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

                                                            Приложение 1

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

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

