Курс лекций по "Информатике"

Автор работы: Пользователь скрыл имя, 02 Января 2013 в 18:12, курс лекций

Описание

Лекция № 1
Программные и аппаратные механизмы защиты
Лекция №2
Хранение аутентифицирующей информации в открытых компьютерных системах. Типовые схемы хранения ключевой информации. Защита БД аутентификации.
Лекция № 3
Протоколы стойкой удаленной аутентификации пользователей. Протокол CHAP, S/KEY. Удаленная аутентификация в Windows с использованием хэша LANMAN
Лекция № 4
Технические устройства идентификации и аутентификации
Лекция № 5
Идентификация и аутентификация пользователей с помощью биометрических устройств
Архитектура

Работа состоит из  1 файл

Аникин_Катасёв_Кривилёв_ПАЗИ_Конспекты_лекций_2008.doc

— 1.28 Мб (Скачать документ)

Схемы СКД

Автономные

 

 

Такая система  состоит из автономного контроллера, который хранит в себе БД идентификаторов. Он управляет работой всех остальных  элементов системы. В качестве исполняющего устройства выступает электронный замок, либо защелка, которой контроллер дает команды на открывание. Для идентификации пользователя используются Proximity или iButton, подсоединенный к считывателю. Этот считыватель работает только на вход, как правило. Для выхода пользователя из помещения предусмотрена кнопка открывания двери. Дверной контакт фиксирует открывание двери и используется для обеспечения корректной работы системы. В подобных системах может использоваться компьютерная техника для управления автономным контроллером, загрузки и считыванию из него информации. Через специальную плату данный контроллер подключается к ЭВМ, стоящей в помещении, на которую загружается специальное ПО, позволяющее обновлять перечень зарегистрированных идентификаторов в автономном контроллере, изменять политику разграничения доступа. Это ПО позволяет в удобном для пользователя виде предоставлять информацию о проходах пользователей через эту дверь, вести учет рабочего времени, визуально контролировать личность сотрудника.

 

Сетевые СКД

Контроллеры УД выполняют принятие решения о допуске\недопуске пользователя с конкретным идентификатором. В зависимости от типа СКД контроллер может использовать для хранения от 2000 до 32000 идентификаторов, обладает внутренней памятью определенного объема, в которой накапливается информация о проходах.

Диспетчерский пункт, общаясь с контроллером, загружает  в него списки идентификаторов и  политику разграничения доступа. С  контроллера на диспетчерский пункт  загружается статистика проходов. В  случае потери связи с диспетчерским пунктом КУД переходит в автономный режим работы. Адаптеры используются для непосредственного подключения исполняющих устройств и передачи от них информации КУД.

 

Лекция № 6

Защита программного обеспечения от несанкционированного использования

Включает в себя:

1. Организационно-правовые  меры

2. Правовые меры (распространение на программное  обеспечение авторского права)

3. Технические  меры

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

Особенностью  всех технических мер защиты является то, xто их реализация построена на выделении, либо принудительном введении каких – либо идентифицирующих элементов в среде функционирования программы, на которые настраивается система защиты. В качестве таких характеристик среды может быть использованы серийный номер, ключевой файл, информация в реестре, в конфигурации файлов, конфигурация аппаратуры, физический дефект носителей информации.

Основные требования к системе защиты ПО от несанкционированного копирования:

  1. такая система должна достоверно выявлять факт несанкционированного использования программы
  2. реагировать на факт несанкционированного использования
  3. противодействовать возможным атакам, направленным на нейтрализацию защитных механизмов

Система защиты ПО от несанкционированного копирования работает по следующему алгоритму:

  1. разработчик ПО разрабатывает и внедряет защитные механизмы в исполнительную программу
  2. в эти защитные механизмы закладываются эталонные характеристики среды, которые идентифицируют конкретную копию программы и относительно которой будет проверяться легальность запуска
  3. при каждом запуске программы выполняются следующие действия:

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

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

По способу  внедрения защитного кода в защищаемую программу различают встроенную и пристыковочную защиты.

Встроенные механизмы  защиты основываются на том, что система как самостоятельный программный модуль отсутствует. Эти механизмы защиты внедряет сам разработчик в исходный текст программы, используя, например набор готовых API-функций защиты.

Преимущества:

1. Простота. С помощью  библиотек и функций, поставляется совместно с ПА средствами защиты, от ПА средства можно добиться максимальной эффективности

2. при реализации встроенной  защиты, разработчик может запрограммировать  любую ответную реакцию программы  на несовпадение характеристик  с эталонными, что в свою очередь позволяет более хорошо реализовать маркетинговые функции. Например, при отсутствии электронного ключа, может запускать программу в демонстрационном режиме.

3. защита производится  не по детерминированному алгоритму.  Разработчик сам определяет, когда и каким образом будут вызываться API-функции с ПА устройствами защиты, как будут обрабатываться возвращаемые ими результаты.

Недостаток: сложная реализация.

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

  1. статическое
  2. динамическое

При статической  нейтрализации злоумышленник дизассемблирует  программу с помощью таких средств, как Ida Pro, по полученному коду, разбирается с работой механизмов, как их грамотно отключить.

При динамической нейтрализации вмешательство в  работу программы производится в  момент работы в реальном времени  с помощью существующих средств отладки, например, Soft Ice.

 

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

 

HASP Envelopment

«+» 1. простота использования и простота внедрения

2. возможность  защиты исполнительного кода  от внутреннего исследования, реализация защитных механизмов, противодействие отладки и дизассемблированию исполнительного кода

«-» 1. используется детерминированный алгоритм, который могут попытаться вскрыть

2. жесткая реакция  защиты программы на несовпадение  характеристик среды (отказ в запуске)

Блок сравнения характеристик среды

