А.А.Большаков, А.Б. Петpяев, В.В. Платонов, Л.М. Ухлинов

advertisement
А.А.Большаков, А.Б. Петpяев,
В.В. Платонов, Л.М. Ухлинов
ОСНОВЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ДАННЫХ В
КОМПЬЮТЕPНЫХ СИСТЕМАХ И СЕТЯХ.
Часть 1. Методы, сpедства и механизмы защиты данных.
ВИККА им. Можайского СПБ, 1995
ВВЕДЕНИЕ
Безопасность-предотвращение вреда.
Платон, "Диалоги"
Научно-технический прогресс и связанная с ним интеграция человеческой деятельности привели к
возникновению глобальных проблем современности, которые остро поставили перед человеческой цивилизацией
проблему выживания, безопасности ее развития.
В зависимости от угроз человеческому существованию можно рассматривать следующие составляющие
безопасности человеческого общества: ядерную, экологическую, политическую, технологическую, экономическую
и другие. Основой этих составляющих является информационная безопасность.
Возникновение проблемы информационной безопасности во многом связано с созданием и повсеместным
использованием электронно-вычислительных машин (ЭВМ) и, на их основе, разнообразных организационнотехнических ("человек-машина") систем. Важнейшим классом таких систем являются автоматизированные
системы управления (АСУ), в которых сбор, хранение и обработка данных при реализации функций управления
осуществляется средствами автоматизации и вычислительной техники. Современные АСУ, в том числе АСУ
войсками (АСУВ), объединяют в единый контур большое число разнородных территориально распределенных
объектов и включают в себя специализированные и универсальные вычислительные машины и системы,
устройства передачи данных, терминалы и другие абонентские устройства. В зависимости от целевого
предназначения компоненты АСУ объединяют в различные информационно-вычислительные сети (ИВС).
Создание АСУ и ИВС привело к формированию в рамках мировой цивилизации международного
информационного пространства. С другой стороны, повсеместное внедрение в практику человеческой
деятельности систем управления сопровождается целым комплексом негативных последствий, таких как
компьютерные преступления, экономические и политические диверсии с применением средств ИВС, электронные
диверсии, нарушения прав и свобод личности и т.п. Все это свидетельствует об особой роли информационной
безопасности в жизни человеческого общества.
Развитие теоретических основ создания и применения сложных систем управления существенно зависит от
темпов развития информатики - комплекса наук, изучающих законы, методы и средства накопления, обработки и
передачи информации с помощью ЭВМ и других технических средств. Это обусловлено тем, что современный
технический уровень объектов управления требует высокого качества самого процесса управления, который
может быть достигнут только на основе использования при принятии решений полной, своевременной и
непротиворечивой информации. Необходимо отметить, что понятие "информация" в информатике
рассматривается в узком, практическом аспекте, а именно - под информацией понимаются все сведения,
являющиеся объектом хранения, преобразования и передачи.
В то же время нельзя забывать о том, что информатика является лишь обеспечивающим звеном в общей системе
научных основ управления, которые опираются на теоретический фундамент кибернетики. Кибернетический
подход к созданию систем управления организационно-технического типа состоит в том, чтобы в необходимой
мере были учтены информационные и динамические свойства всех элементов системы, функционирующей на
основе принципов "обратной связи", для выполнения целевых задач.
Теоретическим базисом информатики является теория информации, которая входит на правах самостоятельного
раздела в кибернетику и включает методы математического описания и исследования информационных процессов
различной природы, методы передачи, обработки, хранения, извлечения и классификации информации в
различных областях деятельности. Информатика охватывает методы теории информации, но применительно к
организационно-техническим системам.
Создание любой АСУ невозможно без разработки и оптимизации алгоритмического обеспечения. Основой
алгоритмического обеспечения является теория алгоритмов - раздел математики, изучающий процедуры
(алгоритмы) вычислений и математические объекты, которые могут быть определены на базе методов теорий
множеств, отношений и функционалов. Причем, наиболее важными для решений проблем АСУ являются такие
разделы этой теории, как теория вычислительных процедур и теория сложности алгоритмов. Теория
вычислительных процедур изучает различные классы автоматов с точки зрения их алгоритмических
возможностей, а также процессы вычислений, порождаемые автоматами различных классов. Теория сложности
алгоритмов изучает методы получения оценок сложности вычислений различных функций и классов функций.
Эти две теории послужили основой создания в рамках информатики раздела, именуемого прикладной теорией
алгоритмов и изучающего математические модели дискретных систем, входящих в состав систем управления.
Прикладная теория алгоритмов в значительной мере определяет основное содержание процессов исследования
функциональных свойств и характеристик элементов систем управления, а также может использоваться для
синтеза алгоритмического обеспечения комплексов средств автоматизации, входящих в состав АСУ.
Построение сложных территориально распределенных систем управления предполагает необходимость
исследования не только методов и алгоритмов обработки, накопления и хранения информации, но и методов ее
передачи между отдельными элементами системы. Это обстоятельство обусловливает использование при
исследовании и разработке систем управления методов теории передачи информации, теории кодирования и
криптологии.
Теория передачи информации является разделом теории информации, изучающим методы оценивания качества и
оптимизации систем связи и систем передачи данных. Теория кодирования является разделом теории информации,
изучающим вероятностные и сложностные аспекты кодирования информации. Криптология является разделом
теории информации, который изучает методы преобразования информации для обеспечения ее секретности и
методы анализа засекреченной информации.
Совокупность этих теорий, хотя и охватывает различные области организации скрытной передачи данных в
системах управления, тем не менее не позволяет структурировать проблему обеспечения безопасности
информации и проводить анализ процессов во всех аспектах функционирования системы (морфологическом,
функциональном, информационном и прагматическом). Следовательно, возникает необходимость формирования
нового научного направления - ТЕОРИИ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИИ, интегрирующей
основные научные положения прикладной теории алгоритмов, теории передачи информации, теории кодирования,
криптологии и с единых системных позиций изучающей методы предотвращения случайного или
преднамеренного раскрытия, искажения или уничтожения хранимой, обрабатываемой и передаваемой
инфоpмации в системах управления, функционирующих на базе средств вычислительной техники. Роль и место в
современной науке, а также основные научные направления данной теории показаны на рис.В.1. В связи с тем, что
новая теория появилась на основе синтеза методов нескольких разделов кибернетики и информатики, исследует
информационные процессы, протекающие в организационно-технических системах, и ориентирована, прежде
всего, на средства автоматизированной обработки данных, то по своему содержанию она должна входить в
информатику в качестве самостоятельного раздела с четко обозначенной предметной областью.
В предлагаемом учебном пособии рассматриваются основные положения теории обеспечения безопасности
информации в системах управления. В связи с тем, что сбор, хранение, обработка и передача информации в
сложных распределенных системах управления осуществляются на базе средств ИВС, теория обеспечения
безопасности информации рассматривается применительно к ИВС. В системах электронной обработки и передачи
информации, включая средства вычислительной техники и ИВС, информация представляется в формализованном
виде - в виде данных. Поэтому вместо понятия "информация" в учебном пособии используется понятие "данные".
+----------------------------------+ +-------------------------------+
¦
МАТЕМАТИКА
¦ ¦
КИБЕРНЕТИКА
¦
¦наука о количественных отношениях +--¦наука об общих закономерностях ¦
¦и пространственных формах
¦ ¦управления и связи в природе и ¦
¦действительного мира
¦ ¦обществе
¦
+----------------------------------+ +-------------------------------+
+----------+
+-------------+
+-----------------+
¦ ТЕОРИЯ ¦
¦ ИНФОРМАТИКА +--------¦ТЕОРИЯ ИНФОРМАЦИИ+---------+
¦АЛГОРИТМОВ+--+
+-------------+
+-----------------+
¦
+----------+ +------------+
+------++----------+ +-----------+ +-------------+
+---------------------++----------------+ ¦¦ теория
+-¦Кpиптология+-¦ Теоpия
¦
¦Теоpия вычислительных¦¦Теоpия сложности¦ ¦¦пеpедачи ¦ +-----------+ ¦ кодиpования ¦
¦ пpоцедуp
¦¦алгоpитмов
¦ ¦¦инфоpмации¦ ¦
¦ +-------------+
+---------------------++----------------+ ¦+----------+ ¦
¦
¦
+-----------------------------+
¦ ¦ +--------------+ +-------------+
¦
¦Пpикладная теоpия алгоpитмов +-----+ ¦ ¦
Теоpия
¦ ¦ Теоpия
¦
¦
+-----------------------------+
¦ ¦ кpиптогpафии ¦ ¦кpиптоанализа¦
¦
¦
¦ +--------------+ +-------------+
¦
¦
¦
¦
¦
¦
+----------------------------------------------------------------------------------+
¦
ТЕОРИЯ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИИ
¦
¦
¦
¦ новое научное напpавление, изучающее методы пpедотвpащения случайного или
¦
¦ пpеднамеpенного pаскpытия , искажения или уничтожения хpанимой, обpабатываемой
¦
¦ и пеpедаваемой инфоpмации в системах упpавления, функциониpующих на базе сpедств ¦
¦ вычислительной техники и пеpедачи данных
¦
+----------------------------------------------------------------------------------+
¦
¦
¦
¦
¦
¦
¦
¦
+-----------------------------------------------------------------------------------------+
¦ Сpедства и механизмы¦ Методы фоpмализации
¦ Модели и методы
¦ Модели и методы
¦
¦ защиты инфоpмации
¦ пpоцессов обеспечения
¦ упpавления защитой¦ оценивания эффекти- ¦
¦
¦ безопасности инфоpмации ¦ инфоpмации
¦ вности защиты
¦
¦
¦ и синтеза стpуктуpы
¦
¦ инфоpмации
¦
¦
¦ системы обеспечения
¦
¦
¦
¦
¦ безопасности инфоpмации ¦
¦
¦
+-----------------------------------------------------------------------------------------¦
¦ Основные научные напpавления теоpии обеспечения безопасности инфоpмации
¦
+-----------------------------------------------------------------------------------------+
Рис. В.1
Учебное пособие составлено по материалам открытых отечественных и зарубежных изданий и состоит из двух
частей.
В первой части рассматриваются общие вопросы обеспечения безопасности данных, методы и средства защиты
данных, а также основные механизмы защиты операционных систем и баз данных.
Вторая часть учебного пособия посвящена особенностям обеспечения безопасности данных в ИВС. Рассмотрены
проблемы формализации процессов обеспечения безопасности данных, управления защитой данных в ИВС,
создания системы обеспечения безопасности данных ИВС и оценивания ее эффективности.
Каждый раздел учебного пособия содержит упражнения по материалу раздела и список основной литературы.
Для облегчения работы с учебным пособием основные рассмотренные в пособии методы защиты данных
сопровождены пояснительными примерами.
В первой части учебного пособия раздел I написан А.Б.ПЕТРЯЕВЫМ и Л.М.УХЛИНОВЫМ, раздел 2 А.Б.ПЕТРЯЕВЫМ, раздел 3 В.В.ПЛАТОНОВЫМ и Л.М.УХЛИНОВЫМ, раздел 4 - А.А.БОЛЬШАКОВЫМ, раздел
5 - А.Б.ПЕТРЯЕВЫМ и В.В.ПЛАТОНОВЫМ, раздел 6 B.B.ПЛATOHOBЫМ. Введение и заключение написаны
авторами совместно.
Авторский коллектив выражает признательность В.М.КУЗЬМИЧУ за участие в написании п.6.2.2 и
Е.Б.ДЕРЖАВИНОЙ за быструю и качественную подготовку рукописи к изданию.
1. СИСТЕМА ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ДАННЫХ ИВС
Мы ставим здесь перед собой задачу
исследования множества объектов
нашей любознательности, причем мы
будем исследовать их с тем недоверием, с каким надо относиться к
любой системе до тех пор, пока она
не продемонстрирована нашим глазам
или не доказана нашему разуму.
Вольтер, "О феноменах природы"
В настоящее время основные понятия теории обеспечения безопасности инфоpмации еще только складываются,
поэтому необходимо уточнить базовые определения, используемые в учебном пособии.
Безопасность данных - такое состояние хранимых, обрабатываемых и передаваемых данных, при котором
невозможно их случайное или преднамеренное получение, изменение или уничтожение [5].
Защита данных - совокупность целенаправленных действий и мероприятий по обеспечению безопасности
данных.
Таким образом, защита данных есть процесс обеспечения безопасности данных, а безопасность - состояние
данных, конечный результат процесса защиты. Защита данных осуществляется с использованием методов
(способов) защиты.
Метод(способ) защиты данных - совокупность приемов и операций, реализующих функции защиты данных.
Примерами методов защиты могут служить методы паролирования, методы шифрования и т.п. На основе
методов (способов) защиты создаются средства защиты. Примерами средств защиты могут служить устройства
шифрации/дешифрации, программы анализа пароля, датчики охранной сигнализации, законы об авторских правах
и т.п.
Механизм защиты - совокупность средств защиты, функционирующих совместно для выполнения определенной
задачи по защите данных.
В качестве механизмов защиты могут выступать криптографические протоколы, механизмы защиты
операционных систем (ОС), баз данных (БД) и др.
Система обеспечения безопасности данных - совокупность средств и механизмов защиты данных.
Ресурсом называется любой компонент ИВС (устройство, программа, файл, БД и т.п.), который может
использоваться для выполнения каких-либо операций в ИВС.
Доступ - процесс использования технических и программных средств, обеспечивающий логическую
(физическую) связь с каким-либо ресурсом для его функционального использования или получения
(модификации) поддерживаемых этим ресурсом данных.
Субъект доступа - активный ресурс, осуществляющий какие-либо действия над другими ресурсами.
В качестве субъекта доступа могут выступать оператор, процесс или устройство.
Объект доступа - пассивный ресурс, используемый субъектом доступа для выполнения операций.
В процессе функционирования ИВС множества субъектов и объектов доступа (в дальнейшем - субъектов и
объектов) могут динамически изменяться.
Сформулированные определения позволяют с единых позиций подойти к рассмотрению проблемы безопасности
данных в ЭВМ, вычислительных системах и ИВС. Другие определения будут вводиться по мере необходимости.
Первоначально проблема обеспечения безопасности данных возникла при расширении круга пользователей ЭВМ
и вычислительных систем. Увеличение количества ЭВМ и областей их применения расширило возможности
модификации, хищения и уничтожения данных. Появление ИВС еще более усугубило проблему обеспечения
безопасности данных. В настоящее время можно выделить следующие этапы развития концепций обеспечения
безопасности данных [2], сущность которых приведена в таблице 1.1.
Центральной идеей первого этапа являлось намерение обеспечить безопасность данных механизмами,
функционирующими по строго формальным алгоритмам. Для создания таких механизмов использовались
технические и, в основном, программные средства. Программные средства защиты включались в состав ОС или
систем управления базами данных (СУБД). Слабым звеном разработанных механизмов защиты оказался механизм
защиты доступа пользователя к данным. Поэтому следующим шагом к повышению эффективности защиты стала
организация дифференцированного доступа к данным. Однако, всесторонние испытания таких систем, как
MULTICS и ADEPT-50 [6] показали, что указанные системы, с точки зрения обеспечения безопасности данных,
имеют множество недостатков.
Главными достижениями второго этапа стали построение ядра безопасности (специального программного
компонента, управляющего программными и, частично, аппаратными средствами защиты данных) и создание
механизмов защиты, которыми могли бы управлять пользователи ИВС. После нескольких попыток включения
ядра безопасности в состав ОС была сформирована концепция создания функционально самостоятельной
подсистемы управления механизмами защиты данных, которые включали технические, программные,
инфоpмационные и лингвистические средства. Этот этап также характеризовался интенсивным развитием
технических и криптографических средств запиты. Однако, несмотря на принимаемые меры, обеспечение
надежной защиты данных оказалось недостижимым, о чем свидетельствовали многочисленные факты нарушения
безопасности данных [1].
Таблица 1.1
+---------------------------------------------------------------+
¦Этапы развития ¦
¦
¦концепций обес-¦
Характеристика зтапа
¦
¦печения безо- ¦
¦
¦пасности данных¦
¦
+---------------+-----------------------------------------------¦
¦ 1 этап
¦ Попытки обеспечить безопасность данных чис¦
¦ 1960-1970 r.r.¦ то формальными механизмами, содержащими,
¦
¦
¦ главным образом, технические и программные
¦
¦
¦ средства. Сосредоточение программных
¦
¦
¦ средств в рамках операционных систвм и
¦
¦
¦ систем управления базами данных.
¦
+---------------+-----------------------------------------------¦
¦ 2 зтап
¦ Дальнейшее развитие формальных механизмов
¦
¦ 1970-1976 г.г.¦ защиты данных. Выделение управляющего ком¦
¦
¦ понента защиты данных - ядра безопасности.
¦
¦
¦ Развитие неформальных средств защиты. Фор¦
¦
¦ мирование основ системного подхода к обес¦
¦
¦ печению безопасности данных.
¦
+---------------+-----------------------------------------------¦
¦ 3 этап
¦ Дальнейшее развитие механизмов второго эта¦
¦ 1976-1990 г.г.¦ па. Формирование взгляда на обеспечение бе¦
¦
¦ зопасности данных как на непрерывный про¦
¦
¦ цесс. Развитие стандартов на средства за¦
¦
¦ щиты данных. Усиление тенденции аппаратной
¦
¦
¦ реализации средств защиты данных. Формиро¦
¦
¦ вание вывода о взаимосвязи обеспечения бе¦
¦
¦ зопасности данных, архитектуры ИВС и тех¦
¦
¦ нологии ее функционирования. Формирование
¦
¦
¦ системного подхода к проблеме обеспечения
¦
¦
¦ безопасности данных.
¦
+---------------+-----------------------------------------------¦
¦ IV этап
¦ Дальнейшее развитие механизмов третьего
¦
¦ 1990 г. ¦ этапа. Формирование основ теории обеспече¦
¦ по настоящее ¦ ния безопасности данных в ИВС. Разработка
¦
¦ вpемя
¦ моделей, методов и алгоритмов управления
¦
¦
¦ защитой данных в ИВС.
¦
+---------------------------------------------------------------+
Поиски выхода из этой ситуации составляли основное содержание третьего этапа развития концепций
обеспечения безопасности данных. Основной отличительной особенностью третьего этапа стало применение
принципа системности к проблеме обеспечения безопасности данных [2]. Принцип системности требует, чтобы
обеспечение безопасности данных представляло собой регулярный процесс, осуществляемый на всех этапах
жизненного цикла ИВС при комплексном использовании всех средств и механизмов защиты. При этом все
средства и механизмы, используемые для защиты данных, объединяются в систему обеспечения безопасности
данных (СОБД), которая должна обеспечивать многоуровневую защиту данных не только от злоумышленников,
но и от пользователей и обслуживающего персонала ИВС.
Четвертый этап отражает современные представления об интеллектуализации АСУ. Накопленный опыт в
области обеспечения безопасности данных, а также усиление тенденции к стандартизации и унификации средств
ИВС позволили перейти к разработке методов, моделей и алгоритмов управления защитой данных в ИВС. На
четвертом этапе также были сформированы основы теории обеспечения безопасности данных в ИВС и
определены основные научные направления исследований в рамках указанной теории. Приведенные
характеристики основных этапов развития концепций обеспечения безопасности данных показывают, каким
образом исторически сложились основные научные направления теории обеспечения безопасности данных
(рис.В.1).
1.1. Основные угрозы безопасности данных в ИВС
Системный анализ любой проблемы начинается с анализа целей [4]. Однако, для того, чтобы сформулировать
главную (глобальную) цель защиты данных в ИВС и осуществить ее дальнейшую конкретизацию (построить
дерево целей и задач защиты данных в ИВС), необходимо определить потенциально существующие возможности
нарушения безопасности хранимых, обрабатываемых и передаваемых в ИВС данных.
Под угрозой безопасности данных будем понимать потенциально существующую возможность случайного или
преднамеренного действия или бездействия, в результате которого может быть нарушена безопасность данных
Прежде, чем непосредственно перейти к описанию угроз безопасности данных , дадим несколько определений.
несанкционированный доступ к данным- злоумышленное или случайное действие, нарушающее
технологическую схему обработки данных и ведущее к получению, модификации или уничтожению данных.
Несанкционированный доступ к данным (НСД) может быть пассивным (чтение, фотографирование и т.п.) и
активным (модификация, уничтожение).
Нарушитель - субъект, осуществляющий НСД к данным.
противник (злоумышленник) - субъект, осуществляющий преднамеренный НСД к данным.
Из приведенных определений видно, что понятие "нарушитель" перекрывает понятие "противник", поэтому в
дальнейшем будем использовать понятие "нарушитель".
Нарушение безопасности данных возможно как вследствие различных возмущающих воздействий, в результате
которых происходит уничтожение (модификация) данных или создаются каналы утечки данных, так и вследствие
использования нарушителем каналов утечки данных.
Классификация угроз безопасности данных приведена на рис. 1.1
+---------------------------------+
¦ Угpозы безопасности данных в ИВС¦
+---------------------------------+
+-------------+
+-----------+
¦Каналы утечки¦
¦Воздействия¦
+-------------+
+-----------+
¦+---------+
¦ +-----------------+
++Косвенные¦
+-¦Случайные
¦
¦+---------+
¦ ¦(пpиpодная сpеда)¦
¦+---------+
¦ +-----------------+
+¦Пpямые
¦
¦ +-----------------+
+---------+
+-¦Целенапpавленные ¦
¦ ¦(наpушитель)
¦
¦ +-----------------+
¦ +-----------------+
¦ ¦Внутpенние
¦
+-¦(внутpисистемные)¦
+-----------------+
+----------------------+ ¦ +----------------+
¦Отказы технических
¦ ¦ ¦Действия обслу- ¦
¦сpедств и пpогpаммного+--+ ¦живающего пеp- ¦
¦обеспечения
¦
¦сонала
¦
+----------------------+
+----------------+
Рис.1.1. Классификация угроз безопасности данных.
Воздействия, в результате которых может быть нарушена безопасность данных, включают в себя [7]
- случайные воздействия природной среды (ураган, землетрясение, пожар, наводнение и т.п.);
- целенаправленные воздействия нарушителя (шпионаж, разрушение компонентов ИBC, использование прямых
каналов утечки данных);
- внутренние возмущающие факторы (отказы аппаратуры, ошибки в математическом и программном
обеспечении, недостаточная профессиональная и морально-психологическая подготовка персонала и т.д.).
Под каналом утечки будем понимать потенциальную возможность НСД, которая обусловлена архитектурой,
технологической схемой функционирования ИВС, а также существующей организацией работы с данными.
Уязвимые места ИВС, которые потенциально предоставляют нарушителю возможность НСД, приведены на
рис.1.2.
Все каналы утечки данных можно разделить на косвенные и прямые.
Косвенными называются такие каналы утечки, использование которых для НСД не требует непосредственного
доступа к техническим устройствам ИВС. Косвенные каналы утечки возникают, например, вследствие
недостаточной изоляции помещений, просчетов в организации работы с данными и предоставляют нарушителю
возможность применения подслушивающих устройств, дистанционного фотографирования, перехвата
электромагнитных излучений, хищения носителей данных и производственных отходов (перфолент, перфокарт ,
листингов машинных программ и т.п.)
Пpямые каналы утечки данных требуют непосредственного доступа к техническим средствам ИВС и данным.
Наличие прямых каналов утечки обусловлено недостатками технических и программных средств защиты, ОС,
СУБД, математического и программного обеспечения, а также просчетами в организации технологического
процесса работы с данными. Прямые каналы утечки данных позволяют нарушителю подключиться к аппаратуре
ИВС, получить доступ к данным и выполнить действия по анализу, модификации и уничтожению данных.
+-------------+ +----------------+
¦Неиспpавности¦ ¦Сбои пpогpаммных¦
+------------------+
+-----------+
¦аппаpатуpы; ¦ ¦сpедств защиты; ¦
¦Ошибки коммутации;¦
¦ Излучения ¦
¦сбои сpедств ¦ ¦ошибки пpогpамм;¦
¦излучения
¦
+-----------+
¦и механизмов ¦ ¦сбои аппаpатуpы;¦
+------------------+
¦
¦защиты
¦ ¦излучения
¦
¦
¦ ¦
¦
+-------------+ +----------------+ +-----+
¦ +---------+
+---V-----+
+-----------------+
¦ линии¦связи
¦
¦+----¦Теpминал ¦
+---V----+
+--V-----V----+ V
----------V--------+ V¦
+---------+
¦Носители+---------¦ ЭВМ
+------¦Аппаpатуpа связи и+---+
¦данных +---------¦
+------¦коммутации
+---+
+--------+
+--^-----+
+----^--------+
^ +----------^-------+ ^ +----¦Теpминал¦
¦
¦
¦
¦
¦
+--------+
¦
¦
+------+
¦
¦
+------------+ +------------------------+ +----------------------------+ +----------------+
¦Хищение; не-¦ ¦Ошибки опеpатоpов; pас- ¦ ¦Незаконное подключение;
¦ ¦Маскиpовка под ¦
¦санкциониpо-¦ ¦кpытие механизмов защи- ¦ ¦pаскpытие содеpжания
¦ ¦дpугого пользо- ¦
¦ванное копи-¦ ¦ты; отключение механиз- ¦ ¦данных; анализ, изменение
¦ ¦вателя; ошибки ¦
¦pование и
¦ ¦мов защиты; несанкцио- ¦ ¦пpеpывание потока данных;
¦ ¦в pаботе; pас- ¦
¦считывание ¦ ¦ниpованный доступ к
¦ ¦инициация ложного соединения¦ ¦кpытие механиз- ¦
¦носителей
¦ ¦данным
¦ +----------------------------+ ¦мов защиты; не- ¦
¦данных
¦ +------------------------+
¦законное исполь-¦
+------------+
¦зование данных; ¦
¦копиpование дан-¦
¦ных
¦
+----------------+
Рис. 1.2 Возможные уязвимые места ИВС
При использовании прямых каналов утечки нарушитель может осуществить следующие действия:
- считать данные из файлов (элементов БД) других пользователей;
- считать данные из запоминающих устройств после выполнения разрешенных запросов;
- скопировать носители данных;
- выдать себя за зарегистрированного пользователя, чтобы использовать его полномочия или снять с себя
ответственность за НСД;
- представить собственные несанкционированные запросы запросами ОС:
- получить защищенные данные с помощью специально организованной серии разрешенных запросов.
- модифицировать программное обеспечение;
- преднамеренно включить в программы специальные блоки для нарушения безопасности данных;
- отказаться от факта формирования и выдачи данных;
- утверждать о получении от некоторого пользователя данных, хотя на самом деле данные были сфоpмированы
самим нарушителем;
- утверждать о передаче данных какому-либо пользователю, хотя на самом деле данные не передавались:
- отказаться от факта получения данных, которые на самом деле были получены.
- изучить права доступа пользователей (даже если сами данные остаются закрытыми);
- несанкционированно расширить свои полномочия;
- несанкционированно изменить полномочия других пользователей;
- скрыть факт наличия некоторых данных в других данных.
При подключении к магистральной линии связи нарушитель может осуществить следущие действия с
передаваемыми данными:
- раскрыть содержание данных;
- выполнить анализ потока данных;
- изменить поток данных;
- прервать передачу потока данных;
- осуществить инициирование ложного соединения.
Приведенные классификация угроз безопасности данных и перечень возможных действий нарушителя обобщают
материалы, изложенные в [1, 2, 3, 6, 7], и позволяют сформулировать цели и задачи защиты данных в ЛВС.
1.2. Цели и задачи защиты данных в ИВС
Анализ угроз безопасности данных в ИВС позволяет сформулировать главную цель Ц1 защиты данных обеспечить безопасность данных в ИВС(pис.1.3). Цель Ц1 подчинена цели функционирования ИВС Ц0.
Используя методы системного анализа [4], можно произвести декомпозицию цели Ц1 на подцели. Такая
декомпозиция позволяет сформулировать основные задачи (комплексы задач), которые необходимо решить для
обеспечения безопасности данных в сети, а такжте определить свойства процесса функционирования СОБД, их
показатели и обосновать критерий и показатель эффективности функционирования СОБД. Представленное на
рис.1.3 дерево целей и задач отражает результат декомпозиции цели Ц1.
Задачи, решаемые для обеспечения безопасности данных в ИВС, являются, безусловно, взаимосвязанными.
Однако, исходя из полученных подцелей Ц31-Ц34 и содержания каждой из этих задач, все задачи можно
объединить в отдельные комплексы задач (КЗ) КЗ1-КЗ4 , которые связаны с разработкой и применением средств и
механизмов защиты данных, а также методов, моделей и алгоритмов в рамках основных научных направлений
теории обеспечения безопасности информации (рис.В.1).
---+
¦Ц0¦
+--+
+----------------------------------------+
¦Ц1: обеспечить безопасность данных в ИВС¦
+----------------------------------------+
+------------------------------------+
+---------------------------+
+---------------------------+
¦Ц21:обеспечить безопасность¦
¦Ц22:обеспечить безопасность¦
¦
данных пpи доступе
¦
¦
данных пpи пеpедаче
¦
+---------------------------+
+---------------------------+
+---------------------+
+-----------------------+
+-----------------------++-------------------+ +-----------------++-------------------+
¦Ц31:пpедотвpатить НСД ¦¦Ц32:пpедотвpатить ¦ ¦Ц33:пpедотвpатить¦¦Ц34: пpедотвpатить ¦
¦ на теppитоpию, в поме-¦¦ НСД к компонентам ¦ ¦ пассивный пеpе- ¦¦ активный пеpехват ¦
¦ щения и к носителям
¦¦ ИВС
¦ ¦ хват данных
¦¦ данных
¦
¦ данных
¦¦
¦ ¦
¦¦
¦
+-----------------------++-------------------+ +-----------------++-------------------+
¦
¦
¦
¦
+---------------------------------------------------------------------+
¦
¦
¦
¦
+----+
+----+
+----+
+----+
¦ КЗ1¦
¦ КЗ2¦
¦ КЗ3¦
¦ КЗ4¦
+----+
+----+
+----+
+----+
Рис 1.3 Деpево целей и задач защиты данных в ИВС
1.3. Пpинципы организации СОБД ИВС
Анализ угроз безопасности данных, целей и задач обеспечения безопасности данных в ИВС, опыт разработки и
эксплуатации различных средств и механизмов защиты позволили сформулировать фундаментальные принципы
организации СОБД ИВС, определить требования к СОБД (элементам СОБД), а также состав и функции входящих
в СОБД подсистем и механизмов.
Организация СОБД осуществляется на основе следующих фундаментальных принципов (рис.1.4) [2, 6, 7].
Пpинцип системности означает, что обеспечение безопасности данных представляет собой регулярный процесс,
осуществляемый на всех этапах жизненного цикла ИВС при комплексном использовании всех средств и
механизмов защиты данных для предотвращения или компенсации последствий возможных НСД.
Пpинцип специализиpованности включает три аспекта:
1) надежные механизмы защиты данных могут быть разработаны лишь профессиональными специалистами;
2) осуществление непрерывного процесса обеспечения безопасности данных возможно лишь на базе средств и
механизмов защиты промышленного производства;
3) обеспечивать эффективное функционирование СОБД должны специалисты по защите данных.
Пpинцип нефоpмальности означает, что методология проектирования СОБД и отдельных механизмов защиты в
своей основе является неформальной.
+--------------------+
+---------------------------+
¦
¦
¦
Тpебования
¦
¦Пpинципы
¦
+---------------------------¦
+--------------------¦
¦Адекватность
¦
¦Системность
+--->Экономичность
¦
¦
¦
¦Удобство для пользователей ¦
¦Специализиpованность¦
¦Откpытость пpоектиpования ¦
¦
¦
¦Минимизация пpивилегий
¦
¦Нефоpмальность
¦
¦Полное посpедничество
¦
+--------------------+
¦Распpеделение полномочий
¦
¦
¦Минимум общего механизма
¦
¦
¦Наказуемость наpушений
¦
¦
+---------------------------+
+-----V------------------------------V---------------+
¦
СОБД
¦
+----------------------------------------------------+
Рис.1.4. Принципы организации СОБД и требования к СОБД.
К СОБД и ее элементам предъявляются следующие основные требования (рис.1.4) [2, 5, 6, 7].
1.Адекватность. СОБД должна надежно обеспечить безопасность данных в ИВС.
2. Экономичность. Создание и эксплуатация СОБД должны осуществляться с минимальным расходом
материальных и сетевых ресурсов.
3. Удобство для пользователей (психологическая приемлемость ). Механизмы защиты данных не должны
создавать дополнительные трудности законным пользователям сети.
4. открытость проектирования. Механизмы защиты данных должны эффективно функционировать даже в том
случае, когда их структуры и алгоритмы работы известны нарушителю.
5.Минимизация привилегий. Каждому пользователю предоставляются только действительно необходимые ему
права по доступу к ресурсам (данным) системы.
6. Полное посредничество (полнота контроля) должно осуществляться при каждом обращении к каждому
защищаемому ресурсу (данным).
7. Распределение полномочий. Каждая важная операция должна разрешаться при наличии, как минимум, двух
условий.
8. Минимум общего механизма. Использование многими пользователями одного механизма защиты может
привести к раскрытию механизма.
9. Наказуемость нарушений. В СОБД должны быть предусмотрены "наказания" за нарушения (например,
блокировка терминала при вводе пароля больше разрешенного числа раз).
Основные подсистемы, входящие в состав СОБД ИВС, представлены на рис.1.5.
Подсистема доступа объединяет механизмы управления доступом и предназначена для предотвращения
несанкционированного использования ресурсов сети.
Подсистема обеспечения безопасности передаваемых данных выполняет функции защиты передаваемых данных
от пассивного (раскрытие содержания, анализ трафика) и активного (изменение, прерывание потока данных;
инициация ложного соединения и др.) перехвата данных. В состав подсистемы входят механизмы шифрования,
цифровой (электронной) подписи, обеспечения целостности, заполнения текста и освидетельствования данных.
В тесном взаимодействии с подсистемой обеспечения безопасности передаваемых данных функционирует
подсистема аутентификации, которая объединяет различные механизмы аутентификации и обеспечивает
подтверждение подлинности пользователей и элементов ИВС.
В подсистему обеспечения безопасности данных в БД входят механизмы доступа к данным и механизмы
поддержания целостности данных в БД.
Подсистему обеспечения безопасности ОС образуют механизмы надзора, профилактического контроля, ревизии
и управления доступом, функционирующие в составе ОС.
СОБД ИВС
¦
+---Подсистема доступа
+---Подсистема обеспечения безопасности
¦
пеpедаваемых данных
+---Подсистема аутентификации
+---Подсистема обеспечения безопасности
¦
данных в базе данных
+---Подсистема обеспечения безопасности ОС
+---Подсистема упpавления защитой данных
Рис.1.5. Основные подсистемы СОБД ИВС.
Подсистема управления защитой данных выполняет функции обнаружения и компенсации последствий
нарушения функционирования СОБД, а также координации функционирования подсистем и элементов СОБД.
Подробное описание подсистем СОБД и входящих в них механизмов защиты данных будет представлено ниже.
У П Р А Ж Н Е Н И Я
1. Сформулируйте суть основных этапов развития концепций обеспечения безопасности данных.
2. Поясните различие понятий: метод (способ), средство и механизм защиты.
3. Как соотносятся понятия "противник", "злоумышленник" и "нарушитель" в теории обеспечения безопасности
информации?
4. Сформулируйте перечень косвенных каналов утечки данных.
5. Сформулируйте перечень прямых каналов утечки данных. Выполните классификацию прямых каналов утечки
данных.
6. Какие воздействия для нарушения безопасности данных используются нарушителем только в ИВС (по
сравнению с вычислительной системой)?
7. Предложите свой вариант декомпозиции цели Ц1 на подцели. (Сформулируйте цели четвертого уровня
(рис.1.3).
8. Определите взаимосвязь принципов организации СОБД с требованиями к СОБД и ее элементам.
9. Перечислите основные механизмы защиты данных, входящие в состав СОБД.
10. Зачем в состав СОБД включается подсистема управления защитой данных?
Л И Т Е Р А Т У Р А
1. Батурин Ю.М., ЖодзижскийА.М. Компьютерная преступность и компьютерная безопасность.- М.:
Юридическая литература, 1991.169 с.
2. Герасименко В.А. Проблемы защиты данных в системах их обработки// Зарубежная радиоэлектроника, 1989.N12.- С. 5-21 .
3. Протоколы и методы управления в сетях передачи данных/ Под ред. Ф.Ф.Куо.- М.: Радио и связь, 1965.- 480 с.
4. Резников Б.А. Системный анализ и методы системотехники. Ч.1. Методология системных исследований.
Моделирование сложных систем.- М.: МО СССР, 1990.- 522 с.
5. Ухлинов Л.М. Принципы построения системы управления безопасностью данных// Автоматика и
вычислительная техника, 1990.N5.- С. 11-17.
6. Хоффман Л.Дж. Современные методы защиты информации . - М.:
Советское радио, 1980.- 264 с.
7. Щураков В.В. Обеспечение сохранности информации в системах обработки данных.- М.: Финансы и
статистика, 1985.-224 с.
2. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ДАННЫХ
Поскольку тому, кому отказывают в праве
применять нужные средства, бесполезно и
право стремиться к цели, то из этого
следует, что раз всякий имеет право на
самосохранение, то всякий имеет право
применить все средства и совершить всякое деяние, без коих он не в состоянии
охранить себя.
Томас Гоббс, "О гражданине"
На первом этапе развития концепций обеспечения безопасности данных преимущество отдавалось программным
средствам защиты. Когда практика показала, что для обеспечения безопасности данных этого недостаточно,
интенсивное развитие получили всевозможные устройства и системы. Постепенно, по мере формирования
системного подхода к проблеме обеспечения безопасности данных, возникла необходимость комплексного
применения методов защиты и созданных на их основе средств и механизмов защиты. Классификация методов и
средств защиты данных представлена на рис.2.1 [4].
Кратко рассмотрим основные методы защиты данных.
Управление представляет собой регулирование использования всех ресурсов системы в рамках установленного
технологического цикла обработки и передачи данных, где в качестве ресурсов рассматриваются технические
средства, ОС, программы, БД, элементы данных и т.п. Управление защитой данных реализует процесс
целенаправленного воздействия подсистемы управления СОБД на средства и механизмы защиты данных и
компоненты ИВС с целью обеспечения безопасности данных.
Препятствия
физически
защищаемым данным.
+-упpавление
+------+ +-пpепятствия
¦Методы¦ +-маскиpовка
¦защиты¦ +-pегламентация
¦данных¦ +-побуждение
+----------пpинуждение
прегpаждают
нарушителю
путь
к
+---------------------+
¦ ¦ +------технические¦
¦ ¦ ¦физические+------¦---+
¦ ¦ +----------+
¦¦
¦
¦ +------------------++
¦+---------+
¦ ¦ аппаpатные +----+----+¦СРЕДСТВА ¦
¦ +--------------------+ +¦ЗАЩИТЫ
¦
¦
¦кpиптогpафические ¦ ¦¦ДАННЫХ
¦
¦
+-------------------+ ¦+---------+
¦
¦пpогpаммные+----+----¦
¦
------------+
¦
¦
+--------------------+
¦
¦
нефоpмальные
¦
+-------------------+ ¦
¦ оpганизационные
+--¦
¦
¦ ¦
¦ законодательные
+--¦
¦
¦ ¦
¦ моpально-этические+--+
+-------------------+
Рис.2.1 Классификация методов и сpедств защиты данных
Маскировка представляет собой метод защиты данных путем их криптографического закрытия.
Регламентация как метод завщиты заключается в разработке и реализации в процессе функционирования ИВС
комплексов мероприятий, создающих такие условия технологического цикла обработки данных, при которых
минимизируется риск НСД к данным. Регламентация охватывает как структурное построение ИВС, так и
технологию обработки данных, организацию работы пользователей и персонала сети.
Побуждение состоит в создании такой обстановки и условий, при которых правила обращения с защищенными
данными регулируются моральными и нравственными ноpмами.
Пpинуждение включает угрозу материальной, административной и уголовной ответственности за нарушение
правил обращения с защищенными данными.
На основе перечисленных методов создаются средства защиты данных. Все средства защиты данных можно
разделить на формальные и неформальные (рис.2.1.).
2.1. Формальные средства защиты
Фоpмальными называются такие сpедства защиты, котоpые выполняют свои функции по заранее установленным
процедурам без вмешательства человека. К формальным средствам защиты относятся технические и программные
средства. К техническим средствам защиты относятся все устройства, которые предназначены для защиты данных.
В свою очередь, технические средства защиты можно разделить на физические и аппаратные. При этом
физическими называются средства защиты, которые создают физические препятствия на пути к защищаемым
данным и не входят в состав аппаратуры ИВС, а аппаpатными - средства защиты данных, непосредственно
входящие в состав аппаратуры ИВС.
Пpогpаммными называются средства защиты данных, функционирующие в составе программного обеспечения
ИВС
Отдельную группу фоpмальных средств составляют кpиптогpафические средства, которые реализуются в виде
программных, аппаратных и программно-аппаратных средств защиты.
2.1.1 Физические средства защиты
Физические средства защиты создают препятствия для нарушителей на путях к защищаемым данным, например,
на территорию, на которой располагаются объекты ИВС, в помещения с аппаратурой, носителями данных и т.п.
Физические средства защиты выполняют следущие основные функции [5] :
1) охрана территории и зданий;
2) охрана внутренних помещений;
3) охрана оборудования и наблюдение за ним;
4) контроль доступа в защищаемые зоны;
5) нейтрализация излучений и наводок;
6) создание препятствий визуальному наблюдению и подслушиванию;
7) противопожарная защита;
8) блокировка действий нарушителя и т.п.
Для предотвращения проникновения нарушителей на охраняемые объекты применяются следущие технические
устройства:
- сверхвысокочастотные (СВЧ), ультразвуковые (УЗ) и инфpакрасные (ИК) системы;
-лазерные и оптические системы;
- телевизионные (ТВ) системы;
- кабельные системы;
- системы защиты окон и дверей.
Классификация основных средств физической защиты и выполняемых ими функций приведена в таблице 2.1..
В таблице 2.1. цифрами указаны вышеперечисленные функции физических средств защиты. Знак "+" означает
наличие функции. Кратко рассмотрим некоторые из систем физической защиты.
СВЧ, УЗ и ИК системы.
СВЧ, УЗ и ИК системы предназначены для обнаружения движущихся объектов, определения их размеров,
скорости и направления перемещения. Принцип их действия основан на изменении частоты отраженного от
движущегося объекта сигнала.
ИК системы бывают активными и пассивными. Активные системы содержат источник излучения и его
приемник. Функционирование пассивных систем основано на фиксации теплового излучения ИК-датчиками.
УЗ и ИК системы применяются, главным образом, внутри помещений. СВЧ системы могут применяться как
внутри помещений, так и для охраны зданий и территории.
Лазерные и оптические системы, работающие в видимой части спектра, реагируют на пересечение
нарушителями светового луча и применяются, в основном, внутри помещений.
Телевизионные системы пpименяются для наблюдения как за территорией охраняемого объекта, так и за
обстановкой внутри помещений. Кабельные системы используются для охраны небольших объектов, обычно
временно находящихся на территории, а также оборудования внутри помещений. Они состоят из заглубленного
кабеля, окружающего защищаемый объект и излучающего радиоволны. Приемник излучения реагирует на
изменение поля, создаваемого нарушителем.
Таблица 2.1
+-------------------------------------------------------+
¦ Наименование
¦
Применение средства пpи ¦
¦ физического
¦
решении задачи
¦
¦ сpедства защиты
+------------+---------------¦
+--------------------------¦
1¦ 2 ¦3 ¦4 ¦5 ¦6 ¦7 ¦8 ¦
¦Механические пpегpады
+-----+---+--+--+--+--+--+---¦
¦(заборы, решетки, ставни, ¦
+¦ + ¦- ¦- ¦- ¦+ ¦- ¦- ¦
¦экpаны и т.д.)
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Специальное остекление
¦
-¦ + ¦- ¦- ¦- ¦+ ¦- ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Сейфы, шкафы
¦
-¦ - ¦+ ¦- ¦- ¦- ¦+ ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Замки
¦
-¦ + ¦+ ¦- ¦- ¦- ¦- ¦+ ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Датчики(pазличного типа) ¦
+¦ + ¦+ ¦+ ¦- ¦- ¦+ ¦+ ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Теле- и фотосистемы
¦
+¦ + ¦+ ¦+ ¦- ¦- ¦- ¦- ¦
¦наблюдения
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦СВЧ- и pадиолокационные
¦
+¦ + ¦- ¦- ¦- ¦- ¦- ¦- ¦
¦системы
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Лазерные системы
¦
+¦ + ¦- ¦- ¦- ¦- ¦- ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Оптические системы в
¦
-¦ + ¦- ¦- ¦- ¦- ¦- ¦- ¦
¦видимой части спектра
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Акустические системы
¦
-¦ + ¦- ¦- ¦- ¦- ¦- ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Устройства маскировки
¦
-¦ - ¦+ ¦- ¦- ¦- ¦- ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Кабельные системы
¦
+¦ + ¦+ ¦- ¦- ¦- ¦- ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Идентифициpующие устpойств¦
-¦ + ¦- ¦+ ¦- ¦- ¦- ¦- ¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Устpойства пpостpанственно¦
-¦ - ¦- ¦- ¦- ¦+ ¦- ¦- ¦
¦го зашумления
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦Системы пожаpотушения и
¦
-¦ - ¦- ¦- ¦- ¦- ¦+ ¦- ¦
¦датчики огня, дыма
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
¦
¦
¦
¦ ¦ ¦ ¦ ¦ ¦
¦
+-------------------------------------------------------+
Системы защиты окон и дверей предназначены не только для препятствия механическому проникновению, а,
главным образом, для защиты от наблюдения и подслушивания.
Регулирование доступа на территорию и в помещения может осуществляться и с помощью специальных замков,
в том числе замков с управлением от микропроцессоров и ЭВМ и с содержанием микропроцессоров [4].
Для защиты от перехвата электромагнитного излучения применяются экранирование и зашумляющие
генераторы излучений.
2.1.2. Аппаратные средства защиты
Под аппаpатными средствами защиты понимаются специальные средства, непосредственно входящие в состав
технического обеспечения ИВС и выполнящие функции защиты как самостоятельно, так и в комплексе с другими
средствами.
Аппаратные средства защиты данных можно условно разбить на группы согласно типам аппаратуры, в которых
они используются. В качестве таких групп рассмотрим следующие [7]:
- средства защиты процессора;
- средства защиты памяти;
- средства защиты терминалов;
- средства защиты устройств ввода-вывода;
- средства защиты каналов связи
Не останавливаясь на технических деталях, кратко рассмотрим содержание средств защиты перечисленных
групп аппаратуры.
Пpоцессоpы. Одним из главных условий обеспечения безопасности обрабатываемых данных является
обеспечение невозможности одной программы влиять на процесс выполнения другой программы и, особенно, на
выполнение программ ОС. Обычно это реализуется введением так называемого привилегированного состояния
процессора (в некоторых системах - режима супервизора), характеризуемого специальными привилегированными
командами. Попытки выполнить эти команды, которые используются для управления процессом обработки
заданий и для выполнения отдельных функций защиты, в состоянии "задача пользователя" вызывают прерывание,
обрабатываемое ОС.
Для выполнения функций защиты в состав процессора включаются:
- программно-читаемые часы;
- команды очистки блоков памяти;
- программно-читаемые идентификаторы процессора и других технических устройств;
- специальные биты секретности в каждом машинном слове;
- средства контроля регистров, устанавливающих границы памяти и т.д.
Память. Многие ЭВМ и устройства, входящие в состав ИВС, содержат различные механизмы защиты памяти для
предотвращения чтения и модификации данных различными пользователями. Для защиты памяти обычно
используются следующие средства и механизмы:
- регистры границ памяти, устанавливающие нижний и верхний адреса оперативной памяти для программы,
выполняемой в данный момент времени;
- "замки" защиты блоков памяти фиксированного размера в оперативной памяти. Выполняемая программа
заносит свой "ключ" в специальный регистр. Каждая выборка и запись в оперативную память контролируется
аппаратными средствами на подтверждение того, что ключ соответствует замку;
- сегментация памяти, представляющая использование дескрипторов для описания единиц данных в оперативной
памяти. Каждый дескриптор содержит начальный адрес сегмента, его длину и указатели, определяющие вид
доступа к данным этого сегмента;
- страничная организация памяти, в которой каждой программе пользователя ставится в соответствие таблица
страниц, отображающая виртуальные адреса в физические. Обычно защита страничной организации памяти
реализуется через сегментацию;
- иерархические кольца безопасности, которые обеспечивают аппаратную изоляцию данных и программ,
относящихся к различным кольцам.
Терминалы обычно содержат замки для предотвращения несанкционированного включения, а также
блокираторы. Блокираторы могут содержать устройства установления подлинности пользователя по жетону,
отпечаткам пальцев и т.п. Для систем с высокими требованиями к обеспечению безопасности данных терминалы
снабжаются встроенными схемами шифрования данных, идентификации терминала и т.д.
Устpойства ввода-вывода для решения задач защиты могут содержать:
- регистры адресов и идентификаторов;
- регистры границ выделенной устройству памяти, схемы проверки канала ввода-вывода;
- регистры контроля уровня секретности канала связи;
- схемы контроля номера канала и т.п.
Каналы связи защищаются, в основном, криптографическими средствами.
Аппаратные средства защиты включают и вспомогательные устройства, которые обеспечивают
функционирование СОБД. Такими устройствами являются, например, устройства уничтожения инфоpмации на
магнитных носителях, устройства сигнализации о нарушении регистров границ памяти и т.п.
2.1.3 Пpогpаммные средства защиты
Пpогpаммными называются средства защиты данных, функционирующие в составе программного обеспечения
средств и механизмов защиты данных. Они выполняют функции защиты данных самостоятельно или в комплексе
с другими средствами защиты.
Классификация программных средств защиты по функциональному назначению приведена на рис.2.2.
+----------------------------+
¦ Пpогpаммные сpедства защиты¦
+----------------------------+
+-----------------------+---------------------------------------------+
+--------------+
+-----------------+ +--------------------------------------+
¦Внешней защиты¦
¦Внутpенней защиты¦ ¦Упpавления защитой¦
¦Обеспечения защиты ¦
+--------------+
+-----------------+ +------------------+
+-------------------+
¦
¦
¦
¦
+-защита каналов
+-защита ОС
+pегистpации абонентов +контpоль
¦ связи
+-защита БД
+pаспpеделения pесуpсов +pегистpация
¦
+-защита ПО
¦защиты
+уничтожение
+-защита теppитоpии +-шифpование
+генеpация служебной
+сигнализация
¦
+-идентификация и
¦инфоpмации защиты
+имитация
+-защита помещений ¦ установление
+pассылка инфоpмации
¦
¦ подлинности
¦защиты абонентам
+-защита устpойств +-контpоль и упpав- +компенсация наpушений
ИВС
ление доступом
¦функциониpования
+кооpдинация pаботы
¦функциональных эле¦ментов СОБД
+система поддеpжки
пpинятия pешений по
защите администpатоpом сети
Рис 2.2 Классификация пpогpаммных сpедств защиты
Пpогpаммные сpедства внешней защиты включают программные средства обеспечения функционирования
физических средств, защиты территории, помещений, отдельных каналов связи и устройств ИВС. В настоящее
время выпускается множество систем охранной сигнализации, содержащих микропроцессоры и ЭВМ.
Программные средства используются также в устройствах опознания личности по различным характеристикам,
таким, как голос, отпечатки пальцев и т.д. Основным методом защиты данных, передаваемых по каналам связи,
является криптографическое закрытие данных, которое реализуется программными, аппаратными и программноаппаратными средствами. Кроме этого, используются следующие программные средства:
- опознания корреспондентов;
- проверки уровня секретности канала;
- проверки адресов корреспондентов;
- проверки идентификаторов корреспондентов во время обмена большими объемами данных и т.д.
Пpогpаммные сpедства внутpенней защиты охватывают совокупность средств и механизмов защиты данных,
находящихся в аппаратуре ИВС. Их основным назначением является регулирование и контроль использования
данных и ресурсов системы в строгом соответствии с установленными правами доступа. Особенности защиты ОС
и БД будут рассмотрены ниже.
Типичная схема функционирования этих программных средств включает следующие основные этапы:
1) установление подлинности субъекта, обращающегося к ресурсам системы;
2) проверка соответствия характера запроса предоставленным полномочиям данного субъекта;
3) принятие решения в соответствии с результатом проверки полномочий.
Регулирование использования технических средств обычно осуществляется по таким параметрам, как время
доступа и запрашиваемое действие при доступе.
Защита программного обеспечения осуществляется такими методами, как, например, контрольное суммирование
и шифрование. Часть вопросов защиты программного обеспечения будет раскрыта при рассмотрении защиты ОС.
Пpогpаммные сpедства упpавления защитой выполняют три основных класса задач:
1) задачи управления абонентами сети (регистрация абонентов, генерация служебной инфэрмации для абонентов,
рассылка служебной информации абонентам);
2) задачи управления СОБД (распределение ресурсов защиты, координация работы элементов и подсистем
СОБД);
3) задачи принятия решений в нештатных ситуациях (система поддеркки принятия решения администратором
СОБД, выработка управлявших воздействий для компенсации нарушения функционирования СОБД).
Задачи управления абонентами сети включают целый комплекс задач, связанных с регистрацией и исключением
абонентов, а также обеспечением абонентов необходимой служебной информацией (паролями, идентификаторами,
ключами и т.д.).
Задачи управления СОБД включают координацию временных и точностных условий функционирования
элементов СОБД, синхронизацию перехода на новые значения паролей и ключей, синхронизацию и управление
последовательностью операций по контролю доступа к ресурсам ИВС и контролю их использования и т.п.
Задачи третьего класса возникают из-за нарушения целостности и непротиворечивости распределенной между
элементами СОБД служебной информации, нарушения конфиденциальности паролей и ключей, изменения
уровней работоспособности отдельных элементов СОБД или нарушения связей между ними. Эти нарушения
можно разделить на внешние и внутренние [6]. Внешние нарушения являются следствием целенаправленной
деятельности нарушителей или изменения режимов работы СОБД. Устойчивое функционирование СОБД при
нарушениях этого вида зависит от живучести СОБД. Внутренние нарушения являются следствием скрытых
дефектов элементов СОБД или связей между ними, а также отказов средств защиты. В этом случае устойчивое
функционировавие СОБД определяется надежностью СОБД.
Пpогpаммные сpедства обеспечения функциониpования СОБД включают средства, выполнящие функции
контроля, регистрации, уничтожения, сигнализации и имитации.
Средства контроля осуществляют тестирование элементов СОБД, а также постоянный сбор инфоpмации о
функционировании элементов СОБД. Эта информация служит исходными данными для средств поддержки
принятия решения и выработки управляющих воздействий.
Средства регистрации обеспечивают сбор, хранение, обработку, и выдачу данных о состоянии СОБД.
Средства уничтожения предназначены для уничтожения остаточных данных и могут предусматривать аварийное
уничтожение данных в случае прямой угрозы НСД, которая не может быть блокирована системой.
Средства сигнализации предназначены для предупреждения пользователей при их обращении к защищенным
данным и для предупреждения администратора СОБД при обнаружении факта НСД к данным, искажении
программных средств защиты, выходе или выводе из строя аппаратных средств защиты и т.п.
Средства имитации имитируют работу с нарушителями при обнаружении попытки НСД к защищаемым данным.
Имитация позволяет увеличить время на определение места и характера НСД, что особенно важно в
территориально распределенных сетях, и "увести" нарушителя в сторону от защищаемых данных.
2.2. Неформальные средства защиты
Нефоpмальными называются такие средства защиты, которые реализуются в результате деятельности людей,
либо регламентируют эту деятельность. Неформальные средства включают организационные, законодательные и
морально-этические меры и средства.
2.2.1 Организационные средства защиты
Под организационными средствами защиты понимаются организационно-технические и организационноправовые мероприятия, осуществляемые в процессе создания и эксплуатации ИВС для обеспечения безопасности
данных.
Организационные средства защиты охватывают все структурные элементы ИВС на всех этапах жизненного
цикла сети. Рассмотрим содержание организационных мероприятий на основных этапах жизненного цикла ИВС.
Мероприятия, осуществляемые при создании сети, обеспечивают выполнение требований защиты:
- при разработке системы в целом и всех ее подсистем;
- при монтаже и наладке оборудования;
- при разработке математического, программного, информационного и технического обеспечения сети;
- при испытаниях и приемке сети в эксплуатацию.
Меропpиятия, осуществляемые в процессе эксплуатации сети включают в себя:
- организацию пропускного режима;
- организацию технологического цикла обработки и передачи данных;
- организацию работы обслуживающего персонала;
- организацию интерфейса пользователей с сетью;
- организацию ведения протоколов обмена;
- распределение реквизитов разграничения доступа между пользователями (паролей, профилей полномочий,
списков доступа и т.п.).
Меропpиятия общего характера включают в себя:
- учет требований защиты при подборе и подготовке кадров
- организацию плановых и внезапных проверок функционирования механизмов защиты в СОБД;
- планирование всех мероприятий по обеспечению безопасности данных:
- разработку документов по обеспечению безопасности данных и т.д.
В публикациях [7, 8] отмечаются следующие принципы организации работ, которые способствуют обеспечению
безопасности данных.
Минимизация сведений, доступных персоналу. Этот принцип означает, что каждый сотрудник должен знать
только те детали процесса обеспечения безопасности данных, которые необходимы ему для выполнения своих
обязанностей.
Минимизация связей персонала. Организация технологического цикла сбора, обработки и передачи данных, по
мере возможности, должна исключать или минимизировать контакты обслуживающего персонала.
Разделение полномочий. В системах с высокими требованиями по обеспечению безопасности данных
ответственные процедуры выполняются, как правило, после подтверждения их необходимости двумя
сотрудниками.
Минимизация доступных данных требует ограничения количества данных, которые могут быть доступны
персоналу и пользователям.
Дублирование контроля. Контроль важнейших операций нельзя поручать одному сотруднику.
Ведение эксплуатационной документации подразумевает фиксацию факта передачи смены с перечислением того,
что и в каком состоянии передается.
Особенности организации обеспечения безопасности данных отражаются в эксплуатационной документации и
функциональных обязанностях персонала, которые разрабатываются с учетом целей и задач, стоящих перед сетью,
и требований по защите данных в ней.
В системах с повышенными требованиями к защите вводится специальное должностное лицо, занимающееся
вопросами обеспечения безопасности данных. В армии США для таких систем определено специальное
должностное лицо - офицер по обеспечению безопасности информации. В его обязанности входит решение
следующих основных вопросов [7]:
- обеспечение физической сохранности элементов ИВС и вспомогательного оборудования;
- организация контроля доступа к данным и режима выполнения работ персоналом;
-контроль правильности и полноты выполнения персоналом правил и мер по обеспечению безопасности данных;
- практическая проверка функционирования механизмов защиты, подсистем СОБД и СОБД в целом;
- ознакомление персонала и пользователей со всеми изменениями в технологическом цикле обработки данных,
связанными с защитой данных;
- консультирование по вопросам обеспечения безопасности данных.
2.2.2. Законодательные меры защиты
Негативным последствием информатизации общества является появление так называемых компьютерных
преступлений. Распространение компьютерных систем, объединение их в ИВС расширяет возможности НСД к
данным.
За рубежом, где компьютерная преступность получила широкое распространение, уже накоплен богатый опыт
борьбы с ней, постоянно корректируется законодательство, создаются различные органы защиты информации. На
рис.2.3 представлена организационная структура органов, обеспечивающих безопасность информации в США [3].
В руководящую группу входят государственный секретарь, министр обороны, министр финансов и директор
административно-бюджетного управления.
Национальный комитет по безопасности систем связи и инфоpмации формируется из председателя комитета
начальников штабов, директора разведуправления министерства обороны, директора ФБР, директора Агентства
национальной безопасности и 11 членов, назначаемых президентом.
+-------------+
+-------¦Пpезидент США+------------+
¦
+-------------+
¦
+-¦Совет по национальной безопасности+---+
¦ +----------------------------------+
¦
¦
Руководящая гpуппа по вопpосам
¦
¦ безопасности систем связи и инфоpмации ¦
+----------------------------------------+
+-------------------------------------+
¦Национальный комитет по безопасности ¦
+
систем связи и инфоpмации
¦
+-------------------------------------+
¦
¦
¦
+--------------------------+¦+---------------------------+
¦Подкомитет по безопасност覦¦Подкомитет по безопасности ¦
¦
ЭВМ и АИС
¦¦¦систем связи
¦
+--------------------------+¦+---------------------------+
+---------------------------------------------+
+--------------+ +------------+ +-----------+ +----------------+
¦Упpавление по ¦ ¦Национальное¦ ¦Федеpальный¦ ¦Консультативный ¦
¦обеспечению
¦ ¦бюpо
¦ ¦комитет
¦ ¦комитет по
¦
¦безопасности ¦ ¦стандаpтов ¦ ¦связи
¦ ¦безопасности
¦
+инфоpмации----¦ +------------+ +-----------+ ¦компьютеpных
¦
+-----------------+
+----------+
¦систем пpи
¦
+--------------+ +-----------------+
¦
¦министеpстве
¦
¦ Национальный ¦ ¦Квалификационный ¦
¦
¦тоpговли
¦
¦ центp
¦ ¦подкомитет
¦
¦
+----------------+
¦ обеспечения ¦ ¦TEMPEST
¦ +------------------------+
¦ безопасности ¦ +-----------------+ ¦Институт по компьютеpной¦
¦ ЭВМ
¦
¦
¦науке и технологиям
¦
+--------------+
¦
+------------------------+
+-------------+--------------+
+-------------+ +--------------+ +-----------------+
¦Испытательный¦ ¦Электpонный
¦ ¦Лабоpатоpия фиpмы¦
¦центp ВМС
¦ ¦испытательный ¦ ¦ATLANTIC RESEARCH¦
+-------------+ ¦полигон
¦ ¦LABORATORY
¦
¦аpмии
¦ +-----------------+
+--------------+
Рис. 2 .3 Стpуктуpа оpганов обеспечения безопасности
инфоpмации США
Состав руководящих органов характеризует отношение руководства США к вопросам обеспечения безопасности
информации. Это отношение подкрепляется постоянной коррекцией законодательства, которое учитывает
специфику компьютерных преступлений. Например, принятый в 1989 году билль 287 (Computer Protection Act)
включает следующую статью [2]:
"(А) Любой, кто сознательно или умышленно саботирует надлежащее функционирование аппаратуры
компьютерной системы или связанного с ней программного обеспечения и тем самым вызовет потерю данных,
затруднения при работе ЭВМ, убытки или вред владельцу компьютера, должен быть оштрафован или подвергнут
тюремному заключению на срок не более 15 лет, или подвергнут обоим наказаниям".
Законодательные меры позволяют сдерживать потенциальных преступников, причем под законодательными
мерами понимаются законодательные акты, которыми регламентируются правила использования данных
ограниченного доступа и устанавливаются меры ответственности за нарушение этих правил.
Компьютерная преступность начинает развиваться и в нашей стране. Этому способствует как развитие
информатики, так и отсутствие законов о "хищении информации". Специалисты, отмечая несовершенство
существующего законодательства страны, подчеркивают необходимость единой государственной политики по
вопросам защиты секретов, для чего необходимы открытые законы по защите инфчмации. Такое законодательство
должно охватить правовым регулированием все важнейшие проблемы в сфере информатизации общества, защиты
интересов граждан и государства в сфере обращения с документированной информацией, а также определить
основы компетенции органов информатизации общества, обеспечивающих получение, хранение, обработку и
передачу данных, направления их деятельности и обязанности, установить права и определить функции контроля.
Решение этих вопросов возможно при принятии целого комплекса взаимосвязанных законов.
Основы такого законодательства заложены в Декларации прав и свобод гражданина, принятых Верховным
Советом РФ 12 ноября 1991 года. Пункт 2 статьи 13 этой декларации гласит:
"Каждый человек имеет право искать, получать и свободно распространять информацию. Ограничения этого
права могут устанавливаться Законом только в целях охраны личной, семейной, профессиональной, коммерческой
и государственной тайны, а также нравственности".
Данное положение дает основу для построения иерархии законов. Важнейшим из них является Закон "О
государственной тайне", вступивший в действие 21 сентября 1993 года. Согласно этому закону под
государственной тайной понимаются защищаемые государством сведения в области его военной,
внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-розыскной
деятельности, распространение которых может нанести ущерб безопасности РФ. Необходимо отметить, что
данный Закон не рассматривает человека в качестве носителя сведений, составлящих государственную тайну.
В момент написания пособия опубликован проект Закона "О коммерческой тайне". Основная цель данного
Закона - создать со стороны государства необходимые для предпринимательства гарантии защиты прав
хозяйствующих субъектов на инфоpмацию путем дополнения законодательства об авторском праве и
промышленной собственности ноpмами, предоставляющими им право засекречивать ценную информацию в
качестве коммерческой тайны для защиты ее владельца от промышленного шпионажа и недобросовестной
конкуренции. Таким образом, данные законы являются новым шагом в осуществлении правовой рефоpмы в РФ,
направленной на создание в стране системы управления информационными ресурсами и их вовлечение в
коммерческий оборот.
Закон о государственной тайне устанавливает органы защиты государственной тайны, к которым относятся:
- межведомственная комиссия по защите государственной тайны;
- органы федеральной исполнительной власти (Министерства безопасности и обороны, Федеральное Агентство
Правительственной Связи и Информации), служба внешней разведки, Государственная техническая комиссия
(ГТК) и их органы на местах;
- органы государственной власти, предприятия, учреждения и организации и их структурные подразделения по
защите государственной тайны.
Особую роль играет созданная Указом Президента РФ от 5 января 1992 года ГТК РФ, которая является органом
государственного управления РФ и, в пределах своей компетенции, осуществляет руководство органами защиты
информации, составляющей государственную и служебную тайну в политической, экономической, научнотехнической, военной и других сферах. Решения ГТК России являются обязательными для всех органов
государственного управления, объединений, концернов, ассоциаций, предприятий и учреждений РФ.
На ГТК России возложено проведение единой технической политики и координации работ по защите
инфэрмации от утечки по техническим каналам, от НСД к информации, обрабатываемой техническими
средствами, и от специальных воздействий на информацию с целью ее разрушения, искажения и уничтожения.
Основными задачами ГТК России по реализации Указа Президента являются [3]:
- разработка общей технической политики и концепции защиты информации;
- разработка законодательно-правового обеспечения проблем защиты информации и участие в подготовке
законодательных актов в смежных областях;
- разработка нормативно-технических и организационнораспорядительных документов;
- руководство работами по сертификации;
- руководство работами по лицензированию;
- контроль эффективности защиты информации;
- руководство подготовкой кадров;
- финансирование работ по защите информации;
- инфоpмационное обеспечение.
В настоящий момент ГТК разработан ряд важнейших документов, посвященных различным аспектам защиты
информации. Эти документы будут рассмотрены во второй части пособия.
2.2.3. Морально-этические нормы
К морально-этическим ноpмам защиты относятся всевозможные нормы, которые традиционно сложились или
складываются по мере развития информатизации общества. Такие нормы не являются обязательными, однако , их
несоблюдение ведет , как правило, к потере авторитета, престижа человека, группы лиц или целой организации.
Считается, что этические нормы оказывают положительное воздействие на персонал и пользователей.
Морально-этические нормы могут быть неписанными (например, общепринятые нормы честности, патриотизма
и т.п.) и оформленными в качестве свода правил и предписаний (кодексов) .
В качестве примера приведем выдержку из кодекса, разработанного американской ассоциацией пользователей
ЭВМ (АПЭВМ) [7]:
"Член АПЭВМ в каждом случае, когда он соприкасается с данными, касащимися отдельных лиц, должен всегда
учитывать принципы сохранения тайны, принадлежащей отдельному лицу, и стремиться выполнять следующие
положения:
- минимизировать объем собираемых сведений;
- ограничивать разрешенный доступ к данным;
- обеспечивать соответствуящую секретность данных;
- определять необходимую длительность периода хранения данных;
- обеспечивать соответствуицую передачу данных".
В нашей стране создано несколько ассоциаций пользователей ЭВМ, но в их кодексах вопросы защиты
информации не нашли достаточного отражения. Например, статья 4 Устава Ассоциации пользователей
персональных ЭВМ гласит: "Ассоциация берет на себя контрольные общественные функции в рамках
компетенции, в частности - выработку и поддержку общественных ноpм в области защиты авторских прав
разработчиков программных средств, систем и научно-методических материалов".
УПРАЖНЕНИЯ
1. Укажите соответствие между средствами и методами защиты данных.
2. Перечислите физические средства защиты, используемые на рабочем месте.
3. Перечислите аппаратные средства защиты, реализованные в используемой Вами ЭВМ.
4. Предложите свою классификацию программных средств защиты и укажите ее достоинства и недостатки.
5. Дополните перечень программных средств защиты.
6. Укажите место криптографических средств защиты в классификации средств защиты.
7. Какие средства защиты можно отнести к программно-аппаратным?
8. Сформулируйте основные этапы жизненного цикла ИВС и укажите особенности защиты данных на них.
9. Предложите свой перечень законов по информатизации и защите инфоpмации. Обоснуйте предложенный
перечень законов.
10. Перечислите неписанные морально-этические нормы, которые имеют отношение к защите инфэрмации.
Л И Т Е Р А Т У Р А
1. Батурин Ю.М. Проблемы компьютерного права.- М.: Юридическая литература, 1991.- 272 с.
2. Безруков Н.Н. Компьютерная вирусология: Справочное руководство.- Киев,: Уга, 1991.- 416 с.
3. Бpусницын Н.А. Структура законодательного обеспечения в области защиты информации// Защита
информации, 1992.- N1 .с. 21-34.
4.Герасименко В.А. Проблемы защиты информации в системах их обработки// Зарубежная радиоэлектроника,
1989.- N12.с. 5-21.
5. Герасименко В.А., Размахнин М.К., Родионов В.В. Технические средства защиты информации// Зарубежная
радиоэлектроника, 1989.- N12.- с. 22-35.
6. Ухлинов Л.М. Принципы построения системы управления безопасностью данных// Автоматика и
вычислительная техника, 1990.- N4.- С. 11-17.
7. Хоффман Л.Дж. Современные методы защиты инфоpмации. М.: Советское радио, 1980.- 264 с.
8. Шураков В.В. Обеспечение сохранности информации в системах обработки данных.- М.: Финансы и
статистика, 1985. 224 с.
3. МЕХАНИЗМЫ ЗАЩИТЫ ОПЕРАЦИОННЫХ СИСТЕМ
Наиболее распространенным является определение
операционной системы как набора программ (часто говорят - управляющих программ), предназначенного для управления ресурсами вычислительной системы.
А.С.Марков, М.П.Милов, Г.В.Пеледов,
"Программное обеспечение ЭВМ"
Исторически первые ЭВМ поставлялись без единой управляющей программы, и пользователи должны были
сами создавать программные средства, охватывающие все аспекты решаемой задачи. С накоплением опыта
использования ЭВМ сначала стали появляться программы для помощи программисту, затем - программы-утилиты
общего применения, которые могли использовать пользователи при решении различных задач. Постепенно эти
программы стали структурироваться и организовываться так, чтобы выполнять основные функции взаимодействия
пользователя с аппаратными средствами ЭВМ. Это привело к появлению ОС.
Операционная систена есть специально организованная совокупность программ, которая управляет ресурсами
системы (ЭВМ, вычислительной системы, других компонентов ИВС) с целью наиболее эффективного их
использования и обеспечивает интерфейс пользователя с ресурсами.
Операционные системы, подобно аппаратуре ЭВМ, на пути своего развития прошли несколько поколений [3].
Цель ОС первого поколения состояла в ускорении и упрощении перехода с одной задачи пользователя на другую
задачу (возможно, другого пользователя), что поставило проблему обеспечения безопасности данных,
принадлежащих разным задачам.
Второе поколение ОС характеризовалось наращиванием программных средств обеспечения операций вводавывода и стандартизацией обработки прерываний (появление супервизоров). Надежное обеспечение безопасности
данных в целом осталось нерешенной проблемой.
К концу 60-х годов начал осуществляться переход к мультипроцессорной организации средств вычислительной
техники, поэтому проблемы распределения ресурсов и их защиты стали более острыми и трудноразрешимыми.
Решение этих проблем привело к соответствующей организации ОС и широкому применению аппаратных средств
защиты (защита памяти, аппаратный контроль, диагностика и т.п.).
Основной тенденцией развития вычислительной техники была и остается идея максимальной доступности ее для
пользователей, что входит в противоречие с требованием обеспечения безопасности данных. Поэтому практически
наибольшие усилия по обеспечению безопасности данных предпринимались при разработке ОС.
Под механизмами защиты ОС будем понимать все средства и механизмы защиты данных, функционирующие в
составе ОС.
Операционные системы, в составе которых функционируют средства и механизмы защиты данных, в литературе
часто называют защищенными системами [5, 8] .
В связи с тем, что ОС можно представить как совокупность наборов данных, для которых также необходимо
обеспечить надежную защиту, под безопасностью ОС будем понимать такое состояние ОС, при котором
невозможно случайное или преднамеренное нарушение функционирования ОС, а также нарушение безопасности
находящихся под управлением ОС ресурсов системы. Укажем следующие особенности ОС, которые позволяют
выделить вопросы обеспечения безопасности ОС в особую категорию:
- управление всеми ресурсами системы;
- наличие встроенных механизмов, которые прямо или косвенно влияют на безопасность программ и данных,
работающих в среде ОС;- обеспечение интерфейса пользователя с ресурсами системы;
- размеры и сложность ОС.
В силу этих особенностей обеспечение безопасности ОС играло и продолжает играть важную роль в процессе
развития вычислительной техники.
Большинство ОС обладают дефектами с точки зрения обеспечения безопасности данных в системе, что, как уже
отмечалось, обусловлено выполнением задачи обеспечения максимальной доступности системы для пользователя.
Рассмотрим типовые функциональные дефекты ОС, которые могут привести к созданию каналов утечки данных
[3].
1. Идентификация. Каждому ресурсу в системе должно быть присвоено уникальное имя - идентификатор. Во
многих системах пользователи не имеют возможности удостовериться в том, что используемые ими ресурсы
действительно принадлежат системе.
2. Пароли. Большинство пользователей выбирают простейшие пароли, которые легко подобрать или угадать.
3. Список паролей. При хранении списка паролей в незашифрованном виде возникает возможность его
компрометации с последущим НСД к данным. Вопросы, связанные с использованием паролей, будут подробно
рассмотрены в разделе 5.
4. Пороговые значения. Для предотвращения попыток несанкционированного входа в систему с помощью
подбора пароля необходимо ограничить число таких попыток, что в некоторых ОС не предусмотрено.
5. Подразумеваемое довеpие. Во многих случаях программы ОС считают, что другие программы работают
правильно.
6. Общая память. При использовании общей памяти не всегда после выполнения программ очищаются участки
оперативной памяти (ОП).
7. Разрыв связи. В случае разрыва связи ОС должна немедленно закончить сеанс работы с пользователем или
повторно установить подлинность субъекта.
8. Передача параметров по ссылке, а не по значению.
В связи с тем, что при передаче параметров по ссылке возможно оставление параметров в ОП после проверки их
корректности, нарушитель может изменить эти параметры до начала их использования системой.
9. Система может содержать много элементов (например, программ), имеющих различные привилегии.
Основной проблемой обеспечения безопасности ОС является проблема создания механизмов контроля доступа к
ресурсам системы [3]. Процедура контроля доступа заключается в проверке соответствия запроса субъекта
предоставленным ему правам доступа к ресурсам. Кроме того, ОС содержит вспомогательные средства защиты. К
этим средствам относятся средства надзора, профилактического контроля и ревизии [3]. В совокупности
механизмы контроля доступа и вспомогательные средства защиты образуют механизмы управления доступом.
В задачи средств надзора входит наблюдение за работой системы, идентификация и регистрация пользователей,
а также установление прав пользователей при регистрации.
Средства профилактического контроля необходимы для отстранения пользователя от непосредственного
выполнения критичных с точки зрения безопасности данных операций и передачи этих операций под контроль
ОС. Для обеспечения безопасности данных работа с ресурсами системы осуществляется с помощью специальных
программ ОС - так называемых безопасных программ, доступ к которым ограничивается.
Средства ревизии осуществляют постоянное ведение регистрационного журнала, в который заносятся записи о
всех событиях в системе.
В ОС также могут использоваться средства сигнализации о НСД, которые используются при обнаружении
нарушения безопасности данных или попыток такого нарушения.
Состав и структура вспомогательных средств защиты ОС зависят от архитектуры системы, ее ОС и СОБД и
используемого программного обеспечения.
Подробное описание механизмов управления доступом приведено в разделе 5. В данном разделе рассмотрены
механизмы контроля доступа, которые разрабатывались для реализации в ОС. Механизмы контроля доступа
создаются на основе моделей доступа к данным. Рассмотренные ниже модели доступа к данным имеют также
важное теоретическое значение.
3.1. Контроль доступа к данным
При создании механизмов контроля доступа необходимо, прежде всего, определить множества субъектов и
объектов доступа (понятия субъектов и объектов доступа (или субъектов и объектов) были введены в разделе 1).
Субъектами могут быть, например, пользователи, задания, процессы и процедуры. Объектами - файлы,
программы, семафоры, директории, терминалы, каналы связи, устройства, блоки ОП и т.д. Субъекты могут
одновременно рассматриваться и как объекты, поэтому у субъекта могут быть права на доступ к другому
субъекту. В конкретном процессе в данный момент времени субъекты являются активными элементами, а объекты
- пассивными.
Для осуществления доступа к объекту субъект должен обладать соответствующими полномочиями. Полномочие
есть некий символ, обладание которым дает субъекту определенные права доступа по отношению к объекту,
область защиты определяет права доступа некоторого субъекта ко множеству защищаемых объектов и
представляет собой совокупность всех полномочий данного субъекта.
При функционировании системы необходимо иметь возможность создавать новые субъекты и объекты. При
создании объекта одновременно создается и полномочие субъектов по использованию этого объекта. Субъект,
создавший такое полномочие, может воспользоваться им для осуществления доступа к объекту или же может
создать несколько копий полномочия для передачи их другим субъектам.
Непосредственная реализация контроля прав доступа обычно выполняется с помощью матриц доступа.
3.1.1 Матричная модель доступа
При использовании матричной модели доступа условия доступа каждого субъекта s к каждому объекту о
определяются содержимым элемента матрицы доступа или матрицы установления полномочий M. Каждый
элемент Mij матрицы доступа M определяет права доступа i-го субъекта к j-му объекту (читать, писать, выполнять,
нельзя использовать и т.п.). Пример матрицы доступа приведен на рис.3.1.
Элементы в матрице доступа (рис.3.1) имеют следующие значения: r- чтение, w- запись, е- выполнение, 0- нельзя
использовать.
¦ O1
¦ O2
¦... ¦ On
-----+-------+------+-----+-----S1 ¦ r
¦ w
¦
¦ w
-----¦-------+------+-----+-----S2 ¦ rw
¦ rw
¦
¦ 0
-----¦-------+------+-----+-----¦
¦
¦
¦
... ¦
¦
¦
¦
¦
¦
¦
¦
-----¦-------+------+-----+-----¦
¦
¦
¦
Sm ¦ e
¦ erw ¦
¦
ew
¦
¦
¦
¦
Рис.3.1. Пример матрицы доступа.
Элементы матрицы доступа могут содержать указатели на специальные процедуры, которые должны
выполняться при обращении субъекта к объекту. Решение о доступе в этом случае осуществляется на основании
результатов выполнения процедур [5], например:
- решение о доступе в данный момент времени основывается на анализе предыдущих доступов к другим
объектам;
- решение о доступе основывается на динамике состояния системы (права доступа субъекта зависят от текущих
прав доступа других субъектов);
- решение о доступе основывается на значении определенных переменных, например, на значении таймера.
Отметим, что строка M[s,*] содержит список разрешенных операций субъекта s по отношению ко всем объектам
(список возможностей), а столбец M[*,o] - определяет, какие субъекты имеют права доступа к объекту о и какие
именно права доступа (список доступа).
Размерность матрицы доступа зависит от количества субъектов и объектов в системе и может быть достаточно
большой. Для уменьшения размерности матрицы доступа могут применяться различные методы [7]:
- установление групп субъектов, называемых кликами, каждая из которых представляет собой группу субъектов
с одинаковыми правами;
- установление групп терминалов по классам полномочий (клики терминалов);
- группировка объектов по уровням категорий (например, по уровням секретности);
- хранение списка пар вида (o,f), где о - защищаемый объект, а f разрешение на использование его субъектом.
Перечисленные методы и другие, им подобные, могут применяться как по отдельности, так и в совокупности.
Как уже отмечалось, в процессе функционирования системы множества субъектов и объектов могут
динамически изменяться. Такие изменения могут происходить, например, в результате появления новых субъектов
и объектов, уничтожения субъектов и объектов и изменения прав доступа субъектов к объектам. Соответственно, в
процессе функционирования системы должна изменяться и матрица доступа. Динамика изменения множеств
субъектов и объектов, а также матрицы доступа при выполнении некоторых операций представлена в таблице 3.1.
В таблице 3.1: S- множество субъектов; O- множество объектов, причем S пpинадлежит O; M[s,o]- матрица
доступа. Элементами матрицы M являются права доступа g, пpинадлежащие G. Изменившиеся множества
помечены штрихом. Опеpация пpинадлежности указана как "пp.".
Таблица 3.1
+------------------------------------------------------------+
¦Исходное
¦ Опеpация ¦
Результиpующее состояние
¦
¦состояние
¦
¦
¦
+------------+------------+----------------------------------¦
¦
¦
¦ S’=S U {s’}, O’ = O U {s’}
¦
¦ S,O,M
¦ Создание ¦ M’[s,o]=M[s,o], s пp. S, o пp. O ¦
¦ s’не пp.O ¦ субъекта ¦ M’[s’,o]=0, o пp. O’
¦
¦
¦
s’
¦ M’[s’,s]=0, s пp. S’
¦
¦
¦
¦
¦
+------------+------------+----------------------------------¦
¦ S,O,M
¦ Создание ¦ S’=S, O’=O U {o’}
¦
¦ o’не пp.О ¦ объекта
¦ M’[s,o]=M[s,o], s пp. S, o пp. O ¦
¦
¦
o’
¦ M’[s,o’]=0, s пp. S’
¦
+------------+------------+----------------------------------¦
¦ S,O,M
¦ Уничтожение¦ S’=S\{s’}, O’=O\{s’}
¦
¦ s’ пp. S
¦ субъекта ¦ M’[s,o]=M[s,o], s пp. S’, o пp.O’¦
¦
¦
s’
¦
¦
+------------+------------+----------------------------------¦
¦ S,O,M
¦ Уничтожение¦ S’=S, O’=O \{o’}
¦
¦ o’ пp.О
¦ объекта
¦ M’[s,o]=M[s,o], s пp. S’, o пp.O’¦
¦ o’ не пp.S ¦
o’
¦
¦
+------------+------------+----------------------------------¦
¦ S,O,M
¦ Введение ¦ S’=S, O’=O
¦
¦ s пp.S
¦ пpава g
¦ M’[s,o]=M[s,o] U {g}
¦
¦ o пp. O
¦ в M[s,o] ¦ M’[s’,o’]=M[s’,o’],(s’,o’)<>(s,o)¦
+------------+------------+----------------------------------¦
¦ S,O,M
¦ Удаление ¦ S’=S, O’=O
¦
¦ s пp. S
¦ пpава g
¦ M’[s,o]=M[s,o]\{g}
¦
¦ o пp. О
¦ из M[s,o] ¦ M’[s’,o’]=M[s’,o’]
¦
¦
¦
¦ если (s’,o’)<>(s,o)
¦
¦
¦
¦
¦
+------------------------------------------------------------+
Динамику изменения множеств S и О, а также матрицы M, представленной в таблице 3.1, поясним на примере
создания субъекта s’.
При создании субъекта s’ этот субъект вводится в состав элементов множеств S и О. В матрице доступа
появляется новая строка, соответствующая новому субъекту: М’[s,о]=M[s,о].
M’[s’,о]=0; M’[s’,s]=0, так как субъект создан, но его права по отношению к существующим субъектам и
объектам не определены.
Матрицы доступа в той или иной степени используются во многих защищенных системах.
3.1.2. Многоуровневая модель доступа
Расширением матричной модели доступа является многоуровневая модель доступа. Объекты в многоуровневой
модели имеют различные уровни доступа (например, уровни секретности), а субъекты степени допуска.
Разрешение допуска субъекта к объекту является функцией от степени допуска конкретного субъекта и уровня
допуска конкретного объекта.
Многоуровневая модель доступа создана на основе теории алгебраических решеток [2]. Данные могут
передаваться между субъектами, если выполняются следующие правила (здесь буквами а, b и с будем обозначать
идентификаторы субъектов, а буквами х, у и z, соответственно, их уровни доступа).
1. Данные могут передаваться субъектом самому себе:
x<=x
2. Данные могут передаваться от субъекта а к субъекту с, если они могут передаваться от субъекта a к субъекту b
и от субъекта b к субъекту с:
если x<=у и y<=z, то x<=z,
3. Если х<=у и у<=х, то x=y.
Отметим, что рассмотренные правила представляют, соответственно, свойства рефлекссивности, транзитивности
и антисимметричности. Примером использования многоуровневой модели доступа является система контроля
доступа, принятая в военном ведомстве США (рис.3.2) [7]. Уровнями доступа выступают уровни секретности:
НЕСЕКРЕТНО, КОНФИДЕНЦИАЛЬНО, СЕКРЕТНО, СОВЕРШЕННО СЕКРЕТНО. Внутри отдельных уровней
секретности для выделения разделов данных, требующих специального разрешения на доступ к ним, определены
категории: АТОМНЫЙ, НАТО и ДРУГИЕ. Для получения доступа к данным определенной категории субъект
должен иметь не только доступ к данным соответствующего уровня (по секретности), но и разрешение на доступ
по категории. Например, субъект, имеющий доступ к данным с уровнем СОВЕРШЕННО СЕКРЕТНО и категории
НАТО, не может получить доступ к данным с категориями АТОМНЫЙ и ДРУГИЕ уровня СОВЕРШЕННО
СЕКРЕТНО (рис.3.2).
3.1.3. Модель Белла-Лападулы
Рассмотрим модель доступа Белла и Лападулы [5], схема которой приведена на рис.3.3. Модель Белла и
Лападулы состоит из следующих элементов:
- множества субъектов S;
- множества объектов О;
- множества уровней защиты L;
- множества прав доступа G;
- списка текущего доступа b;
- списка запросов Z.
+----------------+
¦Пpовеpка доступа¦
¦к уpовню
¦
+----------------+
¦
¦
+--+
+-----------------+
+------+СС+----¦Пpовеpка доступа ¦
¦
+--+
¦к категоpиям(СС) +---+
¦
+-----------------+
+--------------+
¦
+--------+
+-----+
+------+
¦
¦ АТОМНЫЙ¦
¦ НАТО¦
¦ДРУГИЕ¦
¦
+--------+
+-----+
+------+
¦
+---+
+-----¦ С +----¦
+---+
.......
¦
¦
+---+
+----¦ К +------ .......
¦
+---+
¦
¦
+----+
+---¦ НС +------------------------------------------+
+----+
+-------+
¦ДРУГИЕ ¦
+-------+
СС - совеpшенно секpетно
С - секpетно
К - конфиденциально
НС - несекpетно
Рис 3.2 Пpимеp многоуpовневой модели доступа
Каждому субъекту s пp. S сопоставляются два уровня защиты: базовый Ls(Si) пp. L, задаваемый в начале работы
и остающийся неизменным, и текущий It(Si) пp. L, зависящий от уровней защиты тех объектов, к которым субъект
Si имеет доступ в настоящий момент времени.
pазpешение
+-------+ запpос
+-----------+
+-------+
¦Субъект+------------>¦ Монитоp
+------------>¦Объект ¦
+-------+ отказ
¦ обpаботки ¦
+-------+
¦ +--<------------¦ запpосов ¦
¦
¦
+-----------+
¦
+--<--------------------------------------------+
данные объекта
Рис.3.3. Схема модели Белла-Лападулы.
Множество объектов О наделяется структурой дерева таким образом, что каждому объекту Oj соответствует
список объектов, непосредственно следующих за ним (объектов-сыновей) и, если Oj отличен от корня дерева, то
существует единственный объект O(j), непосредственно предшествущий ему (отец объекта Oj). Каждому объекту
Oj приписывается уровень защиты I(Oj) пp. L.
Множество L, является конечным частично упорядоченным множеством, обладавшим свойством алгебраической
решетки. Возможно представление каждого уровня защиты Lr пp. L, в виде вектора из двух компонент:
классификации и множества категорий. Будем говорить, что уровень защиты I1 больше уровня защиты I2, если
классификация I1 больше или pавна классификации I2, и множество категоpий I1 содеpжит множество категоpий
I2( в фоpмализованном виде: I1>=I2).
Множество прав доступа G имеет вид
G={r, а, w, e},
где r- чтение объектом субъекта (получение субъектом данных, содержащихся в объекте ) ;
а- модификация данных объекта субъектом без их предварительного прочтения;
w- запись-модификация данных объекта после их предварительного прочтения субъектом;
е- исполнение субъектом объекта (действие, не связанное ни с чтением, ни с модификацией данных).
Расширения модели допускают использование права Суправления, при котором субъект Si может передать права
доступа, которыми он владеет по отношению к объекту Oj, другому субъекту Sk.
При описании модели будем рассматривать следующую схему управления передачей прав доступа: передача
прав доступа к объекту Oj субъектом Si субъекту Sk связана с наличием у субъекта Si права w к "отцу" объекта Oj.
Матрица доступа M=|| Mij || не содержит пустых столбцов. Однако, наличие элемента Mij<>0 является
необходимым, но не достаточным условием разрешения доступа.
Список текущего доступа b содержит записи вида (Si , Oj , X), если субъекту Si разрешен доступ x пp. G к
объекту Oj и это разрешение к настоящему моменту времени не отменено. Разрешение доступа действительно до
тех пор, пока субъект не обратился с запросом на отказ от доступа к монитору.
Список запросов Z описывает возможности доступа субъекта к объекту, передачи прав доступа другим
субъектам, создания или уничтожения объекта. В модели Белла-Лападулы рассматриваются 11 следующих
запросов:
1) запрос на чтение (r) объекта;
2) запрос на запись (w) в объект;
3) запрос на модификацию (a) объекта;
4) запрос на исполнение (е) объекта;
5) запрос на отказ от доступа;
6) запрос на передачу доступа к другому объекту ;
7) запрос на лишение права доступа другого субъекта;
8) запрос на создание объекта без сохранения согласованности;
9) запрос на создание объекта с сохранением согласованности;
10) запрос на уничтожение объекта;
11) запрос на изменение своего текущего уровня защиты.
Белл и Лападула сформулировали два условия защиты для модели:
1) простое условие защиты;
2) * - условие.
Простое условие защиты предложено для исключения прямой утечки секретных данных и состоит в следующем.
Если субъекту Sj запрещен доступ:
а) по чтению r объекта Oj, тогда Is(Si)<=I(Oj);
б) по записи w в объект Oj, тогда Is(Si)<=I(Oj).
Простое условие защиты накладывает ограничения на базовые уровни защищенных объектов.
*-условие защиты (*-свойство) предназначено для предотвращения косвенной утечки данных. Это условие
накладывает ограничения на уровни защиты тех объектов, к которым субъект может иметь доступ одновременно.
Если субъект S имеет доступ X1 к объекту O1 и доступ X2 к объекту O2, то, в зависимости от вида доступа,
должны выполняться соотношения между уровнями защиты, приведенные в таблице 3.2.
Введение *-условия предназначено для предотвращения потока данных вида "чтение объекта для переписи
данных в объект с меньшим либо несравнимым уровнем защиты" (напомним, что доступ w предполагает
предварительное чтение).
Состояние системы считается безопасным, если соотношения между уровнями защиты объектов и субъектов
удовлетворяют как простому условию защиты, так и *-условию.
Таблица 3.2
+-----------------------------------------------+
¦
¦
¦
¦
¦Доступ к О1 ¦ Доступ к О2
¦ Соотношение ¦
+------------+------------------+---------------¦
¦Чтение - r ¦ Дополнение - а ¦ I(S1)<=I(O2) ¦
¦Чтение - r ¦ Запись - w
¦ I(S1)<=I(O2) ¦
¦Запись - w ¦ Дополнение - а ¦ I(S1)<=I(O2) ¦
¦Запись - w ¦ Запись - w
¦ I(S1)<=I(O2) ¦
+-----------------------------------------------+
Система защиты должна обеспечивать безопасность данных, если она не допускает перехода из безопасного
состояния в состояние, не являвшееся безопасным.
Для обеспечения безопасности данных необходимо и достаточно, чтобы изменение состояний системы
приводило только к безопасным состояниям, если исходное состояние было безопасным.
Белл и Лападула описали правила разрешения каждого из 11 возможных запросов. Эти правила используют
понятие текущего уровня защиты субъекта, которое определяется следующим образом. Пусть Or, Ov, Oa множества тех объектов, к которым субъект S имеет доступ r, w и а соответственно. Если Ov<>0, то
It(s)=max I(Oj)=min I(Oj)
(Oj пp. Ov) (Oj пp. Ov)
Если Ov=0, то It(s) может иметь уровень защиты в пределах:
max I(Oj)<=It(s)<=min I(Oj)
(Oj пp. Or)
(Oj пp. Oa)
В случае, если нижняя граница в этом неравенстве берется по пустому множеству, она полагается равной min
I(Oj),
(Oj пp. Ov)
а верхняя - Ib(s).
Рассмотрим правила выполнения каждого из 11 возможных запросов в модели Белла-Лападулы.
1. Запрос на чтение субъектом Si объекта Oj разрешается, если выполняется условие:
r пp.Mij ^ Is(Si)>=I(Oj) ^ It(Si)>=I(Oj) (3.1)
При невыполнении условия (3.1) запрос отвергается.
2. Запрос на запись субъектом Si в объект Oj разрешается, если выполняется условие:
w пp. Mij ^ Is(Si)>=I(Oj) ^ It(Si)=I(Oj) (3.2)
При невыполнении условия (3.2) запрос отвергается.
3. Запрос на дополнение субъектом Si объекта Oj разрешается, если выполняется условие:
a пp. Mij ^ It(Si)<=I(Oj) (3.3)
При невыполнении условия (3.3) запрос отвергается.
4. Запрос на исполнение субъектом Si объекта Oj разрешается, если e пp. Mij, и отвергается - в противном случае.
5. Отказ субъекта Si от доступа x пp. G к объекту разрешается безусловно. При этом происходит изменение
состояния системы :
b’=b\{Si,Oi,x}.
6. Передача субъекту Sk субъектом Si права на доступ x к объекту Oj разрешается, если субъект Sk имеет доступ
w к "отцу" Os(j) объекта Oj, то есть если
{Sk,Os(j),w} пp. b,
и отвергается - в противном случае. При этом происходит изменение состояния системы:
M’ij=Mij U {x}, x пp. G.
7. Лишение субъекта Sk субъектом Si права на доступ x к объекту Oj разрешается, если субъект Sk имеет доступ
w к "отцу" Os(j) объекта Oj, то есть если
{Sk,Os(j),w} пp. b
и отвергается - в противном случае. При этом происходит изменение
состояния системы:
M’ij=Mij \ {x}, x пp. G
8. Создание субъектом Si объекта Ot(j) с уровнем защиты I, являющегося "сыном" объекта Oj, разрешается, если
список текущего доступа b содержит записи:
{Si,Oj,w} ^ {Si,Oj,a}
и отвергается - в противном случае. При этом происходит изменение
состояния системы:
O’=O U {Ot(j)}; M’=M U Mt(j)
где столбец Mt(j) содержит один ненулевой элемент Mit(j) ,
значение
которого
зависит
от
дополнительного
параметра,
указываемого при запросе. Оно может принимать значения либо
{r,а,w}, либо {r,а,w,е).
9. Создание субъектом Si объекта Ot(j) с уровнем защиты I, являюшегося "сыном" объекта Oj, с сохранением
согласованности разрешается, если список текущего доступа b содержит записи:
{Si,Oj,w} ^ {Si,Oj,a} ^ I>I(Oj),
и отвергается - в противном случае. Изменение состояния системы
происходит аналогично восьмому запросу.
10. Уничтожение субъектом Si объекта Oj (и всех объектов Oj1,Oj2,...Ojk, являщихся "последователями" по
структуре дерева) разрешается, если субъект Si имеет доступ w к "отцу" Os(j) объекта Oj, и отвергается - в
противном случае. Изменение состояния системы происходит следующим образом: из списка текущего доступа b
удаляются все записи, содержащие объекты Oj1,Oj2,...Ojk; из матрицы M удаляются столбцы с номерами j1,j2,
...jk.
11. Изменение субъектом Si своего текущего уровня защиты It(Si) на It’ разрешается, если выполняются условия:
а) Is(Si)>=It’ и
б) It’<=I(Oj), если субъект Si имеет доступ а к какому-либо
объекту о, и
в) It’=I(Oj), если субъект Si имеет доступ w к какому-либо
объекту Oj
г) It’>=I(Oj), если субъект Si имеет доступ r к какому-либо
объекту Oj.
В противном случае -запрос отвергается.
Монитор обработки рассмотренных 11 запросов, созданный на основе модели Белла и Лападулы, был реализован
в виде программно-аппаратного ядра защиты ОС Multics [7].
3.1.4. Модель Харрисона-Руззо-Ульмана
Разработка и практическая реализация различных защищенных ОС привела Харрисона, Руззо и Ульмана [8] к
построению фоpмальной модели защищенных систем. Схема модели Харрисона, Руззо и Ульмана (XRU- модели)
приведена на рис.3.4.
В XRU- модели на ОС возлагаются функции обращений (монитора обращений) к защищаемым ресурсам
(данным ). Защищенная система состоит из следующих компонентов.
1. Конечное множество общих прав G:
G={G1,G2,...,Gn}
2. Конечное множество команд С, представленных в форме:
command C(Х1,Х2,..., Хn)
if G1 in (Xs1, Хo1) and
...
Gm in (XSp,XOp)
then
OP1
...
OPn
end.
Если M=0, то множество команд C представлено в форме:
command C (Х1 , Х2 , . . . , Хk )
OP1
...
OPn
end.
Здесь С- имя; Х1, Х2,..., Хk - формальные параметры.
+--------------+
+--------------+
¦Пользователь 1¦ ....
¦Пользователь L¦
+------^-------+
+------^-------+
¦
¦
+------V------------------------V-------+
¦
ЭВМ
¦
+-----------------^---------------------+
¦
¦
¦
+-----------------V---------------------+
¦
Монитоp обpащений
¦
+-----------------^---------------------+
¦
¦
¦
¦
+-----------------V---------------------+
¦
Защищаемые данные
¦
+---------------------------------------+
Рис.3.4. Схема модели Харрисона, Руззо и Ульмана.
Каждая операция OPi есть одна из следующих простейших операций:
enter G into (Xs, Хo)- введение права g в соответствующий элемент M[Xs, Хo] матрицы доступа;
delete g from (Xs, Хo)- удаление права g из элемента M[Xs,Хo] матрицы доступа;
create subject Xs- создание субъекта Xs;
destroy subject Xs- удаление субъекта Xs;
create object Xo- создание объекта Хo;
destroy object Хo- удаление объекта Хo,
g пp. G. 1<=s, s1,...,sp,o,o1,...,op<=k
Для данной системы предоставления прав (G,С) конфигурация защищенной системы есть тройка
<S, О, M>
где S- множество текущих субъектов;
O- множество текущих объектов, S подмноож. О;
M- матрица доступа.
Матрица доступа M содержит строку для каждого субъекта s пp. S и столбец для каждого объекта о пp. О.
Элемент матрицы доступа M[s,o] есть подмножество множества прав доступа G, которое субъект s имеет по
отношению к объекту о: M[s,o] пp. G.
Пусть Q - состояние системы. Будем говорить, что состояние Q’ выводится из состояния Q после выполнения
команды С. Переход системы из состояния Q в состояние Q’ будем записывать в следующем виде:
Q ¦
¦
+----------Q’ или
Q +---- Q’
¦ C(X1,...,Xk)
¦
Состояние Q’ определяется следующим образом.
1) Если условия в команде С не выполняются (то есть существует некоторое i пp. {1,...,p}, такое, что gl не пp.
M[Xs(i),Xo(i)], то Q=Q’.
2) Если условия в команде С выполняются, тогда должны существовать состояния Q0, Q1,..., Qn, такие, что
¦
¦
Q=Q0 +--------- Q1 +-------¦
OP1*
¦ OP2*
....
¦
+---------- Qn
¦
OPn*
где OPi*- простейшая операция OPi с параметрами х1,..,xk, подставляемыми в формальные параметры
Х1,Х2,...,Xk соответственно, тогда Q’=Qn.
Перейдем к проблеме безопасности защищенных систем. Пусть система находится в состоянии Q0. Необходимо
определить, будет ли последовательность команд С1,С2,...,Сn, применяемая к состоянию Q0, приводить к такому
состоянию Q, что выполнение еще одной команды в состоянии Q приведет к появлению права g в ячейке матрицы
доступа, которая этого права не содержала .
Формально поставленную задачу, можно записать следующим образом. Команда С(Х1,...,Xk) высвобождает
право g из состояния Q=(S,0,M), если при некоторых значениях параметров х1,..,xk удовлетворяются условия в
команде С, и команда С включает простейшие операции ор1,ор2,...,орn, такие, что существуют m пp. {1,...,M) и
состояния
Q=Q0,Q1,...,Qm-1=(S’,O’,M’); Qm=(S",O",M’’),
причем
¦
Q+------¦ OP1*
¦
¦
Q1 +------- .... +---------- Qm ^ g не пp. M’[s,o]
¦ OP2*
¦ OPm*
но g пp. M’’[s,o] для некоторых s пp. S’ и о пp. О’.
Всегда можно предположить, что орi есть
enter g into(s,o).
Таким образом, для данных Q, С и g всегда можно определить: будет высвобождено право g или нет.
Определим безопасность системы следующим образом. Для данной системы предоставления прав (G,С) и
общего права g пp. G состояние Q0 небезопасно, если существует состояние Q, такое, что Q0|-Q, и команда С
высвобождает g из Q. Если состояние Q0 не является небезопасным для g, то Q0 безопасно для права g.
Рассмотрим простейший пример, иллюстрирующий опасность высвобождения определенного права.
Пpимеp 1. Пусть мы имеем систему предоставления прав (G,С), которая в некоторый момент времени имеет три
субъекта и два объекта. Субъектами системы являются ОС, ДВМ (менеджер базы данных) и PR (программист),
объекты системы - O1 и О2, (файлы данных). В G имеются следующие права: r (читать), w (писать), е (выполнять),
u (изменять) и d (уничтожать). Матрица доступа приведена на рис.3.5.
ОС
ДВМ
PR
O1
O2
ОС
All
All
All
All
All
ДВМ
e
er
rwud
rwud
PR
r
rwud
Рис.3.5. Матрица доступа для примера 3.1.
Отметим, что согласно матрице доступа, приведенной на рис.3.5. ОС имеет все возможные права доступа (All) ко
всем объектам, включая себя.
Пусть команда имеет вид:
command C(X1,X2,X3,X4)
if e in M[X1,X2]
and e in M[X1,X2]
and r in M[X1,X2]
then
enter е into M[X1,X2]
end
Тогда при выполнении команды С(ОС,ДВМ,PR,O1) программист PR получит право е для ОС. Так как ОС имеет
все права по отношению ко всем объектам, то программист может дать команду ОС уничтокить ДВМ.
Пример 3.1 показывает абстрактную опасность высвобождения общего права. В общем случае для определения
безопасности системы необходимо дать ответ на следущий вопрос: возможно ли для данной системы
предоставления прав (R,C) определить безопасность системы для определенного права?
Ответ на поставленный вопрос дает теорема, которая была сфоpмулирована и доказана Харрисоном, Руззо и
Ульманом. В литературе ее часто называют теоремой безопасности [7, 8, 9]
Теорема 3.1. (теорема безопасности). Проблема определения того, что данное состояние системы предоставления
прав будет безопасным для данного общего права, является неразрешимой.
Доказательство.
Доказательство теоремы 3.1 [7, 8] опирается на аппарат машин Тьюринга [2].
Машину Тьюринга можно представить в виде
<Q,A,F,q0,qk>,
где Q - множество состояний машины;
А - алфавит;
F - функция переходов, F:QxA->QxAx{Left,Right}
(Left - движение головки влево, Right- вправо);
q0- начальное состояние;
qk- конечное состояние.
Построим машину Тьюринга для рассматриваемой системы предоставления прав.
Множество G общих прав будет содержать права, соответствующие каждому состоянию q пp. Q машины и
каждому символу ленты из А. Дополнительно введем два права: end (конец) и own (собственный). Тогда G=Q U А
U {end,own}.
Если в определенный момент времени машина Тьюринга находится в состоянии q и просмотрено конечное число
k ячеек ленты (то есть ячейки k+1.k+2,... заполнены пробелами), тогда состояние q характеризуется матрицей
доступа с k субъектами и k объектами, такой что:
1) если ячейка i ленты содержит символ Ai, то M[i,i] содержит право Ai;
2) элемент M[i,i+1] содержит право own для i=1,2,...,k-1;
3) элемент M[k,k] содержит право end (так как k+1 субъект еще не создан);
4) если головка машины рассматривает ячейку i, тогда M[i,i] содержит право q.
На рис.3.6 приведена матрица доступа, соответствующая машине Тьюринга, находящейся в состоянии qs.
Головка просматривает ячейку номер 4; первые четыре ячейки содержат символы а1,а2,а3,а4, соответственно.
+------------------------------------------------------------+
¦ a1
¦ own
¦
¦
¦
+----------+-------------+---------------+-------------------¦
¦
¦ a2
¦
own
¦
¦
+----------+-------------+---------------+-------------------¦
¦
¦
¦
a3
¦
own
¦
+----------+-------------+---------------+-------------------¦
¦
¦
¦
¦ a4,q3,end
¦
+------------------------------------------------------------+
Рис.3.6
Начальное состояние q0 машины Тьюринга представляется матрицей доступа с одним субъектом,
соответствущим первой ячейке ленты. Права в матрице включают q0, пробел и end (так как вся лента заполнена
пробелами).
Переход машины Тьюринга из состояния в состояние определяется функцией перехода, реализуемой командами
системы предоставления прав.
Рассмотрим движение головки влево:
F(qi,ai)=(qi,am,left)
Будем считать, что перемещение осуществляется от s’ ячейки ленты на соседнюю слева ячейку s.
Соответствующая команда выглядит следущим образом:
command Cqa(s,s’)
if own
in M[s,s’] and
qi
in M[s’,s’] and
ai
in M[s’,s’]
then delete qi
from M[s’,s’]
delete ai
from M[s’,s’]
enter am
into M[s’,s’]
enter qj
into M[s,s]
end
Результат выполнения команды F(q3,a4)=(q2,a5,left) в рассматриваемом случае приведен на рис.3.7.
s
s’
+------------------------------------------------------------+
¦ a1
¦ own
¦
¦
¦
+----------+-------------+---------------+-------------------¦
¦
¦ a2
¦
own
¦
¦
+----------+-------------+---------------+-------------------¦
¦
¦
¦
a3,q2
¦
own
¦
+----------+-------------+---------------+-------------------¦
¦
¦
¦
¦ a5,end
¦
+------------------------------------------------------------+
Рис.3.7
Если головка машины Тьюринга движется вправо, то есть:
F(qi,al)=(qj,am,right),
то необходимо различать два случая:
1) ячейка справа от рассматриваемой уже просматривалась;
2) ячейка справа от рассматриваемой еще не просматривалась.
Первый случай аналогичен движению влево. Соответствующая команда имеет вид:
command Cqa(s,s’)
if own in M[s,s’] and
qi
in M[s,s] and
al
in M[s,s]
then delete {qi,al} from M[s,s’]
enter qj into M[s’,s’]
enter am into M[s,s]
end.
результат выполнения команды F(q2,a3)=(q3,а5,right) для этого случая приведен на рис.3.8.
s
s’
+------------------------------------------------------------+
¦ a1
¦ own
¦
¦
¦
+----------+-------------+---------------+-------------------¦
¦
¦ a2
¦
own
¦
¦
+----------+-------------+---------------+-------------------¦
¦
¦
¦
a5
¦
own
¦
+----------+-------------+---------------+-------------------¦
¦
¦
¦
¦ a5,q3,end
¦
+------------------------------------------------------------+
Рис.3.8
В связи с тем, что мы рассматриваем детерминированную машину Тьюринга, команда F(qi,al) имеет только один
результат и, следовательно, можно использовать одно имя команды независимо от направления движения.
Во втором случае движения головки вправо необходимо создать новый субъект (перейти на еще не
просмотренную ячейку ленты). Команда для этого случая имеет следущий вид (команды Cqa и Eqa являются
взаимоисключающими):
command Eqa(s,s’)
if end in M[s,s] and
qi in M[s,s] and
al in M[s,s]
then delete {end,qi,al} from M[s,s]
enter {qj,end} into M[s’,s’]
enter al into M[s,s]
enter own into M[s,s’]
end
Результат выполнения команды F(q3,a5)=(q4,a7,right) приведен на рис.3.9.
Приведенные примеры смены состояний машины Тьюринга показывают, что в каждом состоянии системы
предоставления прав существует по крайней мере одна подходящая команда. Поэтому система (R,С) точно
моделируется машиной Тьюринга, использующей рассмотренное представление. Если машина попадает в
состояние qk, то система предоставления прав может высвободить соответствующее общее право qk.
s
s’
+------------------------------------------------------------+
¦ a1
¦ own
¦
¦
¦
¦
+----------+-------------+---------+-----------+-------------¦
¦
¦ a2
¦
own
¦
¦
¦
+----------+-------------+---------+-----------+-------------¦
¦
¦
¦
a5
¦ own
¦
¦
+----------+-------------+---------+-----------+-------------¦
¦
¦
¦
¦ a7
¦ own
¦
+----------+-------------+---------+-----------+-------------¦
¦
¦
¦
¦
¦ q4,end
¦
+------------------------------------------------------------+
Рис.3.9
В связи с тем, что для машины Тьюринга является неразрешимым, попадет ли машина в конечное состояние из
заданного начального состояния, то такое является неразрешимым - безопасна ли система предоставления прав
для общего права qk. Таким образом, теорема безопасности доказана.
Рассмотренная теорема безопасности показывает определенную безнадежность создания защищенных систем
для общего случая предоставления прав. В частных случаях результаты не являются столь пессимистическими.
Харрисон, Руззо и Ульман рассмотрели следуящие подклассы систем предоставления прав:
- однооперационные, в которых каждая команда содержит только одну простейшую операцию;
- одноусловные, в которых каждая команда содержит только одно условие;
- монотонные (без команд уничтожения субъектов и объектов).
Для этих подклассов систем предоставления прав были доказаны следующие теоремы [9].
Теорема 3.2. Существует алгоритм, который позволяет определить, будет ли данная однооперационная система
безопасной для данного начального состояния и данного общего права.
Теорема 3.3. Безопасность одноусловной системы является разрешимой для данного начального состояния и
данного общего права.
Теорема 3,4. Безопасность монотонной системы для данного начального состояния и данного общего права
является неразрешимой.
Теорема 3.5. Проблема безопасности для системы предоставления прав оконечным числом субъектов разрешима.
Теоремы 3.2-3.5 показывают, что применение рассмотренной модели предоставления прав в специальных
случаях позволяет построить безопасные системы.
3.2. Защита в опеpационной системе UNIX
В качестве примера реализации функций защиты в ОС кратко рассмотрим механизмы защиты ОС Unix [6].
Операционная система Unix относится к категории многопользовательских многопрограммных ос, работающих в
режиме разделения времени. Первая версия UNIX была разработана К.Томпсоном и Д.Ритчи в 1969 году.
Необходимо отметить, что между языком программирования Си и ОС Unix существует тесная связь. Язык Си был
разработан Д.Ритчи в начале семидесятых годов для работы с ранними версиями ОС Unix. Он представляет собой
результаты развития языка Би, созданного К.Томпсоном. В настоящее время свыше 90% ядра ОС Unix и
подавляющее большинство ее утилит написаны на языке Си. Богатые возможности, заложенные в ОС UNIX,
сделали ее наиболее популярной в мире. Операционная система UNIX поддерживается практически на всех типах
ЭВМ.
Организация работ в ОС Unix основана на понятии последовательного процесса как единицы работы, управления
и потребления ресурсов. Взаимодействие процессов внутри ядра (процесс вызывает ядро как подпрограмму)
происходит по принципу сопрограмм. Последовательность вычислений внутри процесса строго выдерживается:
процесс, в частности, не может активизировать ввод-вывод и продолжать вычисление параллельно с ним. В этом
случае требуется создать параллельный процесс.
Резидентная в ОП часть ОС называется ядром. Ядро ОС UNIX состоит из двух основных частей: управления
процессами и управления устройствами. Упpавление пpоцессами резервирует ресурсы, определяет
последовательность выполнения процессов и принимает запросы на обслуживание. Управление устройствами
контролирует передачу данных между ОП и периферийными устройствами.
В любой момент времени выполняется либо программа пользователя (процесс), либо команда ОС. В кавдый
момент времени лишь один пользовательский процесс активен, а все остальные приостановлены. Ядро ОС Unix
служит для удовлетворения потребностей процессов.
Процесс есть программа на этапе выполнения. В некоторый момент времени программе могут соответствовать
один или несколько процессов, или не соответствовать ни одного. Считается, что процесс является объектом,
учтенным в специальной таблице ядра системы. Наиболее важная инфоpмация о процессе хранится в двух местах:
в таблице процессов и в таблице пользователя, называемой также контекстом процесса. Таблица процессов всегда
находится в памяти и содержит на каждый процесс по одному элементу, в котором отражается состояние
процесса: адрес в памяти или адрес своппинга, размер, идентификаторы процесса и запустившего его
пользователя. Таблица пользователя существует для каждого активного процесса и к ней могут непосредственно
адресоваться только программы ядра (ядро резервирует по одному контексту на каждый активный процесс). В
этой таблице содержится информация, требуемая во время выполнения процесса: идентификационные номера
пользователя и группы, предназначенные для определения привилегий доступа к файлам, ссылки на системную
таблицу файлов для всех открытых процессом файлов, указатель на индексный дескриптор текущего каталога в
таблице индексных дескрипторов и список реакций на различные ситуации. Если процесс приостанавливается,
контекст становится недоступным и немодифицируемым.
Каталоги файловой системы ОС UNIX "спрятаны" от пользователей и защищены механизмами ОС. Скрытой
частью файловой организации в ОС UNIX является индексный дескриптор файла, который описывает
расположение файла, его длину, метод доступа к файлу, даты, связанные с историей создания файла,
идентификатор владельца и т.д. Работа с таблицами является привилегией ядра, что обеспечивает
сохранность и безопасность системы. Структура данных ядра ОС, обеспечивающих доступ к файлам, приведена на
рис.3.10.
+----------+
+----------+
+------------+
¦таблица
¦
¦системная ¦
¦системная
¦
¦пользова- ¦
¦таблица
¦
¦таблица
¦
¦теля
¦
¦файлов
¦
¦индексных
¦
+---файл
¦(контекст ¦
+----------¦
¦дескpипто- ¦
¦
¦ пpоцесса)¦ +---+----------¦
¦pов файлов ¦
¦
файл
¦
¦ ¦
+----------¦ +-+------------+---+
+----------+-+ +-+----------+-+-+------------+----+ файл
+-+----------+---+ +----------¦ ¦ +------------¦
¦
¦ +----------¦
+----------+-+ +------------¦
+--файл
¦ ¦
¦
¦
¦
+------------¦
¦ +----------+
+----------+
+------------+
¦
¦
¦
+--- дескpиптоpы откpытых пpоцессом файлов
Рис.3.10. Структура данных, обеспечивающая доступ к файлам.
При взаимодействии с ОС Unix пользователь может обращаться к большому числу наборов информационных
объектов или файлов, объединенных в каталоги. Файловая система ОС Unix имеет иерархическую структуру.
В ОС Unix используется четыре типа файлов: обычные, специальные, каталоги, а в некоторых версиях ОС и
FIFO-файлы. Обычные файлы содержат данные пользователей. Специальные файлы предназначены для
организации взаимодействия с устройствами ввода-вывода. Доступ к любому устройству реализуется как
обслуживание запроса к специальному (дисковому) файлу. Каталоги используются системой для поддержания
файловой структуры. Особенность каталогов состоит в том, что пользователь может читать их содержимое, но
выполнять записи в каталоги (изменять структуру каталогов) может только ОС. В ОС Unix, где реализованы FIFOфайлы (First in First Out), организуются именованные программные каналы, являюшиеся соединительным
средством между стандартным выводом одной программы и стандартным вводом другой. Схема типичной
файловой системы ОС Unix приведена на рис.3.11.
Рассмотрим основные механизмы защиты данных, реализованные в ОС Unix.
Управление доступом к системе. При включении пользователя в число абонентов ему выдается регистрационное
имя (идентификатор) для входа в систему и пароль, который служит для подтверждения идентификатора
пользователя. Вводимые пользователем символы пароля не отображаются на экране теpминала. В отдельных
версиях ОС Unix, помимо идентификатора и пароля, требуется ввод номера телефона, с которого выполняется
подключение к системе. Администратор системы и пользователь могут изменить пароль командой passwd. При
вводе этой команды ОС запрашивает ввод текущего пароля, а затем требует ввести новый пароль. Если
предложенный пароль слишком прост, ОС может попросить ввести другой. Если предложенный пароль
удовлетворителен, ОС просит ввести его снова с тем, чтобы убедиться в корректности ввода пароля.
Пользователи, которым разрешен вход в систему, перечислены в учетном файле пользователей /etc/passwd. Этот
текстовый файл содержит следущие данные: имя пользователя, зашифрованный пароль, идентификатор
пользователя, идентификатор группы, начальный текущий каталог и имя исполняемого файла, используемого в
качестве интерпретатора команд. Пароль шифруется, как правило, с использованием DES-алгоритма [4].
+-----+
¦ root¦ Коpневой кталог
+-----+
+----------------------------------------------+
+---+
¦
+----+
+----+
¦usr¦
¦
¦bin +---+
¦dev ¦
+---+
¦
+----+
¦
+----+
¦
+----+
+--+
+--+
¦
¦ +----+
+--¦mail¦
¦ +----+
¦ +----+
+--¦news¦
+----+
+--+
+--+
+--+
+--+
¦etc ¦
¦ ¦
¦ ¦
+----+
+--+
+--+
+-------------+
+--+
+--+
+--+
¦ ¦
¦ ¦
¦ ¦
+--+
+--+
+--+
¦
¦ +-------+
+-¦ date ¦
¦ +-------+
¦
¦ +------+
+-¦ cat ¦
+------+
каталоги
¦
+--tty00
¦
+--tty0n
¦
¦
+--console
обычные файлы
Рис.3.11 Схема файловой системы ОС Unix
Управление доступом к данным. Операционная система UNIX поддерживает для любого Файла комплекс
характеристик, определяющих санкционированность доступа, тип файла, его размер и точное местоположение на
диске. При каждом обращении к файлу система проверяет право пользоваться им.
Операционная система Unix допускает выполнение трех типов операций над файлами: чтение, запись и
выполнение. Чтение файла означает, что доступно его содержимое, а запись - что возможны изменения
содержимого файла. Выполнение приводит либо к загрузке файла в ОП либо к выполнению содержащихся в
файле команд системного монитора Shell. Разрешение на выполнение каталога означает, что в нем допустим поиск
с целью формирования полного имени на пути к файлу. Любой из файлов в ОС Unix имеет определенного
владельца и привязан к некоторой группе. Файл наследует их от процесса, создавшего файл. Пользователь и
группа, идентификаторы которых связаны с файлом, считаются его владельцами.
Идентификаторы пользователя и группы, связанные с процессом, определяют его права при доступе к файлам.
По отношению к конкретному файлу все процессы делятся на три категории:
1) владелец файла (процессы, имевшие идентификатор пользователя, совпадающий с идентификатором
владельца файла);
2) члены группы владельца файла (процессы, имеющие идентификатор группы, совпадащий с идентификатором
группы, которой принадлежит файл);
3) прочие (процессы, не попавшие в первые две категории) .
Владелец файла обладает одними привилегиями на доступ к нему, члены группы, в которую входит файл другими, все остальные пользователи - третьими.
Каждый файл содержит код защиты, который присваивается файлу при его создании. Код защиты располагается
в индексном дескрипторе файла и содержит десять символов, причем первый символ определяет тип файла, а
последующие девять - право на доступ к нему. Три вида операций (чтение, запись и выполнение) и три категории
(уровни привилегий на доступ: владельцев, групп и прочих пользователей) дают в совокупности девять
возможных вариантов разрешений или запретов на доступ к файлу. Первые три символа определяют возможности
чтения (r), записи (w) и выполнения (е) на уровне владельца, следующие три - на уровне группы, в которую входит
владелец, и последние три - на уровне остальных пользователей. Наличие символов r, w и e указывает на
соответствующее разрешение.
Если процесс требует доступа к файлу, то сначала определяется категория, в которую по отношению к этому
файлу он попадает. Затем из кода защиты выбираются те три символа, которые соответствуют данной категории, и
выполняется проверка: разрешен ли процессу требуемый доступ. Если доступ не разрешен, системный вызов,
посредством которого процесс сделал запрос на доступ, отвергается ядром ОС.
По соглашению, принятому в ОС Unix, привилегированный пользователь имеет идентификатор. равный нулю.
Процесс, с которым связан нулевой идентификатор пользователя, считается привилегированным. Независимо от
кода защиты файла привилегированный процесс имеет право доступа к файлу для чтения и записи. Если в коде
защиты хотя бы одной категории пользователей (процессов) есть разрешение на выполнение файла,
привилегированный процесс тоже имеет право выполнять этот файл.
С помощью специальных команд владелец файла (и привилегированный пользователь) может изменять
распределение привилегий. Команда Change mode позволяет изменить код защиты, команда Change owner меняет
право на владение файлом, а команда Change group - принадлежность к той или иной группе. Пользователь монет
изменять режимы доступа только для тех файлов, которыми он владеет.
Защита хpанимых данных. Для защиты хранимых данных в составе ОС Unix имеется утилита crypt, которая
читает данные со стандартного ввода, шифрует их и направляет на стандартный вывод. Шифрование применяется
при необходимости предоставления абсолютного права владения файлом. Зашифрованный файл можно прочитать
лишь по предъявлении пароля.
Восстановление файловой системы. Операционная система UNIX поддерживает три основных набора утилит
копирования: программы volcopy/labelit, dump/restor и cpio. Программа volсору целиком переписывает файловую
систему, проверяя с помощью программы labelit соответствие меток требуемых томов. Программа dump
обеспечивает копирование лишь тех файлов, которые были записаны позднее определенной даты (защита
накоплением). Программа restor может анализировать данные, созданные программой dump, и восстанавливать
отдельные файлы или всю файловую систему полностью. Программа cpio предназначена для создания одного
большого файла, содержащего образ всей файловой системы или какой-либо ее части.
Для восстановления поврежденной, например, в результате сбоев в работе аппаратуры файловой системы
используются программы fsck и fsdb.
За сохранность файловой системы, адаптацию программного обеспечения к конкретным условиям эксплуатации,
периодическое копирование пользовательских файлов, восстановление потерянных данных и др. ответственность
возложена на администратора системы.
Усложненное управление доступом. В составе утилит ОС Unix находится утилита cron, которая предоставляет
возможность запускать пользовательские программы в определенные моменты (промежутки) времени и,
соответственно, ввести временные параметры для ограничения доступа пользователей.
Для управления доступом в ОС Unix также применяется разрешение установки идентификатора владельца. Такое
разрешение дает возможность получить привилегии владельца файла на время выполнения соответствущей
программы. Владелец файлов может установить такой режим, в котором другие пользователи имеют возмоююсть
назначать собственные идентификаторы режима. Аналогичным образом, разрешение установки идентификатора
группы позволяет лицу, выполняющему программу, приобретать привилегии члена группы, в которую входит
владелец программы (только на время выполнения этой программы).
Совеpшенствование механизмов защиты. Широкое распространение, многочисленные достоинства и хорошие
перспективы ОС UNIX с 1984 года были поддержаны попытками стандартизации ее пользовательских
интерфейсов и языка Си[1]. Стандартизация языка Си завершилась принятием стандарта Американского
национального института стандартов (ANSI). Проект стандарта интерфейсов мобильной ОС, названный POSIX,
подготовлен рабочими группами института IEEE (США). В рамках этого проекта разработан интерфейс защиты
(управляемого доступа), который отличается от традиционного подхода к управлению доступом к данным в ОC
Unix.
В соответствии с разработанным интерфейсом защиты объекты, на которые распространяется управляемый
доступ, включают файлы всех типов (в том числе программные каналы) и процессы. файлы выступают в роли
объектов, процессы - в роли субъектов. Различается доступ к объектам, основанный на дискретном выборе, и
доступ, основанный на полномочиях.
Дискретный выбор использует соответствие списков (для каждого объекта составляются списки субъектов,
доступ которых к объекту разрешен), этот механизм доступа реализован в имеющихся версиях ОС Unix.
Доступ, основанный на полномочиях, использует соответствие меток. Для этого вводятся метки объектов
(файлов) и субъектов (процессов), а также понятия доминанты и равенства меток (для выражения отношения
между метками). Создаваемый файл наследует метку от создавшего его процесса. Вводятся соотношения,
определящие права процессов по отношению к файлам.
Интерфейс даскретного доступа существенно детализирует имеящиеся механизмы защиты ОС UNIX. Вводимые
средства можно разделить на следующие группы:
- работа со списками доступа при дискретной защите;
- проверка права доступа;
- управление доступом на основе полномочий;
- работа привилегированных пользователей.
В рамках проекта Posix создан интерфейс системного администратора. Указанный интерфейс определяет
объекты и множества действий, которые можно выполнить над объектами. В качестве классов субъектов и
объектов предложены пользователь, группа пользователей, устройство, файловая система, процесс, очередь, вход
в очередь, машина, система, администратор, программное обеспечение и др. Определены атрибуты таких классов,
операции над классами и события, которые могут с ними происходить.
Стандартизация интерфейсов ОС Unix и появление юридического стандарта повысит значимость ОС Unix, в том
числе и для обеспечения безопасности данных.
УПРАЖНЕНИЯ
1. Как связаны поколения вычислительной техники и поколения операционных систем?
2. Сформулируйте список функциональных дефектов с точки зрения защиты в используемой ОС.
3. Сформулируйте множество элементов, которые могут содержаться в ячейке матрицы доступа.
4. Перечислите методы сжатия матрицы доступа. Предложите свои методы.
5. Какие правила для каждого из одиннадцати запросов в модели Белла-Лападулы соответствуют простому
условию защиты, а какие *-условию?
6. Сформулируйте свое множество запросов для модели Белла-Лападулы .
7. Выполните анализ влияния простейших операций на матрицу доступа в модели Харрисона-Руззо-Ульмана.
8. Сформулируйте другие возможные подклассы защитных систем для модели Харрисона-Руззо-Ульмана.
9. Объясните значение теоремы безопасности.
10. Укажите значение теорем для подклассов защищенных систем.
ЛИТЕРАТУРА
1. Беляков М.И. Стандартизация Unix// Операционная система Unix.- М.: Знание, 1991.- С. 7-10. (Серия
"Вычислительная техника и ее пpименение, N 6).
2. Городецкий В.И. Прикладная алгебра и дискретная математика. Ч.1. Алгебраические системы.- М.: МО СССР,
1984.174с.
3. Дейтел Г. Введение в операционные системы// Пер, с англ. т.1.- М.: Мир, 1987.- 359 с.
4. Дейтел Г. Введение в операционные системы// Пер, с англ. т.2.- М.: Мир, 1987.- 398 с.
5. Емелин И.В., Эльгиян Р.В. Обеспечение многоуровневой защиты в информационных и вычислительных
системах.- М.: ВНИИМИ, 1979.- 26 с.
6. Кристиан К. Введение в операционную систему UNIX. - М.: Финансы и статистика, 1985.- 318 с.
7. Хофман Л.Дж. Современные методы защиты информации . - М.: Советское радио, 1980.- 264 с.
8. Harrison М.А., Ruzzo W.L., Ullman J.D. Protection In Operating System// Communications of ACM, August 1976.v. 19. n 8 - P. 461-471.
9. Harrison M.A. Theoretical ModeLs of Security In Operating Systems. 4-th Jerusalim Conf. on Informatlon Technology
(JCIT), 21-25 May 1984.- Silver Spring.- P. 106-113.
4. Механизмы защиты баз данных
Составив список, он внимательно его просматривал, чтобы убедиться, что ничего не забыл.
затем он снова просматривал его и вычеркивал
то, без чего можно обойтись.
После этого он терял список.
Джером К. Джером, "Трое на велосипедах"
4.1. Основные требования по безопасности в базах данных
Основной формой организации информационных массивов в ИВС являются базы данных.
Базу данных можно определить как совокупность взаимосвязанных хранящихся вместе данных при наличии
такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или
нескольких приложений. В отличие от файловой системы организации и использования информации , БД
существует независимо от конкретной программы и предназначена для совместного использования многими
пользователями. Такая централизация и независимость данных в технологии БД потребовали создания
соответствующих СУБД - сложных комплексов программ, которые обеспечивают выполнение операций
корректного размещения данных, надежного их хранения, поиска, модификации и удаления.
Основные требования по безопасности данных, предъявляемые к БД и СУБД, во многом совпадают с
требованиями, предъявляемыми к безопасности данных в компьютерных системах. Поэтому некоторые из
механизмов защиты БД (рис.4.1) идентичны механизмам, используемым для защиты ОС.
+-------------+
+----->¦ Пользователи¦
¦
+-------------+
+---------V--------------------------------------------------+
¦
Блок контpоля доступа
¦
¦ +-------------------------+
+----------------------+ ¦
¦ ¦Установление подлинности +-->---¦Опpеделение полномочий¦ ¦
¦ +----------------------------+
+----------------------+ ¦
¦ +---------V---------------+ ¦
+-----V----------------+ ¦
¦ ¦Регистpация НСД
¦ +-->¦Регистpация pаботы
¦ ¦
¦ ¦
¦
¦пользователя
¦ ¦
¦ +-------------------------+
+----------------------+ ¦
¦ +-------V----------------------------V----------+
¦
¦ ¦Уведомление о pаботе механизма контpоля доступа¦
¦
¦ +-----------------------------------------------+
¦
+-------------------------------^----------------------------+
+------------------------------------------------------------+
¦
Блок контpоля механизмов защиты
+--+
+------------------------------------------------------------+ ¦
+----------------------------V--------------------------------+ ¦
¦
Блок кpиптогpафической защиты
¦ ¦
¦ +----------+
+------------+
¦ ¦
¦ ¦Шифpование¦
¦Дешифpование¦
¦ ¦
¦ +----------+
+------------+
¦ ¦
+-------------------------------------------------------------+ ¦
+--------------------------------------+
^
¦
¦ Блок поддеpжания
¦
¦
¦
¦ целостности БД
¦
+--V---+
¦
¦ +--------------------+
¦
¦
¦
¦
¦ ¦Загpузка-выгpузка БД¦
+<---->¦ СУБД ¦
¦
¦ +--------------------+
¦
¦
¦
¦
¦ +--------------------------+
¦
+------+
¦
¦ ¦Ведение системного жуpнала¦
¦
^
¦
¦ +--------------------------+
¦
¦
¦
¦ +--------------------+
¦
V
¦
¦ ¦Пpовеpка целостности¦
¦
+--------+
¦
¦ +--------------------+
¦
¦ База
¦
¦
+-> +-----------------+
¦
¦ данных ¦
¦
¦ ¦ ¦Выполнение отката¦
¦
+--------+
¦
¦ ¦ +-----------------+
¦
¦
¦ ¦ +------------------------------+
¦
¦
¦ ¦ ¦Выполнение с контpольных точек¦
¦
¦
¦ ¦ +------------------------------+
¦
¦
¦ ¦
¦
¦
¦ +--------------------------------------+
¦
¦ +------------------------------------------------------------+ ¦
¦ ¦ Блок подготовки системы к pаботе
¦ ¦
¦ ¦ +-------------+ +----------+ +---------------------+
¦ ¦
¦ ¦ ¦Фоpмиpование ¦ ¦Контpоль ¦ ¦ Фоpмиpование таблиц,¦
¦ ¦
¦ ¦ ¦системного
¦ ¦состояния ¦ ¦ замков(ключей) дос- ¦
¦ ¦
¦ ¦ ¦жуpнала
¦ ¦паpолей и ¦ ¦ тупа, пpофилей поль-¦
¦ ¦
¦ ¦ +--------^----+ ¦полномочий¦ ¦ зователей
¦
<--+
¦ ¦
¦
+--------^-+ +------^--------------+
¦
¦ ¦
+---------------+-----------¦
¦
¦ ¦
+-----------------+
+---------------------------+
¦
¦ ¦
¦Генеpация паpолей+---->---¦Фоpмиpование полномочий¦
¦
¦ ¦
+-----------------+
+-----------------------+
¦
¦ +----------^-------------------------------------------------+
¦
¦
¦
+----------------+
+------¦Администpатоp БД¦
+----------------+
Рис. 4.1 Основные механизмы защиты БД
Тем не менее, специфические особенности технологии БД определяют ряд требований по безопасности,
характерных именно для БД. Основные требования можно разделить на требования по управлению доступом и
требования по управлению целостностью данных.
4.1.1.Требования no управлению доступом в базах данных
Под управлением доступом в БД понимается защита данных в БД от НСД. Обычно выделяют следующие
требования по безопасности, связанные с доступом в БД.
1. Возможность контроля доступа. В СУБД должны быть предусмотрены механизмы установления субъекта,
осуществляющего тот или иной доступ к конкретному элементу данных, а также тип осуществленного доступа.
2. Пользователи, которые авторизованы для работы с БД, должны иметь гарантированный доступ к
соответствующим данным.
3. Управляемость доступом. Пользователь должен иметь доступ только к тем данным, для работы с которыми он
имеет полномочия. При этом пользователи могут быть ограничены различными типами доступа (чтение,
модификация, добавление, удаление и т.п. ) к одним и тем же данным.
4.1.2 Требования no управлению целостностью в базах данных
Под управлением целостностью в БД понимается защита данных в БД от неверных (в отличие от
несанкционированных) изменений и разрушений. Поддержание целостности БД состоит в том, чтобы обеспечить в
каждый момент времени корректность (правильность) как самих значений всех элементов данных, так и
взаимосвязей между элементами данных в БД.
С поддержанием целостности связаны следующие основные требования .
1. Обеспечение достоверности. В каждый элемент данных информация заносится точно в соответствии с
описанием этого элемента. Должны быть предусмотрены механизмы обеспечения устойчивости элементов данных
и их логических взаимосвязей к ошибкам или неквалифицированным действиям пользователей.
2. Управление параллелизмом. Нарушение целостности БД может возникнуть при одновременном выполнении
операций над данными, каждая из которых в отдельности не нарушает целостности БД. Поэтому должны быть
предусмотрены механизмы управления данными, обеспечивающие поддержание целостности БД при
одновременном выполнении нескольких операций.
3. Восстановление. Хранимые в БД данные должны быть устойчивы по отношению к неблагоприятным
физическим воздействиям (аппаратные ошибки, сбои питания и т.п.) и ошибкам в программном обеспечении.
Поэтому должны быть предусмотрены механизмы восстановления за предельно короткое время того состояния
БД, которое было перед появлением неисправности.
Вопросы управления доступом и поддержания целостности БД тесно соприкасаются между собой, и во многих
случаях для их решения используются одни и те же механизмы. Различие между этими аспектами обеспечения
безопасности данных в БД состоит в том, что управление доступом связано с предотвращением преднамеренного
разрушения БД, а управление целостностью - с предотвращением непреднамеренного внесения ошибки.
4.2. Упpавление доступом в базах данных
Большинство систем БД представляют собой средство единого централизованного хранения данных. Это
значительно сокращает избыточность данных, упрощает доступ к данным и позволяет более эффективно
защищать данные. Однако, в технологии БД возникает ряд проблем, связанных, например, с тем, что различные
пользователи должны иметь доступ к одним данным и не иметь доступа к другим. Поэтому, не используя
специальные средства и методы, обеспечить надежное разделение доступа в БД практически невозможно.
Большинство современных СУБД имеют встроенные средства, позволяющие администратору системы
определять права пользователей по доступу к различным частям БД, вплоть до конкретного элемента. При этом
имеется возможность не только предоставить доступ тому или иному пользователю, но и указать разрешенный тип
доступа: что именно может делать конкретный пользователь с конкретными данными (читать, модифицировать,
удалять и т. п.), вплоть до реорганизации всей БД.
Кратко охарактеризуем некоторые механизмы управления доступом, используемые в различных БД.
4.2.1. Использование замков и ключей доступа
Рассмотрим сущность данного механизма доступа на примере сетевой модели КОДАСИЛ, которая была
предложена в докладах и отчетах рабочей группы по БД DBTG Ассоциации по языкам систем обработки данных
CODASIL в 1969-78 годах [7]. В работах указанной группы, наряду с обоснованием основных требований и
конструктивных решений по архитектуре БД, нашли отражение и вопросы обеспечения безопасности БД. В
частности, был описан подход к управлению доступом в БД с использованием замков (Access control lock) и
ключей управления ( ACCESS CONTROL KEY).
Согласно предложенному подходу при определении данных указываются набоpы(виды) операций над данными и
замки управпения доступом. Замок управления доступом представляет собой средство идентификации
пользователя. В случае указания правильного ключа пользователь получает право выполнять над данными
соответствующие операции. Пример задания замков управления доступом в модели КОДАСИЛ приведен на
рис.4.2.
Использование рассмотренного способа позволяет осуществлять гибкое управление доступом в БД, однако, его
использование затрудняется по следующим основным причинам:
1) пользователь вынужден многократно предъявлять ключи управления доступом;
2) изменение замка управления доступом оказывает влияние на большое количество пользователей, причем
степень этого влияния тpудно оценить;
3) замок управления доступом может устанавливать только лицо, осуществляющее определение данных (обычно
администратор БД) .
4.2.2. Таблицы управления доступом
Таблицы (списки) управления доступом широко используются в компьютерных системах, например, в ОС для
управления доступом к файлам. Особенность использования этого средства для защиты БД состоит в том, что в
качестве объектов защиты выступают не только отдельные файлы области в сетевых БД, отношения в
реляционных БД), но и другие структурные элементы БД: элемент, поле, запись, набор данных.
ОБЪЯВЛЕНИЕ В СХЕМЕ БАЗЫ ДАННЫХ ЗАМКА УПРАВЛЕНИЯ ДОСТУПОМ
RECORD NAME IS
01 ВОЕННОСЛУЖАЩИЙ
10 ЛИЧНЫЙ-НОМЕР Piс 9(6)
ACCESS CONTROL LOCK
FOR MODIFY IS АДМИНИСТРАТОР
10 ФАМИЛИЯ Piс X(12)
ACCESS CONTROL LOCK
FOR DELETE IS "КТО" (Стpока символов "КТО"
объявлена в качестве
замка для удаления
записи)
..........
ПРЕДЪЯВЛЕНИЕ КЛЮЧА УПРАВЛЕНИЯ В ПРОГРАММЕ ПОЛЬЗОВАТЕЛЯ
PROCEDURE DIVISION
DECLARATIVES.
USE FOR ACCESS CONTROL ON ERASE FOR ВОЕННОСЛУЖАЩИЙ.
MOVE "КТО" TO DB_ACCESS_CONTROL_KEY
....
END DECLARATIVES.
ERASE S.
Pиc.4.2. Пример использования замков и ключей управления доступом.
По сравнению с использованием замков и ключей управление доступом на основе таблиц доступа (матриц
доступа) имеет следущие достоинства:
1) возможность построения таблицы непосредственно пользователем БД;
2) отсутствует необходимость указания ключей управления доступом;
3) простота изменения таблицы доступа.
4.2.3. Динамическое управление доступом
При использовании динамического управления доступом пользователю предоставляется возможность
управления доступом путем использования специальных команд. Такой механизм управления представляет собой
расширение предыдущего способа в том смысле, что пользователь сам динамически формирует таблицы
управления доступом.
Примером системы с механизмом защиты, реализующим динамическое управление доступом, является
реляционная СУБД DB2 [4]. При создании нового отношения в БД владелец этого отношения имеет абсолютное
право доступа к нему, включая право определять представления, основанные на этом отношении. Никто другой
таких прав не имеет. У пользователя-владельца есть возможность предоставить право работы с отношением или
его представлением другому пользователю. Это осуществляется командой GRANT (разрешение), имеет
следующий вид:
GRANT <вид операции над данными> ON <объект>
TO <субъект>
[WITH GRANT option] (передача права определения
полномочий другим пользователям)
Для отмены прав доступа другим пользователям пользователь-владелец должен выдать команду REVOKE:
REVOKE <вид onepации над данными> ON <объект> FROM <субъект>.
4.2.4. Управление доступоы с помощью внешней схемы
В архитектуре современных БД принято выделять три основных уровня представления данных о предметной
области (рис.4.3) [6]:
- концептуальный (уровень администратора);
- внешний (уровень прикладных программистов, конечных пользователей) ;
- внутренний (уровень системных программистов).
+-------------------------------------+
¦
Предметная область БД
¦
¦
¦
¦
¦
¦ #########
$$$$$$$$$
¦
¦ |
|
|
%%%%%%%%%%%%
¦
+-------------------------------------+
|
|
|
|
|
|
|
|
| |
|
+-------+
+-------+
------- +-------+
¦Внешняя¦
¦Внешняя¦
¦Внешняя¦
¦схема ¦
¦ схема¦
¦ схема¦
+-------+
+-^-----+
+-------+
^
¦
^
¦
¦
¦
¦
+--------V------------+
¦
+--->¦Концептуальная схема <--------+
+-------^-------------+
¦
+-------V----------+
¦
¦
¦ Внутpенняя схема ¦
+-------^----------+
¦
+-------V-----------+
¦ Физическая БД
¦
+-------------------+
Рис.4.3. Отображение предметной области в схемах БД.
Одной из функций внешней схемы является управление доступом, так как она ограничивает поле зрения
пользователя пределами некоторой области. На рис.4.4 представлен пример внешней схемы, заданной отношением
реляционной модели данных. Из рисунка видно, что в отношении R1 не содержится атрибут денежное
довольствие, а в отношении R2 содержится инфоpмация о военнослужащих только 64-й кафедры. Поэтому право
доступа к БД со стороны пользователей, использующих отношения R1 и R2 в качестве внешних схем,
автоматически (системой управления БД) ограничивается рамками соответствующих отношений.
4.2.5. Пpоблема предположения в базах данных
Заканчивая рассмотрение механизмов управления доступом в БД, следует особо выделить проблему
предположения [2, 5].
Наличие такой проблемы обусловлено тем, что взаимосвязанность хранимых в БД данных, в отличие от
файловых систем, приводит к возможности получения одних данных по значениям других. Действительно, читая
какой-либо файл в среде ОС, пользователь, за редким исключением, может определить содержимое других
файлов. Иная ситуация в БД, где, за счет санкционированного доступа к элементам данных, пользователь имеет
возможность определить значения других данных, к которым он доступа не имеет. Существует множество
способов построения предположений в среде БД: по суммам, по счетчикам, по линейным зависимостям и т.п.
Борьба с предположениями достаточно сложна и разработка механизмов защиты от них зачастую требует
привлечения развитых методов современной логики и информатики. Суть большинства механизмов защиты
состоит в том, чтобы не дать пользователю накопить объем незащищенной информации, достаточный для
построения предположений о содержании защищенной от него информации. Однако, ограничение с этой целью
доступа пользователя к БД может привести к нарушению требования доступности данных для
санкционированного пользователя, то есть страдать от этого будут пользователи, не помышляющие о каких-либо
предположениях.
Кроме того, постоянное накапливание информации о том, какие сведения известны каждому пользователю, не
только является дорогостоящим и сложным, но зачастую и не позволяет своевременно обнаружить опасность
построения предположений, если пользователи имеют возможность обмениваться информацией друг с другом.
4.3. Упpавление целостностью данных
Нарушение целостности данных может быть вызвано рядом причин:
- сбои оборудования, физические воздействия или стихийные бедствия;
- ошибки санкционированных пользователей или умышленные действия несанкционированных пользователей;
- программные ошибки СУБД или ОС;
- ошибки в прикладных программах;
- совместное выполнение конфликтных запросов пользователей и др.
Нарушение целостности данных возможно и в хорошо отлаженных системах. Поэтому важно не только не
допустить нарушения целостности, но и своевременно обнаружить факт нарушения целостности и оперативно
восстановить целостность после нарушения.
4.3.1 Ограничения целостности данных
Составной частью лежащих в основе БД моделей данных являются ограничения - набор правил выполнения
операций, гарантирующих их корректность (правильность). Важнейшими из этих ограничений являются
ограничения целостности.
В теории реляционных запросов выделяют три основных типа ограничений целостности.
1. Ограничения целостности объекта. Значение ключа отношения, идентифицирующего объект либо его часть, не
должно быть пустым (неопределенным) значением.
2. Ограничения целостности ссылок. Значение атрибута, отображающего связи между объектами и являющегося
внешним ключом отношения, обязательно должно быть значением атрибута, описывающего соответствующий
объект и являющегося ключом отношения.
3. Ограничения целостности приложений. К этому типу относятся ограничения, связанные с конкретными
приложениями и реальными данными. Примерами ограничений целостности приложений могут служить:
а) статические ограничения, то есть ограничения на значения элементов данных, которые должны выполняться
для каждого состояния БД;
б) ограничения перехода - ограничения, накладываемые на диапазон изменения элементов данных;
в) ограничения для кортежей (записей) - ограничения, проверку которых можно осуществить, используя
отдельные кортежи отношения (записи).
г) ограничения для множеств - ограничения, относящиеся к итоговым и средним значениям, получаемым из
множества кортежей (записей);
д) безотлагательные ограничения - ограничения, допускающие возможность проверки их правильности
одновременно с изменением значений данных;
е) отложенные ограничения - ограничения, для которых проверка выполнения имеет смысл по окончании
логически объединенных в одну транзакцию операций.
Многие современные СУБД имеют механизмы, позволяющие установить подобного рода ограничения на
значения данных в процессе описания данных механизмы проверки соблюдения требований в процессе
эксплуатации БД. Наличие таких механизмов существенно сокращает риск непреднамеренных ошибок
пользователей при работе с данными. Если ограничения целостности нарушаются, то изменение или занесение
данных в БД не производится.
Механизмы ограничения целостности элементов данных также служат серьезным препятствием для
преднамеренного искажения значений данных.
В качестве примера средств построения механизма ограничения целостности БД можно указать предложения
KEY и CHECK языка описания данных модели КОДАСИЛ (рис.4.5) [7].
1. ОПИСАНИЕ ЗАПИСИ С ДАННЫМИ О ВОЕННОСЛУЖАЩЕМ
RECORD NAME IS ВОЕННОСЛУЖАЩИЙ
KEY SK IS N_B_Cл
КАЖДЫЙ ОБЪЕКТ (ЗАПИСЬ)
DUPLICATES NOT ALLOWED
ИДЕНТИФИЦИРУЕТСЯ УНИ10 N_B_Cл TYPE CHARACTER 8
КАЛЬНЫМ КЛЮЧОМ N_B_СЛ
10 ФАМИЛИЯ TYPE CHARACTER 25
...
10 N_ПРИН TYPE CHARACTER 12
10 ОКЛАД TYPE DECIMAL
CHECK IS ОКЛАД NOT < 500000
....
2. ОПИСАНИЕ НАБОРА ПРИНАДЛЕЖНОСТЬ
SET NAME IS ПРИНАДЛЕЖНОСТЬ
OWNER ПОДРАЗДЕЛЕНИЕ
MEMBER ВОЕННОСЛУЖАЩИЙ
CHECK IS N_ПРИН
IS=N_ПОДР IN OWNER ПОДРАЗДЕЛЕНИЕ
Значение атрибута N_ПРИН в члене набора ПРИНАДЛЕЖНОСТЬ должно равняться значению атрибута NПОДР в записи-владельце данного члена.
Рис.4.5. Ограничения целостности в модели КОДАСИЛ.
С помощью предложения CHECK можно объявить уникальный (системный) ключ для каждой записи в БД. С
помощью предложения CHECK можно также записать различные ограничения статического типа. В приведенном
примере этот тип ограничений специфицирован для атрибута ОКЛАД: значение этого атрибута не должно
превышать 500000. Кроме того, для записи члена набора ПРИНАДЛЕЖНОСТЬ с помощью CHECK объявлено
ограничение на целостность связей между элементами данных. Отметим, что ограничения последнего вида в
модели применимы лишь к связям между владельцем и членами одного набора. Поэтому с помощью предложения
CHECK записать ограничения целостности связей в общем случае, а также ограничения перехода и ограничения
для множеств нельзя.
Более широкие возможности по заданию и проверке выполнения ограничений целостности существуют в
реляционных системах, использующих язык структурированных запросов SQL, причем любой запрос
пользователя на SQL перед его выполнением может быть модифициpован таким образом, чтобы не было
возможности нарушить любые ограничения целостности [3, 4].
4.3.2. Управление параллелизмом
Поддержание целостности на основе приведенных выше ограничений целостности представляет собой
достаточно сложную проблему в системе БД даже с одним пользователем. В системах, ориентированных на
многопользовательский режим работы, возникает целый ряд новых проблем, связанных с параллельным
выполнением конфликтующих запросов пользователей. Прежде , чем рассмотреть механизмы защиты БД от
ошибок, возникающих в случае конфликта пользовательских запросов, раскроем ряд понятий, связанных с
управлением параллелизмом.
Важнейшим средством механизма защиты целостности БД выступает объединение совокупности операций, в
результате которых БД из одного целостного состояния переходит в другое целостное состояние, в один
логический элемент работы, называемый тpанзакцией. Суть механизма транзакций состоит в том, что до
завершения транзакции все манипуляции с данными проводятся вне БД, а занесение реальных изменений в БД
производится лишь после нормального завершения транзакции.
С точки зрения безопасности данных такой механизм отображения изменений в БД очень существенен. Если
транзакция была прервана, то специальные встроенные средства СУБД осуществляют так называемый откат возврат БД в состояние, предшествующее началу выполнения транзакции (на самом деле откат обычно
заключается просто в невыполнении изменений, обусловленных ходом транзакции, в физической БД).
Если выполнение одной транзакции не нарушает целостности БД, то в результате одновременного выполнения
нескольких транзакций целостность БД может быть нарушена. Представленный на рис. 4.6 пример иллюстрирует
данное утверждение: в результате выполнения двух транзакций значение элемента данных должно увеличиться на
2, но если не предпринять никаких дополнительных мер по управлению выполнением транзакций, то их
выполнение даст неверный результат.
Чтобы избежать подобного рода ошибок, СУБД должна поддерживать механизмы, обеспечивающие захват
транзакциями модифицируемых элементов данных до момента завеpшения модификации,- так называемые
блокировки. При этом гарантируется, что никто не получит доступа к модифицируемому элементу данных, пока
транзакция не освободит его.
Применение механизма блокировок приводит к новым проблемам управления параллелизмом, в частности, к
возникновению ситуаций клинча двух транзакций (аналогично клинчу двух процессов в ОС).
Объектами блокировок могут быть значения отдельных атрибутов, кортежи отношений (записи), целые
отношения (файлы), наборы данных БД. Причем, если некоторая транзакция пытается блокировать объект,
который уже блокирован другой транзакцией, то ей придется ждать, пока не будет снята блокировка объекта
транзакцией, установившей эту блокировку. Иными словами, блокировку объекта может выполнять только одна
транзакция.
+-----------------------------------------------------------------+
¦Значение элемента ¦
5
¦
5
¦
5
¦ 5
¦ 6
¦ 6
¦
¦
в БД
¦
¦
¦
¦
¦
¦
¦
+------------------+--------+--------+--------+------+-----+------¦
¦ Тpанзакция 1
¦Read
¦
¦+1
¦
¦Write¦
¦
¦
¦
-+------> ¦
-+----->¦
¦
¦
+------------------+--------+--------+--------+------+-----+------¦
¦ Тpанзакция 2
¦
¦ Read
¦
¦ +1
¦
¦Write ¦
¦
¦
¦
-+-------->
-+----->
¦
+------------------+--------+--------+--------+------+-----+------¦
¦ Значение элемента¦
5
¦
5
¦
6
¦ 6
¦ 6 ¦
¦
¦ для тpанзакции 1 ¦
¦
¦
¦
¦
¦
¦
+------------------+--------+--------+--------+------+-----+------¦
¦ Значение элемента¦
¦
5
¦
5
¦ 6
¦ 6 ¦
6 ¦
¦ для тpанзакции 2 ¦
¦
¦
¦
¦
¦
¦
+-----------------------------------------------------------------+
Рис 4.6 Пpимеp наpушения целостности пpи паpаллельном выполнении тpанзакций.
Транзакция Wi называется правильно офоpмленной, если она удовлетворяет следущим условиям.
1. Перед обработкой объекта должна быть выполнена его блокировка.
2. После обработки объект должен быть обязательно разблокирован (освобожден).
3. Перед освобождением блокированного объекта не должна выполняться его повторная блокировка.
4. Неблокированный объект не должен освобождаться.
Для поддержания целостности БД необходимо соблюдать определенные правила выполнения блокировок.
Для совокупности транзакций W1=<A11,A12,...,A1m1>, W2=<A21,A22,...,A2m2>,... выполнения элементарных
операций Aij, (i=1,N) называют расписанием выполнения совокупности эленентарных операций. Элементарными
операциями могут служить операции: изменить объект х, блокировать х, разблокировать x и др.
Если элементарные операции Aij обязательно являются смежными в расписании выполнения совокупности
элементарных операций, то такое расписание называется последовательным. Последовательное расписание не
нарушает целостности БД, однако, такое расписание низко эффективно.
Расписание, выполнение которого дает результаты, эквивалентные результатам последовательного расписания,
называется сериализуемым.
Расписание правильно оформленных транзакций, в котором повторная блокировка ранее блокированного
объекта происходит после его разблокирования, называется легальным расписанием. Легальное расписание
обеспечивает одновременное (параллельное) выполнение нескольких транзакций. Однако, легальное расписание
не всегда является сериализуемым, то есть целостность БД не гарантируется.
Совокупность транзакций, для которой все легальные расписания являются сериализуемыми, называется
надежной. Конструктивное определение надежной совокупности транзакций связано с понятием двухфазной
блокировки. Если интервалы блокирования всех объектов в транзакции накладываются друг на друга, то говорят,
что такая транзакция подчиняется требованиям двухфазной блокировки. Таким образом, двухфазная блокировка
представляет собой требование, согласно которому в каждой транзакции все операции блокирования объектов
должны предшествовать всем операциям разблокирования.
Если транзакции W1, W2,..., Wn являются правильно оформленными и для них выполняется двухфазная
блокировка, то совокупность (W1, W2,..., Wn) - надежная. Это является достаточным условием сериализуемости
расписания.
Различные типы блокировок обеспечивают разные уровни целостности данных.
Очевидно, что не все операции, выполняемые в транзакции, изменяют значения объектов (например, операция
записи изменяет значение объекта, а операция чтения - не изменяет). Это различие целесообразно учитывать при
организации блокировок объектов.
Рассмотрим подробнее случаи, возникающие при одновременном выполнении двух транзакций W1 и W2.
1. Транзакции W1 и W2 изменяют значение объекта.
В рассматриваемом случае могут возникнуть следующие ситуации:
а) нарушение целостности, называемое потерей обновления и вызванное наложением изменяемых значений
одинаковых объектов (пример на рис.4.6);
б) возникновение по какой-либо причине ошибки в значении объекта, изменяемого операцией в W1 , что может
привести к ошибке выполнения W2. В таком случае невозможно исключить только результат W1 (сделать откат
W1 ). Подобное нарушение целостности называют взаимозависимостью восстановления.
2. Транзакция W1 изменяет значение объекта, транзакция W2 считывает значение объекта
В этом случае могут возникнуть следующие ситуации:
а) изменение транзакцией W1 значения объекта, уже считанного транзакцией W2. В такой ситуации говорят, что
для W2 отсутствует воспроизводим ость считывания;
б) возникновение отказа перед окончанием транзакции W1 , что полностью исключает изменения,
обусловленные выполнением W1. В этом случае возможен откат в состояние, которое было перед выполнением
W1. Взаимозависимость в этом случае отсутствует, но существует возможность считывания в транзакции W2
неправильных значений объекта. В такой ситуации говорят, что транзакция W1 загрязняет транзакцию W2.
З. Транзакция W1 считывает значение объекта, транзакция W2 изменяет значение объекта.
В этом случае нет гарантии, что при повторном считывании значения объекта транзакцией W1 будет получено то
же значение объекта, что и при первом считывании. В отличие от п.2(а), здесь W2 не гарантирует
воспроизводимость считывания для W1.
4. Транзакции W1 и W2 считывают значение объекта.
Рассмотренные случаи показывают необходимость нескольких уровней целостности, определяющих
соответствующий вид и период блокировки:
а) при изменении значений объекта должна осуществляться монопольная блокировка. При такой блокировке
никакие другие одновременно выполняемые транзакции не имеют возможности считать либо изменить значение
объекта;
б) при использовании монопольной блокировки целесообразно не освобождать объект до окончания данной
транзакции. В противном случае могут возникать потери обновления, взаимозависимость восстановления и другие
нежелательные последствия;
в) при одновременном выполнении транзакций, в которых осуществляется только выборка значений объектов,
используется совместная блокировка. В этом случае одновременно выполняемые транзакции могут выполнять
считывание значения объекта, но им запрещено выполнять изменение этого значения.
Таблица 4.1 иллюстрирует использование возможных вариантов блокировки одинаковых объектов при
одновременном выполнении транзакций. Знаки "-" и "+" в таблице указывают, соответственно, допустима или нет
следующая попытка блокировки объектов (знак "+" указывает на то, что требования блокировки по отношению к
объекту конкурируют между собой).
Таблица 4.1
+---------------------------------------------------------+
¦ Вид пеpвоначальной
¦ Вид последующей блокиpовки
¦
¦
блокиpовки
+--------------------------------¦
¦
¦
¦
¦
¦
¦
¦ Нет ¦ Совместная ¦ Монопольная ¦
¦
¦
¦ блокиpовка ¦ блокиpовка ¦
+------------------------+-----+------------+-------------¦
¦
Нет
¦ ¦
¦
¦
+------------------------+-----+------------+-------------¦
¦ Совместная блокиpовка ¦ ¦
¦
+
¦
+------------------------+-----+------------+-------------¦
¦ Монопольная блокиpовка¦ ¦
+
¦
+
¦
+---------------------------------------------------------+
Можно указать три способа разрешения конфликтных ситуаций:
1) перевести конкурирюящую транзакцию в состояние ожидания разблокирования объекта;
2) прекратить выполнение конкурирующей транзакции;
3) прекратить выполнение предшествующей транзакции и продолжить выполнение конкурирующей транзакции.
Использование любого из перечисленных способов для организации параллельного выполнения совокупности
правильно оформленных транзакций, удовлетворящих ограничению двухфазной блокировки, гарантирует
целостность БД.
Известно, что при использовании первого способа (наиболее часто применяемого в СУБД) может возникнуть
тупиковая ситуация (клинч), при которой каждая из одновременно выполняемых транзакций ожидает, когда ей
будет предоставлена возможность заблокировать объект, в данный момент времени заблокированный какой-либо
другой транзакцией. При этом, ни одна из транзакций не может разблокировать объект, необходимый для
продолжения другой транзакции.
Для предотвращения возникновения тупиковой ситуации необходимо, чтобы каждая транзакция единовременно
запрашивала все нужные ей блокировки на начальной стадии своего выполнения. Другим простым способом
обнаружения тупиковой ситуации является обнаружение совокупности транзакций, которые находятся в
состоянии ожидания дольше определенного промежутка времени. Если при этом обнаруживается тупиковая
ситуация, то она устраняется путем отката и рестарта какой-либо из попавших в эту ситуацию транзакций.
4.4. Восстановление данных
Как уже отмечалось, возникновение сбоев в аппаратном или программном обеспечении может вызвать
необходимость восстановления и быстрого возвращения в состояние, по возможности близкое к тому, которое
было перед возникновением сбоя ( ошибки). К числу причин, вызывающих необходимость восстановления,
зачастую относится и возникновение тупиковой ситуации.
4.4.1. Уровни восстановления
Можно выделить три основных уровня восстановления.
1. Оперативное восстановление, которое характеризуется возможностью восстановления на уровне отдельных
транзакций при ненормальном окончании ситуации манипулирования данными (например, при ошибке в
программе).
2. Промежуточное восстановление. Если возникают аномалии в работе системы (системно-программные ошибки,
сбои программного обеспечения, не связанные с разрушением БД), то требуется восстановить состояние всех
выполняемых на момент возникновения сбоя транзакций.
3. Длительное восстановление. При разрушении БД в результате дефекта на диске восстановление
осуществляется с помощью копии БД. Затем воспроизводят результаты выполненных с момента снятия копии
транзакций и возвращают систему в состояние на момент разрушения.
4.4.2. Транзакция и восстановление
Прекращение выполнения транзакции вследствие появления сбоя нарушает целостность БД. Если результаты
такого выполнения транзакции потеряны, то имеется возможность их воспроизведения на момент возникновения
сбоя. Таким образом, понятие транзакции играет важную роль при восстановлении (рис.4.7).
+--------------------------------------------------------> t
¦
Появление
¦
Точка
Точка
сбоя
¦ фиксации
фиксации
¦
¦
¦
¦
+----------------------------------------+------+----------+
¦
¦..... ¦
¦
¦
тpанзакция
¦..... ¦
¦
+----------------------------------------+------+----------+
¦
¦
¦
¦
¦
¦
¦
+----- откат
¦
¦
+--------- откат
+-----------откат
¦
+--------- воспpоизведение(pаскpутка)
а) восстановление тpанзакции
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
+---------+
+---------+
+---------+
+---------+
+---------+
+---------+
+---------+
+---------+
Контpольная
точка 1 типа
Появление сбоя
¦
¦
¦ ¦
¦ +---------+ ¦ +--------------+-++
¦ +---------+ ¦ +--------------+-++
¦
+--+ ¦
+-----+-+--+
¦
+--+ ¦
+-----+-+--+
¦
+-----+---+
¦ ¦
¦
+-----+---+
¦ ¦
¦
+--------+----------+ +----+-+-----+
¦
+--------+----------+ +----+-+-----+
¦
¦
¦ ¦
¦
¦
¦ ¦
¦
¦
¦ ¦
¦
¦
¦ ¦
Контpольная точка
2 типа
-+
¦ откат
¦ пpомежуточное
+-------¦ восстановление
¦ pаскpутка
¦
+-------->
-+
¦
копия
-+
+--------------------------------------------------- ¦ длительное
¦
pаскpутка
¦ восстано+--------------------------------------------------- ¦ вление
+
б) пpомежуточное и длительное восстановление
Рис. 4.7 Восстановление и тpанзакция
Для восстановления целостности БД транзакции должны удовлетворять следующим требованиям:
1) необходимо, чтобы транзакция или выполнялась полностью, или не выполнялась совсем;
2) необходимо, чтобы транзакция допускала возможность возврата в первоначальное состояние, причем, для
обеспечения независимого возврата транзакции в начальное состояние монопольную блокировку необходимо
осуществлять до момента завершения изменения всех объектов;
3) необходимо иметь возможность воспроизведения процесса выполнения транзакции, причем, для обеспечения
этого требования, совместную блокировку необходимо осуществлять до момента завершения просмотра данных
всеми транзакциями.
В процессе выполнения любой транзакции наступает момент ее завершения. При этом все вычисления,
сделанные транзакцией в ее рабочей области, должны быть закончены, копия результатов ее выполнения должна
быть записана в системный журнал. Подобные действия называют операцией фиксации.
При появлении сбоя целесообразнее осуществлять возврат не в начало транзакции, а в некоторое промежуточное
положение. Точку, куда происходит такой возврат, называют точкой фиксации (контрольной точкой).
Пользователь может установить в процессе выполнения транзакции произвольное количество таких точек. Если
в ходе выполнения транзакции достигается точка фиксации, то СУБД автоматически осуществляет указанную
выше операцию.
4.4.3. Откат и раскрутка транзакции
Основным средством, используемым при восстановлении, является системный журнал, в котором
регистрируются все изменения, вносимые в БД каждой транзакцией. Возврат транзакции в начальное состояние
состоит в аннулировании всех изменений, которые осуществлены в процессе выполнения транзакции. Такую
операцию называют откатом. Для воспроизведения результатов выполнения транзакции можно, используя
системный журнал, восстановить значения проведенных изменений в порядке их возникновения, либо выполнить
транзакцию повторно.
Воспроизведение результатов выполнения транзакции с использованием системного журнала называется
раскруткой. Раскрутка является достаточно сложной, но необходимой операцией механизмов восстановления
современных БД. Кроме того, откат и раскрутка используются для устранения тупиковых ситуаций, когда
необходимо произвести аннулирование изменений одной из конкурирющих транзакций.
4.4.4. Промежуточное восстановление
Если появляется сбой из-за ошибки оператора или ОС (СУБД), то выполняемые в это время транзакции
полностью исключаются и возникает необходимость в перезапуске системы с некоторого предндущрго момента
времени. Для этого в системе организуются контрольные точки. Контрольная точка служит для осуществления
отката транзакций появляется границей, с которой перезапускают систему. Момент возникновения сбоя нельзя
предугадать, следовательно, контрольные точки необходимо устанавливать периодически. Существует два типа
контрольных точек.
1. Контрольная точка, условием установления которой является отсутствие в данный момент времени
выполнящихся транзакций. Если транзакция выполняется, то начало новых транзакций задерживается, и
контрольная точка устанавливается после завершения выполнявщейся транзакции. При появлении сбоя
осуществляется откат в состояние, соответствугацее последней установленной контрольной точке. Раскрутка
транзакции, завершившейся между контрольной точкой и точкой появления сбоя, осуществляется с
использованием системного журнала.
2. Контрольная точка устанавливается при наличии выполнящихся транзакций. В этом случае в контрольной
точке фиксируют состояние рабочих областей всех выполняющихся транзакций. При появлении сбоя
осуществляется откат в состояние контрольной точки. Для транзакции, которая выполнялась в момент
установления контрольной точки, откат осуществляется до ее начального состояния (далее аналогично п.1).
4.4.5 Длительное восстановление
Если при возникновении сбоя внешнего запоминающего устройства БД разрушается, операция отката
транзакций в начальное состояние становится бессмысленной. Для восстановления БД после такого сбоя
периодически формируется дамп (точная копия физических файлов всей БД). С помощью дампа воспроизводится
состояние БД на момент снятия копии, после чего осуществляется раскрутка до последней перед сбоем
контрольной точки. Для раскрутки используется системный журнал.
В некоторых случаях получение дампов БД реализуется средствами ОС. Однако, более эффективной является
загрузка/выгрузка средствами СУБД. В процессе выгрузки данные извлекаются из БД и в строго определенном
формате записываются в обычные файлы (запись данных в файлы может осуществляться в другом формате). При
этом за счет описания и заполнения избыточных данных создается возможность восстановления связей между
конкретными значениями данных в процессе проведения обратной операции - загрузки БД. Средства
загрузки/выгрузки, помимо возможности создания резервных копий БД выполняют еще одну важную функцию: в
некоторых случаях они позволяют реструктуризовать БД и улучшить эксплуатационные характеристики базы
данных.
УПРАЖНЕНИЯ
1. Какие механизмы защиты являются общими для ОС и БД (СУБД)?
2. Перечислите характерные для технологии БД требования по безопасности данных.
3. Чем отличается управление доступом от управления целостностью БД?
4. Сформулируйте основные недостатки положений КОДАСИЛ по защите БД.
5. В чем заключается сходство и различие механизмов управления доступом к БД, использующих таблицы
(матрицы) доступа и внешнюю схему БД?
6. Предложите способы выявления косвенного предоставления права доступа для систем с динамическим
управлением доступом (на примере СУБД DB2).
7. Перечислите нарушения целостности БД, связанные с параллельным выполнением транзакций.
8. Назовите достаточное условие сериализуемости расписания выполнения транзакций.
9. Перечислите способы, позволящие избежать тупиковые ситуации. Перечислите способы выхода из состояния
клинча транзакций.
10. Перечислите уровни восстаовления БД. В чем заключается сущность каждого уровня?
ЛИТЕРАТУРА
1. Бородаев В.А., Кустов В.Н. Банки и базы данных.- Л.: ВИКИ им. А.ф.Можайского, 1989.- 224 с.
2. Голубев В.В., Дубров П.А., Павлов Г.А. Механизмы защиты операционных систем и систем управления
базами данных// Зарубежная радиоэлектроника, 1989.- N12.- С. 36-47.
3. Дейт К. Введение в системы баз данных.- М.: Наука, 1980.464 с.
4. Дейт К. Руководство по реляционной СУБД DB2.- М.: Финансы и статистика, 1988.- 320 с.
5. Моисеенков И. И. Безопасность компьютерных систем// Компьютер Пресс, 1991.- N12.- С. 57-61.
6. Нагао М., Катаяма Т., Уэмура С. Структуры и базы данных.М.: Мир, 1986.- 197 с.
7. Олле Т.В. Предложения КОДАСИЛ по управлению базами данных.- М.: Финансы и статистика, 1981.- 286 с.
8. Уэлдон Дж.Л. Администрирование баз данных.- М.: Финансы и статистика, 1984.- 207 с.
5. Упpавление доступом
Нашей заповедью должно быть следующее: приноси жертву злым духам. То есть не следует
отступать перед известной затратой труда,
времени, удобств, денег и перед лишениями,
если этим можно закрыть доступ грядущей
беде и устроить так, чтобы чем больше была
беда, тем меньше и отдаленнее была бы ее
вероятность.
А. Шопенгауэр , "Афоризмы житейской мудрости"
Система защиты доступа в ИВС, в общем случае, должна включать три пояса защиты [1]:
1) пояс, охватыващий территорию, на которой расположены элементы ИВС;
2) пояс, который охватывает сооружения и помещения с аппаратурой ИВС;
3) пояс, охватывавший ресурсы ИВС.
Защита доступа в первых двух поясах обеспечивается применением физических средств защиты, в третьем поясе
аппаратных, программных (программно-аппаратных) и криптографических средств защиты.
Под управлением доступом понимается процесс регулирования использования ресурсов ИВС.
Управление доступом включает решение следующих задач:
-идентификацию пользователей, персонала и ресурсов ИВС;
- установление подлинности субъектов и объектов, допускаемых к использованию ресурсов ИВС;
- проверку полномочий субъектов на доступ к защищаемым ресурсам;
- регистрацию (протоколирование) обращений к защищаемым ресурсам;
- реакцию на несанкционированные действия.
Рассматриваемые в этом разделе методы решения задач управления доступом могут успешно применяться не
только в ИВС, но и в отдельной ЭВМ или вычислительной системе. Поэтому в дальнейшем будем использовать
понятие "система".
5.1. Идентификация и установление подлинности
Для того, чтобы установить подлинность субъектов и объектов системы, все субъекты и объекты,
зарегистрированные в системе, должны иметь уникальные имена - идентификатоpы.
Идентификация субъекта (объекта) представляет собой присвоение этому субъекту (объекту) уникального имени
(идентификатора).
Когда какой-либо субъект обращается к ресурсам системы, необходимо установить его подлинность, опознать
его. Процесс установления подлинности в зарубежной литературе называется "авторизация", "аутентификация",
"опознание". Далее будем использовать термин "установление подлинности".
Установление подлинности субъекта (объекта) заключается в подтверждении того, что обратившийся субъект
(вызываемый объект) является именно тем, которому разрешено участвовать в данном процессе(выполнять
данные действия).
В зависимости от сложности установления подлинности различают три основные группы операций: простое,
усложненное и особое установление подлинности [6].
Простое установление подлинности сводится, как правило, к сравнению предъявленного кода (характеристики) с
эталонным кодом, который хранится в памяти устройства, выполнящего установление подлинности.
При усложненном установлении подлинности система требует от пользователя ввода дополнительной
информации. Усложненное установление подлинности обычно осуществляется в режиме диалога.
Особое установление подлинности, кроме использования методов простого и усложненного установления
подлинности, использует специальную совокупность опознавательных характеристик, которая выбирается для
обеспечения надежного установления подлинности.
5.1.1. Установление подлинности субъектов
Для установления подлинности субъектов используются различные опознавательные характеристики.
Классификация характеристик, применяемых для установления подлинности субъектов, приведена на рис.5.1.
+------------------+
¦Хаpактеpистики для¦
¦установления
¦
+---------¦подлинности
¦
¦
+------------------+
+--------------+ +-------------+
+-------------+
¦Биометpические¦ + Атpибутивные¦
¦Основанные на¦
+¦(пеpсональные)¦ +-------------+
¦знаниях
¦
¦+--------------+
¦
+-------------+
¦ +----------------+ ¦+------+
¦+----------+
+-¦Квазистатические¦ +¦ Каpты¦
+¦Различная ¦
¦ +----------------+ ¦+------+
¦¦инфоpмация¦
¦ +отпечатки
+++-фотогpафии
¦+----------+
¦ ¦пальцев
¦+-магнитные
+-++-изобpажения
¦ +стpоение лица
¦+-с электpонным ¦+-специальные
¦ +сетчатка глаза
¦¦
кодиpованием ++ символы
¦ +геометpия pуки
¦+-гологpафические ¦
¦ +стpоение кpове¦
¦
¦
носных сосудов
¦
¦
¦ +-----------------+ ¦+---------+
+------------+
+-¦Квазидинамические¦ +¦Документы¦
¦ Хpанимая
¦
+-----------------+ ¦+---------+
¦ инфоpмация ¦
+пульс
¦ +пpопуска
+------------+
+pечь(голос)
¦ +удостовеpения
+-коды
+почеpк
¦ ¦ личности
+-паpоли
+стиль печатания
¦ +идентификационные +-личные номеpа
+баллистокаpдио¦ каpты
+-пеpсональные
гpамма
¦+------+
¦ данные
+¦Дpугие¦
+-данные, задаваемые
+------+
пользователем
+ключи
+жетоны
Рис. 5.1 Классификация хаpактеpистик, используемых
для установления подлинности
Особенно заметные успехи в разработке и реализации методов установления подлинности достигнуты в Японии
в рамках работ по проекту вычислительных машин пятого поколения. В технической литературе описаны
устройства установления подлинности субъектов в реальном масштабе времени по почерку, голосу и отпечаткам
пальцев.
Установление подлинности по почерку производится, например, с помощью специальной ручки-датчика.
Устройство установления подлинности использует методы сопоставления контуров, анализа специфических
штрихов и гистограмм.
При установлении подлинности по голосу используются еледумою параметры: тембр, высота звука, акцент,
интонация, сила звука и скорость речи. Установление подлинности по голосу основано на спектральных методах
и, как правило, не зависит от содержания речи.
Установление подлинности по отпечаткам пальцев производится путем сличения предъявленных отпечатков
пальцев с эталонными. Устройство использует методы сопоставления бинарных образов и проекций для
характерных точек и направлений штрихов отпечатков пальцев.
Акционерным обществом "ЛЭК УК" (г. Санкт-Петербург) разработана и реализована система установления
подлинности на базе пластиковых карт, на которые кодовая информация записывается и считывается лазерноголографическими методами. Такие карты могут использоваться в двух режимах: ключа и персонального
идентификационного кода (ПИК). В режиме ключа карта служит для открывания специальных голографических
электронно-механических замков, устанавливаемых на защищаемых объектах. В режиме ПИК карта используется
для ограничения доступа к терминалам вычислительной системы и хранящимся в ней данным. Для этого на карту
заносится ПИК пользователя, занимаящий от 64 до 256 бит.
Наибольшее распространение для установления подлинности в настоящее время получили методы
паролирования.
5.1.2. Методы паролирования
Методы паролирования требуют, чтобы пользователь ввел строку символов (пароль) для сравнения с эталонным
паролем, хранящимся в памяти системы. Если пароль соответствует эталонному, то пользователь может работать с
системой. При рассмотрении различных методов паролирования будем пользоваться следующими обозначениями:
С - сообщение системы; П - сообщение, вводимое пользователем; ОК - сообщение системы о правильном
установлении подлинности.
Метод простого пароля состоит во вводе пользователем одного пароля с клавиатуры.
Пpимеp 5.1 (Паролем является слово "ПАРОЛЬ").
С: Введите пароль
П: ПАРОЛЬ
С: OK
Метод выборки символов состоит в запросе системой определенных символов пароля, выбираемых случайным
образом.
Пример 5.2. (Паролем является слово "ПАРОЛЬ").
С: Введите пароль: 2, 5
П: АЛ
С: OK
Метод выборки символов не позволяет нарушителю определить значение пароля по однократному наблюдению
вводимых пользователем символов.
Метод паролей однократного использования предполагает наличие списка из N паролей, хранящегося в системе.
При каждом обращении к системе пользователь вводит очередной пароль, который после окончания работы
вычеркивается системой из списка .
Основным недостатком рассмотренного метода является неоднозначность пароля. Например, в случае
нештатного окончания работы пользователя система может считать пароль уже использованным, а пользователь нет.
Метод групп паролей основывается на том, что система для каждого пользователя может потребовать пароли из
двух групп. Первая группа включает пароли, которые являются ответами на общие для всех пользователей
вопросы, например, имя, адрес, номер телефона и т.п. Вторая группа включает пароли - ответы на вопросы,
которые устанавливаются администратором системы при регистрации пользователя для работы с системой. Эти
вопросы сформулированы персонально для каждого пользователя, например, любимый цвет, девичья фамилия
матери и т.п. При каждом обращении пользователя система случайно выбирает по нескольку вопросов из каждой
группы. Недостатком рассмотренного метода является то, что системе потребуется значительный объем памяти
для хранения вопросов и ответов для большого числа пользователей. Метод функционального преобразования
предполагает, что пользователю при регистрации для работы в системе сообщается некоторое преобразование,
которое он может выполнить в уме. Паролем в этом случае является результат такого преобразования.
Пример 5.3. (Преобразование y=x1+2*x2).
С: Введите пароль: 4, 6
П: 16
С: OK
Для усложнения вскрытия пароля в методе функционального преобразования в качестве аргументов могут
использоваться числа месяца, часы суток или их комбинации.
При работе с паролями должны соблюдаться следующие правила [6]:
- пароли должны храниться в памяти только в зашифрованном виде;
- символы пароля при вводе их пользователем не должны появляться в явном виде;
- пароли должны периодически меняться;
- пароли не должны быть простыми.
Для проверки сложности паролей обычно используют специальные контроллеры паролей.
В работе [2] представлен контроллер паролей, который позволяет проверить уязвимость паролей. Контроллер
осуществляет попытки взлома пароля по следующей методике.
1. Проверка использования в качестве пароля входного имени пользователя, его инициалов и их комбинаций.
Например, для пользователя Daniel V. Klein (автор контроллера) контроллер будет пробовать пароли DVK,
DVKDVK, DKLEIN, LEINK, DVKLEIN, DANIELK, DVKKVD, DANIEL-KLEIN и т.д.
2. Проверка использования в качестве пароля слов из различных словарей (60000 слов):
- мужские и женские имена (16000 имен);
- названия стран и городов;
- имена персонажей мультфильмов, кинофильмов,
научно-фантастических произведений и т.п.;
- спортивныее термины (названия спортивных команд, имена
спортсменов, спортивный жаргон и т.п.);
- числа (цифрами и прописью, например, 2000, TWELVE);
- строки букв и цифр (например, АА, ААА, АААА и т.д.);
- библейские имена и названия;
- биологические термины;
- жаргонные слова и ругательства;
- последовательности символов в порядке их расположения на
клавиатуре (например, QWERTY, ASDF, ZXCVBN и т.д.);
- имена компьютеров (из файла /etc/hostc в ОС Unix);
- персонажи и места действия из произведений Шекспира;
- часто употребляемые иностранные слова;
- названия астероидов.
3. Проверка различных перестановок слов из п.2, включая:
- замену первой буквы на прописную;
- замену всех букв на прописные;
- инверсию всего слова;
- замену буквы О на цифру 0 и наоборот (цифру 1 на букву
1 и т.д.);
- превращение слов во множественное число.
Всего по п.3 контроллер осуществляет проверку на совпадение приблизительно с 1 миллионом слов.
4. Проверка различных перестановок слов из п.2, не рассмотренных в п.3:
-замена одной строчной буквы на прописную (например,
michel-miChel и т.п.- около 400000 слов);
- замена двух строчных букв на прописные (около 1500000 слов);
- замена трех строчных букв на прописные и т.д.
5. Для иностранных пользователей проверка слов на языке пользователя.
6. Проверка пар слов.
Проведенные эксперименты показали, что данный контроллер позволил определить 10% паролей из пяти
символов, 35% паролей из шести символов, 25% паролей из семи символов и 23% паролей из восьми символов.
Такие высокие результаты вызваны тем, что большинство пользователей используют простые пароли. Этим
обстоятельством воспользовался Роберт Моррис - автор "сетевого червя", заразившего сеть Интеpнет в 1988 году.
Модуль захвата вируса Морриса осуществлял опробование в качестве паролей учетные имена пользователей,
учетные имена пользователей в обратном порядке, а также пароли из шаблона, состоящего из 432 общеизвестных
слов, которые приведены в [3]. В отдельных случаях Моррис сумел получить до 10% паролей, в том числе и ряд
системных паролей.
Приведенные примеры позволяют cформулировать следующие способы снижения уязвимости паролей:
- не использовать в качестве пароля слова, проверяемые
контроллером Кляйна;
- проверять пароли перед их использованием контроллерами
паролей;
- часто менять пароли;
- при формировании пароля использовать знаки препинания и
различные регистры;
- использовать не осмысленные слова, а наборы букв (например,
первых букв какой-нибудь известной пользователю фразы).
Из примеров, приведенных при рассмотрении контроллера паролей, видно, что важнейшими характеристиками
пароля являются его длина и период смены (или период жизни). Естественно, что чем больше длина пароля, тем
больше усилий придется приложить нарушителю для его определения. Чем больше период жизни пароля, тем
более вероятно его раскрытие.
Для случая, когда пользователь вводит пароль через удаленный терминал, можно применить формулу Андерсена
[6]:
4,32*10**4*(V*T)/(N*P) <=A**s (5.1)
где V - скорость передачи данных через линию связи (в
символах/мин);
T - период времени, в течение которого могут быть предприняты
попытки отгадывания пароля (в месяцам при работе 24 ч/сутки);
N - число символов в каждом передаваемом сообщении при
попытке получить доступ к системе;
Р - вероятность того, что правильный пароль может
быть подобран нарушителем;
А - число символов в алфавите, из которого составляется
пароль;
S - длина пароля (в символах).
Задаваясь вероятностью Р, можно получить (для известных характеристик сети и заданных условий) значения
длины пароля S, удовлетворявшие (5.1).
Одной из возможных стратегий нарушителя является подключение непосредственно к ЭВМ, осуществляющей
установление подлинности. Этому способствует развитие портативных персональных компьютеров с высоким
быстродействием. Определим необходимую длину пароля для подобного случая.
Пусть быстродействие ЭВМ нарушителя, генерирующей пароли, составляет g операций/с. Программа, генерации
и сравнения паролей имеет длину l операций. Тогда количество паролей G, генерируемое нарушителем в одну
секунду, будет
G=g/l.
Будем исходить из того, что
P=n1/n2,
(5.2)
где Р - вероятность подбора пароля нарушителем;
n1- число возможных попыток раскрытия пароля за Т
месяцев;
n2- число возможных паролей в системе.
Промежуток времени (в секундах), затрачиваемый ЭВМ нарушителя на фоpмирование одного пароля и
получение доступа к системе установления подлинности, составит
t+1/G,
где t- время задержки, применяемое системой установления подлинности для уменьшения уязвимости парольной
системы (в секундах).
Тогда
n1=T/(t+1/G) ,
(5.3)
а общее число возможных паролей
n2= сумма i=1..s A**i
где А - число символов в алфавите;
S - длина пароля.
При рассмотрении наихудшего случая, когда нарушителю известно S, имеем:
n2min=А**S
(5.4)
Подставляя (5.3) и (5.4) в (5.2), получим:
P>=(24х60х60хЗОхТ)/((A**s)*(t+1/G))
или иначе:
2,592*10**6*(T/(P*(t+1/G)))<=A**S
(5.5)
Полученная формула (5.5) дает возможность учесть наихудший случай при подборе нарушителем пароля.
Результаты определения длин паролей, вычисленных по формуле Андерсена и формуле (5.5) для значений t=0,
A=50, l=10, T=1, приведены в таблице 5.1. В этой таблице для удобства вместо величин Р используются величины
-lg P. Анализ результатов, представленных в таблице 5.1, показывает, что, во-первых, фоpмула (5.5) действительно
учитывает наихудший случай при попытке вскрытия пароля, и, во-вторых, редко используемые на практике
значения S соответствуют малым значениям вероятности Р. Уменьшить длину пароля S позволяет выбор
соответствущих значений параметра t.
Таблица 5.1
+----------------------------------------------------+
¦ -lg P ¦ Формула Андерсена
¦
Фоpмула (5.5)
¦
¦
+---------------------+----------------------¦
¦
¦ G=10**6 ¦ G=10**7
¦ G=10**6 ¦G=10**7
¦
+-------+---------+-----------+----------+-----------¦
¦ 1
¦ 12
¦
13
¦
14
¦
15
¦
¦ 2
¦ 13
¦
14
¦
15
¦
16
¦
¦ 3
¦ 14
¦
15
¦
16
¦
17
¦
¦ 4
¦ 15
¦
16
¦
17
¦
18
¦
¦ 5
¦ 16
¦
17
¦
18
¦
19
¦
¦ 6
¦ 17
¦
18
¦
19
¦
20
¦
¦ 7
¦ 18
¦
19
¦
20
¦
21
¦
¦ 8
¦ 19
¦
20
¦
21
¦
22
¦
¦ 9
¦ 20
¦
21
¦
22
¦
23
¦
¦ 10
¦ 21
¦
22
¦
23
¦
24
¦
+----------------------------------------------------+
На рис.5.2 представлены зависимости S(-lgP) для различных значений параметра t. Приведенные на рис.5.2
зависимости показывают, что приемлемые длины паролей достигаются при использовании временной задержки t
порядка 2 секунд. Это удобно и с точки зрения пользователя (возможность повторного ввода пароля будет
предоставляться пользователю с интервалом в 2 секунды). Изменение скорости генерации паролей нарушителем в
интервале от G=10**5 до G=10**8 практически не влияют на изменение длины пароля при t=2.
На практике обычно значение длины пароля S является заданной величиной. Тогда формулу (5.5) можно
использовать для получения значения времени жизни пароля Т заданной длины S. Выбор периода жизни пароля
заданной длины позволяет обеспечить задаваемую вероятность подбора пароля нарушителем.
5.1.3. Установление подлинности объектов
Одной из возможных стратегий действий нарушителя в ИВС является подключение к каналу связи. В этом
случае нарушитель может имитировать механизм установления подлинности, что позволит ему получить пароль
пользователя и доступ к его данным. Для предупреждения подобных действий нарушителя пользователь должен
убедиться в подлинности системы, с которой он начинает работать. Одним из методов решения этой задачи
является так называемая процедура "рукопожатия" [6]. Для осуществления процедуры "рукопожатия" выбирается
нетривиальное преобразование вида
y=f(x,k),
где x - аргумент, а k - коэффициент. В качестве аргумента преобразования можно использовать элементы даты,
времени и т.п. Преобразование у известно только пользователям и ЭВМ и должно сохраняться в тайне.
Пользователь вместе с запросом на подключение к системе посылает выбранное им значение х. Получив значение
x вместе с идентификатором пользователя, система вычисляет y=f(x,k) и посылает его пользователю вместе с
запросом о вводе пароля. Пользователь вычисляет или имеет вычисленное заранее значение у. Если значения у у
пользователя и системы совпадают, то режим опознания системы заканчивается и пользователь может вводить
пароль. После подтверждения правильности пароля пользователя считается, что "рукопожатие" состоялось.
Аналогичным образом осуществляется установление подлинности ЭВМ ИВС при необходимости обмена данных
между ними.
Проверка подлинности взаимодействующих субъектов и объектов системы может производиться не только перед
началом сеанса, но и в ходе него. Такие проверки могут осуществляться через определенные промежутки времени,
после определенного количества переданных данных и т.п.
Другие методы установления подлинности будут рассмотрены во второй части учебного пособия.
5.2. Проверка полномочий субъектов на доступ к ресурсам
После положительного установления подлинности пользователя (и системы со стороны пользователя) система
должна осуществлять постоянную проверку полномочий поступающих от субъектов запросов. Проверка
полномочий заключается в определении соответствия запроса субъекта предоставленным ему правам доступа к
ресурсам. Такую процедуру часто называют "контроль полномочий" или "контроль доступа". Проверка
полномочий основывается на различных методах разграничения доступа.
Матричное разграничение доступа было рассмотрено в разделе 3. Матричная модель доступа широко
используется в различных механизмах разграничения доступа.
Разделение доступа по пpофилям (уpовням) полномочий [7]. Для каждого защищаемого ресурса в сети создается
список пользователей, которые имеют право доступа к нему. В общем случае для каждого ресурса Ri будет
существовать n списков (по одному для каждого вида доступа) Rij={s1,s2,..,sm}, где Sk- субъект с номером k,
имеющий право j-го вида доступа (чтение, запись, выполнение и т.п.) к ресурсу Ri, j=1..n. Такие списки
называются списками доступа (ассеss list).
Аналогично можно использовать списки для каждого субъекта, которые определяют его права доступа к
ресурсам. Указанные списки называются списками возможностей (capability list)
Пример 5.4.
Пусть в системе зарегистрированы ресурс r1 и субъекты s1 и s2. Субъекты могут осуществлять следующие виды
доступа к ресурсам: а - чтение; w - запись.
Тогда списки доступа
R1a=<s1,s2>; R1w=<s1>
определяют, что оба субъекта могут читать ресурс r1, а
него может осуществлять только субъект s1.
запись
в
Списки возможностей для рассмотренных условий определяются следующим образом:
s1=<r1a,r1w>; s2=<r1a>.
Основными недостатками такого разделения доступа являются большое число списков и сложность изменения
прав доступа в процессе функционирования системы.
Кольца секретности (защитные кольца) [8]. Рассмотрим простейшую модель доступа на основе колец
секретности. Пусть в системе определено множество ресурсов (объектов) O={о1,о2,...,оm}, доступ к которым
должен контролироваться. Будем рассматривать множество {d1,d2,..,dl} доменов защиты, которые определяют
различные пути осуществления доступа к объектам. Домен защиты d представляет собой множество пар <оi,a(oi)>,
где оi - объект, а а(oi) - множество прав доступа к объекту оi. Любой процесс P может оперировать с
определенным доменом di, если он может иметь доступ к объектам, определенным доменом di.
Процессу P можно сопоставить множество объектов O*(Р), О пp. O, к которым P имеет доступ, и атрибут
доступа а(oi) для каждого oi пp. О*(Р).
Будем рассматривать два вида объектов: объект оi есть программный объект у, если его атрибут доступа
включает право выполнения, и объект оi есть объект данных z, если его атрибут доступа включает права чтения и
записи.
Таким образом, процесс Р ассоциируется со множеством по крайней мере К доменов d0,d1,..,d(k-1),
идентифицированных целыми числами и называемых кольцами защиты. Такие домены упорядочены так, что di
подмнож. dj для i>j, то есть d0 наиболее привилегированный домен, а d(k-1)- наименее привилегированный.
В каждый момент времени процесс Р выполняется в определенном кольце защиты с соблюдением определенных
правил. Рассмотрим простейшие из них:
1) каждый объект оi пp. O*(Р) ассоциируется с целым j=r(oi), 0<=j<=k-1, представлящим кольцо защиты;
2) процесс Р, когда он выполняет программный объект уi в кольце r(yi), может иметь доступ в O*(Р) к любому
объекту данных zj, для которого r(zj)>=r(yi), совпадающего с (zj), и может выполнять в 0*(Р) любой программный
объект уk, для которого r(уk)=r(уi).
Пpимер 5.5. Пусть процесс P выполняет Y3 в кольце 1 (рис.5.4). Тогда процесс P может иметь доступ к любому
объекту данных z2,z3,z4,z5, если его права доступа совпадают с правами доступа к этим объектам, и можетвыполнять программные объекты у2 и y3.
+------------------------------------+
¦+----------------------+
кольцо 2 ¦
¦¦+--------+
кольцо 1 ¦
¦
¦¦¦кольцо 0¦
¦ Oy4
Oy5 ¦
¦¦¦ Oy1
¦ Oy2 Oy3 ¦ Oz4
Oz5 ¦
¦¦¦ Oz1
¦ Oz2 Oz3 ¦
¦
¦¦+--------+
¦
¦
¦+----------------------+
¦
¦
¦
+------------------------------------+
Рис.5.4. Пример колец защиты.
Таким образом, по записи и чтению процесс Р имеет доступ из своего кольца в наружные кольца, а по
выполнению - только в пределах своего кольца.
Необходимо отметить, что выполнение только правил 1 и 2 не обеспечивает безопасность данных, так как
нарушителю предоставляется возможность записывать данные из более привилегированного кольца в менее
привилегированное кольцо. Кроме того, правила 1 и 2 не позволяют программному модулю определенного кольца
защиты выполнять программный модуль из более привилегированного кольца. Поэтому правила доступа, на
самом деле, являются более сложными.
Метод защитных колец был реализован аппаратно в системах VAX11, iARX286, MULTICS и других.
Недостатком метода защитных колец является то, что права доступа всех субъектов внутри одного кольца
считаются одинаковыми.
Мандатная организация доступа [7]. Мандат представляет собой пару <o,g>, определяющую уникальное имя
(или логический адрес) объекта о и подмножество прав доступа g подмнож. G={g1,g2,...,gN} к объекту о. Владение
мандатом дает право на g-доступ к объекту о. При использовании мандатной организации доступа каждый процесс
выполняется в домене, называемом сферой защиты. Каждая сфера защиты определяется списком мандатов С
(Capability List). С-список мандатов для процесса Р есть список из L мандатов объектов, к которым допущен Р:
L=<(o1,g1),(o2,g2),...(ol,gl)>, gi пp. G. Если gi=Ent (от слова Enter - вход), то процесс Р имеет возможность вызова
другого процесса со своим С - списком. Такой механизм предоставления каждой процедуре своего собственного
множества мандатов поддерживает принцип наименьших привилегий. Каждый список мандатов содержит входы
только для объектов, требуемых для вызова из данного процесса. При возврате из вызванной процедуры ее Ссписок заменяется на С - список вызывавшего процедуру процесса.
Пpимер 5.6.
Пусть процесс Р имеет доступ по чтению (а) и выполнению (е) объекта А, только по чтению данных - объектов В
и С, только по записи (w) - в данные объекта D и право вызова процесса Р1 со своим С - списком. С - список
процесса Р представлен на рис.5.5.
Введение права Ent в список мандатов позволяет осуществить входы в защищенные процедуры. Выполнение
защищенной процедуры опирается на свой список мандатов к данным и процедурам, требуемым для выполнения
защищенной процедуры и недоступным для вызывающего процесса.
Мандаты были положены в основу таких систем, как HYDRA, UCLA Secure Unix, iMАХ for Intel, iAPX и других.
Метод замков и ключей [7]. Метод замков и ключей объединяет достоинства списковых и мандатных
механизмов. Сопоставим с каждым объектом оi список замков Li и прав доступа gi: <(L1,g1),(L2,g2),...,(Ln,gN)>.
Субъекту si выдается ключ Кi к замку Li, если si имеет gi доступ к объекту оi. Список замков, следовательно,
представляет собой столбец матрицы доступа. Доступ разрешается, только если ключ субъекта "отпирает" один из
замков в списке замков объекта. Собственник объекта может отменить права доступа всем субъектам, совместно
использукщим ключ Кi, удалением элемента из списка замков. Обычно объект содержит только один замок.
+--------------+
¦С-список
¦
+----------> Пpогpамма А
¦--------------¦
¦
¦Пpава
Объект¦
¦ +-------> Данные В
¦ a e
А
+-----+ ¦
¦ а
В
+--------+
+---> Данные С
¦ а
С
+------------+
¦ а w
D
+---------------> Данные D
¦ Ent
P1 +------------+
+--------------+
+----------------------+
¦Вызываемая пpоцедуpа ¦
¦
¦
¦ Пpава
Объект
¦
¦
¦
+----------------------+
Рис.5.5. Пример списка мандатов процесса.
Примером использования механизма замков и ключей является шифрование данных. Зашифрованные данные
могут быть использованы только по предъявлении ключа шифрования (вопросы, связанные с шифрованием
данных, подробно будут рассмотрены в разделе 6). В монографии [3] приводится схема возможного
использования замков для отношений между шестью видами объектов в сети: пользователями, терминалами или
устройствами ввода-вывода, сетевыми узлами (хост-компьютерами, программными контроллерами и т.д.),
прикладными программами, наборами данных или элементами данных и, томами, на которые записаны данные
(диски, ленты). На рис.5.6 показана схема отношений, в которые могут быть встроены замки. Буквами на рис.5.б
обозначены ограничения: L - на уровень секретности, I - на элемент данных, пользователя или их сочетание, Т - на
время суток; -> означает возможность закрытия соответствующим замком.
Метод замков и ключей реализован в некоторых сетях (в том числе соответствущих стандарту Х.25 [5]) для
замкнутых групп пользователей. Каждая замкнутая группа представляет множество машин и процессов, которые
могут взаимодействовать друг с другом, но не могут взаимодействовать с машинами и процессами вне этого
множества.
Пользователь Теpминал Узел сети Пpогpамма Данные Том
L,I,T
*---------------->
L,I,T
*---------------------------->
L,I,T
*--------------------------------------->
L,I,T
*-------------------------------------------------->
L,I,T
*--------------------------------------------------------->
L,I,T
*--------------->
L,I,T
*----------------------->
L,I,T
*--------------------------------->
L,I,T
*------------------------------------------->
L,I,T
-----+
----+
L,I,T
*------------->
L,I,T
*--------------------->
L,I,T
*------------------------------>
L,I
*---------->
L
*------------------>
L
-------->
5.3. Регистрация обращений к защищенным ресурсам
Регистрация (протоколирование) обращений к защищенным ресурсам системы позволяет должностному лицу,
ответственному за информационную безопасность, следить за использованием ресурсов и оперативно принимать
меры по перекрытию обнаруженных каналов утечки данных. Все обращения к ресурсам системы должны
фиксироваться в регистрационном журнале [6].
В регистрационный журнал обычно заносятся следующие данные :
- обращения (доступы) к защищаемым ресурсам;
- отказы в доступе;
- изменения полномочий;
- случаи неиспользования пользователями разрешенных системой запросов;
- изменения содержания памяти ЭВМ, производимые пользователями ;
- любые подозрительные действия.
Типовая фоpма записи регистрационного журнала представлена на рис.5.7.
+---------------------------------------------------+
¦Тип записи¦Дата¦Вpемя¦Теpминал¦Пользователь¦Событие¦
+---------------------------------------------------+
Рис.5.7. Типовая фоpма записи регистрационного журнала.
В системе должна быть предусмотрена возможность выводить содержимое регистрационного журнала на экран
терминала и печатающее устройство, причем выводимую информацию необходимо сортировать по пользователям,
теюйиналам, датам, идентификаторам заданий, элементам данных и т.п.
Следует отметить, что регистрационный журнал может быть также использован для решения следующих задач
[6]:
1) настройка системы (по частоте обращений к различным ресурсам ) ;
2) помощь пользователям в случае их непреднамеренных ошибок;
3) изменение полномочий пользователей (если пользователи часто совершают ошибки, либо вообще никогда не
обращаются к некоторым ресурсам);
4) возврат системы в исходное состояние для восстановления;
5) психологическое воздействие на потенциальных нарушителей.
Приведенный перечень задач, для решения которых может быть использован регистрационный журнал, еще раз
подтверждает необходимость комплексного применения всех средств и механизмов защиты для обеспечения
безопасности данных.
5.4. Реагирование на несанкционированные действия
Реагирование на несанкционированные действия включает в себя:
- сигнализацию о НСД;
- блокировку (отключение терминала, группы терминалов, элементов ИВС и т.п.);
- задержку в работе;
- отказ в запросе;
- имитацию выполнения запрещенного действия для определения места подключения нарушителя и характера
его действий.
Реагирование на НСД может осуществляться как автоматически, так и с участием должностного лица,
ответственного за информационную безопасность.
УПРАЖНЕНИЯ
1. Перечислите пояса защиты доступа в ИВС. Какие методы и средства защиты в них используются?
2. Предложите характеристики, которые можно использовать для установления подлинности.
3. Предложите методы паролирования, которые обеспечивают надежное установление подлинности.
4. Определите, на сколько должны измениться величины V, Т, N и Р, чтобы величина S в формуле (5.1)
увеличилась в 2 раза.
5. Модифицируйте формулу (5.5) для случая, когда система установления подлинности разрешает только К
попыток ввода пароля.
6. Предложите конкретные виды преобразования для реализации схемы "рукопожатия".
7. Сравните метод матричного доступа с остальными. В чем заключаются его преимущества и недостатки?
8. Сформулируйте дополнительные правила доступа в методе колец секретности, которые позволят обеспечить
безопасность данных.
9. Приведите примеры, когда необходима мандатная организация доступа для вызываемых процедур.
10. Постройте схему применения замков для системы, которой Вы пользуетесь. Введите свои ограничения.
ЛИТЕРАТУРА
1. Давыдовский А.И., Дорошкевич П.В. Защита информации в вычислительных сетях// Зарубежная
радиоэлектроника, 1989.ь12.- С. 60-70.
2. Кляйн Д. Как защититься от "взломщика". Обзор методов парольной защиты и набор рекомендаций по ее
улучшению// Программирование, 1991.- ,183.- С. 59-63.
3. Мартин Дж. Вычислительные сети и распределенная обработка данных.- М.: Финансы и статистика, 1986.- 269
с.
4. Моисеенков И.И. Суета вокруг Роберта или Моррис-сын и все, все, все...// Компьютер-Пресс, 1991.- N88.C.45-62; N9 C. 7-20.
5. Протоколы информационно-вычислительных сетей. Справочник/ Под ред. И.А.Мизина, А.П.Кулешова.- М.:
Радио и связь, 1990.- 504 с.
6. Хоффман Л.Дж. Современные методы защиты информации . - М.: Советское радио, 1980.- 264 с.
7. Denning D.Е. Cryptography and Data Security. Addlson-Wesley Publishlng Company, 1982.- 400 p.
8. Frosini G., Lazzerini В. Ring-protection mechanisms: general, properties and significant implementations// IEE Proc.
Computers & Digital, Techniques, July 1985.- v. 132, N4.- P. 203-210.
Download