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

кандидата технических наук
Корт, Семен Станиславович
город
Санкт-Петербург
год
1998
специальность ВАК РФ
05.13.16
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка методов и средств поиска уязвимостей при сертификационных испытаниях защищенных вычислительных систем»

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

Санкт-Петербургский государственный технический

университет

На правах рукописи УДК 50.41.00 50.37.23

Корт Семен Станиславович

РАЗРАБОТКА МЕТОДОВ И СРЕДСТВ ПОИСКА УЯЗВПМОСТЕЙ ПРИ СЕРТИФИКАЦИОННЫХ ИСПЫТАНИЯХ ЗАЩИЩЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ

СИСТЕМ.

Специальность:

05.13.16 - "Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях"

05.13.19 - "Методы и системы защиты информации и информационной безопасности"

Диссертация на соискание ученой степени кандидата технических наук Научный руководитель:

Доктор технических наук, профессор Зегжда П.Д.

Санкт-Петербург

1998

Введение.................................................................................................5

1. Постановка задачи.........................................................................11

1.1. Существующие методики поиска уязвимостей в ЗВС............16

1.1.1. Метод поиска уязвимостей Липаева..................................17

1.1.2. Анализ защиты....................................................................18

1.1.3. Методика поиска уязвимостей, связанных с несоответствием данных во времени...........................................19

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

1.1.5. Методика поиска уязвимостей, связанных с ошибками последовательности......................................................................20

1.1.6. Проект RISOS......................................................................21

1.1.7. Метод гипотез об уязвимостях...........................................22

1.2. Существующие модели нарушителя........................................26

1.3. Постановка задачи.....................................................................28

1.4. Выводы.......................................................................................28

2. Разработка теоретических основ методики анализа ЗВС...........31

2.1. Формальное описание проблемы..............................................31

2.1.1. Представление системы защиты в виде монитора безопасности пересылок...............................................................33

2.1.2. Представление системы защиты в виде ТСВ....................35

2.1.3. Жизненный цикл ЗВС.........................................................39

2.1.4. Доказательство условий безопасности преобразования модели ЗВС....................................................................................42

2.2. Систематизация причин возникновения уязвимостей.............45

2.2.1. Уязвимости, вносимые в систему на стадии разработки математической модели системы.................................................46

2.2.2. Уязвимости, вносимые в систему по причине некорректного отображения модели безопасности.....................47

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

2.3.1. Выбор модели нарушителя для автоматизации методики поиска уязвимостей в ЗВС............................................................51

2.3.2. Метрика, характеризующая последствия атаки на уязвимость системы......................................................................55

2.3.3. Метрики, характеризующая сложность обнаружения и использования уязвимости...........................................................58

2.4. Методика поиска уязвимостей в ЗВС.......................................61

2.5. Выводы.......................................................................................64

3. Методы поиска уязвимостей в ЗВС.............................................66

3.1. Уязвимости, обнаруживаемые при выборе модели нарушителя первого уровня..................................................................................66

3.1.1. Недостатки моделей дискреционного доступа..................72

3.1.2. Недостатки моделей мандатного доступа..........................76

3.2. Уязвимости, обнаруживаемые при выборе модели нарушителя второго уровня..................................................................................83

3.3. Уязвимости, обнаруживаемые при выборе модели нарушителя третьего уровня.................................................................................86

3.3.1. Уязвимости начального состояния.....................................86

3.3.2. Некорректность изменения состояния системы................88

3.3.3. Искажение понятий субъекта и объекта............................93

3.4. Сводная таблица описания уязвимостей..................................94

3.5. Выводы.......................................................................................98

4. Система автоматизации поиска уязвимостей в ЗВС...................99

4.1. Модульная структура системы автоматизации поиска уязвимостей в ЗВС............................................................................99

4.1.1. Реализация модуля определения условий поиска уязвимостей в ЗВС......................................................................100

4.1.2. Реализация модуля поиска уязвимостей в ЗВС при выборе нарушителя первого уровня.......................................................101

4.1.3. Реализация модуля поиска уязвимостей методом непосредственного тестирования ЗВС.......................................103

4.1.3.1. Модуль выбора интерфейсов, подлежащих тестированию...........................................................................105

4.1.3.2. Генератор тестов.........................................................106

4.1.4. Реализация модуля поиска уязвимостей методом

формального анализа..................................................................108

4.1.6. Реализация модуля выходных данных.............................109

4.2. Применение системы автоматизации поиска уязвимостей при сертификационных испытаниях....................................................110

4.3. Выводы.....................................................................................112

5. Заключение..................................................................................113

6. Список литературы.....................................................................116

Приложение. Акт об использовании результатов диссертационной работы соискателя Корта С.С.............................................121

