- •1.История вопроса
- •1. Лекция: История вопроса
- •Первые вирусы
- •Первые вирусные эпидемии
- •Заключение
- •2. Лекция: Теоретические сведения о компьютерных вирусах Введение
- •Результат Фреда Коэна
- •Результат д. Чесса и с. Вайта Основные положения
- •Обнаружение вирусов
- •Слабое определение обнаружения
- •Сравнение с результатом ф. Коэна
- •Практические следствия
- •Формализм ф. Лейтольда
- •Вычислительные модели Вычислительная машина с произвольной выборкой
- •Вычислительная машина с хранением программ в памяти с произвольной выборкой
- •Машина Тьюринга
- •Raspm с присоединенным вспомогательным хранилищем
- •Моделирование операционных систем
- •Вирусы в raspm с abs
- •Способы размножения вирусов
- •Олигоморфные и полиморфные вирусы
- •Проблема обнаружения вирусов
- •Общая проблема обнаружения вирусов
- •Оценка сложности сигнатурного метода
- •Результат Леонарда Адельмана
- •Принятые обозначения
- •Классификация вирусов
- •Обнаружение компьютерных вирусов
- •Заключение
- •3. Лекция: Классификация вирусов Общие сведения
- •Практическое определение вируса
- •Жизненный цикл
- •Проникновение
- •Активация
- •Поиск жертв
- •Подготовка вирусных копий
- •Внедрение
- •Жизненный цикл
- •Каналы распространения
- •Способы активации
- •Поиск "жертв"
- •Подготовка копий для распространения
- •Жизненный цикл
- •Способы проникновения
- •Активация
- •Выполняемые функции
- •Ущерб от вредоносных программ
- •Угрозы безопасности информации
- •Угроза нарушения конфиденциальности
- •Угроза нарушения целостности
- •Угроза нарушения доступности
- •Заключение
- •4. Лекция: Что такое антивирусы
- •Технологии обнаружения вирусов
- •Режимы работы антивирусов
- •Антивирусный комплекс
- •Антивирусный комплекс для защиты рабочих станций
- •Антивирусный комплекс для защиты файловых серверов
- •Антивирусный комплекс для защиты почтовых систем
- •Антивирусный комплекс для защиты шлюзов
- •Комплексная система защиты информации
- •Организационные меры
- •Правовые меры
- •Глава 28 ук рф содержит следующие статьи, относящиеся к компьютерным вирусам:
- •Программные средства
- •Этапность работ
- •Выбор антивирусных комплексов
- •Преимущества и недостатки одновендорных систем Преимущества
- •Недостатки
- •Преимущества и недостатки мультивендорных систем
- •Преимущества
- •Недостатки
- •5. Лекция: Защита шлюзов Общие сведения
- •Возможные схемы защиты
- •Универсальные антивирусы для шлюзов
- •Проверка протоколов Интернет
- •Проверка почты smtp
- •Антивирусы для шлюзов, основанные на интеграции
- •Антивирусы для Microsoft isa Server
- •Антивирусы для CheckPoint Firewall
- •Другие реализации
- •Требования к антивирусам для шлюзов
- •Угрозы и методы защиты от них Особенности архитектуры
- •Предотвращаемые угрозы
- •Эксплуатационные характеристики
- •Управление
- •Обновление
- •Диагностика
- •Производительность
- •Заключение
- •6. Лабораторная работа: Антивирус Касперского для Microsoft isa Server. Установка, настройка, управление
- •Методические указания к лабораторной работе
- •Состав приложения
- •Поддерживаемые операционные системы
- •Установка
- •Результат установки
- •Принципы работы
- •Управление группами клиентов
- •Внедрение политик антивирусной проверки
- •Настройка диагностики работы приложения
- •Обновление антивирусных баз
- •Настройка уведомлений пользователей
- •Сбор и просмотр статистической информации
- •Уведомление администратора посредством isa Server Alerts
- •Управление лицензионными ключами
- •Задание
- •Контрольные вопросы
- •Рекомендуемая литература
- •7. Лекция: Защита почтовых систем Общие сведения
- •Возможные схемы защиты
- •Требования к антивирусному комплексу для проверки почтового потока
- •Требования к управлению
- •Требования к диагностике
- •Заключение
- •Unix-системы
- •Методические указания к лабораторной работе
- •Состав и принцип работы
- •Архитектура Сервера безопасности
- •Поддерживаемые операционные системы
- •Заключение
- •8. Лабораторная работа: Антивирус Касперского 5.5 для ms Exchange Server. Установка, настройка, управление
- •Методические указания к лабораторной работе
- •Состав и принцип работы
- •Архитектура Сервера безопасности
- •Поддерживаемые операционные системы
- •Установка
- •Результаты установки
- •Принципы работы Производительность антивирусной защиты
- •Фоновая проверка
- •Уровни защиты
- •Настройка диагностики работы приложения
- •Обновления антивирусных баз. Источники обновлений
- •Работа с инфицированными и подозрительными объектами
- •Уведомления
- •Контроль вирусной активности
- •Отчеты об антивирусной проверке
- •Задание
- •9. Лекция: Защита серверов и рабочих станций
- •Структура уровня
- •Защита рабочих станций Классы рабочих станций
- •Специфические угрозы и технологии противодействия
- •Рабочие станции Windows
- •Файловая система
- •Интернет
- •Рабочие станции под управлением других ос
- •Эксплуатационные требования и соответствующие им решения
- •Обновление
- •Управление
- •Диагностика
- •Надежность
- •Защита от вредоносного кода
- •Защита от действий пользователя
- •Недопущение потери данных
- •Производительность
- •Требования к антивирусам для рабочих станций
- •Требования к антивирусам для рабочих станций Windows
- •Требования к управлению
- •Требования к обновлению
- •Требования к диагностике
- •Требования к антивирусам для рабочих станций Linux/Unix
- •Требования к управлению
- •Требования к диагностике
- •Защита серверов
- •Специфические угрозы и способы противодействия
- •Сервера Microsoft Windows
- •Сервера Novell Netware
- •Сервера Unix
- •Эксплуатационные требования и характеристики
- •Управление
- •Обновление
- •Диагностика
- •Надежность
- •Производительность
- •Требование к антивирусам для серверов
- •Основные требования
- •Требования к управлению
- •Требования к обновлению
- •Требования к диагностике
- •Требования к производительности
- •Система администрирования
- •Цели и задачи
- •Структура системы администрирования
- •Основные требования к системе администрирования
- •Подсистема управления
- •Подсистема обновления
- •Подсистема диагностики
- •Средства внедрения
- •Заключение
- •10. Лабораторная работа: Антивирус Касперского 6.0 для Windows Workstations. Локальная установка и управление
- •Методические указания к лабораторной работе
- •Установка
- •Результат установки
- •Принципы работы программы
- •Компоненты
- •Системные задачи проверки по требованию (5 задач)
- •Системные задачи обновления
- •Пользовательские задачи
- •Проверка по требованию
- •Файловый антивирус
- •Почтовый антивирус
- •Проактивная защита
- •Анти-Шпион
- •Анти-Хакер
- •Анти-Спам
- •Технологии iChecker(tm) и iSwift(tm)
- •Обновления сигнатур угроз и модулей приложения
- •Источник обновлений
- •Обновляемые компоненты
- •Откат обновления антивирусных баз
- •Работа с инфицированными и подозрительными объектами
- •Задание
- •Контрольные вопросы
- •Рекомендуемая литература
- •11. Лабораторная работа: Kaspersky Administration Kit. Развертывание системы управления антивирусными средствами Лаборатории Касперского
- •Методические указания к лабораторной работе
- •Состав и структурная схема
- •Установка Сервера администрирования
- •Подключение к Серверу Администрирования
- •Разграничение полномочий администраторов
- •Первое подключение к Серверу администрирования
- •Выбор способа формирования логической сети
- •Логическая сеть
- •Структура логической сети, объекты управления
- •Контейнеры узла Сервера администрирования
- •Структура контейнера Сеть
- •Процедура добавления группы
- •Добавление нового инсталляционного пакета
- •Выбор лицензионного ключа
- •Создание задачи удаленной установки
- •Выбор метода установки
- •Выбор учетной записи
- •Создание задачи проверки по требованию
- •Выбор настроек проверки по требованию
- •Выполнение задачи проверки по требованию
- •Создание задачи получения обновлений Сервером администрирования
- •Задача обновления клиентов
- •Контейнер Обновления
- •Автоматическое проталкивание обновлений антивирусных баз
- •Смена Сервера администрирования
- •Задание
- •Контрольные вопросы
- •Рекомендуемая литература
- •12. Лабораторная работа: Kaspersky Administration Kit. Особенности работы с иерархической структурой Серверов администрирования
- •Методические указания к лабораторной работе
- •Узел Сервера администрирования
- •Добавление подчиненного Сервера администрирования
- •Политики Антивируса Касперского
- •Влияние политики на настройки клиентов
- •Влияние политик на глобальные и групповые задачи
- •Наследование политик
- •Создание политик
- •Настройка уровня защиты для задач постоянной защиты объектов
- •Иерархическое действие групповых задач
- •Получение сведений о лицензионных ключах
- •Установка лицензионного ключа
- •Резервное копирование базы Сервера администрирования
- •Синтаксис утилиты
- •Задание
- •Контрольные вопросы
- •Рекомендуемая литература
- •13. Лабораторная работа: Основные признаки присутствия вредоносных программ и методы по устранению последствий вирусных заражений
- •Методические указания к лабораторной работе
- •Сетевые черви
- •Жизненный цикл вредоносных программ
- •Основные пути проникновения в систему и активации
- •Устранение последствий заражения
- •Задание
- •Контрольные вопросы
- •Рекомендуемая литература
Сравнение с результатом ф. Коэна
Полученный результат является дополнением результата Ф. Коэна. Действительно, результат Ф. Коэна можно кратко записать в виде:
для любого обнаруживающего алгоритма найдется вирус, который не будет обнаруживаться данным алгоритмом.
Результат Д. Чесса и С. Вайта может быть по аналогии представлен как:
существует полиморфный вирус, такой что для любого обнаруживающего алгоритма, алгоритм не будет обнаруживать этот вирус
существует полиморфный вирус, такой что для любого обнаруживающего алгоритма, алгоритм не будет слабо обнаруживать этот вирус
Практические следствия
На практике вирус W не представляет такой уж большой опасности и это связано с тем, что, как правило, не расценивается проблемой ложное срабатывание на программах вида:
если D(t), то завершить работу, иначе размножаться
или
если Sub1(u), то завершить работу, иначе {
заменить текст подпрограммы Sub1 текстом произвольной программы;
размножаться;
завершить работу;
}
Sub1:
вернуть D(аргумент);
Несмотря на то, что такие программы никогда не размножаются, их существование тесно связано с существованием определенных вирусов.
Здесь важно понимать значение полученного результата. Вывод Ф. Коэна важен в первую очередь тем, что можно без особых разбирательств отметать любые заявления о создании алгоритма точно детектирующего вирусы и только их. Точно так же на основании результата Д. Чесса и С. Вайта можно отметать заявления о создании алгоритма, способного обнаруживать без ложных срабатываний все экземпляры полиморфного вируса по одному его экземпляру.
В реальной жизни антивирусная программа считается качественной, если она обнаруживает все жизнеспособные экземпляры вируса, желательно также его нежизнеспособные ответвления, и при этом характеризуется сравнительно небольшим числом ложных срабатываний. Следует избегать лишь тех ложных срабатываний, которые затрагивают существующие программы, используемые в повседневной работе различными пользователями. Ложные срабатывания на искусственных примерах, появление которых на компьютерах пользователей близко к нулю, вполне допустимы.
Формализм ф. Лейтольда
В 2000-м году венгерский исследователь Ференц Лейтольд попытался дать новый импульс развитию математической теории компьютерных вирусов путем более точного моделирования вычислительной среды - компьютеров и операционных систем. Попутно он вывел некую общую классификацию вирусов и также, как Д. Чесс и С. Вайт, рассмотрел в рамках предложенного формализма феномен полиморфных вирусов.
Вычислительные модели Вычислительная машина с произвольной выборкой
Для моделирования компьютерной среды Ф. Лейтольд отталкивался от вычислительной машины с произвольной выборкой (Random Access Machine, RAM), определение которой представлено ниже.
Вычислительная машина с произвольной выборкой состоит из следующих компонентов:
Входная лента, представляющая собой последовательность ячеек, содержащих целые числа и доступных только для последовательного чтения - после чтения ячейки считывающая головка автоматически перемещается вправо
Выходная лента, представляющая собой последовательность ячеек, доступных только для последовательной записи, по умолчанию эти ячейки пусты
Программа - последовательность (возможно индексированная, т.е. с возможностью указать адрес некоторых или любых инструкций) инструкций, не находящаяся в памяти и, соответственно, неизменяемая, по умолчанию выполнение программы начинается с первой инструкции (можно ввести счетчик инструкций, указывающий на следующую к выполнению инструкцию, в этом случае по умолчанию счетчик указывает на первую инструкцию)
Память - неограниченная последовательность регистров r0, r1, …, ri, …, способных хранить целые числа, по умолчанию значения регистров пусты, нулевой регистр r0 используется для вычислений и часто называется аккумулятором, доступ к регистрам производится непосредственно по их индексам, откуда и происходит название машины.
Как следует из определения, после того как ячейка была прочитана или записана, она не может быть прочитана или записана еще раз. Неизменяемость программы означает в том числе и то, что программа не может менять себя в процессе выполнения. Фактический набор используемых в программе инструкций большого значения не имеет, поскольку вычислительная сложность алгоритма реализованного в разных (разумных) наборах инструкций асимптотически будет совпадать. Один из возможных вариантов инструкций для вычислительной машины с произвольной выборкой представлен в таблице:
Инструкция |
Параметр |
Описание |
LOAD |
Операнд |
Загружает в память значение, определяемое операндом |
STORE |
Операнд |
Копирует значение аккумулятора в ячейку памяти (регистр) определяемый операндом |
ADD |
Операнд |
Добавляет к аккумулятору значение, определяемое операндом |
SUB |
Операнд |
Вычитает из аккумулятора значение, определяемое операндом |
MULT |
Операнд |
Умножает аккумулятор на значение, определяемое операндом |
DIV |
Операнд |
Делит аккумулятор на значение, определяемое операндом |
READ |
Операнд |
Считывает значение с входящей ленты в регистр, определяемый операндом |
WRITE |
Операнд |
Записывает на выходную ленту значение, определяемое операндом |
JUMP |
Метка |
Присваивает счетчику инструкций значение метки |
JGTZ |
Метка |
Присваивает счетчику инструкций значение метки, если аккумулятор содержит положительное число |
JZERO |
Метка |
Присваивает счетчику инструкций значение метки, если аккумулятор равен нулю |
HALT |
|
Завершает работу машины |
Допускается три вида операндов:
i - обозначает собственно значение целого числа i
[i] - для неотрицательных i обозначает значение регистра ri
[[i]] - косвенная адресация, обозначает значение регистра rj, где j - значение регистра ri. Если j<0, машина завершает работу
По умолчанию (см. также определение) значение всех регистров равно нулю, счетчик инструкций указывает на первую инструкцию программы и выходная лента пуста. После выполнения k-й инструкции счетчик либо автоматически увеличивается на единицу и указывает на (k+1)-ю инструкцию, либо, если была выполнена инструкция JUMP или выполнены условия инструкций JGTZ или JZERO, принимает значение метки, либо, если была выполнена инструкция HALT, машина прекращает свою работу.
