Безопасность в распределенных системах представляет собой сложную и многостороннюю проблему
Вид материала | Документы |
- Правила дорожного движения соблюдаешь безопасный путь выбираешь! Евлампиева М. В. учитель, 103.34kb.
- «Физиология нервной системы», 172.86kb.
- Проблемы формирования и функционирования дилерской службы апк содержание, 168.78kb.
- Работа классного руководителя по развитию одаренности детей, 129.5kb.
- Общество представляет собой сложную социальностратификационную структуру, 70.03kb.
- Добрый день, уважаемые участники и гости форума. Всовременных условиях модернизации, 29.58kb.
- Межкультурной Коммуникации «Проявление этноцентризма в межгрупповых отношениях», 194.04kb.
- Основные определения статистики заболеваемости Заболеваемость, 69.04kb.
- Аудит и контроллинг, 180.04kb.
- Миллиардов действий, 663.25kb.
7. ОСОБЕННОСТИ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ В ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНЫХ И ТЕЛЕКОММУНИКАЦИОННЫХ СЕТЯХ
Ц. ОБЩИЙ ПОДХОД К ОБЕСПЕЧЕНИЮ БЕЗОПАСНОСТИ В РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ
Безопасность в распределенных системах представляет собой сложную и многостороннюю проблему. Важность и необходимость ее решения возрастает в связи с увеличением объемов информации, хранимой и обрабатываемой в вычислительных системах и передаваемой по сетям связи. Общая задача обеспечения безопасности в распределенных системах может быть разделена на три подзадачи: защита ресурсов (в частности, информации), заключающаяся в создании механизма, исключающего несанкционированный доступ к ресурсам; защита систем связи, состоящая в разработке мер противодействия угрозам активного и пассивного перехвата информации, передаваемой по сетям связи; аутентификация пользователей.
В распределенных вычислительных системах, объединяющих одну или несколько многопроцессорных ЭВМ, а также большое количество рабочих станций и терминалов, включенных в общую сеть, управление и защита реализуются через распределенную операционную систему.
7.1.1. Механизмы защиты ресурсов в распределенных системах
Механизм защиты от несанкционированного доступа к ЭВМ и системным ресурсам является частью механизмов распределенной операционной системы и обычно входит в ее ядро безопасности.
Вычислительные системы должны быть не только защищенными и безопасными, но и быть в состоянии продемонстрировать эти свойства пользователям. Это может быть сделано с помощью различных моделей безопасности, так как общепринятая модель безопасности распределенных систем отсутствует. Данное обстоятельство затрудняет обсуждение проблем в общем виде.
Существует множество различных подходов к построению механизмов защиты. Все они основаны на определенных моделях управления доступом. При этом используется абстрактная структура операционной системы или концепция безопасности, принятая для вооруженных сил США.
Модели управления доступом могут быть реализованы как модели систем дискреционного доступа (доступ к объекту или ресурсу предоставляется или не предоставляется любому пользователю по решению "владельца" объекта) или как модели систем недискреционного (мандаторного) доступа (доступ к объекту или ресурсам предоставляется или не предоставляется на основе категории секретности информации и допуска, присвоенного пользователю).
Известны и применяются следующие модели/механизмы управления доступом: матричная модель, решетчатая модель (модель Деннинга), модель Белла-ЛаПадула, модель информационного потока, механизм ядра безопасности.
7.1.2. Матричная модель доступа
Модель основана на абстрактном представлении структуры операционной системы. Она отображает политику управления доступом, состоящую в том, что права доступа каждого пользователя к каждому объекту определяются как входы матрицы. В распределенной системе объектами могут быть главные и другие ЭВМ, терминалы, доступ к которым контролируется, а также объекты внутри ЭВМ, например процессы, файлы, принтеры .доступ к которым традиционно контролируется централизованно системными средствами. Внутренние объекты ЭВМ могут быть включены в матрицу как объекты, обслуживающие главные ЭВМ. Матричная модель может быть реализована как модель системы дискреционного управления доступом.
7.1.3. Важная особенность матричной модели доступа
Особенность состоит в том, что управление доступом к информации (файлам) осуществляется на основе категории секретности информации и категории допуска пользователей. При этом доступ к информации разрешается или не разрешается без учета семантики данной информации.
Благодаря общности, простоте и возможности реализации различными способами матричная модель управления доступом нашла широкое применение в централизованных вычислительных системах. Она была также расширена для применения в распределенных системах. Основной недостаток этой модели состоит в ее уязвимости к воздействию программ типа "троянский конь" и компьютерных вирусов. Другим ее недостатком является то, что она не учитывает семантику информации. Это серьезный недостаток, так как во" многих реальных системах, например военных, банковских, коммерческих и медицинских, обрабатывается секретная информация.
7.1.4. Модель Деннинга (Denning), или решетчатая модель
Эта модель является расширением матричной модели, где степень защиты зависит от определения потока защищенной информации. В этой модели решетка представляет собой конечное множество частично упорядоченных элементов - такое, что для каждой пары элементов имеются верхняя граница и наибольшая нижняя граница. С точки зрения безопасности это означает, что имеется множество частично упорядоченных классов доступа, из которых выбирается пара, соответствующая категории допуска пользователя и категории секратности информации. Таким образом, данная модель учитывает категорию секратности, категорию допуска пользователя и правила определения категории секретности. Она построена с учетом присвоения категории секретности, принятой в министерстве обороны США. Решетчатую модель можно использовать и в коммерческих системах. При этом объектам присваивается определенная категория секретности, а субъектам (пользователям) - категории допуска. Данная модель может быть реализована как модель системы недискреционного управления доступом.
7.1.5. Модель Белла - Ла Падула (Bell • La Padula]
Ее можно рассматривать как пример решетчатой модели. Ее авторы представили ядро безопасности системы как машину с конечным числом состояний, переход которой из одного состояния безопасности в другое определяется правилами безопасности. Эта модель является наиболее известной моделью системы управления доступом. В ней кроме объектов и субъектов матричной модели доступа учитываются и категории секретности информации, принятые для защищенных военных систем. Следовательно, каждый объект системы имеет определенную категорию секретности, а каждый субъект - допуск с указанием разрешенной секретности. С моделью связаны две основные аксиомы:
пользователь не может считывать информацию, категория секретности которой выше разрешенного для него уровня секретности;
пользователь не имеет права понизить категорию секретности информации.
Модель потока информации, предложенная Деннингом, также основана на концепции решетчатой модели. Однако в ней вместо перечня аксиом, определяющих права пользователя на доступ, требуется, чтобы любая передача информации определялась порядком обмена потоками информации между классами безопасности. Таким образом, основное внимание здесь обращено на поток информации от одного объекта к другому, а не на рассмотрение индивидуальных запросов на доступ к объекту. Преимущества такого доступа состоят в большей гибкости анализа потоков в каналах с памятью и большей детализации этого анализа.
Механизм ядра безопасности. Под ядром безопасности понимается небольшое подмножество элементов системы, на которое возлагается ответственность за безопасность всей системы. Ставится условие, что это подмножество будет контролировать все возможные пути доступа в систему, действовать правильно и независимо, так что его действия не могут быть фальсифицированы.
Рашби (Rushby) и Рэндел (Randell) всесторонне исследовали возможности защиты распределенных систем с использованием концепции ядра безопасности. Они приняли, что распределенная система состоит из небольших ЭВМ, безопасность которых доказуема, и некоторого количества больших защищенных ЭВМ. Безопасность в такой системе достигается:
частично путем физического разделения отдельных ее элементов;
частично за счет управления доступом к незащищенным элементам и связью между ними посредством ядра безопасности.
Концепция механизма ядра безопасности рассматривается как общая модель , однако ее реализация более тесно связана с ЭВМ. Это объясняется тем, что данный механизм построен на концепции монитора обращений в систему, позволяющей реализовать специфическую совокупность стратегии безопасности.
7.1.6. Монитор обращений в систему
Концепция монитора обращений в систему объединяет субъекты, объекты , базу данных монитора (называемую также санкционирующей, или разрешающей базой данных) и механизм контроля. К числу субъектов относятся пользователи, процессы или потоки заданий, запрашивающие доступ к объектам. Объектами являются файлы, программы, терминалы и магнитные ленты с записанной на них информацией. В мониторе обращения (рис.7.1.1.) субъекты получают доступ к объектам на основании разрешений (содержащихся в базе данных монитора). Каждое обращение к информации или изменение разрешений должно проходить через монитор обращений
Общая концепция монитора обращений хорошо согласуется с представлениями о ядре безопасности операционной системы и многоуровневых абстрактных машинах. При этом ядро безопасности реализует абстракцию монитора обращений и является последним иерархическим уровнем системы, ответственным за see относящиеся к безопасности операции. Если это ядро безопасности мало и оно должно быть таким, исходя из требований производительности системы, то можно подвергнуть его анализу с целью выявления слабых мест и доказать корректность его реализации. Однако в реальных операционных системах общего назначения трудно идентифицировать и выделить все относящиеся к безопасности функции без образования относительно большого и медленно действующего ядра безопасности.
7.1.7. Реализация матричного управления доступом
В матрице доступа субъекты обычно представляются ее строками, а объекты - столбцами, и право доступа, определяемое входами матрицы, соответствует операциям, которые могут быть выполнены над объектами. Однако, несмотря на то, что эта модель простая, ее практическая реализация может оказаться малоэффективной и дорогостоящей, так как обычно матрица доступа является сильно разреженной. Кроме того, в распределенных системах еще один фактор существенно усложняет реализацию: географическая разделенность объектов и субъектов.
С учетом разреженности матрицы доступа, особенностей распределенных систем и принципов разработки предложены три общие схемы управления доступом к ресурсам распределенных вычислительных систем ( на основе матрицы доступа ): контрольный список доступа (access control list), полномочия (capabilities) и механизм замок/ключ (lock/key mechanism).
7.1.8. Контрольный список доступа
Схема с контрольным списком доступа является результатом разложения матрицы доступа по столбцам. Каждый объект имеет монитор, обеспечивающий контроль непосредственно доступа к объекту. Таким образом, контрольный список доступа к конкретному объекту содержит перечень субъектов, имеющих право доступа к объекту, и определяет эти права. Типичный пример применения контрольного списка доступа - управление доступом к файлам директорий.
Система безопасности на основе контрольного списка доступа имеет важные особенности. Список проверяется при каждом доступе. С точки зрения безопасности это весьма желательно, но, если список очень длинный, это создает дополнительную нагрузку на систему. Этот недостаток может быть устранен применением ассоциативного поиска или использованием кэш-памяти для списка только активно действующих субъектов. Право доступа может быть предоставлено субъекту путем добавления новой записи в списке субъектов с указанием идентификатора субъекта и разрешенных ему операций на объекте.
Права доступа могут быть легко отменены путем вычеркивания соответствующих записей в контрольном списке доступа. Так же просто определяется, кто имеет право доступа к конкретному объекту и что могут делать субъекты, имеющие право доступа. Поскольку каждый объект связан с определенным контрольным списком доступа, объекты могут быть объединены в группы, которым присваиваются имена в соответствии со стратегией поиска. Такое группирование объектов не зависит от принятой политики безопасности. Кроме того, при этом сравнительно легко можно контролировать такие атрибуты, как владение ресурсами.
Установлено, что применение контрольного списка доступа в распределенной системе не требует специальных изменений операционной системы и добавления каких - либо полей в сообщении, а реализация управления доступом к объектам по контрольному списку не связана с дополнительными трудностями.
Преимущества такой системы состоят в следующем: для конкретного объекта можно легко и эффективно определить, какие субъекты имеют доступ к нему; отмена ранее предоставленных привилегий не требует больших затрат. Единственный недостаток заключается в трудности определить, какие права доступа к информации или ресурсам должны быть предоставлены каждому конкретному субъекту.
7.1.9. Полномочия субъектов
Схема с полномочиями субъектов является результатом разложения матрицы доступа по строкам. В этой схеме каждому субъекту соответствует список объектов, к которым субъект имеет право доступа, с определением этого права. В распределенных системах полномочия непосредственно связаны с именами субъектов. Кроме того, полномочия используются по запросу, содержащемуся в сообщении, поступающем в монитор (сервер) объекта.
Полномочие - это неподдающийся фальсификации мандат, связанный с конкретным объектом. Он устанавливает один или более разрешенных режимов и позволяет его держателю получать доступ к объекту. Концепция полномочий объединяет обращение к объекту с разрешением доступа. Сравнение управления доступом по полномочиям с управлением по контрольному списку доступа показывает, что метод полномочий в большей мере соответствует принципу минимальных привилегий и допускает передачу прав на доступ между процессами и администратором управления доступом без обращению к серверу ресурса. Преимущества данной системы состоят в том, что в основную память необходимо вводить данные, относящиеся только к активным субъектам, и для конкретного субъекта легко определить совокупность объектов, к которым он имеет доступ, а также его права по данному доступу. Недостатком является трудность определения для конкретного объекта субъектов, имеющих к нему доступ и их прав. Отмена привилегий связана Сч еще большими трудностями, так как при этом в системе может остаться значительное количество копий недействующих полномочий.
Предложено множество вариантов различных полномочий. Некоторые из них реализованы в экспериментальных распределенных операционных системах. К числу этих полномочий относятся следующие:
1. Полномочия с зашифрованной цифровой подписью. В этом случае полномочие состоит из двух основных частей: идентификатора объекта и некоторой информации, относящейся к правам доступа (рис.7.1.2,а). Администратор управления доступом расширяет это полномочие добавлением некоторого количества избыточных бит к последовательности цифровой подписи.
2. Полномочия, разработанные Ливерморской национальной лабораторией и используемые для защиты специфического локального идентификатора объекта и адреса сервера, локального идентификатора объекта и двух дополнительных полей, которые могут содержать реквизиты ( в виде набора стандартных бит и полей), указывающие объекту (процессу) характер полномочия, а также некоторую избыточную информацию или пароль, защищающие локальный идентификатор от подделки.
3. Полномочия, разработанные фирмой Amoeba - зашифрованные полномочия, используемые в распределенной операционной системе Amoeba для защиты текста сообщения (рис 7.1.2. в). Полномочие состоит из четырех полей, два из которых относятся к защите. Это поле Прав доступа, содержащее 1 бит для каждой разрешенной операции на указанном объекте, и поле случайной величины, выбираемой для защиты объекта. В системе Amoeba полномочия являются разреженными, а имена портов выбираются случайно. Это значит, что если процессу неизвестно имя порта, то он не может получить доступ к службам (ресурсам) через этот порт.
4. Полномочия, определяемые паролями. Полномочие этого типа состоит из двух частей:
специфического идентификатора объекта и собственно пароля (рис.7.1.2.г). Это полномочие не шифруется и определяется как последовательность (длиной 128 бит), идентифицирующая некоторый объект; она может быть использована для получения доступа к этому объекту. Целостность полномочия с паролем зависит от выбранного пароля. Так как длина пароля равна 64 бит, его трудно угадать. Поскольку генераторы псевдослучайных чисел имеют конечную сложность и выдаваемые ими числа могут быть предсказаны, используются специальные приборы в качестве источников непредсказуемых чисел.
7.1.10. Обусловленные полномочия (обобщенны обычные полномочия)
Их неформально можно определить как обычные полномочия, связанные с рядом условий (рис.7.1.2. д). Полномочие этого типа может быть защищено, за исключением общего идентификатора, определяющего адрес объекта. Оно содержит два элемента, относящиеся к защите: право на доступ в виде набора бит доступа, определяющего, какие операции на объекте разрешены по этому полномочию; замок-последовательность неповторяющихся чисел, генерируемых системой для отображения условий. Вместе с тем можно считать, что условия представляют собой замки полномочия. Замок используется для гарантии того, что полномочие будет использовано только при правильном условии. Для обеспечения защиты на основе обусловленных полномочий используется защищенный ключ в виде особого числа, генерируемого системой.
Механизм замок/ключ. Эта система объединяет преимущества управления доступом на основе контрольного списка доступа и полномочий. В системе, использующей этот механизм, данные о каждом субъекте вводятся в память вместе со списком его полномочий. Однако в этом случае полномочие представляет собой пару (О, К), где О означает объект, к которому субъекту S разрешен доступ с использованием ключа К. С другой стороны, для каждого объекта имеется контрольный список доступа, состоящий из пар (L,A), где L- замок и А - атрибут доступа. Этот список называется также список замков.
Когда субъект S делает В попыток получить доступ к объекту О, система защиты выполняет следующие операции:
пара (0,К) из списка полномочий субъекта S передается в монитор объекта О;
доступ к объекту О разрешается его монитором в том и только в том случае, если пара (L,A) из списка замков такая, что K-L, а В является подмножеством А.
Следует отметить, что рассмотренные выше схемы ориентированы на общую защиту и не имеют определенных критериев, относящихся к конкретным системам безопасности. Поэтому они могут быть применены для специальной защиты ЭВМ.
Основные аспекты отмены прав на доступ. В динамической системе, т.е. в такой, в которой допускается передача прав доступа во время выполнения процесса, а не только при его инициировании, иногда возникает необходимость аннулирования разрешения на доступ или отмены прав на доступ к объектам, коллективно используемым различными пользователями.
Механизмы защиты в этом случае создают некоторую дополнительную нагрузку на систему, вызывающую необходимость проверки привилегий процессов (субъектов) при их попытке получения доступа к объектам. В динамических системах эти нагрузки связаны с передачей привилегий и количество отмен прав на доступ может быть довольно большим. Поэтому системы защиты, предоставляющие эту услугу, должны разрабатываться так, чтобы эти дополнительные нагрузки были минимальными. Один из способов их уменьшения состоит в том, чтобы полностью исключить случаи отмены прав доступа или существенно снизить частоту их возникновения. Однако это противоречит часто возникающей необходимости передачи прав на доступ, связанной с взаимодействием процессов. Поэтому представляется эффективной передача прав доступа субъектам, для которых вероятность отмены этих прав и привилегий мала.
Несмотря на большое количество работ, посвященных отмене прав доступа и полномочий
в распределенных системах разработан только один эффективный метод, применимый в распределенных операционных системах.
Способы реализации распределенного управления доступом. Матричное распределенное управление доступом может быть реализовано путем организации взаимодействия между ядрами безопасности операционных систем или через механизмы, заложенные в процессах пользователей. Следует отметить, что в наиболее распространенных операционных системах распределенное управление доступом на основе взаимодействия ядер безопасности не имеет преимуществ перед управлением доступом, реализованным через процессы. Обработка информации по доступу в ядрах безопасности системы требует передачи двух сообщений, если передается главный идентификатор или полномочие. При этом одно сообщение исходит от ядра источника к ядру получателя, а другое - от процесса источника к процессу получателя. Поскольку распределенное управление доступом, реализованное через процессы, требует посылки только одного сообщения для передачи главного идентификатора или полномочия, эта схема более предпочтительна для передачи главного идентификатора или полномочия, эта схема более предпочтительна по простоте и показателю эффективность/стоимость.
Защита идентификаторов. В схемах управления доступом на основе контрольного списка и полномочий необходим защищенный идентификатор, который не может быть фальсифицирован или похищен. Криптографические методы и решение о том, какие компоненты могут считаться защищенными, формируют основу для решения вопроса о выборе схемы защиты для создания работающей системы. Таким образом, можно считать, что от того, насколько хорошо защищена информация, относящаяся к управлению доступом, зависят виды угроз, которым должна противодействовать каждая схема защиты. К мерам противодействия относятся защита от подлогов и от хищения информации, относящейся к управлению доступом. Важное значение имеют также криптостоякость алгоритмов шифрования, процедуры обработки криптографической информации, протоколы управления ключами и степень поддержки схем защиты в различных частях распределенной системы.
Реализация управления потоками информации. Рассмотрим схему управления доступом, являющуюся расширением схем управления на основе полномочий и модифицированного контрольного списка доступа. Полномочие в этой схеме , названное полномочием по допуску к секретности информации (clearence capibility), представлено на рис 7.1.3.3. Полномочие по допуску - это защищенный идентификатор с дополнительной избыточной информацией для защиты и уровнем безопасности, указывающим, к каким классам информации (или объектам) может получить доступ субъект, имеющий определенный допуск.
Использование этого полномочия иллюстрирует рис. 7.1.3.6. После принятия полномочия по допуску выполняются следующие процедуры сравнения. Сначала содержание поля допуска субъекта сравнивается с категорией секретности объекта, к которому запрашивается доступ. На этом этапе применяются известные правила доступа к секретной информации: простое правило безопасности ( разрешающее доступ субъекта к объекту только при условии, что уровень его допуска не ниже категории секретности объекта) и правило, запрещающее передачу информации с одного уровня секретности на более низкий уровень секретности. Если эти правила выполняются, то считается, что безопасность не нарушается. В противном случае запрашиваемый доступ не разрешается. Далее, если состояние защиты считается безопасным, то поле прав доступа сравнивается с запрашиваемой операцией, чтобы определить, соответствует ли данный запрос на доступ мандаторной и дискреционной стратегиям безопасности. При их соответствии доступ к объекту и выполнение запрашиваемой операции на нем разрешаются. Для комплексного решения задачи обеспечения безопасности в распределенных системах необходимо учесть еще влияние каналов связи, о которых пойдет речь в следующем разделе.