Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения Лебедев Сергей Сергеевич

Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения
<
Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения
>

Работа не может быть доставлена, но Вы можете
отправить сообщение автору



Лебедев Сергей Сергеевич. Разработка методов и средств комплексной оценки качества систем защиты программного обеспечения : диссертация ... кандидата технических наук : 05.02.23 / Лебедев Сергей Сергеевич; [Место защиты: Моск. гос. авиац. ин-т].- Москва, 2007.- 180 с.: ил. РГБ ОД, 61 07-5/5514

Содержание к диссертации

Введение

1. Анализ состояния и концепции развития нормативно- методической базы в области информационных технологий и систем защиты программного обеспечения .20

1.1. Анализ общих вопросов обеспечения качества информационных технологий .20

1.2. Международная нормативно-методическая база в области качества и безопасности информационных технологий 24

1.2.1. Нормативное обеспечение управления информационной безопасностью .25

1.2.2. Нормативное обеспечение моделей безопасности информационных технологий 26

1.2.3. Нормативное обеспечение методов и механизмов безопасности информационных технологий :... 27

1.2.4. Нормативное обеспечение криптографических алгоритмов 31

1.3. Российская нормативно-методическая база в области качества и 1 безопасности информационных технологий 32

1.3.1. Нормативное обеспечение управления информационной безопасностью 32

1.3.2. Нормативное обеспечение отечественных криптографических ; алгоритмов : 34

1.4. Проблемная постановка задачи управления качеством и сертификации программного обеспечения 35

Выводы по главе 1 39

2. Экспертная оценка качества программного обеспечения общего назначения 41

2.1. Показатели сопровождения программного обеспечения 43

2.1.1. Структурная и информационная сложность .1 43

2.1.2. Структурность : .1 48

2.1.3. Наглядность 49

2.1.4. Повторяемость 50

2.2. Показатели надежности программного обеспечения 50

2.2.1. Оценка надежности программного обеспечения традиционными методами оценки надежности промышленных изделий 50

2.2.2. Оценка надежности программного обеспечения специально разработанными методами 51

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

2.3.1. Легкость освоения 58

2.3.2. Доступность эксплуатационных программных документов 59

2.3.3. Удобство эксплуатации и обслуживания 61

2.4. Показатели эффективности программного обеспечения 61

2.5. Показатели универсальности программного обеспечения 63

2.5.1. Гибкость 63

2.5.2. Мобильность 64

2.5.3. Модифицируемость 65

2.6. Показатели корректности программного обеспечения 66

2.6.1. Логическая корректность 66

2.6.2. Полнота реализации 68

2.6.3. Согласованность 69

2.6.4. Проверенность 69

2.7. Разработка метода экспертных оценок показателей качества 70

Выводы по главе 2 75

3. Разработка комплексной модели оценки качества систем защиты программного обеспечения 76

3.1. Обобщенная структура системы защиты программного обеспечения 76

3.2. Модели систем защиты программного обеспечения 80

3.2.1. Классификация систем защиты программного обеспечения по виду средств, используемых для реализации защитных функций 81

3.2.2. Классификация систем защиты программного обеспечения по способу их внедрения 83

3.2.3. Классификация систем защиты программного обеспечения по способу осуществления ими защитных функций 85

3.3. Методы реализации систем защиты программного обеспечения 87

3.3.1. Способы задания эталонных характеристик 88

3.3.2. Способы задания (генерации) пароля 90

3.3.3. Способы верификации пароля 91

3.4. Защита алгоритма работы системы защиты программного обеспечения от исследования 100

3.4.1. Шифрование исполняемого кода 100

3.4.2. Применение специфических приемов программирования 103

3.4.3. Затруднение анализа исполняемого кода 112

3.4.4. Программные методы нейтрализации инструментов исследования алгоритма 115

3.4.5. Защита алгоритма с применением аппаратных средств 120

3.5. Модель системы «защищаемое программное обеспечение - система защиты программного обеспечения» 121

