Реферат: Организация и современные методы защиты информации

МОСКОВСКАЯ  ГОСУДАРСТВЕННАЯ  АКАДЕМИЯ
ПРИБОРОСТРОЕНИЯ  И  ИНФОРМАТИКИ

 

 

 

КАФЕДРА  АВТОМАТИЗИРОВАННЫХ  СИСТЕМ  ОБРАБОТКИ

  ИНФОРМАЦИИ  И  УПРАВЛЕНИЯ  (ИТ-7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  «Методы и средства защиты компьютерной информации»

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

лабораторных и курсовых работ

 

 

 

 

 

 

 

Специальность 22.02.03 «Автоматизированные системы обработки

информации и управления»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Москва,  2003

 

 

 

 

 

 

 

 

 

 

 

 

 

УТВЕРЖДАЮ

 

Проректор по научной работе

                                        _____

 

"           "                               2003

 

 

 

 

 

 

 

 

 

 

 

 

 

АННОТАЦИЯ

 

 

 

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Предлагаемая работа –это  введение в формальную теорию защиты информации в электронных системах обработки данных. Основная цель работы — доступно изложить методы анализа систем защиты информации в электронных системах обработки данных. Как большинство современных методов изучения сложных систем, анализ систем защиты предполагает иерархическую декомпозицию. Верхний уровень иерархии составляет политика безопасности со своими специфическими методами ее анализа. Следующий уровень — основные системы поддержки политики безопасности (мандатный контроль, аудит и т.д.). Затем следует уровень механизмов защиты (криптографические протоколы, криптографические алгоритмы, системы создания защищенной среды, системы обновления ресурсов и т.д.), которые позволяют реализовать системы поддержки политики безопасности. Наконец самый низкий уровень — реализация механизмов защиты (виртуальная память, теговая архитектура, защищенные режимы процессора и т.д.). В работе рассматриваются только верхние уровни этой иерархии, так как механизмы защиты достаточно полно описаны в литературе. Ограничения изложения рамками верхних уровней иерархии позволило с высокой степенью формализации ввести основные понятия и модели защиты информации, определения, что такое «хорошая» или «плохая» системы защиты, описать доказательный подход в построении систем защиты, позволяющий говорить о гарантированно защищенных системах обработки информации. Описанный подход лежит в основе многих стандартов для систем защиты и позволяет проводить анализ и аттестование защищенных систем.

 

 

 

 

 

 

 

 

 

Автор: Морозова Т.Ю.

Научный редактор: проф. Петров О.М.

Рецензент:

Рассмотрено и одобрено на заседании кафедры ИТ-7

"__"____________2003 г.    Зав. кафедрой __________О.М. Петров

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

                                                                                      доц. Правоторова Н.А.

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Глава 1 ВСПОМОГАТЕЛЬНЫЕ СТРУКТУРЫ (МОДЕЛИ), ИСПОЛЬЗУЕМЫЕ В ЗАЩИТЕ ИНФОРМАЦИИ

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Для того, чтобы провести исследование и получить практический результат часто применяют следующий прием. В объект исследования вносят некоторую структуру, которая имеет искусственный характер, но облегчает исследование. Например, для анализа взаимодействия тел физики внесли в описание окружающего мира структуры силовых взаимодействий, электрических взаимодействий. Математики для анализа реальных процессов вносят структуры вероятностного пространства и вероятностей событий. Иногда говорят, что строится модель объекта. Оба названия приемлемы, однако мы предпочитаем первое, так как в ходе анализа потребуется вносить в информацию несколько структур и анализировать их взаимодействие. В терминах моделей такие нагромождения представляются более трудными для объяснения. Далее мы рассмотрим следующие структуры, которые вносятся в неопределяемый объект под названием информация, теории защиты которого будет посвящена вся работа:

·<span style=«font: 7pt „Times New Roman“;»>         

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

·<span style=«font: 7pt „Times New Roman“;»>         

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

·<span style=«font: 7pt „Times New Roman“;»>         

структура информационного потока, позволяющая описывать и анализировать угрозы информации;

·<span style=«font: 7pt „Times New Roman“;»>         

структура ценности информации, позволяющая понять, что надо и что не надо защищать;

·<span style=«font: 7pt „Times New Roman“;»>         

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

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>В заключение главы в качестве примера проблемы согласования различных структур между собой рассматривается задача совмещения одной из структур ценности информации и структуры реляционной базы данных.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> 

                              1.1. ЯЗЫК, ОБЪЕКТЫ, СУБЪЕКТЫ.

Используем некоторые понятия математической логики. Пусть А конечный алфавит, А — множество слов конечной длины в алфавите А.

Из А при помощи некоторых правил выделено подмножество Я правильных слов, которое называется языком. Если Я1 — язык описания одной информации, Я2 — другой, то можно говорить о языке Я, объединяющем Я1 и Я2 описывающем ту и другую информацию. Тогда Я1 и Я2 подъязыки Я.

Будем считать, что любая информация представлена в виде слова в некотором языке Я. Кроме того, можно полагать, что состояние любого устройства в вычислительной системе достаточно полно описано словом в некотором языке. Тогда можно отождествлять слова и состояния устройств и механизмов вычислительной системы или произвольной электронной системы обработки данных (ЭСОД). Эти предположения позволяют весь анализ вести в терминах некоторого языка.

<span style=«font-size: 8pt; line-height: 133%; font-family: „Courier New“; color: black;»>Определение

Объектом относительно языка Я (или просто объектом, когда из контекста однозначно определен язык) называется произвольное конечное множество языка Я.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Пример 1.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> Произвольный файл в компьютере есть объект. В любой момент в файл может быть записано одно из конечного множества слов языка Я, в некотором алфавите А, которое отражает содержимое информации, хранящейся в файле. Значит, файл можно рассматривать как конечное множество слов, которые в нем могут быть записаны (возможные содержания файла). То, что в данный момент в файле содержится только одно слово, не исключает потенциально существования других записей в данном файле, а в понятие файла как объекта входят все допустимое множество таких записей. Естественно выделяется слово, записанное в файле в данный момент, — это состояние объекта в данный момент.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Пример 2.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> Пусть текст в файле разбит на параграфы так, что любой параграф также является словом языка Я и, следовательно, тоже является объектом. Таким образом, один объект может являться частью другого.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Пример 3.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> Принтер компьютера — объект. Существует некоторый (достаточно сложный) язык, описывающий принтер и его состояния в произвольный момент времени. Множество допустимых описаний состояний принтера является конечным подмножеством слов в этом языке. Именно это конечное множество и определяет принтер как объект.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>В информации выделим особо описания преобразований данных.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Преобразование информации отображает слово, описывающее исходные данные, в другое слово. Описание преобразования данных также является словом. Примерами объектов, описывающих преобразования данных, являются программы для ЭВМ

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Каждое преобразование информации может:

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>а) храниться;

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>б) действовать.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>В случае а) речь идет о хранении описания преобразования в некотором объекте (файле). В этом случае преобразование ничем не отличается от других данных. В случае б) описание программы взаимодействует с другими ресурсами вычислительной системы — памятью, процессором, коммуникациями и др.

