- •Аппаратно-программные средства защиты информации
- •Системы идентификации и аутентификации пользователей
- •Системы шифрования дисковых данных
- •Системы шифрования данных, передаваемых по сетям
- •Системы аутентификации электронных данных
- •Средства управления криптографическими ключами
- •Лекция 5 Классы безопасности
- •Требования к политике безопасности
- •Требования к подотчетности
- •3. Лекция 6 Требования к гарантированности
- •Требования к документации
- •4.Лекция 7 Криптографические средства защиты информации
- •5.Простые криптосистемы
- •Основные требования к криптографическому закрытию информации в ас
- •Классификация основных методов криптографического закрытия информации
- •Шифрование методом замены (подстановки)
- •Шифрование методом перестановки
- •Шифрование методом гаммирования
- •Шифрование с помощью аналитических преобразований
- •Комбинированные методы шифрования
- •Организационные проблемы криптозащиты
- •6.Лекция 8
- •7.Стандарт шифрования данных Data Encryption Standard (des) Описание алгоритма des
- •Режимы работы алгоритма des
- •8.Алгоритм шифрования данных idea
- •9.Отечественный стандарт шифрования гост 28147-89
- •Режим простой замены
- •Режим гаммирования
- •Режим гаммирования с обратной связью
- •Выработки имитовставки
- •Лекция 10 Электронная цифровая подпись
- •11.10.1. Проблема аутентификации данных и эцп
- •12.Однонаправленные хэш-функции
- •Основы построения хэш-функций
- •Однонаправленные хэш-функции на основе симметричных блочных алгоритмов
- •Алгоритм md5
- •Алгоритм безопасного хэширования sна
- •Отечественный стандарт хэш-функции
- •Алгоритм цифровой подписи rsа
- •Алгоритм цифровой подписи Эль Гамаля (egsa)
- •Алгоритм цифровой подписи dsа
- •Отечественный стандарт цифровой подписи
- •12. Защита от копирования
- •13.Привязка к дискете
- •Перестановка в нумерации секторов
- •Введение одинаковых номеров секторов на дорожке
- •Введение межсекторных связей
- •Изменение длины секторов
- •Изменение межсекторных промежутков
- •Использование дополнительной дорожки
- •Ведение логических дефектов в заданный сектор
- •Изменение параметров дисковода
- •Технология «ослабленных» битов
- •Физическая маркировка дискеты
- •14.Применение физического защитного устройства
- •15.«Привязка» к компьютеру
- •Физические дефекты винчестера
- •Дата создания bios и тип компьютера
- •Конфигурация системы и типы составляющих ее устройств
- •Получение инженерной информации жесткого диска
- •16.Опрос справочников
- •17.Введение ограничений на использование программного обеспечения
- •18.Методы защиты информации на cd
- •Второй метод защиты информации на cd
- •Третий метод защиты информации на cd
- •19.Краткий справочник по методам взлома и способам защиты от них Побитовое копирование
- •Эмулирование
- •20.Взлом программного модуля
- •21.Отладчики
- •Противодействие отладчикам
- •Дизассемблеры и дамперы
- •22.Шифрование программного кода
- •Дополнительные способы противодействия
- •Лекция 15-16 Защиты от несанкционированного доступа
- •23.Идентификация и аутентификация пользователя
- •Протокол идентификации и аутентификации для первой схемы
- •Протокол идентификации и аутентификации для второй схемы
- •24.Взаимная проверка подлинности пользователей
- •Механизм запроса-ответа.
- •Механизм отметки времени
- •Механизм – «рукопожатие»
- •Непрерывная проверка подлинности
- •25.Протоколы идентификации с нулевой передачей знаний
- •Упрощенная схема идентификации с нулевой передачей знаний
- •Параллельная схема идентификации с нулевой передачей знаний
15.«Привязка» к компьютеру
Легко видеть, что «привязка» программы к дистрибутивной дискете путем описанных выше способов защиты несет в себе большое неудобство для пользователя, связанное с необходимостью работы только со вставленной в дисковод оригинальной дискетой.
Гораздо удобнее иметь необходимый программный продукт записанным на винчестере. Поэтому необходимо, чтобы контролирующая часть защищаемой программы (КЧЗП) «запомнила» свой компьютер и потом при запуске сравнивала имеющиеся характеристики с характеристиками «родного» компьютера. В случае их расхождения можно считать, что программа незаконно скопирована, и прервать ее выполнение.
Для этого надо найти какие-то параметры, которые бы индивидуально характеризовали каждую вычислительную систему. На самом деле это весьма нетривиальная задача, поскольку открытая архитектура построения компьютеров IBM PC подразумевает их обезличенность.
Рассмотрим, что все же можно предложить для КЧЗП в качестве характеристик, которые могли бы проверяться при работе защищаемой программы.
Физические дефекты винчестера
При работе жесткого диска (винчестера) возможно возникновение сбойных участков на магнитной поверхности. Такие дефектные места могут иметься даже на совершенно новом винчестере. Номера этих сбойных участков помещаются в FAT (их признак - код FF7). При инсталляции защищаемой программы на винчестер в ее контролирующую часть записываются их адреса. В процессе выполнения программы осуществляется сравнение адресов сбойных участков, записанных в КЧЗП и в FAT.
В случае запуска незаконно скопированной программы будет обнаружено расхождение сравниваемых адресов (первые не будут составлять подмножество вторых) и произойдет выполнение аварийных действий, предусмотренных для такого случая.
Развитием этой идеи является метод, в котором некоторые исправные кластеры помечаются как сбойные, и в них помещается информация для КЧЗП. (При копировании такие кластеры не передаются.)
Дата создания bios и тип компьютера
Можно попытаться сузить класс компьютеров, на которых возможно функционирование незаконно скопированной программы. Это достигается, например, путем введения проверки даты создания BIOS, которая записана в ПЗУ каждого компьютера. Эта дата заносится в КЧЗП, и в процессе выполнения защищаемой программы осуществляется сравнение дат создания BIOS, записанных в КЧЗП и ПЗУ компьютера. В случае если защищаемая программа будет незаконно скопирована и установлена на компьютер другой серии, то КЧЗП это обнаружит и будут выполнены аварийные действия.
Дата создания BIOS записана в ПЗУ по адресу FFFF:0005 и занимает 8 байтов.
Для обеспечения работы защищаемой программы только на компьютере одного клона надо, чтобы она могла определять его тип. Такая информация содержится в байте, расположенном по адресу FFFF:000E в ROM BIOS со следующей кодировкой:
PC - FF; XT - FE,FB; PCjr - FD; AT - FC; PS/2 - FC,FA,F8;
PC-совместимый - F9.
Конфигурация системы и типы составляющих ее устройств
Рассмотрим способ, при котором КЧЗП в качестве параметра использует всю конфигурацию системы. Здесь необходимо учитывать, что данный способ будет давать ошибки и отказывать в выполнении законной копии программы, если какие либо составляющие вычислительной системы будут изменены (например, отключен принтер), либо наоборот законная и незаконная копии программы будут работать на системах с одинаковой конфигурацией.
Для IBM AT параметры системы хранятся в так называемой CMOS памяти. Она имеет 64 однобайтовых регистра, пронумерованных от 00 до 3Fh. Назначения некоторых регистров представлены в табл. 1.
Таблица 1. Назначение некоторых регистров CMOS памяти |
||||||||||||||||||||||||||||||||||
|
Регистр 10h содержит информацию о НГМД: его биты 7-4 описывают накопитель A, а биты 3-0 - накопитель B. Аналогично сведения о НЖМД помещаются в регистр 12h.
Информация о периферии хранится в байте 14h CMOS памяти. Для ее получения надо сначала записать номер регистра (в данном случае 14h) в порт с адресом 70h, а затем прочитать содержимое регистра через порт 71h. (Для записи какого-то значения в регистр CMOS памяти надо занести адрес регистра в порт с адресом 70h, а значение - в порт 71h.). Значения битов регистра 14h представлены в табл. 2.
Таблица 2. Назначение битов 14h-го регистра CMOS памяти |
||||||||||||||||||
|
Компьютер может быть снабжен различными типами дисководов для гибких дисков и винчестеров. Рассмотрим с помощью каких средств можно получить информацию об их характеристиках кроме доступа к CMOS памяти.
Прерывание 21h DOS компьютера AT имеет функции 32h и 36h, связанные с определением характеристик установленных накопителей. Функция 36h сообщает текущие сведения о доступном пространстве на диске, номер которого загружается в регистр DL. Она возвращает:
Число секторов на один кластер в регистре AX.
Число незанятых кластеров - в BX.
Число байтов в одном секторе - в CX.
Число кластеров на диске - в DX.
Теперь легко узнать, каков объем диска, номер которого помещался в регистр DL. Для этого достаточно вычислить произведение значений регистров AX,CX,DX.
Функция 32h, позволяет получить таблицу с параметрами накопителя, номер которого загружен в регистр DL. Ее адрес будет содержаться в регистрах DX:BX. Подробное описание байтов этой таблицы можно найти в любом справочнике по прерываниям.
Состав установленного оборудования проверяется при загрузке, и результат проверки помещается в регистр статуса. Этот регистр занимает два байта, начиная с адреса 0040:0010, и в табл. 3 представлены значения его битов.
Для доступа к этому регистру кроме прямого обращения по адресу можно воспользоваться прерыванием 11h BIOS, которое возвращает два байта его значений в регистре AX.
В языке Turbo C имеется специальная функция BIOSEQUIP из библиотеки стандартных функций <bios.h>, которая возвращает целое число, описывающее оборудование, входящее в систему. Возвращаемое значение интерпретируется набором битовых полей, как представлено в табл. 4.
Таблица 3. Регистр состава установленного оборудования |
|||||||||||||||||||||||||||||||||
|
Еще одно прерывание BIOS - 15h через функцию C0h позволяет получить адрес в ПЗУ, определяемый регистрами ЕS:BX, по которому находится табл. 4.
Таблица 4
|
Для определения типа дисплея надо проверить первый бит байта, находящегося по адресу 0040:0087. Когда этот бит равен 1 – подсоединяется монохромный дисплей, а когда он равен 0 - цветной.