Теория и практика защиты программ


Теория и практика защиты программ

ПРЕДИСЛОВИЕ

Зачем и от кого нужно защищать программное обеспечение компьютерных систем
Разрушающие программные средства

Несанкционированное копирование, распространение и использование программ
Основные предположения и ограничения
Используемая терминология
Жизненный цикл программного обеспечения
Подходы к созданию модели угроз технологической безопасности ПО



Элементы модели угроз эксплуатационной безопасности ПО
ПРОЕКТИРОВАНИЕ
КОДИРОВАНИЕ
КОНТРОЛЬ
Обобщенное описание и типизация РПС

Модели взаимодействия прикладной программы и программной закладки
Методы внедрения РПС
Основные принципы обеспечения безопасности ПО
Принципы обеспечения технологической
Принципы достижения технологической безопасности ПО в процессе его разработки

Принципы обеспечения безопасности при эксплуатации программного обеспечения
Общие вопросы
Архитектура безопасности Взаимосвязи открытых систем
Состояние международной нормативно-методической базы
Стандартизация вопросов управления информационной безопасностью
Стандартизация моделей безопасности ИТ
Стандартизация методов и механизмов безопасности ИТ

Стандартизация международных криптографических алгоритмов
Стандартизация в области защиты информации от НСД
Стандартизация отечественных криптографических алгоритмов
Сертификационные испытания программных средств
Человеческий фактор
Типовой потрет хакера

Злоумышленники в профессиональных коллективах программистов-разработчиков
Информационная война
Психология программирования
ЗАКЛЮЧЕНИЕ

Теория и практика защиты программ

Применение правил вывода

Представление чисел
Алгоритм A*B modulo N - алгоритм выполнения операции модулярного умножения
Водные замечания по проблематике конфиденциальных вычислений

(N,t)-Пороговые схемы
Проверяемая схема разделения секрета
Широковещательный примитив (Br-протокол)
Протокол византийского соглашения (BA-протокол)
Обобщенные модели сбоев и противника
Получестные модели
Действия процессоров в злонамеренной модели
Вычисления в идеальной модели
Вычисления в реальной модели

Модель взаимодействия
Общее описание модели
Идеальный и реальный сценарии
Общее описание модели
Асинхронные идеальный и реальный сценарии
Безопасность асинхронных вычислений
Конфиденциальное вычисление функции
Описание проверяемой схемы разделения секрета

Доказательство безопасности схемы проверяемого разделения секрета
Примитив «Забывающий обмен»