Определение.<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Ресурсы системы, выделяемые для действия преобразования, называются доменом.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Однако для осуществления преобразования одних данных в другие кроме домена необходимо передать этому преобразованию особый статус в системе, при котором ресурсы системы осуществляют преобразование. Этот статус будем называть «управление».

Определение.<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Преобразование, которому передано управление, называется процессом.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>При этом подразумевается, что преобразование осуществляется в некоторой системе, в которой ясно, что значит передать управление.

Определение.<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Объект, описывающий преобразование, которому выделен домен и передано управление, называется субъектом.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>То есть субъект — это пара (домен, процесс). Субъект для реализации преобразования использует информацию, содержащуюся в объекте О, то есть осуществляет доступ к объекту О.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Рассмотрим некоторые основные примеры доступов.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>1. Доступ субъекта S к объекту О на чтение (r) данных в объекте О.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>При этом доступе данные считываются в объекте О и используются в качестве параметра в субъекте S.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>2. Доступ субъекта S к объекту О на запись (w) данных в объекте О.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>При этом доступе некоторые данные процесса S записываются в объект О. Здесь возможно стирание предыдущей информации.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>3. Доступ субъекта S к объекту О на активизацию процесса, записанного в О как данные (ехе). При этом доступе формируется некоторый домен для преобразования, описанного в О, и передается управление соответствующей программе.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Существует множество других доступов, некоторые из них будут определены далее. Множество возможных доступов в системе будем обозначать R.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Будем обозначать множество объектов в системе обработки данных через О, а множество субъектов в этой системе S. Ясно, что каждый субъект является объектом относительно некоторого языка (который может в активной фазе сам менять свое состояние). Поэтому S

Í  O. <span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Иногда, чтобы не было различных обозначений, связанных с одним преобразованием, описание преобразования, хранящееся в памяти, тоже называют субъектом, но не активизированным. Тогда активизация такого субъекта означает пару (домен, процесс).

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>В различных ситуациях мы будем уточнять описание вычислительной системы. Однако мы всегда будем подразумевать нечто общее во всех системах. Это общее состоит в том, что состояние системы характеризуется некоторым множеством объектов, которое будем предполагать конечным.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>В любой момент времени на множестве субъектов введем бинарное отношение