3.6. Методика оценки качества систем защиты программного обеспечения... 123

Выводы по главе 3 128

4. Методическое обеспечение процессов управления качеством при разработке и эксплуатации систем защиты программного обеспечения 129

4.1. Общесистемная модель жизненного цикла систем защиты программного обеспечения 129

4.2. Методика обеспечения безопасности при реализации общесистемной модели жизненного цикла систем защиты программного обеспечения 133

4.3. Обобщенная методика технологической безопасности программных комплексов 137

4.4. Практическая реализация дискретной эмпирической модели надежности системы защиты программного обеспечения 143

Выводы по главе 4 150

Заключение 151

Список использованных источников 155

Введение к работе

Актуальность.

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

Недостатком многих систем защиты является легкость их преодоления Злоумышленник, обладающий соответствующими знаниями и навыками, может различным образом за приемлемое время своей работы получить пароль системы защиты или добиться подмены правильного пароля (неправильный пароль принимается системой защиты за правильный) Следует также отметить такой часто встречающийся недостаток некоторых систем защиты ПО, как затруднение или даже невозможность доступа легального пользователя к функциям ПО Отмеченные недостатки систем защиты являются следствиями неудовлетворительного качества защиты ПО

Качественная система защиты ПО должна обладать двумя (отчасти противоречивыми) свойствами: обеспечивать достаточно надежную защиту, быть незаметной («прозрачной») для легального пользователя ПО На практике установлено, что защита ПО является достаточной, если стоимость ее взлома сравнима со стоимостью самого ПО

Чтобы разрабатываемые системы защиты ПО удовлетворяли названным требованиям, необходимы исследования по совершенствованию существующих и созданию новых средств и методов оценки качества защиты ПО Для этого необходимо даіь формальное описание проблемы и на основании формальной постановки задачи разработать комплексную модель оценки качества систем защиты программного обеспечения

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

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

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

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

Все вышеизложенное подтверждает актуальность избранной темы диссертации и обусловливает целесообразность проведения диссертационного исследования

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

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

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

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

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

Разработать обобщенную структуру систем защиты программного обеспечения Разработать модель системы «защищаемое профаммное обеспечение - система защиты профаммного обеспечения» и выполнить анализ работоспособности этой модели с учетом функциональных связей между ее структурными элементами

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

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

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

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

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

Методы исследования.

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

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

Научная новизна.

Впервые с новым научным качеством, применительно к новой, ранее недостаточно изученной в научном плане объектной и предметной сфере управления качеством систем защиты программного обеспечения

  1. Выполнена структуризация проблем обеспечения информационной безопасности и повышения качества ПО, позволившая определить и проанализировать приоритетные направления в области стандартизации вопросов управления качеством ПО и средств его защиты

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

  3. Разработана общесистемная модель жизненного цикла систем защиты ПО, позволившая усилить ее направленность на повышение качества систем защиты за

счет оптимального управления процессами контроля качества на каждом этапе жизненного цикла.

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

  2. Предложены и апробированы методические рекомендации по реализации технологической и эксплуатационной безопасности программных комплексов

В соответствии с поставленными в работе задачами автором получены следующие научные результаты

Классификация методов оценки показателей качества программного обеспечения общего назначения в применении к системам защиты

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

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

Модель системы «защищаемое программное обеспечение - система защиты программного обеспечения» Анализ работоспособности этой модели с учетом функциональных связей между ее структурными элементами

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

Общесистемная модель жизненного цикла систем защиты программного обеспечения, направленная на повышение качества систем защиты и использование разнообразных механизмов контроля качества на каждом этапе

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

Практическая значимость.

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

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

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

Реализация и внедрение результатов.

Результаты теоретических исследований, выполненных в диссертационной работе, внедрены в ЗАО «Диаком ЛТД», где использованы при разработке программного обеспечения лазерного комплекса DIAMAX

Результаты исследований также используются в учебном процессе Всероссийской государственной налоговой академии Российской Федерации при проведении практических и факультативных занятий

