Программы  -  мониторы  в  войне  против  вирусов. Мы столкнулись
вплотную  с  вирусами  в  конце  1989г.  Сразу возник вопрос: как
обеспечить эффективную защиту программ? Анализ возможных способов
противодействия  вирусам привел нас к неожиданному выводу: писать
новую  программу,  удаляющую  известные  вирусы, нецелесообразно.
Во-первых,   новые   вирусы   появляются   намного  быстрее,  чем
антивирусные  программы,  причем  для  лечения  зараженного файла
необходимо  не  только  иметь хотя бы один экземпляр вируса, но и
надо  разобраться  со  способом  прикрепления  его  к  программе.
Во-вторых,   создатели   вирусов   имеют,  как  правило,  высокую
квалификацию,  и им ничего не стоит создать вирус, который портит
программу   так,  что  ее  восстановление  станет  бессмысленным.
Простейший  пример:  вирусы  группы  Dark Avenger или вирусы типа
Love  Child.  Поэтому  имеет  смысл предупреждать заражение, т.е.
создавать  такие  условия,  при  которых  вирусу  было  бы трудно
внедриться   в   вычислительную   систему,   распространиться   и
проявиться   в  ней.  Рассмотрев  несколько  способов  защиты  от
заражения,  мы  выбрали  метод  мониторинга  критичных  операций.
Критичной  операцией  считается такое действие программы, которое
может  привести  к  уничтожению или искажению данных на магнитном
носителе.  Этот  метод  хорош тем, что позволяет противостоять не
только  вирусам,  но  и  троянским  коням.  Существует  несколько
программ,  использующих  мониторинг  критичных операций: VACCINE,
ANTI4US2, VIRBLK, FLUSHOT PLUS. Однако существуют вирусы, которые
могут   обходить   эти  программы.  Программа-монитор  должна:  -
предотвращать  несанкционированные  изменения данных на диске при
помощи контроля любой операции записи на магнитный носитель; - не
допускать  ее  устранения  от  контроля  критических  операций; -
минимизировать  уровень  помех.  Информация, выдаваемая на экран,
должна    быть    достаточной    для    принятия    решения;    -
противодействовать  не только существующим, но и новым вирусам; -
иметь  открытую  структуру,  возможность  настройки на конкретное
применение;  - дополнительно использовать другие известные методы
защиты от вирусов; - неувеличивать существенно производительность
системы;  -  проверять  целостность  своего  модуля  как во время
исполнения,   так  и  при  загрузке  в  память.  На  основе  этих
требований  были  выработаны приведенные ниже принципы построения
программ-мониторов.  1.  При  разработке  программ данного класса
целесообразно   применять  язык  Ассемблера.  Поскольку  проверка
критичных  операций  осуществляется  через  контроль  программных
прерываний  ,  а  они  происходят достаточно часто, то применение
Ассемблера    позволит    уменьшить    накладные    расходы    на
производительность   и   занимаемую   память.  2.  Для  повышения
"живучести"    программ-мониторов    предлагается   внедрить   их
непосредственно   в   операционную  систему.  Низкая  "живучесть"
существующих    программ   является   следствием   их   "внешнего
прикрепления"  к  операционной  системе.  Как  правило,  контроль
критичных  операций  выполняется  этими программами через вектора
прерываний.  Вирусы  семейства  Dark  Avenger  и  вирусы  второго
поколения (LoveChild, RC-492) передают управление непосредственно
в  ПЗУ,  где  располагается  BIOS.  В  этом  случае  предлагается
модифицировать   системные   таблицы   так,  чтобы  не  допустить
выполнения     критичных    операций    с    диском    в    обход
программы-монитора. 3. Необходимо проверить запускаемые программы
на   наличие  известных  вирусов.  Открытая  база  масок  вирусов
позволит  настраивать  программу  на  конкретное применение путем
редактирования   базы.  4.  Следует  проверять  попытку  программ
остаться  резидентно  в  памяти.  5. Программа-монитор должна при
запуске   прикладной  программы  проверять  програмную  среду  на
наличие  известных  вирусов.  Кроме  того,  состояние среды после
завершения  программы  должно  быть  таким  же  ,  как  и  до  ее
выполнения  за  исключением  случая , когда запускаемая программа
остается  в  памяти резидентно. 6. Право на окончательное решение
должно всегда оставаться за пользователем. Нам удалось объединить
предлагаемые  методы в одной программе, что существенно расширило
ее    возможности    и   улучшило   технические   характеристики.
Разработанная  нами программа DEFENSE не свободна от недостатков.
Версия  2.3  не работант с дисплеем в графическом режиме, а также
не  контролирует  содержимое  СМОS-памяти.  Эти  недостатки будут
устранены  в  следующих  версиях.  Высокая  эффективность  работы
достигнута   за   счет   специализации   программы   DEFENSE   на
операционных  системах  MS-DOS  (РС-DOS)  версий  3.10  - 4.10. С
другими  операционными  системами  программа  работаь  не  будет.
Необходимо   отметить,   что   мы   выступаем   не  за  отказ  от
использования  программ-докторов,  а  за  отказ от создания новых
программ  этого  класса.  В  следующей  версии  программы DEFENSE
предполагается  реализовать  принцип  "обнаружил-уничтожил",  где
одну   из  главных  ролей  должна  играть  программа-доктор.  Эту
программу   каждый  сможет  выбрать  по  своему  вкусу  и  просто
присоединить к DEFENSE.
 

Оставит комментарий