Защита программ от трассировки
Защищая свои программы от несанкционированного копирования, не следует забывать о таких средствах «взлома», как пошаговые отладчики — Turbo Debugger, CodeView, Advanced Fullscreen Debug, AT86 и т. п.
Используя отладчики, искушенные в своем деле системные программисты рано или поздно смогут обнаружить и отключить (или обмануть) средства защиты от копирования.
Стандартный метод обнаружения средств защиты от копирования дизассемблирование программы установки или выполнение ее под управлением пошагового отладчика. Листинг, получаемый в процессе дизассемблирования, оказывает большую услугу при использовании отладчика, поэтому эти два средства — дизассемблирование и использование отладчика — обычно используются вместе.
Соответственно, требуются специальные приемы программирования для борьбы с дизассемблером и защиты от отладчиков.
Для затруднения дизассемблирования лучше всего подходит шифрование отдельных участков программ или всей программы целиком. После загрузки программу следует расшифровать в оперативной памяти и передать ей управление. Еще лучше выполнять динамическое расшифровывание программы по мере ее выполнения, когда участки программы расшифровываются непосредственно перед использованием и после использования сразу же уничтожаются.
При расшифровывании можно копировать участки программы в другое место оперативной памяти.
Пусть, например, программа состоит из нескольких частей. После ее загрузки в оперативную память управление передается первой части программы. Эта часть предназначена для расшифровки второй части, которая находится в памяти вслед за первой.
Задача второй части — перемещение третьей части программы на место уже использованной первой части и расшифровка ее там.
Третья часть, получив управление, может проверить свое расположение относительно префикса программного сегмента и, в случае правильного расположения (сразу вслед за PSP), начать загрузку сегментных регистров такими значениями, которые необходимы для выполнения четвертой (установочной) части программы.
Если попытаться дизассемблировать программу, составленную подобным образом, то из этого ничего не получится.
Второй способ борьбы с дизассемблером является, по своей сути, борьбой с человеком, занимающимся дизассемблированием. Он заключается в увеличении размера загрузочного модуля программы до сотни-другой Кбайт и в усложнении структуры программы.
- Министерство образования и науки российской федерации
- Лекция 1
- Предмет и задачи программно-аппаратной защиты информации.
- Лекция 2
- Информационная безопасность
- В компьютерных системах
- Компьютерная система как объект защиты информации
- Понятие угрозы информационной безопасности в кс
- Классификация и общий анализ угроз информационной безопасности в кс
- Лекция 3 Случайные угрозы информационной безопасности
- Лекция 4 понятие политики безопасности в компьютерных системах
- 1. Разработка политики информационной безопасности
- 2. Методология политики безопасности компьютерных систем
- 3. Основные положения политики информационной безопасности
- 4. Жизненный цикл политики безопасности
- 5. Принципы политики безопасности
- Лекция 5 Идентификации субъекта. Понятие протокола идентификации. Идентифицирующая информация. Пароли. Программно-аппаратные средства идентификации и аутентификации пользователей
- Идентификация и аутентификация. Основные понятия и классификация
- Лекция 6 Простая аутентификация
- 1. Аутентификация на основе многоразовых паролей
- 2. Аутентификация на основе одноразовых паролей
- 3. Аутентификация, на основе сертификатов
- Лекция 7
- 2. Строгая аутентификация
- 2.1. Протоколы аутентификации с симметричными алгоритмами шифрования
- 2.2. Протоколы, основанные на использовании однонаправленных ключевых хэш-функций
- Лекция 8 Аутентификация с использованием асимметричных алгоритмов шифрования
- Электронная цифровая подпись (эцп). Аутентификация, основанная на использовании цифровой подписи
- Протоколы аутентификации с нулевой передачей значений
- Упрощенная схема аутентификации с нулевой передачей знаний
- Лекция 9 системы идентификации и аутентификации
- Классификация систем идентификации и аутентификации
- Комбинированные системы
- Лекция 10 Бесконтактные смарт-карты и usb-ключи
- Гибридные смарт-карты
- Биоэлектронные системы
- 1. Ключи. Организация хранения ключей
- Утверждение о подмене эталона
- Защита баз данных аутентификации операционных систем класса Windows nt.
- Алгоритм вычисления хэша lanman
- Хэш ntlm
- 2. Распределение ключей
- Лекция 12 Использование комбинированной криптосистемы
- Метод распределения ключей Диффи-Хеллмана
- Протокол вычисления ключа парной связи ескер
- Лекция 13 Основные подходы к защите данных от нсд. Защита пэвм от несанкционированного доступа
- 1) Физическая защита пэвм и носителей информации;
- 1. Полностью контролируемые компьютерные системы.
- Программная реализация функций кс.
- Аппаратная реализация функций кс.
- 2. Частично контролируемые компьютерные системы.
- Основные элементы и средства защиты от несанкционированного доступа. "Снег-2.0"
- Лекция 15 Устройства криптографической защиты данных серии криптон.
- Устройства для работы со смарт-картами.
- Лекция 16 Программные эмуляторы функций шифрования устройств криптон
- Системы защиты информации от несанкционированного доступа Система криптографической защиты информации от нсд криптон –вето
- Лекция 17 Комплекс криптон -замок для ограничения доступа компьютеру.
- Система защиты конфиденциальной информации Secret Disk.
- Система защиты данных Crypton Sigma.
- Лекция 18 Модель компьютерной системы. Методы и средства ограничения доступа к компонентам эвм. Понятие изолированной программной среды.
- 1. Понятие доступа и монитора безопасности
- 2. Обеспечение гарантий выполнения политики безопасности
- 3. Методология проектирования гарантированно защищенных кс
- Лекция 19 Метод генерации изолированной программной среды
- Лекция 20
- Модели управления доступом
- Системы разграничения доступа
- Диспетчер доступа
- Списки управления доступом к объекту
- Списки полномочий субъектов
- Атрибутные схемы
- Лекция 21
- 1. Подходы к защите информационных систем Устойчивость к прямому копированию
- Устойчивость к взлому
- Аппаратные ключи
- 2. Структура системы защиты от несанкционированного копирования
- Блок установки характеристик среды
- 3. Защита дискет от копирования
- Лекция 22 Электронные ключи hasp
- Лекция 23
- 1. Разрешения для файлов и папок
- 2. Шифрующая файловая система (efs)
- 2.1. Технология шифрования
- 2.2. Восстановление данных
- Лекция 24
- 1. Драйвер еfs
- 2. Библиотека времени выполнения efs (fsrtl)
- 4. Win32 api
- 11.4. Взаимодействие файловой системы защиты ntfs и защиты ресурса общего доступа (Sharing)
- 11.5. Типовые задачи администрирования
- Оснастка Локальные пользователи и группы (Local Users and Groups)
- 11.6. Администрирование дисков в Windows 2000
- Лекция 25
- 2. Обзор современных средств защиты
- Лекция 26 Защита файлов от изменения. Защита программ от изучения. Защита от дизассемблирования. Защита от отладки. Защита от трассировки по прерываниям. Защита от исследований.
- Обычные проблемы хакера
- Защита от исследований на уровне текстов
- Защита от исследований в режиме отладки.
- Защита программ от трассировки
- Лекция 27
- 1. Базовые методы нейтрализации систем защиты от несанкционированного использования
- 2. Понятие и средства обратного проектирования
- Лекция 28 Локализация кода модуля защиты посредством отлова WinApi функций в режиме отладки
- Базовые методы противодействия отладчикам
- Лекция 29 Базовые методы противодействия дизассемблированию по
- Защита от отладки, основанная на особенностях конвейеризации процессора
- Лекция 30 Использование недокументированных инструкций и недокументированных возможностей процессора
- Шифрование кода программы как универсальный метод противодействия отладке и дизассемблированию
- Основные модели работы рпв
- Компьютерные вирусы.
- Классификация вирусов
- Лекция 32 Механизмы заражения компьютерными вирусами
- Признаки появления вирусов
- Методы и средства защиты от компьютерных вирусов
- Лекция 33
- Ibm antivirus/dos
- Viruscan/clean-up
- Panda Antivirus
- Профилактика заражения вирусами компьютерных систем
- Антивирус. Алгоритм работы
- Проверочные механизмы
- Постоянная проверка и проверка по требованию
- Лекция 34 Структура антивирусной защиты предприятия
- Функциональные требования
- Общие требования
- Пример вируса
- Список литературы Основная литература
- Дополнительная литература
- Периодические издания
- Методические указания к лабораторным занятиям
- Методические указания к практическим занятиям
- Методические указания к курсовому проектированию и другим видам самостоятельной работы