aактивизации. S1aS2, если субъект S1, обладая управлением и ресурсами, может передать S2 часть ресурсов и управление (активизация). Тогда в графах, которые определяются введенным бинарным отношением на множестве объектов, для которых определено понятие активизации, возможны вершины, в которые никогда не входит ни одной дуги. Таких субъектов будем называть пользователями. Субъекты, в которые никогда не входят дуги и из которых никогда не выходят дуги, исключаются.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> В рассмотрении вопросов защиты информации мы примем аксиому, которая положена в основу американского стандарта по защите («Оранжевая книга») и будет обсуждаться далее. Здесь мы сформулируем ее в следующей форме.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> 

 Аксиома. Все вопросы безопасности информации описываются доступами субъектов к объектам.

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> Если включить в рассмотрение гипотетически такие процессы как пожар, наводнение, физическое уничтожение и изъятие, то эта аксиома охватывает практически все известные способы нарушения безопасности в самых различных вариантах понимания безопасности. Тогда для дальнейшего рассмотрения вопросов безопасности и защиты информации достаточно рассматривать множество объектов и последовательности доступов.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Пусть время дискретно, Оt — множество объектов момент t, St — множество субъектов в момент t. На множестве объектов Оt как на вершинах определим ориентированный граф доступов Gt следующим образом: дуга

<span style=«font-family: „Courier New“; color: black;»>/><span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>с меткой pÍ<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>R принадлежит Gt тогда и только тогда, когда в момент t субъект S имеет множество доступов р к объекту О.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Согласно аксиоме, с точки зрения защиты информации, в процессе функционирования системы нас интересует только множество графов доступов {Gt}t=1T. Обозначим через

Y<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>={G} множество возможных графов доступов. Тогда Yможно рассматривать как фазовое пространство системы, а траектория в фазовом пространстве Yсоответствует функционированию вычислительной системы. В этих терминах удобно представлять себе задачу защиты информации в следующем общем виде. В фазовом пространстве Y<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> определены возможные траектории Ф, в F<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> выделено некоторое подмножество N неблагоприятных траекторий или участков таких траекторий, которых мы хотели бы избежать. Задача защиты информации состоит в том, чтобы любая реальная траектория вычислительного процесса в фазовом пространстве Yне попала во множество N. Как правило, в любой конкретной вычислительной системе можно наделить реальным смыслом компоненты модели Y,F<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> и N. Например, неблагоприятными могут быть траектории, проходящие через данное множество состояний Y<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>‘ÍY.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Чем может управлять служба защиты информации, чтобы траектории вычислительного процесса не вышли в N? Практически такое управление возможно только ограничением на доступ в каждый момент времени. Разумеется, эти ограничения могут зависеть от всей предыстории процесса. Однако, в любом случае, службе защиты доступно только локальное воздействие. Основная сложность защиты информации состоит в том, что имея возможность использовать набор локальных ограничений на доступ в каждый момент времени, мы должны решить глобальную проблему недопущения выхода любой возможной траектории в неблагоприятное множество N. При этом траектории множества N не обязательно определяются ограничениями на доступы конкретных субъектов к конкретным объектам. Возможно, что если в различные моменты вычислительного процесса субъект S получил доступ к объектам О1 и О2, то запрещенный доступ к объекту О3 реально произошел, так как из знания содержания объектов О1 и O2 можно вывести запрещенную информацию, содержащуюся в объекте O3.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> Пример 4. Пусть в системе имеются два пользователя U1, и U2, один процесс S чтения на экран файла и набор файлов O1...Om. В каждый момент работает один пользователь, потом система выключается и другой пользователь включает ее заново. Возможны следующие графы доступов

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>         R               r

Uj------->S-------------Oi  , i=l ,..., m, j=l, 2. (1)

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Множество таких графов —

y. Траектории — последовательности графов вида (1). Неблагоприятными считаются траектории, содержащие для некоторого i= 1...m состояния

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>             R                  r

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>  U1------------>S------->Oi

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>            R                  r

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>  U2------------>S------->Oi

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>То есть неблагоприятная ситуация, когда оба пользователя могут прочитать один объект. Ясно, что механизм защиты должен строить ограничения на очередной доступ, исходя из множества объектов, с которыми уже ознакомился другой пользователь. В этом случае, очевидно, можно доказать, что обеспечивается безопасность информации в указанном смысле.

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

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>            R                  r

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>    U1------------>S------->O1

 

В этом случае очевидно доказывается, что система будет защищена ограничением доступа на чтение пользователя U1 к объекту О1.

