Файл: Федеральное государственное образовательное бюджетное учреждение.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 615
Скачиваний: 11
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Федеральное государственное образовательное бюджетное учреждение
«Поволжский государственный университет телекоммуникаций и информатики»
Часть 1 Основные методы обеспечения качества функционирования……………………4
Тема 1.7 Математические модели описания статистических характеристик ошибок..............16
Тема 1.8 Анализ рисков и характеристик качества программного обеспечения ….…………19
Часть 1. Основные методы обеспечения качества функционирования
модели «рукопожатия» во многом свободна от этих недостатков.
Аутентификация на основе модели «рукопожатия»
Пользователь П и система С согласовывают при регистрации пользователей функцию f, известную только им. Протокол аутентификации пользователя в этом случае выглядит следующим образом:
1) С: генерация случайного значения х, вычисление у = f(х), вывод х.
2) П: вычисление у’ = f ‘ (x), ввод y’.
3) C: если y и y’ совпадают, то пользователь допускается к работе в системе, иначе попытка входа в систему отклоняется.
К функции f предъявляется требование, чтобы по известным x и f(x) нельзя было угадать f.
Преимущества: между пользователем и системой не передается никакой конфиденциальной информации, каждый последующий сеанс входа отличен от предыдущего. Может использоваться в случае необходимости взаимного подтверждения пользователей компьютерной сети.
Недостатки: большая длительность этой процедуры по сравнению с парольной.
Тема 2.5 Тестирование защиты программного обеспечения
Данный вид услуги позволяет руководителям в полной мере контролировать качество разработки защиты программного продукта, которое без надлежащего контроля, как правило, оказывается на очень низком уровне и взламывается за 2-3 минуты. И, разумеется, после появления взломанной копии данного продукта в сети интернет все огрехи в разработке и реализации защиты списываются на деяния «всемогущественных хакеров», образ которых прочно навязан сознанию современным кинематографом.
Результатом данной услуги является подробный отчет о текущем состоянии защитных механизмов вашего программного продукта и способах их обхода, сложности и затрат необходимых на реализацию данного способа взлома на современном этапе развития техники и исследовательского ПО. Из него руководитель может почерпнуть для себя общее качество разработки защиты программистами компании, качество реализации отдельных модулей, оценить в целом затраты на взлом защиты. Программисты компании по разработанному отчету увидят свои огрехи и места в программном коде требующие более пристального внимания. После ознакомления с подробным отчетом, разработка защитных механизмов может быть продолжена на основании данных исследования куда более целенаправленно и предметно.
1. Однократное тестирование
Если Вы уверены в качестве защиты своего программного продукта и хотите лишний раз удостовериться в ее надежности, или же вы хотите первоначально проверить свой программный продукт, то этот вариант для вас.
2. Многократное тестирование
Как следствие первоначального тестирования ваш программный продукт будет подвергнут изменениям и доработке, с целью улучшения качества защитных механизмов, так же скорее всего ваш программный продукт будет регулярно подвергаться исправлениям и улучшениям. Соответственно возникает необходимость в повторном и последующих тестированиях. Именно поэтому, мы предлагаем вам заказать тестирование вашего программного обеспечения сразу на определенное число раз в течение календарного года.
3. Регулярное тестирование
Если ваш программный продукт регулярно подвергается изменениям и доработке, и вы хотите всегда содержать уровень защиты на высоком профессиональном уровне, то этот вариант для вас. Данный вариант предусматривает регулярное тестирование ПО в течение какого-то календарного периода (месяц, квартал). Вы всегда будете уверены, что ваша защита оценена на основании последних данных в данной отрасли.
Абсолютно все фирмы, занимающиеся разработкой программного обеспечения, сталкиваются с выбором оптимальной стратегии его защиты. У каждого программного продукта своя специфика, свои методы работы, свои объекты, поэтому говорить об универсальной методике полностью гарантирующей безопасность коммерческого ПО не приходится.
1. Комплексный анализ программного обеспечения, условий его распространения, используемых ресурсов и других важных деталей.
2. Оценка материально-технической возможности внедрения, тех или иных элементов защиты (некоторые виды защиты требуют дополнительной финансово-технической базы)
3. Разработка 2-3 стратегий защиты заданного программного обеспечения на основании результатов анализа и оценки.
4. Составление подробного отчета с указанием данных, полученных в результате оценки и анализа программного обеспечения, подробным описанием 2-3 стратегий защиты с указанием сильных и слабых сторон, а также с указанием нюансов внедрения каждой из стратегий.
Тема 2.6 Средства и протоколы шифрования сообщений
Практические реализации протоколов обеспечения безопасности с применением симметричных шифраторов.
Протокол AKEP 2
Один из наиболее простых протоколов использующих ключевую хэш-функцию MAC и работающий с передачей трех сообщений для аутентификации пользователей на двух общих секретных ключах (один для поддержки протокола шифрования, другой для прокола аутентификации).
1) А генерирует и передает В случайное число rai.
2) В получает то А сообщение, добавляет к нему свое случайное число rbi и имя В и А. Вычисляет хэш-функцию на секретном ключе K, Hk(rbi, rai, A, B)=hk. Передает его вместе с {rbi, rai, A, B} корреспонденту А.
3) А принимает сообщение {rb’i, ra’i, A’, B’},h’k вычисляет Hk(rb’i, ra’i, A’, B’) сравнивает h’k = hk и rb’i= rbi, проверяя подлинность сообщения и случайного числа.
4) Оба корреспондента вычисляют Hk(rbi)= hbk, на втором секретном ключе K2 и принимают hbkза сеансовый ключ.
Протокол SKID
В данном протоколе корреспонденты также используют ключевую хэш-функцию MAC для обеспечения безопасной передачи данных и предполагают, что А и В используют общий секретный ключ, K. Одна из модификаций протокола позволяет обеспечить аутентификацию корреспондентов:
1) А генерирует случайное число ra(согласно требованиям протокола SKID-2 64-битовое число) и посылает это число В.
2) В генерирует случайное число rb (согласно требованиям протокола SKID-2 64-битовое число), вычисляет ОНФ на ключе K следующее преобразование: Hk(rb, ra, B)=hbk , где В это ID корреспондента В, и посылает А: hbk, rb
3) А вычисляет от полученных данных Hk
(rb’, ra’, B)=hb’k и сравнивает результат со значением hbk, полученным от В. Если гипотеза , hb’k = hbk подтверждается, то корреспондент В аутентифицирован.
Протокол SKID3 обеспечивает двустороннюю обоюдную аутентификацию корреспондентов А и В. Итерации (1) - (3) протоколов SKID2 и SKID3 совпадают, а затем в данном протоколе, для последующей аутентификации А выполняются следующие действия:
1) А, вычисляет ОНФ Hk(rb, A)=hak посылает В hak, где А, это ID корреспондента А.
2) В рассчитывает Hk(rb, A)=ha’k и сравнивает результат со значением, полученным от А. Если гипотеза hak =ha’k подтверждается, то корреспондент А аутентифицирован.
Hk, это обозначение ОНФ на ключе K, являющееся алгоритмом вычисления ключевой хэш-функции, принятым в протоколах SKID. Но так как протокол инвариантен к процедуре вычисления ОНФ, то возможно применение любых других функций. Следовательно имеется возможность оптимизации ВВХ протокола по предъявленным требованиям стойкости.
Один из вариантов подтверждения подлинности рассматривается выше при описании протоколов распределения ключа и заключается в выполнении ЭЦП под сообщением. Эти протоколы гарантируют аутентификацию легитимных пользователей со стойкостью КС, на которой выполнялась ЭЦП, при условии достоверности установленных сертификатов.
С применением симметричных алгоритмов возможна ситуация в которой аутентификация косвенно является частью протокола организации шифрованной связи (что, отчасти, было реализовано протоколе запрос-ответ). Определяется это следующим образом, при передаче зашифрованной информации противник, не обладающий секретным ключом, не может прочитать передаваемые сообщения, но если у него появляется секретный ключ, он автоматически является легитимным пользователем. В случае сетевой аутентификации, с применением разветвленной топологии организации связи, возникает необходимость в ЦРК создания матриц ключевых наборов, что также решает задачу аутентификации на общем секретном ключе шифрования.
Этот класс протоколов определен разделением процедур аутентификации и распределения ключа на подпротоколы удостоверения подлинности корреспондентов и обмена ключевым материалом для решения задачи обеспечения безопасной связи. Данные шифруются на сеансовом ключе, динамически сменяемом либо во времени, либо статичном, индивидуально ассоциируемом с каждым сеансом связи.
Аутентификация на основе модели «рукопожатия»
Пользователь П и система С согласовывают при регистрации пользователей функцию f, известную только им. Протокол аутентификации пользователя в этом случае выглядит следующим образом:
1) С: генерация случайного значения х, вычисление у = f(х), вывод х.
2) П: вычисление у’ = f ‘ (x), ввод y’.
3) C: если y и y’ совпадают, то пользователь допускается к работе в системе, иначе попытка входа в систему отклоняется.
К функции f предъявляется требование, чтобы по известным x и f(x) нельзя было угадать f.
Преимущества: между пользователем и системой не передается никакой конфиденциальной информации, каждый последующий сеанс входа отличен от предыдущего. Может использоваться в случае необходимости взаимного подтверждения пользователей компьютерной сети.
Недостатки: большая длительность этой процедуры по сравнению с парольной.
Тема 2.5 Тестирование защиты программного обеспечения
Данный вид услуги позволяет руководителям в полной мере контролировать качество разработки защиты программного продукта, которое без надлежащего контроля, как правило, оказывается на очень низком уровне и взламывается за 2-3 минуты. И, разумеется, после появления взломанной копии данного продукта в сети интернет все огрехи в разработке и реализации защиты списываются на деяния «всемогущественных хакеров», образ которых прочно навязан сознанию современным кинематографом.
Результатом данной услуги является подробный отчет о текущем состоянии защитных механизмов вашего программного продукта и способах их обхода, сложности и затрат необходимых на реализацию данного способа взлома на современном этапе развития техники и исследовательского ПО. Из него руководитель может почерпнуть для себя общее качество разработки защиты программистами компании, качество реализации отдельных модулей, оценить в целом затраты на взлом защиты. Программисты компании по разработанному отчету увидят свои огрехи и места в программном коде требующие более пристального внимания. После ознакомления с подробным отчетом, разработка защитных механизмов может быть продолжена на основании данных исследования куда более целенаправленно и предметно.
Варианты тестирования защиты программных продуктов:
1. Однократное тестирование
Если Вы уверены в качестве защиты своего программного продукта и хотите лишний раз удостовериться в ее надежности, или же вы хотите первоначально проверить свой программный продукт, то этот вариант для вас.
2. Многократное тестирование
Как следствие первоначального тестирования ваш программный продукт будет подвергнут изменениям и доработке, с целью улучшения качества защитных механизмов, так же скорее всего ваш программный продукт будет регулярно подвергаться исправлениям и улучшениям. Соответственно возникает необходимость в повторном и последующих тестированиях. Именно поэтому, мы предлагаем вам заказать тестирование вашего программного обеспечения сразу на определенное число раз в течение календарного года.
3. Регулярное тестирование
Если ваш программный продукт регулярно подвергается изменениям и доработке, и вы хотите всегда содержать уровень защиты на высоком профессиональном уровне, то этот вариант для вас. Данный вариант предусматривает регулярное тестирование ПО в течение какого-то календарного периода (месяц, квартал). Вы всегда будете уверены, что ваша защита оценена на основании последних данных в данной отрасли.
В рамках данной услуги осуществляются следующие действия:
-
Производится установка и первичный анализ структуры программного продукта, а также механизма его регистрации. -
Программное обеспечение осматривается на наличие внешних блоков защиты, а также модификаторов структуры, препятствующих исследованию. В случае их обнаружения, производится их устранение или обход. -
Производится дизассемблирование программного продукта с оценкой и анализом внутренней структуры. -
В программном коде ведется поиск потенциально уязвимых мест, проводится их изучение и анализ. -
Разрабатываются стратегии атаки на защиту программы. -
Программное обеспечение атакуется с использованием найденных недочетов в реализации защитных механизмов. -
Оценивается успешность проведенных атак по степени их простоты и эффективности. -
Производится атака на приложение без его модификации, если это возможно. -
Создается подробный отчет с указанием всех факторов повлиявших на ход исследования. Делаются выводы, оценивается качество реализации и взломоустойчивость защитных механизмов.
Разработка оптимальной стратегии защиты ПО
Абсолютно все фирмы, занимающиеся разработкой программного обеспечения, сталкиваются с выбором оптимальной стратегии его защиты. У каждого программного продукта своя специфика, свои методы работы, свои объекты, поэтому говорить об универсальной методике полностью гарантирующей безопасность коммерческого ПО не приходится.
Разработка оптимальной стратегии защиты программы от взлома разбивается на несколько этапов:
1. Комплексный анализ программного обеспечения, условий его распространения, используемых ресурсов и других важных деталей.
2. Оценка материально-технической возможности внедрения, тех или иных элементов защиты (некоторые виды защиты требуют дополнительной финансово-технической базы)
3. Разработка 2-3 стратегий защиты заданного программного обеспечения на основании результатов анализа и оценки.
4. Составление подробного отчета с указанием данных, полученных в результате оценки и анализа программного обеспечения, подробным описанием 2-3 стратегий защиты с указанием сильных и слабых сторон, а также с указанием нюансов внедрения каждой из стратегий.
В рамках данной услуги осуществляются следующие действия:
-
Производится первичный анализ внешних факторов: условия распространения, варианты поставки, используемые компоненты, язык реализации, наличие ключевых ресурсов, приоритеты развития и другие факторы. -
Оценивается текущее состояние защитных механизмов и делается предположение об их качестве. -
Разрабатываются ключевые элементы защиты, на основании которых будут построены основные стратегии. -
Производится дополнительный анализ программного обеспечения, вырабатываются вторичные методики защиты. -
Оцениваются полученные результаты. На основании полученных оценок разрабатываются 2-3 стратегии защиты. -
Стратегии подвергаются комплексной оценке, и в случае необходимости производится их доработка. -
Все данные разработки группируются в сводные отчеты:
-
Отчет для руководителя. В данном отчете группируются все данные, полученные в результате разработки стратегии защиты, а также выводы и рекомендации по выбору стратегий. Данный отчет позволяет руководителю в полной мере оценить масштаб разработки защиты программного обеспечения, на основании представленных данных выбрать основной вариант и передать его для внедрения -
Отчет для разработчика. Данный отчет формируется в отдельности для каждой стратегии защиты и содержит рекомендации для программиста по разработке и внедрению элементов защиты.
Тема 2.6 Средства и протоколы шифрования сообщений
Практические реализации протоколов обеспечения безопасности с применением симметричных шифраторов.
Протокол AKEP 2
Один из наиболее простых протоколов использующих ключевую хэш-функцию MAC и работающий с передачей трех сообщений для аутентификации пользователей на двух общих секретных ключах (один для поддержки протокола шифрования, другой для прокола аутентификации).
1) А генерирует и передает В случайное число rai.
2) В получает то А сообщение, добавляет к нему свое случайное число rbi и имя В и А. Вычисляет хэш-функцию на секретном ключе K, Hk(rbi, rai, A, B)=hk. Передает его вместе с {rbi, rai, A, B} корреспонденту А.
3) А принимает сообщение {rb’i, ra’i, A’, B’},h’k вычисляет Hk(rb’i, ra’i, A’, B’) сравнивает h’k = hk и rb’i= rbi, проверяя подлинность сообщения и случайного числа.
4) Оба корреспондента вычисляют Hk(rbi)= hbk, на втором секретном ключе K2 и принимают hbkза сеансовый ключ.
Протокол SKID
В данном протоколе корреспонденты также используют ключевую хэш-функцию MAC для обеспечения безопасной передачи данных и предполагают, что А и В используют общий секретный ключ, K. Одна из модификаций протокола позволяет обеспечить аутентификацию корреспондентов:
1) А генерирует случайное число ra(согласно требованиям протокола SKID-2 64-битовое число) и посылает это число В.
2) В генерирует случайное число rb (согласно требованиям протокола SKID-2 64-битовое число), вычисляет ОНФ на ключе K следующее преобразование: Hk(rb, ra, B)=hbk , где В это ID корреспондента В, и посылает А: hbk, rb
3) А вычисляет от полученных данных Hk
(rb’, ra’, B)=hb’k и сравнивает результат со значением hbk, полученным от В. Если гипотеза , hb’k = hbk подтверждается, то корреспондент В аутентифицирован.
Протокол SKID3 обеспечивает двустороннюю обоюдную аутентификацию корреспондентов А и В. Итерации (1) - (3) протоколов SKID2 и SKID3 совпадают, а затем в данном протоколе, для последующей аутентификации А выполняются следующие действия:
1) А, вычисляет ОНФ Hk(rb, A)=hak посылает В hak, где А, это ID корреспондента А.
2) В рассчитывает Hk(rb, A)=ha’k и сравнивает результат со значением, полученным от А. Если гипотеза hak =ha’k подтверждается, то корреспондент А аутентифицирован.
Hk, это обозначение ОНФ на ключе K, являющееся алгоритмом вычисления ключевой хэш-функции, принятым в протоколах SKID. Но так как протокол инвариантен к процедуре вычисления ОНФ, то возможно применение любых других функций. Следовательно имеется возможность оптимизации ВВХ протокола по предъявленным требованиям стойкости.
Один из вариантов подтверждения подлинности рассматривается выше при описании протоколов распределения ключа и заключается в выполнении ЭЦП под сообщением. Эти протоколы гарантируют аутентификацию легитимных пользователей со стойкостью КС, на которой выполнялась ЭЦП, при условии достоверности установленных сертификатов.
С применением симметричных алгоритмов возможна ситуация в которой аутентификация косвенно является частью протокола организации шифрованной связи (что, отчасти, было реализовано протоколе запрос-ответ). Определяется это следующим образом, при передаче зашифрованной информации противник, не обладающий секретным ключом, не может прочитать передаваемые сообщения, но если у него появляется секретный ключ, он автоматически является легитимным пользователем. В случае сетевой аутентификации, с применением разветвленной топологии организации связи, возникает необходимость в ЦРК создания матриц ключевых наборов, что также решает задачу аутентификации на общем секретном ключе шифрования.
Этот класс протоколов определен разделением процедур аутентификации и распределения ключа на подпротоколы удостоверения подлинности корреспондентов и обмена ключевым материалом для решения задачи обеспечения безопасной связи. Данные шифруются на сеансовом ключе, динамически сменяемом либо во времени, либо статичном, индивидуально ассоциируемом с каждым сеансом связи.