Введение.

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

Методологическая и теоретическая база изучения проблем, возникающих при поиске уязвимостей в защищенных вычислительных системах (ЗВС), как специфического объекта научных исследований в настоящее время только формируется усилиями таких ученых, как B.C. Анашина, C.B. Герасименко, A.A. Грушо, С.П. Расторгуева, M. JT. Ухлинов, М. Бишоп, К. Лендвер, П. Ньюман. Данная работа опирается на результаты этих исследований и развивает их отдельные положения применительно к задаче формализации методов обнаружения уязвимостей в ЗВС, представляющей одно из на-

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

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

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

Для достижения поставленной цели в работе решались следующие задачи:

1. Разработка формальной постановки задачи поиска уязвимостей в ЗВС, позволяющей автоматизировать и объективизировать процесс поиска уязвимостей в ЗВС.

2. Формализация условий корректности преобразования модели безопасности в процессе проектирования ЗВС.

3. Построение систематизации уязвимостей в ЗВС на основании разработанных условий преобразования модели безопасности.

4. Разработка модели нарушителя, используемой при описании уязвимостей в ЗВС.

5. Разработка методики, направленной на поиск уязвимостей

в ЗВС.

6. Разработка языка описания политик безопасности, позволяющего описать недостатки в математических моделях ЗВС.

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

Работа состоит из четырех глав.

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

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

Разработана модель нарушителя, приведены основные этапы методики поиска уязвимостей в ЗВС.

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

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

Основные положения, выносимые на защиту:

1. Формальная постановка задачи и общие принципы анализа безопасности ЗВС.

2. Условия преобразования модели безопасности в процессе проектирования ЗВС.

3. Систематизация уязвимостей в ЗВС на основе нарушения условий преобразования модели безопасности ЗВС.

4. Модель нарушителя, используемая при поиске уязвимостей в ЗВС.

5. Общие положения методики поиска уязвимостей в ЗВС.

6. Методы поиска неудачных характеристик в математических моделях ЗВС.

Научная новизна диссертационной работы состоит в следующем:

1. Впервые сформулированы условия корректности преобразования модели безопасности в процессе проектирования ЗВС.

2. На основе разработанного описания предложена систематизация уязвимостей в ЗВС.

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

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

5. Разработана оригинальная методика поиска уязвимостей в

ЗВС.

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

1. Разработка методики поиска уязвимостей в защищенных вычислительных системах (акт об использовании от Регионального Центра Защиты Информации Санкт-Петербурга).

2. Применение разработанной методики при сертификационных испытаниях в Центре Защиты Информации СПбГТУ.

3. Дополнения к стандарту «Требования к устройствам типа межсетевые экраны» Федерального Агентства Правительственной Связи и Информации при Президенте РФ.

4. Реализация системы поиска уязвимостей в математической модели ЗВС.

5. Реализация системы поиска уязвимостей в ЗВС методом непосредственного тестирования.

6. Разработка и реализация комплекса лабораторных работ для курсов специальности 22.06.00 — «Организация и технология защиты информации».

Основные результаты диссертационной работы использованы при выполнении научно-исследовательских работ, проводимых в Центре защиты информации СПбГТУ, и реализованы в научных и проектных разработках, проводимых Региональным Центром Защиты Информации. Акты о внедрении результатов работы приведены в приложении к диссертации.

Содержащиеся в работе методические материалы, а также разработанные программные средства используются в учебном процессе на кафедре "Информационная безопасность компьютерных систем" Санкт-Петербургского государственного технического университета в лекциях и практических занятиях по ряду дисциплин для студентов специальности 22.06.00 — "Организация и технология защиты информации" [10, 11], а также в курсовых и дипломных работах студентов.

1. Постановка задачи.

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

Для того, чтобы показать, что система является безопасной требуется анализ, подтверждающий данное свойство. Как показано на рисунке 1.1., анализ безопасности ЗВС опирается на требования, сформулированные в различных нормативных документах, в том числе в требованиях по сертификации Гостехкомиссии Российской Федерации[12 - 16]. Сертификация определяется как действия третьей стороны, доказывающие, что обеспечивается необходимая уверенность в том, что должным образом идентифицированная продукция, процесс или услуга соответствует конкретному стандарту или другому нормативному документу [54]. За рубежом можно выделить такие нормативные документы, как [21, 22]. В данных документах описаны требования к таким механизмам ЗВС, как управление доступом, контроль целостности, аудит и т.д. Однако в этих документах слабо отражено понятие уязвимости, тогда как поиск уязвимостей

должен стать неотъемлемой частью процесса сертификационных испытаний.

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

Рисунок 1.1. Анализ безопасности ЗВС

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

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

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