<span style=«font-size: 8pt; line-height: 133%; font-family: „Courier New“; color: black;»>1.2. ИЕРАРХИЧЕСКИЕ МОДЕЛИ И МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ ОТКРЫТЫХСИСТЕМ (OSI/ISO).

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

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>В основе метода лежит разбиение системы на ряд уровней, которые связаны однонаправленной функциональной зависимостью. В литературе предлагалось несколько вариантов формального и полуформального описания такой зависимости. Например, Парнас (D.L.Parnas, 1974) описывал такую зависимость следующим образом. Уровень А зависит в правильности своего функционирования от уровня В, или уровень А обращается к уровню В, или уровень А использует уровень В, или А требует присутствия правильной версии В. Однако это неформальные описания, а формализация здесь не удается из-за широкой общности понятия «сложная система» и неоднозначности разбиения на уровни. В целях понимания одного и того же в декомпозициях различной природы сложных систем можно договориться об универсальных принципах описания иерархического метода. Предположим, что интересующая нас сложная система А адекватно описана на языке Я. Предположим, что мы провели декомпозицию (разложение) языка Яна семейство языков D1,D2,...,Dn. Если язык Di, i=2,..,

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;» lang=«EN-US»>n, синтаксически зависит только от словоформ языка Di-1, то будем говорить, что они образуют два соседних уровня. Тогда система А может быть описана наборами слов B1,...,Bn в языках D1,D2,...,Dn причем так, что описание Вi синтаксически может зависеть только от набора Вi-1. В этом случае будем говорить об иерархической декомпозиции системы A и уровнях декомпозиции B1,...,Bn , где уровень Вiнепосредственно зависит от Bi-1. Рассмотрим ряд простейших примеров иерархического построения сложных систем.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Пример 1. Пусть вся информация в системе разбита на два класса Secret и Тор Secret, которые в цифровой форме будем обозначать 0 и 1. Пусть все пользователи разбиты в своих возможностях допуска к информации на два класса, которые также будем обозначать 0 и 1. Правило допуска к информации X при запросе пользователя Y определяется условием, если класс х запрашиваемой информации X, а класс у пользователя Y, то допуск к информации разрешен тогда и только тогда, когда x=y. Это условие можно описать формально формулой некоторого языка D2

 

if x=y then "<span style=«font-size: 8pt; line-height: 50%; font-family: „Courier New“; color: black;»>Допуск

<span style=«font-size: 8pt; line-height: 50%; font-family: „Courier New“; color: black;» lang=«EN-US»> Y кX"

 

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>Для вычисления этого выражения необходимо осуществить следующие операции, которые описываются в терминах языка D1:

<span style=«font-size: 8pt; line-height: 150%; font-family: „Courier New“; color: black;» lang=«EN-US»>x

:=U1(X),

<span style=«font-size: 8pt; line-height: 150%; font-family: „Courier New“; color: black;» lang=«EN-US»>y

:=U2(Y),

<span style=«font-size: 8pt; line-height: 150%; font-family: „Courier New“; color: black;» lang=«EN-US»>z=x

Åy

<span style=«font-size: 8pt; line-height: 150%; font-family: „Courier New“; color: black;» lang=«EN-US»>U(X,Y,z),

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>где U1(X) — оператор определения по имени объекта X номера класса доступа х; U2(Y) — оператор определения по имени пользователя Y номера класса допуска у;

Å — сложение по mod 2; U(X, Y, z) — оператор, реализующий доступ Y к X, если z=0, и блокирующий систему, если z=l.

<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»>По построению уровень B2 зависит от B1, а вся система представлена иерархической двухуровневой декомпозицией с языками DD2. Причем Я=(D1, D2).

Пример 2.Гораздо чаще используется неформальное иерархическое описание систем. Например, часто используется иерархическая декомпозиция вычислительной системы в виде трех уровней.

Аппаратная часть — Операционная система -Пользовательские программы.

 

МОДЕЛЬ OSI/ISO 

 

1. Одним из распространенных примеров иерархической структуры языков для описания сложных систем является разработанная организацией международных стандартов (ISO) Эталонная модель взаимодействия открытых систем (OSI), которая принята ISO в 1983 г.

ISO создана, чтобы решить две задачи:

·<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> своевременно и правильно передать данные через сеть связи (т.е. пользователями должны быть оговорены виды сигналов, правила приема и перезапуска, маршруты и т.д.);

·<span style=«font-size: 8pt; font-family: „Courier New“; color: black;»> доставить данные пользователю в приемлемой для него распознаваемой форме.

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

 

Пользователь 1

 

<p class=«Noeeu» style=«margin-right: -33.15pt; text-align: center; line-
еще рефераты
Еще работы по программированию, базе данных