- •Безопасность
- •Аппаратное обеспечение
- •Программное обеспечение
- •Линии связи и сети
- •15.2. Защита
- •Защита памяти
- •Контроль доступа, ориентированный на пользователя
- •Контроль доступа, ориентированный на данные
- •15.3. Взломщики
- •Методы вторжения
- •Защита паролей
- •Уязвимость паролей
- •Контроль доступа
- •Стратегии выбора паролей
- •Выявление вторжений
- •15.4. Зловредное программное обеспечение
- •Зловредные программы
- •Логические бомбы
- •Троянские кони
- •Природа вирусов
- •Виды вирусов
- •Макровирусы
- •Подходы к борьбе с вирусами
- •Обобщенное дешифрование
- •Цифровая иммунная система
- •15.5. Системы с доверительными отношениями
- •Защита от троянских коней
- •15.6. Безопасность операционной системы windows 2000
- •15.7. Резюме, ключевые термины и контрольные вопросы
- •Контрольные вопросы
- •15.8. Рекомендуемая литература
- •Приложение. Шифрование
- •Стандартное шифрование
- •Стандарт шифрования данных
- •Тройной алгоритм шифрования данных
- •Улучшенный стандарт шифрования
- •Шифрование с открытым ключом
- •А.2. Архитектура протоколов tcp/ip
- •Уровни протокола tcp/ip
- •Приложения tcp/ip
- •Б.1. Мотивация
- •Б.З. Преимущества объектно-ориентированного подхода
- •Б.2. Объектно-ориентированные концепции
- •Структура объектов
- •Классы объектов
- •Наследование
- •Полиморфизм
- •Включение
- •Список литературы
Природа вирусов
Вирус может делать все то, что делает обычная программа. Единственное отличие состоит в том, что он прикрепляется к другой программе и скрытно выполняется во время работы программы-хозяина. Будучи запущенным, вирус может выполнять любые функции, например удалять файлы и программы.
За время своего существования типичный вирус проходит четыре стадии.
Фаза покоя. Вирус бездействует. Рано или поздно он будет активизирован некоторым событием. Таким событием может служить наступление определенной даты, наличие другой программы или файла или превышение некоторой граничной емкости диска. Не все вирусы придерживаются этой стратегии.
Фаза размножения. Вирус помещает свою точную копию в другие программы или в определенные системные области на диске. После этого каждая зараженная программа содержит клон вируса, который тоже когда-нибудь вступит в фазу размножения.
Фаза запуска. Вирус активизируется, чтобы получить возможность выполнять функции, для которых он был создан. Как и выход из фазы покоя, переход в фазу запуска может быть спровоцирован различными системными событиями, в их числе — превышение некоторого предельного количества новых копий вируса.
Фаза выполнения. В этой фазе вирус выполняет свои функции. Эти функции могут быть безобидными (например, вывод на экран сообщения) или причинять вред (например, удаление файлов с программами и данными).
Большинство вирусов делают свое дело, приспосабливаясь к определенной операционной системе, а в некоторых случаях — к определенной аппаратной платформе. Таким образом, они задуманы так, чтобы воспользоваться особенностями и слабостями определенных систем.
Виды вирусов
С момента появления вирусов между теми, кто пишет вирусы, и теми, кто пишет антивирусные программы, ведется непрерывная борьба. Как только разрабатываются эффективные меры противодействия вирусам имеющихся типов, тут же появляются новые типы вирусов. В [STEP93] приводятся такие категории, в которые сгруппированы наиболее значительные виды вирусов.
Вирус-паразит. Традиционная и наиболее распространенная форма вируса. Вирус-паразит прикрепляется к исполняемым файлам и размножается в процессе работы зараженной программы, отыскивая и заражая другие исполняемые файлы.
Резидентный вирус. Проникает в основную память вместе с резидентной системной программой и заражает все запускаемые программы.
Вирус в загрузочном секторе. Этот тип вирусов заражает главную загрузочную запись или загрузочную запись диска, а затем распространяется при условии, что система загружается с диска, который содержит этот вирус.
Вирус-невидимка. Разновидность вирусов, специально разработанная так, чтобы скрываться от антивирусных программ.
Полиморфный вирус. Вирус, который может видоизменяться при каждом новом заражении, в связи с чем выявить вирус с использованием некоторой последовательности байтов его кода (сигнатуры) невозможно.
Один из видов вирусов-невидимок использует сжатие, при котором зараженная программа имеет точно такой же размер, как и ее незараженная версия. Возможно также применение намного более сложных методов. Например, вирус может поместить в программы, выполняющие ввод-вывод на диск, фрагмент кода, работающего на перехват. Тогда при попытке прочитать с помощью этой программы подозрительную часть диска вирус представит первоначальную, незараженную программу. Таким образом, термин невидимка скорее применим не к самому вирусу, а к технологии, используемой вирусом, чтобы его нельзя было обнаружить.
Полиморфный вирус в процессе размножения создает копии, которые функционально эквивалентны, но заметно отличаются битовыми комбинациями. Как и в случае с вирусом-невидимкой, цель данного подхода состоит в том, чтобы сбить с толку программы, ведущие поиск вирусов. При этом каждая копия вируса будет отличаться от предыдущей. Чтобы этого достичь, вирус может случайным образом помещать в свои копии избыточные инструкции или изменять порядок независимых инструкций. Более эффективный подход состоит в использовании шифрования. Часть вируса, которую обычно называют мутационным устройством (mutation engine), создает случайный ключ шифрования, с помощью которого кодируется остальная часть вируса; ключ при этом сохраняется в вирусе. Когда вызывается зараженная программа, вирус дешифруется с помощью хранящегося в нем ключа. При размножении выбирается другой случайный ключ.
Существуют наборы инструментов, предназначенных для создания вирусов. Хотя такие вирусы являются менее сложными, чем те, которые созданы вручную, рост количества новых сравнительно легко создаваемых вирусов является проблемой для антивирусной защиты.
Еще одним инструментом создателей вирусов являются электронные доски объявлений, с помощью которых ведется обмен вирусами. Такие доски объявлений стали появляться в Соединенных Штатах и других странах [ADAM92]. На них предлагаются копии вирусов, которые можно загрузить на свой компьютер, а также советы по созданию вирусов.