Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Столлингс ГЛАВА 15 Безопасность.doc
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
795.14 Кб
Скачать

Природа вирусов

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

За время своего существования типичный вирус проходит четыре стадии.

  • Фаза покоя. Вирус бездействует. Рано или поздно он будет активизирован не­которым событием. Таким событием может служить наступление определенной даты, наличие другой программы или файла или превышение некоторой гра­ничной емкости диска. Не все вирусы придерживаются этой стратегии.

  • Фаза размножения. Вирус помещает свою точную копию в другие программы или в определенные системные области на диске. После этого каждая зараженная программа содержит клон вируса, который тоже когда-нибудь вступит в фазу размножения.

  • Фаза запуска. Вирус активизируется, чтобы получить возможность выпол­нять функции, для которых он был создан. Как и выход из фазы покоя, пе­реход в фазу запуска может быть спровоцирован различными системными событиями, в их числе — превышение некоторого предельного количества новых копий вируса.

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

Большинство вирусов делают свое дело, приспосабливаясь к определенной операционной системе, а в некоторых случаях — к определенной аппаратной платформе. Таким образом, они задуманы так, чтобы воспользоваться особенно­стями и слабостями определенных систем.

Виды вирусов

С момента появления вирусов между теми, кто пишет вирусы, и теми, кто пишет антивирусные программы, ведется непрерывная борьба. Как только раз­рабатываются эффективные меры противодействия вирусам имеющихся типов, тут же появляются новые типы вирусов. В [STEP93] приводятся такие катего­рии, в которые сгруппированы наиболее значительные виды вирусов.

  • Вирус-паразит. Традиционная и наиболее распространенная форма вируса. Вирус-паразит прикрепляется к исполняемым файлам и размножается в процессе работы зараженной программы, отыскивая и заражая другие ис­полняемые файлы.

  • Резидентный вирус. Проникает в основную память вместе с резидентной системной программой и заражает все запускаемые программы.

  • Вирус в загрузочном секторе. Этот тип вирусов заражает главную загрузоч­ную запись или загрузочную запись диска, а затем распространяется при условии, что система загружается с диска, который содержит этот вирус.

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

  • Полиморфный вирус. Вирус, который может видоизменяться при каждом новом заражении, в связи с чем выявить вирус с использованием некоторой последовательности байтов его кода (сигнатуры) невозможно.

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

Полиморфный вирус в процессе размножения создает копии, которые функционально эквивалентны, но заметно отличаются битовыми комбина­циями. Как и в случае с вирусом-невидимкой, цель данного подхода состоит в том, чтобы сбить с толку программы, ведущие поиск вирусов. При этом каждая копия вируса будет отличаться от предыдущей. Чтобы этого достичь, вирус может случайным образом помещать в свои копии избыточные инст­рукции или изменять порядок независимых инструкций. Более эффективный подход состоит в использовании шифрования. Часть вируса, которую обычно называют мутационным устройством (mutation engine), создает случайный ключ шифрования, с помощью которого кодируется остальная часть вируса; ключ при этом сохраняется в вирусе. Когда вызывается зараженная про­грамма, вирус дешифруется с помощью хранящегося в нем ключа. При раз­множении выбирается другой случайный ключ.

Существуют наборы инструментов, предназначенных для создания вирусов. Хотя такие вирусы являются менее сложными, чем те, которые созданы вруч­ную, рост количества новых сравнительно легко создаваемых вирусов является проблемой для антивирусной защиты.

Еще одним инструментом создателей вирусов являются электронные доски объявлений, с помощью которых ведется обмен вирусами. Такие доски объявле­ний стали появляться в Соединенных Штатах и других странах [ADAM92]. На них предлагаются копии вирусов, которые можно загрузить на свой компьютер, а также советы по созданию вирусов.