Безопасные протоколы для получестной модели
Конфиденциальное вычисление cc2
Протокол вычислений на арифметической схеме над GF(
Основной результат для злонамеренной модели
Общая идея
Получестная модель
Конфиденциальное вычисление
Многосторонний протокол схемного вычисления

Примитив «Соглашение об аккумулируемом множестве» (СОАМ-субпротокол)
Схема (n,t)-звезды

Схема, корректирующая ошибки
Общие определения
Схема АПРС
Доказательство безопасности схемы АПРС

Асинхронная схема глобального проверяемого разделения секрета
Вычисления при FS-сбоях
Вычисления на линейном вентиле
Вычисления на мультипликативном вентиле

Основной протокол
Вычисления при By-сбоях
RL-прототип модели синхронных конфиденциальных вычислений

Общие принципы создания двухмодульных вычислительных процедур и методология самотестирования
Устойчивость, линейная и единичная состоятельность
Обозначения и определения для функции дискретного возведения в степень вида gxmoduloM
Построение самотестирующейся/самокорректирующейся

Метод создания самотестирующейся расчетной программы с эффективным тестирующим модулем
Исследования процесса верификации расчетных программ
Общие замечания
Вычислительная математика
Целочисленная арифметика и арифметика многократной точности
Функция

M(n)log n
Теоретико-групповые и теоретико-числовые вычисления
Вычисления над полиномами
Вычисления над матрицами
Псевдокод алгоритма
Время выполнения программы
Псевдокод алгоритма самотестирующейся
Функция
Умножение матриц
Инверсия матрицы

Линейные рекуррентные соотношения
Аппроксимирующие функции
Вводные замечания
Распределение ключей, цифровая подпись, схемы аутентификации
Интерактивные системы доказательств
Задача «Изоморфизм графа»
Чекер для задачи «Изоморфизм графа»
Другие направления
Применение вычислительных методов к задачам гидролокации

Задача
Метод наименьших квадратов и задача самотестирования
Вводные замечания
Центральный процессор, имитирующий взаимодействие
Сокрытие модели доступа
Моделирование на забывающих RAM-машинах
Моделирование на забывающих RAM-машинах - 2
RAM-машина как пара интерактивных машин

Дополнения к базовой модели и вероятностные RAM-машины
Повторные выполнения RAM-машины
Эксперименты с RAM-машиной
Преобразования, защищающие программное обеспечение
Преобразования, защищающие программное обеспечение - 2
Модели доступа
Моделирование с метками времени
Сведение защиты программ к забывающему моделированию на RAM-машине

Вводные замечания
Общее описание алгоритма «Квадратного корня»

Теория и практика защиты программ

Реализация алгоритма «Квадратного корня»
Анализ алгоритма «Квадратного корня»
Заключительные замечания
Криптопрограммирование посредством использования инкрементальных алгоритмов

Базовые примитивы
Операции модификации
Инкрементальные алгоритмы
Безопасность
Секретность в инкрементальных схемах
Основные определения и обозначения
Алгоритм маркирования
Инкрементальный алгоритм маркирования
Схемы инкрементального шифрования

Вопросы стойкости инкрементальных схем
Применение инкрементальных алгоритмов для защиты от вирусов
Общие замечания
Контрольно-испытательные методы анализа безопасности программного обеспечения
Логико-аналитические методы контроля безопасности программ

Сравнение логико-аналитических и контрольно-испытательных методов анализа безопасности программ
Статистические и динамические способы исследования ПО
Особенности исследования защищенного ПО
Особенности исследования защищенного ПО - 2
Описание способов проведения испытаний, оценки качества и сертификации программных средств
Состав методического обеспечения проведения испытаний программ
Состав инструментальных средств проведения испытания программ
Общая номенклатура показателей качества ПО

Выбор номенклатуры показателей качества
Оценка значений показателей качества ПО
Организационные вопросы проведения испытаний ПО
Методологические вопросы проведения испытаний ПО
Состав инструментальных средств контроля безопасности ПО при его разработке

Структура и принципы построения

Постановка задачи
Обоснование состава множества информативных характеристик
Алгоритмы приближенных вычислений вероятностных характеристик наличия в программах РПС
Обоснование критериев принятия решения о наличии в программе РПС

Анализ характеристик программных модулей с помощью управляющего графа
Определение характеристик взаимосвязи
Построение критических путей, подлежащих обязательному тестированию

Исходные данные, определения и условия
Определение модели надежности программного обеспечения
Модель Шумана
Модель Джелинского-Моранды
Другие модели надежности программного обеспечения
Анализ моделей надежности программ
Обоснование выбора модели Нельсона
Общее описание модели

Оценка надежности программного обеспечения
Оценка технологической безопасности программ на базе метода Нельсона
Способы внедрения РПС посредством инструментальных средств
Возможные методы защиты программ от потенциально опасных инструментальных средств

Идентификация программ по внутренним характеристикам
Способы оценки подобия целевой и исследуемой программ с точки зрения наличия программных дефектов

Общая характеристика и классификация компьютерных вирусов
Общая характеристика средств нейтрализации компьютерных вирусов
Классификация методов защиты от компьютерных вирусов

Вводная часть
Методы защиты программ от исследования
Анализ программ на этапе их эксплуатации
Способы защиты программ от исследования

Способы встраивания защитных механизмов в программное обеспечение
Теоретические основания
Практические вопросы построения обфускаторов
Методы защиты программ от несанкционированных изменений

Схема подписи с верификацией по запросу
Примеры применения схемы подписи с верификацией по запросу
Основные функции средств защиты от копирования
Криптографические методы
Метод привязки к идентификатору

Методы, основанные на работе с переходами и стеком
Манипуляции с кодом программы
Методы противодействия динамическим способам снятия защиты программ от копирования


Пособие по практике программирования далее

Телекоммуникационные технологии далее