Апробация работы

Основные теоретические и методические результаты диссертационной работы были доложены и обсуждены на научно-методических семинарах на факультете информационных технологий Всероссийской государственной налоговой академии, на кафедре "Технологическое проектирование летательных аппаратов и управление качеством" Московского авиационного института (государственного технического университета), на международных конференциях «Авиация и космонавтика - 2003», «Авиация и космонавтика - 2007»

Публикации

По теме диссертационной работы опубликовано 8 печатных работ (статьи в периодических изданиях, тезисы докладов на научных конференциях и семинарах), в которых достаточно полно отражены теоретические и прикладные результаты выполненного исследования

Структура и объем диссертационной работы.

Диссертационная работа объемом 180 страниц машинописного текста состоит из введения, четырех глав, заключения, списка использованных источников из 193 наименований) и приложения В работе содержится 6 рисунков и 4 таблицы

Нормативное обеспечение управления информационной безопасностью

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

Поэтому НСД нарушителя к аппаратуре одного узла ведет к раскрытию всего потока сообщений, проходящих через этот узел. В том случае, когда устанавливается виртуальное соединение между двумя абонентами сети и коммуникации, в данном случае, проходят по незащищенным элементам АС, необходимо сквозное шифрование, когда закрывается информационная часть сообщения, а заголовки сообщений не шифруются. Это позволяет свободно управлять потоками зашифрованных сообщений. Сквозное шифрование организуется на сетевом и/или транспортном уровнях согласно ЭМ ВОС. На прикладном уровне реализуется большинство механизмов защиты, необходимых для полного решения проблем обеспечения безопасности данных в АС. АБ ВОС устанавливает следующие службы безопасности (см. Табл. 1.2 ) обеспечения целостности данных (с установлением соединения, без установления соединения и для выборочных полей сообщений); - обеспечения конфиденциальности данных (с установлением соединения, без установления соединения и для выборочных полей сообщений); - контроля доступа; - аутентификации (одноуровневых объектов и источника данных); - обеспечения конфиденциальности трафика; - обеспечения невозможности отказа от факта отправки сообщения абонентом - Международная нормативно-методическая база в области качества и безопасности информационных технологий

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

Службы безопасности обеспечения целостности данных Назначение службы Номер Процедура защиты Номер уровня служ бы Аутентификация: - одноуровневых 1 Шифрование, цифровая подпись 3,4 объектов Обеспечение аутентификации 3,4,7 - источника данных 2 Шифрование 3,4 Цифровая подпись 3,4,7 Контроль доступа 3 Управление доступом 3,4,7 Засекречивание: - соединения 4 Шифрование 1-4,6,7 Управление трафиком 3 - в режиме без соединения 5 Шифрование 2-4,6,7 Управление трафиком 3 - выборочных полей 6 Шифрование 6,7 - потока данных 7 Шифрование 1,6 Заполнение потока 3,7 Управление трафиком 3

Обеспечение целостности: - соединения с восстановлением 8 Шифрование, обеспечение целост 4,7 ности дачных - соединения без восстановления 9 Шифрование, обеспечение целост 3,4,7 ности данных - выборочных полей 10 Шифрование, обеспечение целост ности данных - без установления соединения 11 Шифрование 3,4,7 Цифровая подпись Обеспечение целостности данных 3,4,7 - выборочных полей без соедине 12 Шифрование ния Цифровая подпись Обеспечение целостности данных 4,7 7

Обеспечение невозможности от каза от факта: - отправки 13 Цифровая подпись, обеспечение це лостности данных, подтверждение характеристик данных - доставки 14 Цифровая подпись, обеспечение це лостности данных, подтверждение характеристик данных

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

