- •Конспект лекций
- •Специальные материалы, способы защиты и кодирования информации
- •090900 «Информационная безопасность»
- •Содержание
- •Тема 9. Комплекс средств защиты информации в распределенных вычислительных сетях 114
- •Тема 10 Защита электронных документов 123
- •Тема 1. Основные понятия в области информационной безопасности
- •Тема 11 Методы и средства обеспечения целостности и достоверности используемого программного кода 195
- •Тема 12.Методы защиты программного обеспечения от внедрения на этапе его эксплуатации и сопровождения программных закладок 227
- •Тема 13 Основные подходы к защите программ от несанкционированного копирования 232
- •Тема 2. Направления, методы и средства обеспечения информационной безопасности
- •2.1. Основные направления обеспечения информационной безопасности
- •2.2. Классификация методов и средств защиты информации
- •2.1. Основные направления обеспечения информационной безопасности
- •2.2. Классификация методов и средств защиты информации
- •Тема 3. Основы законодательства России по вопросам защиты информации
- •Тема 4. Разработка политики безопасности
- •Тема 5. Проведение анализа риска
- •5.1. Основные этапы анализа риска
- •5.2. Предварительный этап анализа риска
- •5.3. Идентификация активов
- •Основные активы информационной системы предприятия
- •5.4. Анализ угроз
- •5.5. Оценка рисков
- •Логарифмическая частота угрозы
- •5.6. Выбор и проверка защитных мер
- •Тема 6 планирование обеспечения информационной безопасности
- •6.1. План защиты
- •6.2. План обеспечения непрерывной работы и восстановления функционирования автоматизированной системы
- •6.3. Реализация планов
- •6.1. План защиты
- •6.2. План обеспечения непрерывной работы и восстановления функционирования автоматизированной системы
- •Восстановительные работы.
- •6.2.1. Меры реагирования на нарушения
- •6.2.2. Восстановительные работы
- •6.3. Реализация планов
- •Тема 7. Механизмы обеспечения информационной безопасности
- •Основные механизмы и средства интегрированной системы информационной безопасности предприятия
- •7.1. Идентификация и аутентификация
- •7.2. Идентификация и аутентификация
- •Примеры методов биометрии
- •7.3. Разграничение доступа
- •Фрагмент матрицы установления полномочий
- •7.4. Регистрация и аудит
- •7.5. Криптография
- •7.7. Экранирование
- •Типы межсетевых экранов и уровни модели iso osi
- •Экран как средство разграничения доступа
- •Тема 8. Антивирусные средства
- •8.1. Общая характеристика и классификация компьютерных вирусов
- •8.2. Общая характеристика средств нейтрализации компьютерных вирусов
- •8.3. Классификация методов защиты откомпьютерных вирусов
- •8.4. Уровни и методы антивирусной защиты
- •8.5. Обзор современных антивирусных средств
- •8.5.1. Комплект антивирусных средств dsav
- •8.5.2. Интегрированная антивирусная система avp
- •Тема 9. Комплекс средств защиты информации в распределенных вычислительных сетях
- •Тема 10 Защита электронных документов
- •10.1. Основы организации защиты электронных документов
- •10.1.Основные мероприятия по обеспечению защиты электронных документов
- •10.2. Технология применения цифровой подписи.
- •10.2.1 Общая организация цифровой подписи
- •10.2.2. Архитектура алгоритмов цп
- •10.2.3 Постановка подписи
- •10.2.4. Проверка подписи
- •10.2.5. Критерии (показатели эффективности)
- •10.2.6. Нападения
- •10.3. Особенности применения цифровой подписи
- •10.4. Защита электронных платежей
- •10.5. Анализ нарушений в системе электронных расчетов и платежей
- •10.6. Основы криптографической защиты электронных документов
- •10. 6.1. Основные требования к криптосистемам
- •10.6.2. Основные требования к криптосистемам
- •10.6.3. Реализация криптографических методов
- •Тема 11 Методы и средства обеспечения целостности и достоверности используемого программного кода
- •11.1. Методы защиты программ от несанкционированных изменений
- •11.2. Краткое описание криптографических средств контроля целостности и достоверности программ
- •11.3. Краткое описание основных криптографических методов защиты данных
- •11.1. Методы защиты программ от несанкционированных изменений
- •11.2. Краткое описание криптографических средств контроля целостности и достоверности программ
- •11.3. Краткое описание основных криптографических методов защиты данных
- •Открытый ключевой обмен Диффи-Хеллмана и криптосистемы с открытым ключом
- •Электронная цифровая подпись
- •Криптографические протоколы
- •Тема 12.Методы защиты программного обеспечения от внедрения на этапе его эксплуатации и сопровождения программных закладок
- •12.1.Классификация средств исследования программ
- •12.2. Методы защиты программ от исследования
- •12.3.Анализ программ на этапе их эксплуатации
- •12.1. Классификация средств исследования программ
- •12.2. Методы защиты программ от исследования
- •12.3. Анализ программ на этапе их эксплуатации
- •Тема 13 Основные подходы к защите программ от несанкционированного копирования
- •13.1. Основные функции средств защиты от копирования
- •13.3. Методы противодействия динамическим способам снятия защиты программ от копирования
- •13.1. Основные функции средств защиты от копирования
- •13.2. Основные методы защиты программ откопирования
- •Метод привязки к идентификатору
- •13.3. Методы противодействия динамическим способам снятия защиты программ от копирования
- •Методы, основанные на работа с переходами и стеком
- •Манипуляции с кодом программы
- •Библиографический список Основная литература
- •Дополнительная литература
12.2. Методы защиты программ от исследования
Для защиты программ от исследования необходимо применять методы защиты от исследования файла с ее исполняемым кодом, хранящемся на внешнем носителе, а также методы защиты исполняемого кода, загружаемого в оперативную память для выполнения этой программы.
В первом случае защита может быть основана на шифровании секретной части программы, а во втором - на блокировании доступа к исполняемому коду программы в оперативной памяти со стороны отладчиков [17]. Кроме того, перед завершением работы защищаемой программы должен обнуляться весь ее код в оперативной памяти. Это предотвратит возможность несанкционированного копирования из оперативной памяти дешифрованного исполняемого кода после выполнения защищаемой программы.
Таким образом, защищаемая от исследования программа должна включать следующие компоненты:
инициализатор;
зашифрованную секретную часть;
деструктор (деициниализатор).
Инициализатор должен обеспечивать выполнение следующих функций:
сохранение параметров операционной среды функционирования (векторов прерываний, содержимого регистров процессора и т.д.);
запрет всех внутренних и внешних прерываний, обработка которых не может быть запротоколирована в защищаемой программе;
загрузка в оперативную память и дешифрование кода секретной части программы;
передача управления секретной части программы.
Секретная часть программы предназначена для выполнения основных целевых функций программы и защищается шифрованием для предупреждения внесения в нее программной закладки.
Деструктор после выполнения секретной части программы должен выполнить следующие действия:
обнуление секретного кода программы в оперативной памяти;
восстановление параметров операционной системы (векторов прерываний, содержимого регистров процессора и т.д.), которые были установлены до запрета неконтролируемых прерываний;
выполнение операций, которые невозможно было выполнить при запрете неконтролируемых прерываний;
освобождение всех незадействованных ресурсов компьютера и завершение работы программы.
Для большей надежности инициализатор может быть частично зашифрован и по мере выполнения может дешифровать сам себя. Дешифроваться по мере выполнения может и секретная часть программы. Такое дешифрование называется динамическим дешифрованием исполняемого кода. В этом случае очередные участки программ перед непосредственным исполнением расшифровываются, а после исполнения сразу уничтожаются.
Для повышения эффективности защиты программ от исследования необходимо внесение в программу дополнительных функций безопасности, направленных на защиту от трассировки. К таким функциям можно отнести:
периодический подсчет контрольной суммы области оперативной памяти, занимаемой защищаемым исходным кодом; сравнение текущей контрольной суммы с предварительно сформированной эталонной и принятие необходимых мер в случае несовпадения;
проверку количества занимаемой защищаемой программой оперативной памяти; сравнение с объемом, к которому программа адаптирована, и принятие необходимых мер в случае несоответствия;
контроль времени выполнения отдельных частей программы;
блокировку клавиатуры на время отработки особо секретных алгоритмов.
Для защиты программ от исследования с помощью дизассемблеров можно использовать и такой способ, как усложнение структуры самой программы с целью запутывания злоумышленника, который дизассемблирует эту программу. Например, можно использовать разные сегменты адреса для обращения к одной и той же области памяти. В этом случае злоумышленнику будет трудно догадаться, что на самом деле программа работает с одной и той же областью памяти.