Злоумышленник, атакуя этот блок, либо пытается найти  эталонные характеристики среды, которые  ожидает увидеть блок защиты, либо пытается модифицировать алгоритм сравнения  характеристик среды таким образом, чтобы он всегда запускался  по одной из ветвей – ветви верной регистрации (лицензионного запуска). В отдельных ситуациях такая модификация сводится к изменению всего 1 байта программы.

Для того, чтобы  затруднить злоумышленнику атаку на этот блок, данный блок должен отвечать ряду требований:

  1. установка значений характеристик среды и их сравнение с эталонными должно производиться многократно и на протяжении всей работы программы
  2. получение результатов сравнения характеристик среды должно быть распределено принудительно по всему коду программы, должны использоваться приемы, затрудняющие установку злоумышленником эталонных характеристик среды, установленной блоком защиты, может использоваться при формировании некоторого значения переменной, которая определяет индекс в массиве, где хранится адрес, на который должен осуществляться дальнейший переход
  3. значения, получаемые от блока установки характеристик среды, желательно использовать в качестве ключа для дешифровки кода программы.

 

Блок  установки характеристик среды.

Наиболее уязвимым местом данного блока является способ сбора характеристик среды и способ передачи их от ПА среды блока установки и от блока установки к блоку сравнения. Если характеристики среды по открытому каналу, хранятся в открытых объектах, то такой способ защиты не является стабильным.

 

Лекция № 7

Электронные ключи. Защита программ с помощью электронных  ключей HASP

 

Минусом таких  характеристик среды как серийный номер, конфигурация аппаратуры, ключевой файл, информация в секретном секторе  диска, является то, что злоумышленник достаточно легко может их раскрыть и осуществить взлом посредством их имитации.

Для устранения подобных недостатков характеристики среды необходимо выносить во внешние  максимально защищенные от НСД устройства, которые затрудняют свою эмуляцию и дублирование.

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

Ключи являются разработкой израильской фирмы Aladdin и используются для ЗПО от НС использования: предотвращают запуск программ при отсутствии электронных ключей, ограничивают максимальное количество копии, одновременный запуск программ в сети, ограничивают время работы программы и ограничивают максимальное количество её запусков.

Типы электронных ключей HASP.

  1. HASP4 Standart
  2. HASP4 Memo
  3. HASP4 Time
  4. HASP4 Net

 

HASP Standard

Самая простая  модификация электронных ключей HASP. Включает в себя только функцию шифрования и связанную с ней функцию отклика. Стоимость – 13$. Может реализовывать следующие функции по защите:

  1. проверять наличие электронного ключа
  2. подавать на вход функцию отклика различные значения и сравнивать ответ с эталонными значениями
  3. использовать функцию шифрования для шифрования/дешифрования исполнительного кода программы или используемых данных.

Основные элементы защиты:

С каждым из электронных  ключей связана некая серия, которая  присваивает конкретную разработку программного продукта и вполне возможно по желанию производителя каждого  из выпускаемого им программного продукта. Внутри одной серии электронные ключи имеют одну функцию шифрования и одну функцию отклика. Для доступу к функциям электронного ключа, требуется знание кода доступа (2 по 16 бит). Внутри одной серии коды доступа одинаковы. Пользователь ПО не должен знать эти коды, они известны только производителю.

HASP Memo

Данные ключи  включают в себя все функции HASP Standart. Кроме того, имеют уникальный идентификационный номер и энергонезависимую память определенного объёма.

2 типа по  объёму энергонезависимой памяти:

  • HASP4 М1 – 112 байт
  • HASP4 М4 – 496 байт

Кроме тех функций, которые можно реализовать с  помощью HASP4 Standart, эти ключи могут:

  1. хранить в энергонезависимой памяти различную конфиденциальную информацию, используемую для защиты ПО (ключи, адреса переходов и т.д.)
  2. возможно хранить в энергонезависимой памяти информацию об отключенных и подключенных модулях программы, доступных пользователю
  3. возможно защищать программы по количеству запусков.

HASP Time

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

Включает в  себя встроенный календарь с датой  и временем. Используется для защиты ПО по срокам использования.

HASP Net

Используется для ограничения максимального количества одновременно запущенных копий программ в сети.

Способы защиты программного обеспечения с  помощью электронных ключей HASP

Можно реализовывать  с помощью встроенных и пристыковочных механизмов.

Встроенные  – HASP API.

Пристыковочные HASP Envelopment.

Электронные ключи HASP Memo, Time и Net включают в себя подсистему полного управления доступом (FAS), позволяющую защитить одновременно несколько программ одного производителя, и ограничить их в зависимости от типа ключей по количеству запусков, по сроку действия, по количеству одновременно запущенных копий.

Электронные ключи HASP Memo, Time и Net обладают возможностью их удаленного перепрограммирования с помощью подсистемы RUS.

Для реализации удаленного управления формируется 2 утилиты: продавца и покупателя. Они формируются под конкретный электронный ключ, привязывающийся к его идентификационному номеру.

Pattern Code Security (Механизм защиты структурного кода)

Механизм PCS основан на внедрении в исходные тексты программ шаблонов, в которых определены некие функции доступа к электронному ключу. Данные функции, определенные в шаблонах, будут вызываться скрытым образом из исполняемого кода программы. Для них не будет явным образом вызываться процедура HASP. Когда разработчиком защиты для решения своих задач делается явный вызов HASP, программа автоматически выполняет последовательность скрытых вызовов функций, определенных в шаблонах PCS. Всего таких шаблонов можно определить до 25 штук. Внедрив через данные шаблоны вызовы скрытых процедур, разработчик защиты может значительно усложнить трассировку защитных механизмов, затруднить вмешательство извне в их работу.

Информация о работе Курс лекций по "Информатике"