ИТ к решению частных задач. Поэтому в настоящее время возрастает роль стандартов и регламентирующих материалов общеметодологического назначения. Одним из таких документов является проект международного стандарта ISO/IEC DTR 13335-1,2,3 - «Информационная технология. Руководство по управлению безопасностью информационных технологий». В этом документе содержатся следующие положения: - определения важнейших понятий, непосредственно связанных с проблемой управления безопасностью ИТ; - определение важных архитектурных решений по созданию систем управления безопасностью ИТ (СУБ ИТ), в том числе, определение состава элементов, задач, механизмов и методов СУБ ИТ; - описание типового жизненного цикла и принципов функционирования СУБ ИТ; - описание принципов формирования политики (методики) управления безопасностью ИТ; - методика анализа исходных данных для построения СУБ ИТ, в частности методика идентификации и анализа состава объектов защиты, уязвимых мест информационной системы, угроз безопасности и рисков и др.; - методика выбора соответствующих мер защиты и оценки остаточного риска; - принципы построения организационного обеспечения управления в СУБ ИТ и пр.

Нормативное обеспечение моделей безопасности информационных технологий Для обеспечения стабильности программно-технических решений при построении СУБ ИТ, а также определения ее степени гарантированности, необходимо использование точных описательных моделей как на общесистемном уровне, так и на уровне отдельных аспектов и средств СУБ ИТ.

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

Выделяются следующие международные стандарты и другие документы, в которых определяются основные модели безопасности ИТ: - ISO/IEC 7498-2-89 - «Информационные технологии. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 2. Архитектура информационной безопасности»; - ISO/IEC DTR 10181-1 - «Информационные технологии. Взаимосвязь открытых систем. Основы защиты информации для открытых систем. Часть 1. Общее описание основ защиты информации ВОС»; - ISO/IEC DTR 10745 - «Информационные технологии. Взаимосвязь открытых систем. Модель защиты информации верхних уровней»; - ISO/IEC DTR 11586-1 - «Информационные технологии. Взаимосвязь открытых систем. Общие функции защиты верхних уровней. Часть 1. Общее описание, модели и нотация»; - ISO/IEC DTR 13335-1 - «Информационные технологии. Руководство по управлению безопасностью информационных технологий. Часть 1. Концепции и модели безопасности информационных технологий».

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

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

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

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

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

В процессе сертификации сложного ПО следует выделять два аспекта: методический и технологический.

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

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

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

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

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

Право на проведение сертификационных испытаний защищенных средств вычислительной техники, в том числе программных средств, предоставляется ФСТЭК РФ по согласованию с Федеральным агентством по техническому регулированию и метрологии РФ предприятиям-разработчикам защищенных средств вычислительной техники (СВТ), специализированным организациям ведомств, разрабатывающих защищенные СВТ, в том числе программные средства.

В соответствии с «Положением о сертификации средств защиты информации по требованиям безопасности информации» по результатам сертификационных испытаний оформляется акт, а разработчику выдается сертификат, заверенный в ФСТЭК РФ и дающий право на использование и распространение этих средств как защищенных.

Средства, получившие сертификат, включаются в номенклатуру защищенных СВТ, в том числе программных средств. Разработанные программные средства после их приемки представляются для регистрации в специализированный отдел Государственного фонда алгоритмов и программ.

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

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

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

Модели систем защиты программного обеспечения

Знание алгоритма работы системы защиты ПО, как правило, значительно облегчает взлом защиты, а в некоторых случаях вообще сводит защиту к нулю. Поэтому любой более-менее опытный взломщик начинает взлом защиты с изучения алгоритма работы системы защиты ПО. Следовательно, для затруднения взлома, и соответственно, повышения качества системы защиты ПО, необходимо каким-то образом защитить код защищенного ПО от исследования. Это может достигаться различными способами, применяемыми как по отдельности, так и вместе, дополняя друг друга. В обобщенной схеме системы защит ПО (Рис. 3.1) защита от исследования входит в подсистему противодействия нейтрализации защиты, хотя на практике некоторые способы защиты от исследования могут охватывать весь код защиты или всего защищенного ПО, рассредоточиваясь, таким образом, по всей структуре системы защиты ПО. Для защиты алгоритма системы защиты ПО от исследования могут применяться следующие основные методы:

