Содержание к диссертации
Введение
Глава 1. Модели и классификации безопасных методов управления ресурсами в риткс 6
1.1. Модель ISO/OSI 13
1.2. Классификация по Флинну 21
1.3. Ресурсно-мониторная классификация 30
1.4. Другие модели и классификации 35
Глава 2. Универсальные программно-ориентированные алгоритмы безопасного управления ресурсами для рткс неограниченной протяженностью 47
2.1. Алгоритмы с голосованием 49
2.2. Децентрализованные алгоритмы обеспечения неделимости транзакций в РТКС 53
2.3. Алгоритмы с циркулирующей привилегией
и динамическими приоритетами 64
2.4. Основные особенности рассмотренных алгоритмов 64
2.5. Алгоритмы доставки широковещательных сообщений...65
2.6. Механизм контекстного распределённого программирования 71
Глава 3. Высокоскоростные аппаратурно-ориентированные алгоритмы безопасного управления ресурсами для рткс с малой протяженностью (кластерных систем) 83
3.1. Алгоритм гарантированной доставки широковещательных сообщений 85
3.2. Использование вычислений в общем канале
для управления в РТКС 94
3.3. Механизмы синхронизации в скрепке Стецюры 109
Глава 4. Перспективные методы защиты ршформационных ресурсов риткс от несанкционированного доступа 125
4.1. Формальная модель системы с безопасным доступом к информационным ресурсам 126
4.2. Традиционные методы защиты информационных ресурсов от несанкционированного доступа 129
4.3. Пути проникновения разрушающей информации в систему 138
4.4. Системы защиты ресурсов от атак 143
4.5. Дезинформирующие методы защиты доступа к информационным ресурсам 146
Глава 5. Организация защитных процессов управлений ресурсами в распределенных операционных системах (РОС) 169
5.1. Концептуальная модель вычислительной системы с распределённым управлением 170
5.2. Основные задачи управляющего ядра распределённой операционной системы 174
5.3. Программные средства обеспечения помехоустойчивости распределённой операционной системы 198
Глава 6. Реализация методов и алгоритмов безопасного управления ресурсами в РОС 208
6.1. Система управления паролями еТокеп Internet logon.. 209
6.2. Система управления файлами на базе КРП-механизма 230
Заключение 240
Список использованной литературы
- Модель ISO/OSI
- Децентрализованные алгоритмы обеспечения неделимости транзакций в РТКС
- Алгоритм гарантированной доставки широковещательных сообщений
- Формальная модель системы с безопасным доступом к информационным ресурсам
Введение к работе
Актуальность темы. Бурное развитие средств телекоммуникаций и вычислительной техники в 90-х годах XX столетия привело к быстрому становлению совершенно новой методологии взаимодействия процессов в распределенных телекоммуникационных системах (РТКС). Отметим, что основы этой методологии были разработаны еще в 70-х - 80-х годах для высокоскоростных локальных вычислительных сетей (ЛВС) [6, 8, 20, 116].
Многократное увеличение скорости передачи данных по магистральным каналам связи позволило во второй половине 90-х годов создать глобальные вычислительные сети (ГВС), не уступающие по своим характеристикам ЛВС 80-х. Постоянное совершенствование существующих и появление новых протоколов передачи и обработки информации позволило к концу XX столетия рассматривать РИС как некую систему, обладающую признаками как классического мультипроцессора, так и классической вычислительной сети [116, 117].
Развитие принципов объектно-ориентированного программирования дало возможность с уверенностью заявить, что основная идея архитектуры открытых систем (модели ISO/OSI) [253] - неотличимость централизованной и распределенной обработки информации - к концу XX столетия оказалась практически полностью реализованной.
Все это открывает перед нами новые, недостижимые ранее возможности по развитию информационных технологий. Вместе с тем, это порождает и новые задачи, основной из которых очень быстро становится проблема безопасности хранения, обработки и передачи информации в РТКС (проблема защиты ресурсов РТКС).
Эта проблема имеет два аспекта. Первый аспект связан с опасностью разрушения ресурсов системы в силу естественных причин (сбои оборудования, искажения при передаче данных, ошибки программного обеспечения и так далее). Появление в последние годы фактически новой (и
прибыльной) профессии компьютерных взломщиков (хакеров) породило второй аспект - необходимость защиты ресурсов от умышленного разрушения.
Анализ информационных источников, проведенный автором за последние 20 лет показал, что фактически все проблемы обеспечения безопасности ресурсов распределенных телекоммуникационных систем так или иначе сводятся к одной задаче - задаче обеспечения корректного (безопасного) взаимодействия процессов при разделении общих ресурсов (задаче безопасного управления ресурсами) [45, 46] в условиях наличия помех - атак злоумышленников. При этом рассматриваются вопросы безопасного предоставления ресурсов (К.Хоор, Э.Дейкстра, Д.Донован, Ф.Бернстайн, Э.А.Трахтенгерц, М.Ю.Монахов и др.); безопасного и эффективного квитирования заявок на ресурс (Б.Лисков, Г.Ле Ланн, П.Бернштейн, В.А.Цимбал, Г.Г.Стецюра и др.); вопросы использования криптологических методов для защиты информации (К.Шеннон, Д.Вакка, С.Мун, А.А.Молдовян, Н.А.Молдовян, Д.А.Ловцов, Д.П.Зегжда и др.). Однако, несмотря на большое количество публикаций по безопасности РТКС, остается задача совершенствования существующих алгоритмов управления ресурсами РТКС, а также задача разработки принципиально новых методов и алгоритмов, отвечающих современным требованиям безопасности. Выявлению проблем в существующих методах управления ресурсами, предложениям по их модификации и исследованиям в области создания перспективных моделей, методов и алгоритмов посвящена эта работа.
Объект исследования. Объектом исследования являются распределенные телекоммуникационные системы, причем рассматриваются не только системы передачи данных, но и оконечные устройства (клиентские и серверные машины) и их операционные системы.
Предмет исследования. Предметом исследования являются методы, алгоритмы, процедуры и программы распределенных операционных систем (РОС), отвечающие за решение задач множественного доступа к разделяемым ресурсам РТКС (задачи управления ресурсами РТКС).
Научная проблема. Суть научной проблемы заключается в том, что, с одной стороны, необходимо полностью обеспечить требования информационной безопасности и безопасного разделения ресурсов РТКС; с другой стороны, наблюдается недостаточность научно-методического аппарата, позволяющего это сделать с достаточной полнотой. Проблема заключается также и в необходимости нахождения связей и выявления зависимостей параметров безопасности от параметров распределенности и помехоустойчивости РТКС с последующей формализацей этих зависимостей. В литературе, посвященной защите информационных ресурсов, основной акцент делается лишь на защиту ресурса от умышленной помехи (атаки); вопросы взаимосвязи защиты ресурсов от атаки и защиты от саморазрушения из-за помех, вызванных некорректным поведением алгоритмов управления ресурсами, сбоев системы и так далее остается в стороне. Кроме того, существующие алгоритмы защиты так или иначе ориентированы на обеспечение безопасности коммуникационных ресурсов (например, методы классической криптографии), либо прикладных программ; при этом вопросы защиты системных информационных ресурсов интеллектуальных оконечных устройств (компьютеров), а также вопросы защиты от атак системных программ обработки данных и модулей операционных систем освещены недостаточно.
Цель диссертационной работы состоит в повышении степени безопасности как функции от помехоустойчивости распределенных операционных систем. Критерием безопасности при этом является сохранность (сильный критерий) или восстановимость (более слабый критерий) ресурса после воздействия помехи. Для решения возникающей
при этом научной проблемы требуется решение следующих научно-технических задач:
Защита ресурса от разрушения в силу внутренних ошибок или
сбоев системы;
Защита ресурса от разрушения вследствие целенаправленного
вмешательства (атаки),
Задача обеспечения одинаковой эффективности разработанных
методов и алгоритмов как в сосредоточенном, так и в
распределенном окружении.
Научная новизна работы заключается в том, что в ней найдены новые решения комплекса научно-технических проблем, позволяющие достичь поставленной в работе цели:
Создана ресурсно-мониторная классификация, более точно по сравнению с существующими класиификациями (Флинна, Дзагупты, Кришнамарфи и др.) отражающая взаимодействие процессов с РОС при разделении ресурсов РТКС; Впервые объединены задача защиты ресурсов от естественных помех и задача защиты ресурса от атак и показана их взаимосвязь;
Впервые предложены и обоснованы дезинформирующие методы защиты от атак процедур РОС доступа к ресурсам РТКС;
Впервые предложены и обоснованы многомерные динамические криптопространства (ортоиды), методы квазиквантовой криптографии, метод параметризации процессов РОС.
Создан новый комплекс моделей, методов и программно-аппаратурных средств РОС, позволяющих более эффективно решать задачи безопасного управления доступом к информационным ресурсам;
Методы исследования основаны на элементах дискретной математики, теории вычислительных систем, теории информации, теории системного программирования и методах лабораторного эксперимента.
Достоверность научных положений, выводов и практических результатов и рекомендаций подтверждена корректным обоснованием и анализом концептуальных и математических моделей рассматриваемых способов безопасного управления ресурсами; наглядной технической интерпретацией моделей; вытеканием существующих методов обеспечения безопасного управления ресурсами РТКС как частных случаев методов, предложенных в работе; данными экспериментальных исследований.
Практическая ценность работы состоит в том, что полученные в ней результаты позволяют:
повысить безопасность и эффективность алгоритмов
управления ресурсами;
ускорить в ряде случаев в N раз процессы принятия решений
по обеспечению безопасности, где N— число абонентов РТКС;
создать более защищенные РОС;
дать рекомендации по построению надежных систем защиты
информации.
Реализация результатов работы произведена в ОАО «Электросвязь» Владимирской области, Международном концерне «Aladdin», УВД Владимирской области и Интернет-провайдере «ВладИнфо». Использование результатов подтверждено актами о внедрении.
Основные результаты работы докладывались на 8 Всесоюзных и Всероссийских конференциях («Программное обеспечение ЭВМ» (Калинин, 1984), Всесоюзной конференции «Локальные вычислительные сети» (Рига, 1984), Второй Всероссийской конференции «Информационные технологии в
России» (Москва, 2001) и др.), 6 Международных конференциях («Математика, компьютер, образование» (Москва, 2001), «Industrial System Engineering» (Тула, 2003), НТК «Новые методологии проектирования изделий микроэлектроники» (Владимир, 2003) и других), а также на региональных и местных конференциях.
По теме диссертации опубликовано 42 работы, в т.ч. 1 монография, 4 учебных пособия, 8 статей в изданиях из списка ВАК, 29 других статей и тезисов докладов на конференциях.
Структурно диссертация состоит из введения, шести глав, заключения, списка использованной литературы из 253 наименований и приложений.
Модель ISO/OSI
Модель ISO/OSI (семиуровневая архитектура открытых систем) разработана на основе концепции взаимодействия процессов пользователей (прикладных процессов) через транспортную сеть с помощью метода обмена сообщениями (рис. 1.1) [21, 253].
При этом в задачу транспортной сети входит доставка сообщений из одной точки в другую без всякой их интерпретации, а также маскирование механизма доставки сообщений (т.е. сглаживание различных реализаций сегментов сети, или обеспечение прозрачности). Таким образом, в соответствии с концепцией, сеть представляется процессам пользователей однородной, или гомогенной.
Модель ISO/OSI (рис. 1.2) является детализацией рассмотренной концепции. Помимо детализации, модель производит упорядочивание процессов по вертикали (интерфейсные взаимодействия) и горизонтали (протокольные взаимодействия). Рассмотрим основные особенности модели ISO/OSI (далее просто модели). Как видно из рисунка, для ее рас смотрения необходимо наличие как минимум двух систем. На рисунке эти две системы обозначены как система А и система В.
Нижние четыре уровня (транспортный - физический) в соответствии с концепцией образуют транспортную сеть, прозрачную для процессов высоких уровней (прикладной - сеансовый). Протоколы для транс портной сети в настоящее время стандартизованы (например, семейство протоколов IP или Х.25).
Механизмы взаимодействия процессов в соответствии с этими протоколами хорошо описаны в литературе [116, 117, 253] и в документации по стандартам (RFC и МККТТ), поэтому мы их касаться не будем. Отметим лишь, что протокол транспортного уровня называется сквозным (endo-end). Процессы именно этого уровня предоставляют в рамках систем единый для всей сети интерфейс (интерфейс транспортного уровня).
Рассмотрим взаимодействие процессов на сеансовом уровне. По определению, основная задача этих процессов состоит в выделении ресурсов, необходимых для проведения сеанса связи между прикладными процессами, расположенными в разных системах (как правило, между клиентским и серверным процессами). Поддержка протоколов сеансового уровня осуществляется операционной системой [11, 26]. При этом выполняются следующие шаги: Идентификация пользователя (установление его уникального имени).
Аутентификация (проверка подлинности пользователя).
Авторизация (предоставление пользователю соответствующих прав и выделение необходимых для поддержания сеанса ресурсов).
Контроль (на протяжении всего сеанса) за корректностью использования ресурсов, а также (при необходимости) ведение статистики взаимодействия процессов-участников сеанса.
Основной трудностью при организации сеанса является решение задачи построения логической звезды процессов (рис. 1.3), т.е. построение алгоритма взаимного исключения при множественном доступе (МД) процессов к общему ресурсу (серверу) в режиме разделения времени [21, 138]. Эта задача является достаточно сложной даже для сосредоточенных систем с централизованным управлением; в распределенных системах она усложняется, как минимум, на порядок. Целью задачи является устранение конфликта, возникающего при МД, и, как следствие, обеспечение безопасного управления общими ресурсами (ОР).
Приведем способы решения задачи взаимного исключения, реализованные в семействе протоколов TCP/IP (Transport Control Protocol/Internet Protocol). Первый способ реализован в протоколе UDP (User Datagram Protocol) (рис. 1.4). Способ предполагает, что имеется некий централизованный процесс-сервер, обеспечивающий упорядочивание запросов с помощью общей очереди. В этом случае задача разделения ресурса при МД решается достаточно тривиально с помощью монитора Хоора [138].
Недостаток способа состоит в том, что в случае цепочечных запросов (т.е. запросов, состоящих из нескольких связанных команд) серверу необходимо хранить предысторию каждого из своих клиентов, что является достаточно трудной задачей.
Децентрализованные алгоритмы обеспечения неделимости транзакций в РТКС
В алгоритме синхронного голосования [183] контроллер, принявший запрос на транзакцию, присоединяет тег - временной штамп из сообщения, содержащего суть запроса и идентификатор пославшего запрос абонента. Далее, если не было инициировано голосование предыдущей транзакции, этот контроллер посылает широковещательное сообщение со своим голосом всем остальным контроллерам (рис. 2.1).
Если предположить, что можно отличить более высокий приоритет некоторой транзакции Та от приоритета транзакции Тс, то система из трёх контроллеров будет работать следующим образом. 1. Контроллер В: если голос для транзакции Тс принят раньше, чем некоторый голос для Та, то контроллер В широковещательно посылает свой голос, отдавая его Тс (рис. 2.1а.). При получении запроса на транзакцию Та В уничтожает Тс и широковещательно отдаёт свой голос транзакции Та (рис. 2.lb.). Если голос за транзакцию Та принят раньше, В сразу отдаёт свой голос за Та, отбрасывая голоса за Тс, пришедшие позднее. 2. Контроллер С: отдаёт свой голос за Та при приёме голоса за Та. 3. Контроллер А: отбрасывает все голоса за Тс.
После приёма голосов от всех контроллеров за одну и ту же транзакцию (в рассмотренном случае Та) каждый из контроллеров начинает выполнение этой транзакции.
В другом алгоритме синхронного голосования явно выделяется инициирующий контроллер [197]. Если транзакция поступила к контроллеру на выполнение (т.е. от пользователя), то этот контроллер инициирует голосование, посылая запрос на начало голосования остальным контроллерам. Если все остальные контроллеры ответят на этот запрос передачей сообщения АСК+, то транзакция принимается и инициирующий контроллер широковещательно посылает UPD сообщение для локальных инициации транзакции всеми остальными контроллерами.
Контроллеры, закончившие локальное выполнение транзакции (или вообще не начинавшие её выполнение) сигнализируют ответом END инициатору. После приёма END - сообщений от всех контроллеров, инициатор переходит в начальное состояние. Контроллеры, завершившие очередную транзакцию, также переходят в начальное состояние и готовы для новых транзакций.
Каждый из контроллеров, приняв запрос на новую транзакцию, может начать её выполнение только в том случае, если она совместима с текущей транзакцией, выполняемой контроллером. Только в этом случае сообщение АСК+ может быть послано инициатору, и начаться выполнение новой транзакции после приёма UPD. Транзакции считаются совместимыми, если они запрашивают различные наборы чтения и записи для своего выполнения. Приоритеты транзакций различаются согласно алгоритму, приведённому в работе [165]. На рис. 2.2. показано, как различается конфликт в том случае, когда две совместимые транзакции инициируют запрос на голосование. Контроллеры А и С голосуют за Та и Тс конкурентно. Контроллер В голосует за обе транзакции, т.к. он находится в начальном состоянии. А и С голосуют друг за друга после проверки, что транзакции Та и Тс совместимы (рис 2.2Ь). Инициируется локальное выполнение транзакций (рис 2.2с) и после завершения локального выполнения сигнализируется окончание (рис 2.2d).
Алгоритмы асинхронного голосования были использованы в распределённой базе данных SDD-1[164 - 166]. В этой системе транзакции группируются в набор классов транзакций в соответствии сих наборами чтения и записи. Классы транзакций предварительно определяются администратором базы данных. С целью уменьшения затрат на синхронизацию разработаны четыре различных протокола синхронизации.
Протокол Р1 предоставляет управление на нижнем уровне, обладая минимальной стоимостью и высокой эффективностью, в то время, как протокол Р4 обеспечивает верхний уровень управления, обладая большими накладными расходами. Протоколы выбираются в соответствии с классами транзакций. Упорядочивание запросов чтения/записи от различных параллельных транзакций осуществляется путём присваивания временных штампов транзакциям и записи этих временных штампов во все запрошенные элементы базы данных, к которым конкретная транзакция имеет доступ [231]. Изменение копии элемента базы данных предоставляется транзакции только в том случае, если временной штамп запроса транзакции на изменение более новый по сравнению с временным штампом копии.
Алгоритм гарантированной доставки широковещательных сообщений
Алгоритмы обеспечения неделимости синхроопераций, рассмотренные в главе 2, ориентированы на применение метода обмена сообщениями и, как следствие, могут быть использованы в любой РИТКС, независимо от ее топологии и протяженности. Однако, эффективность таких алгоритмов достаточно невелика и связана с большими накладными расходами на выполнение синхроопераций. Поэтому в ряде случаев представляют интерес алгоритмы, учитывающие специфику РИТКС и позволяющие использовать особенности их топологии и аппаратурных решений для увеличения эффективности защитных алгоритмов. Такие решения могут быть найдены в классе кластерных систем, представляющих большой интерес в последние годы.
Кластерные системы представляют собой объекты, обладающие свойствами классического мультипроцессора, так и высокопроизводительной локальной сети (ЛС). Таким образом, для кластеров большое значение параллельная обработка данных всеми его процессорами. Традиционно считается, что передача информации от одного процессора к другому является вынужденной задачей, снижающей эффективность использования систем. В данной главе приводятся алгоритмы, позволяющие совместить передачу данных в общем канале с их вычислениями «на лету». Эти алгоритмы были разработаны в 70-80х годах в Институте проблем управления группой под руководством Г.Г.Стецюры [116, 117]. Они так и были названы - вычисления в общем канале (ВОК). Примене ниє этих алгоритмов на современной элементной базе для решения в первую очередь задач синхронизации параллельных процессов в кластерах может дать весьма серьезный результат.
В главе рассматриваются вопросы, связанные с решением задач квитирования широковещательных сообщений с помощью групповых квитанций. Такой подход возможен в системах с децентрализованным приоритетным управлением (ДПУ и ДПВУ), а также в системах с ВОК. Применение групповой квитанции позволяет избавиться от линейной зависимости времени квитирования от числа абонентов-адресатов и обойтись одной групповой квитанцией для всех абонентов, независимо от их количества. Рассматриваются семафорные механизмы синхронизации в скрепке Стецюры, основанные на принципе предварительной блокировки ресурса. При этом выделяются два основных алгоритма: с абсолютной монополизацией ресурса и монополизацией ресурса по записи. Таким образом, время выполнения синхроопераций уменьшается, а безопасность системы увеличивается за счет появления возможности жесткой (аппаратурной) реализации основных защитных операций.
Из анализа, проведённого в главе 2 настоящей работы, следует, что посылка широковещательного сообщения является базовой операцией, необходимой для решения задач распределённого управления в РИС, и, в частности, в РТКС.
В сетях связи, используемых в исследуемых системах, эта акция имеет свои особенности. Первая особенность заключается в том, что наличие общего канала позволяет применять широковещательную адресацию в сообщениях; этот широковещательный адрес распознают все абоненты системы и принимают эту информацию в приёмный буфер одновременно. Таким образом, в принципе достаточно одной посылки широковещательного сообщения по каналу. Однако передаваемая информация может быть искажена, и требуется сообщать источнику об обнаруженных искажениях информации. Для этой цели приходится применять сбор квитанций, подтверждающих правильность приёма от всех абонентов.
Формальная модель системы с безопасным доступом к информационным ресурсам
Будем называть такую матрицу матрицей отношений. При этом если между объектами О/ и Oj существует некоторое отношение Rk, соответствующий элемент gij — 1, в противном случае этот элемент равен нулю. Как видим, матрица G(R/J формально является аналогом матрицы связности в теории графов, однако смысл ее другой.
Определим видимость объекта 0/ в отношении Rk со стороны других объектов Oj как множество ненулевых элементов матрицы G(R])\ Vi(RjJ = { gij }, Vy : j = 1... {gjj } gjj Ф 0. Поскольку для любой пары объектов может существовать более одного отношения (например один объект может читать, уничтожать или запускать на выполнение другой объект - три разных отношения), все множество видимости V( объекта 0/ определим как У І = {УМ W Vi(Ri)}, (4.1.4) где /- максимальное число отношений, в которые может вступать объект О/.
Фактически Vi представляет собой множество множеств, определяющее набор допустимых операций над объектом ot со стороны других объектов. Тогда все множество связей (отношений) для всех объектов системы будет L = \JVt. (4.1.5)
Таким образом, задавая различные спецификации области видимости УІ для каждого объекта, мы будем получать системы с различной степенью защищенности. Понятно, что мы при разработке систем защиты не можем изменять спецификации множеств Z); и С/, которые определены разработчиком базовых систем (т.е. систем, подлежащих последующей защите) в соответствии с природой объекта. Мы будем иметь дело только с множествами Vj, спецификация (определение) которых производится заказчиком системы защиты исходя из конкретных технических требований.
Теперь мы можем дать определение безопасной системы. Будем называть систему (4.1.1) безопасной, если для каждого объекта о І (4.1.2) элементы множества Vj соответствуют спецификации защиты.
Тогда целью нашей работы будет нахождение некоторого семейства функций (алгоритмов) ft, і=1,...,т для каждого объекта о,-, выполняющих роль ограничителей множества С, допустимых над объектом операций со стороны других объектов: (fj = fi(VhCi) ,i,j = \-m (4.1.6) где С і - ограничение по операциям (отношениям) объекта Oj по отношению к объекту О/. Таким образом, (4.1.6) представляет собой формальное выражение ограничений лоступа.
При такой постановке задачи мы никоим образом не привязываемся к конкретике реализации методов защиты в виде криптосистемы, защитного экрана и так далее, а оставляем себе право выбора тех или иных методов (либо даже отдельных алгоритмов из той или иной группы методов) защиты информации. Более того, речь может идти о возможности построения настраиваемых систем защиты, способных адаптироваться к новым методам и алгоритмам атак компьютерных взломщиков.
Анализ существующих методов защиты информации позволяет выявить четыре основных направления (группы методов): - применение методов криптографической защиты; - использование защитных экранов (FireWalls); - использование защищенных каналов связи; - использование пост-реактивных методов противодействия взлому.