- •Введение
- •Основные понятия и определения предмета защиты информации
- •Правовое обеспечение информационной безопасности
- •Статья 272 ук рф
- •Статья 273 ук рф
- •Статья 274 ук рф
- •Статья 146 ук рф
- •Статья 147 ук рф
- •Организационно – распорядительная документация
- •Концепция защиты свт и ас от нсд к информации
- •1.3. Санкционированный и несанкционированный доступ
- •1.4. Угрозы безопасности и каналы реализации угроз
- •1.5. Основные принципы обеспечения информационной безопасности
- •1.6. Ценность информации
- •1.7. Меры обеспечения безопасности компьютерных систем
- •1.8. Характеристика способов защиты компьютерной информации
- •2. Разграничение доступа к ресурсам
- •Политики безопасности
- •Дискреционные политики безопасности
- •Мандатные политики безопасности
- •Контроль доступа, базирующийся на ролях
- •Политика безопасности сети
- •3. Идентификация и аутентификация субъектов
- •3.1. Классификация подсистем идентификации и аутентификации субъектов
- •3.2. Парольные системы идентификации и аутентификации пользователей
- •Методы и средства криптографической защиты
- •4.1. Принципы криптографической защиты информации
- •4.2. Традиционные симметричные криптосистемы
- •4.2.1. Шифрование методом замены
- •Шифрование методом Цезаря
- •Простая моноалфавитная замена
- •Шифр Гронсфельда
- •Шифрование методом Вернама
- •4.2.2. Шифрование методами перестановки
- •Метод простой перетановки
- •Алгорита Гамильтона
- •Шифрование методом гаммирования
- •4.3.Элементы криптоанализа
- •4.4. Современные симметричные системы шифрования
- •4.5. Асимметричные криптосистемы
- •4.5.1. Принципы асимметричного шифрования
- •4.5.2. Однонаправленные функции
- •Целочисленное умножение
- •Модульная экспонента
- •4.5.3. Алгоритм шифрования rsa
- •Алгоритм формирования ключевой пары пользователем а
- •Шифрование и дешифрование сообщений в криптосистеме rsa
- •Действия получателя а
- •Действия отправителя b
- •Действия пользователя a
- •4.6. Сравнение симметричных криптосистем с асимметричными
- •Контроль целостности информации. Электронно-цифровая подпись
- •5.1. Проблема обеспечения целостности информации
- •Алгоритм вычисления контрольной суммы
- •5.2. Функции хэширования и электронно-цифровая подпись
- •5.3. Инфраструктура открытых ключей pki
- •Структура, сервисы и архитектура pki
- •Политика и регламент pki
- •Программные средства поддержки pki
- •Хранение и распределение ключевой информации
- •Типовые схемы хранения ключевой информации
- •Алгоритм идентификации и аутентификации для схемы 1
- •Алгоритм идентификации и аутентификации для схемы 2
- •Защита баз данных аутентификации в ос Windows nt и unix
- •Алгоритм хэширования lanman
- •Алгоритм хэширования ntlm
- •Иерархия ключевой информации
- •Распределение ключей
- •Распределение ключевой информации с использованием центров распределения ключей
- •Прямой обмен сеансовыми ключами между пользователями
- •Протокол Диффи-Хеллмана
- •Протоколы безопасной удаленной аутентификации пользователей
- •Протокол chap (Challenge Handshaking Authentication Protocol)
- •Протокол одноразовых ключей s/key
- •Реализация метода «запрос-ответ» в oc Windows при сетевой аутентификации
- •Алгоритм формирования ответа
- •7. Защита от разрушающих программных воздействий
- •7.1. Понятие разрушающего программного воздействия
- •Модели взаимодействия прикладной программы и рпв
- •Компьютерные вирусы как класс рпв
- •Классификация файловых вирусов по способу заражения
- •Перезаписывающие вирусы
- •Вирусы-компаньоны
- •Защита от рпв. Изолированная программная среда
- •Эвристическая методика выявления рпв в bios
- •8. Защита информации в компьютерных сетях
- •8.1. Основные угрозы и причины уязвимости сети internet
- •Классификация типовых удаленных атак на интрасети.
- •Анализ сетевого трафика
- •Подмена доверенного субъекта
- •Введение ложного объекта компьютерной сети
- •Отказ в обслуживании (DoS)
- •Сканирование компьютерных сетей
- •Ограничение доступа в сеть. Межсетевые экраны
- •Фильтрующие маршрутизаторы (пакетные фильтры)
- •Шлюзы сетевого уровня
- •Шлюз прикладного уровня
- •Виртуальные частные сети (vpn)
- •Протокол skip
- •Доменная архитектура в Windows nt. Служба Active Directory
- •Централизованный контроль удаленного доступа. Серверы аутентификации
- •Прокси – сервер
- •9. Защита программного обеспечения
- •9.1. Проблема защиты программного обеспечения
- •Модульная архитектура технических средств защиты по
- •9.3.Функционирование подсистем и модулей системы защиты по
- •9.4.Электронные ключи hasp
- •9.4. Защита по от изучения
- •9.4.1. Базовые методы нейтрализации систем защиты
- •Понятие и средства обратного проектирования
- •Локализация кода модуля защиты
- •Базовые методы противодействия отладчикам
- •Защита от отладчиков реального режима
- •Защита от отладчиков защищенного режима
- •Базовые методы противодействия дизассемблированию по
- •Защита от отладки
- •Использование недокументированных инструкций
- •Шифрование кода программы
- •Лабораторный практикум
- •10.1. Помехоустойчивые коды
- •10.2. Алгоритм кодирования и декодирования Хаффмена
- •Порядок выполнения лабораторной работы
- •Контрольные вопросы
- •Дискреционная модель политики безопасности
- •Порядок выполнения лабораторной работы
- •Контрольные вопросы
- •Подсистемы парольной аутентификации пользователей
- •Порядок выполнения лабораторной работы
- •Контрольные вопросы
- •Методы криптографической защиты информации
- •Порядок выполнения лабораторной работы
- •Контрольные вопросы
- •Литература
9.4. Защита по от изучения
9.4.1. Базовые методы нейтрализации систем защиты
Нейтрализация системы защиты ПО от несанкционированного использования может вестись по двум направлениям [Error: Reference source not found,Error: Reference source not found,Error: Reference source not found].
1. Определение модели программно-аппаратной среды функционирования защищенной программы, которая описывает перечень идентифицирующих элементов среды, а также их параметров с целью воспроизведения копии среды. Атака в данном случае осуществляется на блок установки характеристик среды. Примером этого направления является воспроизведение копии ключевой дискеты, реализация эмулятора электронного ключа HASP, выяснение серийного номера, требуемого для регистрации продукта и т.д.
2. Определение модели алгоритма сравнения установленных значений характеристик программно-аппаратной среды с эталонными с целью искажения кода сравнения таким образом, чтобы результат сравнения всегда был истинным, т.е. чтобы система защиты всегда опознавала текущую копию как легальную. Атака в данном случае осуществляется на блок сравнения характеристик среды или блок ответной реакции.
Предпочтительность использования первого подхода для злоумышленника определяется более качественным взломом программного продукта без необходимости модификации кода, однако требует больших усилий от злоумышленника и при грамотно реализованной защите может вызвать большие трудности, либо невозможность реализации за приемлемое время. Реализация второго подхода может оказаться более простой для злоумышленника, однако в некоторых случаях сопряжена с рядом проблем: модификация кода может привести к его неработоспособности, кроме этого, сравнение установленных значений программно-аппаратной среды с эталонными может производиться много раз и быть распределено в коде программы, что затрудняет поиск данных участков кода злоумышленником.
Перед началом атаки злоумышленник, как правило, пытается выполнить программу несколько раз, чтобы определить особенности системы защиты.
Рассмотрим некоторые возможности злоумышленника при реализации второго подхода к нейтрализации защиты от несанкционированного использования.
Опишем простейший метод нейтрализации, который основан на том, что отыскивается момент, когда защищенная программа осуществляет некоторую проверку условия, которую следует отключить. Проверка реализуется обычно с использованием команды условного перехода. Например, у злоумышленника может вызывать интерес следующий фрагмент кода:
0908:0140 CMP BYTE PTR [А76С],00
0908:0145 JNZ 014B
0908:0148 CALL OC50
0908:014B MOV AH, 18
Первая строка данного кода проверяет значение, содержащееся в ячейке памяти с адресом A76C. Если в памяти содержится значение 00, команда сравнения поставит флаг Z процессора в положение "включен", а если любое другое значение - в положение "выключен".
Во второй строке кода на основании результатов выполнения команды сравнения, команда условного перехода JNZ принимает решение, производить ли переход. Команда JNZ выполнит переход на четвертую строку кода, если флаг Z "выключен" Таким образом, вызов подпрограммы, которая выводит на экран предупреждения, в третьей строке будет обойден. Если же флаг Z "включен", переход не произойдет, и вызов будет выполнен.
Третья строка кода содержит вызов некоторой подпрограммы, который злоумышленник и собирается нейтрализовать.
Четвертая строка кода - некая следующая команда в программе
Таким образом, задача злоумышленника состоит в том, чтобы обойти вызов подпрограммы в третьей строке. Для этого существует несколько способов. Например, можно заменить команду условного перехода JNZ 014В на команду безусловного перехода JMP 014В. В этом случае вызов третьей строки будет обойден независимо от того, что содержится в памяти по адресу, на который ссылается первая строка кода. В этом случае модификация кода подсистемы защиты сведется к модификации одного единственного байта.
Можно также внести такие изменения, чтобы заменить команду JNZ 014В на инверсную ей - JZ 014В, т.е. переход будет сделан, когда в памяти содержится 00. Возможна замена CMP BYTE PTR [A76C],00 на команду JMP 014В. В последнем случае требуется дополнить команду JMP 014В командой NOP для выравнивания размера кода команды. Наконец, возможна замена вызова процедуры CALL OC50 в третьей строке на 3 команды NOP
Вышеупомянутые методы обхода команды вызова подпрограммы достаточно просты, даже примитивны, поскольку они изменяют лишь конечный результат - не происходит нежелательных для злоумышленника действий со стороны блока ответной реакции, но ничего не делается для того, чтобы изменить саму ситуацию - убрать проверку системой защиты некоторого условия.