Шифрование исполняемого кода - наиболее ранний, и поэтому, широко известный и распространенный метод защиты кода от исследования /117, 118, 148/. При таком подходе код, который нужно защитить от исследования (это может быть не только код собственно защиты, но и код модулей ПО, которое нужно защитить) зашифровывается и распространяется в зашифрованном виде. Во внедряемую часть системы защиты входит код, осуществляющий в памяти расшифровку зашифрованного кода перед его исполнением. Для зашифровки исполняемых модулей (так как они должны расшифровываться при каждом запуске ПО), как правило, применяются простые и быстрые алгоритмы для устранения влияния времени, затрачиваемого на расшифровку кода, на быстродействие защищаемого ПО в целом. Часто используются различные комбинации операции ХОЯ со сдвигами, например:

Расшифровка исполняемого кода может быть статическая (исполняемый модуль полностью расшифровывается в памяти и затем исполняется) и динамическая (при этом модуль находится в памяти в зашифрованном виде, и его части расшифровываются непосредственно перед исполнением). При динамическом способе дешифрования после того, как расшифрованная часть кода исполнена, она может быть вновь зашифрована или вообще стерта, если управление на эту часть кода больше передаваться не будет. Таким образом, можно организовать бегущую «волну», впереди и сзади которой код зашифрован, а на «гребне» которой расшифрован и исполняется в данный момент. В работе /118/ данный метод называется «прием Бабы Яги».

Шифрование исполняемого кода - эффективный прием против изучения алгоритма работы ПО средствами статического исследования - дизассемблерами и т.д. Вариант статической расшифровки имеет большой недостаток. После отработки системы защиты ПО и расшифровки всего модуля в памяти оказывается полностью расшифрованный код модуля, который злоумышленник может записать в файл и получить, таким образом, работоспособный расшифрованный модуль. Именно таким образом действуют известные автоматические программы снятия навесных защит (77?W, Procdump и др). Для предотвращения такого взлома целесообразно использовать различные антиотладочные приемы, предотвращающие запуск защищенного ПО при наличии в памяти подобных инструментов взлома или нейтрализующие эти инструменты. Динамический способ дешифровки не позволяет напрямую целиком записать расшифрованный модуль на диск. Однако при наличии резидентной утилиты, отслеживающей расшифровку кода и записывающей расшифрованный код на диск, также возможно получение целиком расшифрованного модуля.

Кроме того, оба способа (статический и динамический) уязвимы к более общему методу взлома защит такого типа - самостоятельной статической расшифровки взломщиком зашифрованных модулей с помощью написанной им программы, например, скрипта в IDA /61/. Главный недостаток такого подхода состоит в том, что для исполнения зашифрованный код должен быть расшифрован, и ключ дешифрования хранится в коде системы защиты. Следовательно, проведя трассировку кода системы защиты, злоумышленник узнает алгоритм и ключи дешифрования и может написать собственную утилиту, расшифровывающую файлы с модулями ПО. Для защиты алгоритма дешифрования от исследования целесообразно применять антиотладочные приемы. Также можно затруднять изучение алгоритма путем повышения его сложности. Это необходимо делать в разумных пределах, например, изменяя ключи шифрования по сложному закону.

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

Приведенные выше параметры Я; были определены на основе анализа теоретических результатов исследования и экспериментальных результатов тестирования различных программ. Для того, чтобы получить более точные оценки величины /? необходимо провести измерения с использованием подходящего метода формирования выборки.

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

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

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

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

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

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

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

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

4. Выполнена практическая реализация дискретной эмпирической модели надежности системы защиты программного обеспечения.

5. Сделан важный вывод о перспективности разработки обобщенной модели обеспечения безопасности информации объекта защиты и системы защиты программного обеспечения.

Полученные в ходе настоящего диссертационного исследования научные результаты дают автору работы основание для следующих выводов и рекомендаций:

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

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

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

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

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

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

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