Данная статья применима к:
- Astra Linux Special Edition
Комплекс средств защиты информации Astra Linux Special Edition (далее - КСЗ) оперирует следующими мандатными атрибутами:
- метка конфиденциальности:
- иерархический уровень конфиденциальности (далее по тексту — уровень конфиденциальности);
- неиерархические категории конфиденциальности (далее по тексту — категории конфиденциальности);
- метка целостности:
- неиерархические категории целостности (далее по тексту - категории целостности);
- иерархический (линейный) уровень целостности (доступен начиная с Astra Linux Special Edition очередное обновление 1.8);
- мандатные атрибуты управления доступом (в данной статье не рассматриваются, см. статью Метка безопасности: структура и состав).
«Уровни» и «категории» конфиденциальности, «целостность» — в чем различия?
Атрибуты уровень конфиденциальности и категории конфиденциальности отвечают за то , чтобы информация не попадала к тому, кто не уполномочен её получать.
Уровень конфиденциальности
Классический пример уровней конфиденциальности - это степени повышающейся секретности документов (сущностей): "Не секретно" - "ДСП" - "Секретно" - "Совершенно секретно", и соответствующие им уровни доступа к этим документам, назначенные персоналу (субъектам).
Очевидно, что в такой системе персоналу с уровнем доступа, например, "ДСП", разрешено читать только документы уровней "ДСП" и "Не секретно", и запрещено читать документы с более высокими уровнями конфиденциальности ("Секретно" и "Совершенно секретно").
Не столь очевидно, но персоналу с уровнем конфиденциальности, например "Секретно", запрещено передавать (преднамеренно или случайно) персоналу с более низким уровнем доступа "ДСП" документы уровня "Секретно" (теоретические подробности можно найти в многочисленных описаниях модели безопасности Белла-ЛаПадулы (англ. Bell-LaPadula).
Категории конфиденциальности
Для более точного управления доступом, в дополнение к разделению по уровням конфиденциальности, комплекс средств защиты информации КСЗ предоставляет возможность разделить сущности по категориям конфиденциальности.
Простой пример категорий конфиденциальности имеется в документе "Руководство по КСЗ. Часть 1 РУСБ.10015-01 97 01-1", где описано использование двух условных категорий "Танки" и "Самолёты". При этом персонал, работающий с "Танками", и имеющий соответствующую категорию конфиденциальности, не сможет ни получать сведения о "Самолётах", ни передавать сведения о "Танках" тем, кто работает с "Самолётами", но, в то же время, условному "Руководителю" могут быть предоставлены одновременно обе категории конфиденциальности, чтобы "Руководитель" мог получать полный объём информации.
Итак, с помощью параметров уровень конфиденциальности и категории конфиденциальности КСЗ обеспечивает защиту от несанкционированной передачи информации:
- невозможность прочитать информацию, к которой не предоставлен доступ:
- "нижним" уровням запрещено читать информацию с "верхних" уровней;
- всем запрещено читать информацию, на которую нет разрешенной категории конфиденциальности;
- невозможность передать информацию тому, кому не предоставлен доступ:
- "верхним" уровням запрещено записывать свою информацию на "нижние" уровни;
- всем запрещено передавать информацию тем, у кого нет соответствующей категории конфиденциальности.
Правила, по которым КСЗ определяет возможность доступа к данным, описаны далее.
Целостность
Атрибут неиерархические категории целостности отвечает за то, чтобы информацию не могли изменять те, кому не положено её изменять. В первую очередь этот атрибут отвечает за безопасность самой информационной системы.
Модель контроля целостности с 2007 г. реализуется в механизме MIC (Mandatory Integrity Control) всех ОС семейства Microsoft Windows, где показала свою эффективность при противодействии компьютерным вирусам и атакам, направленным на несанкционированное повышение привилегий.
Теоретические подробности модели контроля целостности можно найти в описаниях модели безопасности Биба (англ. Biba). В общем, требование защиты целостности выглядит так: субъект (процесс или пользователь) может записывать (изменять) только сущности (объекты) имеющие метки целостности меньшие или равные метке целостности субъекта (запись "вверх" запрещена).
- в КСЗ Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) была реализована двухуровневая модель целостности;
- начиная с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) модель целостности расширена до многоуровневой;
- начиная с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8) в модель целостности включен иерархический уровень целостности.
Правила по которым КСЗ определяет возможность доступа к сущностям при работе с контролем целостности описаны далее.
Сущности мандатного управления доступом
Система мандатного управления доступом работает со следующими понятиями:
субъекты мандатного доступа (пользователь, процесс) - те, кто выполняет операции, подлежащие мандатному контролю;
сущности (объекты) мандатного доступа (файл, каталог и т.д.) - то, с чем выполняются операции, подлежащие мандатному контролю.
и определяет условия, при которых субъектам разрешено выполнять операции с сущностями (создавать, получать доступ к содержимому (читать), изменять).
Каждому субъекту и каждой сущности назначаются определённые мандатные атрибуты (или не назначаются никакие, что приравнивается к минимальным (нулевым) мандатным атрибутам).
Мандатные атрибуты субъекта/сущности объединяются в мандатный контекст этого субъекта/сущности.
Решение о возможности или невозможности выполнения операций доступа автоматически принимается СЗИ на основании сравнения меток безопасности субъекта и сущности.
Мандатный контекст, метка безопасности, мандатные атрибуты управления доступом
См. Метка безопасности: структура и состав
Атрибуты мандатного управления доступом
Иерархический уровень конфиденциальности (уровень конфиденциальности) — единичное (скалярное) числовое значение (иногда называется "уровень секретности" или просто "уровень").
Каждой метке безопасности (классификационной метке в составе метки безопасности) в каждый момент времени может быть назначен один и только один уровень конфиденциальности.
Числовые значения уровня конфиденциальности сущности:все сравнимы между собой;
могут находится в диапазоне от 0 до 255, включая границы;
технически реализованы как 8-ми битная беззнаковая величина (uint8_t);
в пользовательских интерфейсах представляются десятичным значением или наименованием;
теоретически, множество возможных значений уровня конфиденциальности сущности представляет собой линейное упорядоченное множество относительно операции сравнения.
Неиерархические категории конфиденциальности (категории конфиденциальности) — маска, состоящая из набора единичных значений категорий конфиденциальности (так же применяются название просто "категория") .
В Astra Linux Special Edition реализовано использование до 64-х единичных категорий конфиденциальности, таким образом, каждой метке безопасности (классификационной метке в составе метки безопасности)
в каждый момент времени могут быть назначены одновременно до 64-х категорий конфиденциальности. Единичные категории конфиденциальности несравнимы между собой.
Числовые значения категории конфиденциальности сущности:частично сравнимы между собой;
определяются как суммы значений назначенных единичных категорий конфиденциальности;
могут принимать значения от 0 до 0xFFFF FFFF FFFF FFFF, включая границы;
технически реализованы как 64-x битная маска, беззнаковая величина (unsigned long long);
в пользовательских интерфейсах представляются шестнадцатеричным значением или списком наименований единичных категорий конфиденциальности;
теоретически, множество возможных значений категорий конфиденциальности сущности представляет собой полное частично упорядоченное множество относительно операции сравнения.
Неиерархические категории целостности (уровень целостности) - маска, состоящая из набора единичных значений уровней целостности (так же применяется название "категория целостности", или просто "целостность").
В Astra Linux Special Edition по умолчанию определены 7 ненулевых и несравнимых между собой единичных значений уровня целостности
(при настройке Astra Linux Special Edition количество единичных значений может быть увеличено до 8):№ п/п
Значение
Битовая маска
Комментарий
000
0000 0000
Нулевой уровень. "Низкий", или "Low"
1
001
0000 0001
Уровень задействован как "Сетевые сервисы"
2
002
0000 0010
Уровень задействован как "Виртуализация"
3
004
0000 0100
Уровень задействован как "Специальное ПО"
4
008
0000 1000
Уровень задействован как "Графический сервер"
5
016
0001 0000
Свободен, может быть использован для СУБД
6
032
0010 0000
Свободен, может быть использован для сетевых сервисов
7
064
0100 0000
Зарезервирован, и может быть использован при поднятии max_ilev
8
128
1000 0000
Зарезервирован, и может быть использован при поднятии max_ilev
Дополнительно зарезервировано специальное наименование набора категорий целостности "Высокий" ("High"), представляющего собой максимальную сумму единичных уровней, определённых в системе (имеет значение 63 при использовании 6-ти уровней, или значение 255 при использовании 8-ми уровней целостности).
Таким образом, каждой метке безопасности (метке целостности в составе метки безопасности) в каждый момент времени могут быть назначены одновременно до 6-ти (8-ми) единичных уровней целостности.
Числовые значения уровня целостности сущности:частично сравнимы между собой;
определяются как суммы значений назначенных единичных уровней целостности;
могут принимать значения от 0 до 63 (255), включая границы;
технически реализованы как 8-ми битная маска, беззнаковая величина (uint8_t);
в пользовательских интерфейсах представляются десятичным значением или наименованием единичного уровня целостности;
теоретически, множество возможных значений уровня целостности сущности представляет собой полное частично упорядоченное множество относительно операции сравнения.
- Иерархический уровень целостности (доступен начиная с Astra Linux Special Edition 1.8) — единичное (скалярное) числовое значение.
Каждой метке метке целостности в каждый момент времени может быть назначен один и только один иерархический уровень целостности.
Числовые значения иерархического уровня целостности сущности:- все сравнимы между собой;
- могут находится в диапазоне от -128 до 127, включая границы;
технически реализованы как 8-ми битная величина со знаком;
в пользовательских интерфейсах представляются десятичным значением или наименованием;
теоретически, множество возможных значений иерархического уровня целостности представляет собой линейное упорядоченное множество относительно операции сравнения.
Сравнение мандатных атрибутов
Операции сравнения уровней конфиденциальности, категорий конфиденциальности уровней целостности определяются следующим образом:
Иерархический уровень конфиденциальности (целостности) cL0 больше или равен иерархическому уровню конфиденциальности (целостности) cL1 (cL0 >= cL1),
если численное значение cL0 больше или равно численному значению cL1.Набор неиерархических категорий конфиденциальности (целостности) C0 больше или равен набору неиерархических категорий конфиденциальности (целостности) C1 ( C0 >= C1),
если все биты набора C1 являются подмножеством набора бит C0 или наборы совпадают.
В терминах побитовых операций:(C0 & C1) == C1.
Разрешения на доступ
Пусть метка безопасности субъекта содержит следующие атрибуты:
классификационная метка:
уровень конфиденциальности cLсуб;
категории конфиденциальности cCсуб;
- метка целостности:
- категории целостности iCсуб;
- иерархический уровень целостности iLсуб;
а метка безопасности сущности содержит атрибуты:
метка конфиденциальности:
уровень конфиденциальности cLоб;
категории конфиденциальности cCоб;
- метка целостности
категории целостности iСоб;
- иерархический уровень целостности iLоб;
Тогда:
Операция записи разрешена, если
cLсуб = cLоб, cCсуб = Cоб, iLсуб >= iLоб, iСсуб >= iСоб.
то есть:уровни конфиденциальности и категории конфиденциальности субъекта и сущности совпадают (метки конфиденциальности совпадают),
категории целостности субъекта не ниже категорий целостности сущности (теоретически - значение iLсуб принадлежит верхнему множеству iLоб);
- иерархический уровень целостности субъекта на ниже иерархического уровня целостности объекта (iCсуб >= iCоб).
- Операции чтения и исполнения разрешены, если
cLсуб >= cLоб и cCсуб >= cCоб,
то есть:- уровень конфиденциальности субъекта не ниже уровня конфиденциальности сущности;
- единичные категории конфиденциальности сущности входят в единичные категории конфиденциальности субъекта (теоретически - значения сLсуб и cCсуб принадлежат верхним множествам cLоб и cCоб соответственно).
- в обновлениях Astra Linux Special Edition, выпущенных до очередного обновления x.8 разрешение на чтение не зависит от значений меток целостности, начиная с Astra Linux Special Edition x.8 метка целостности может быть учтена с помощью атрибута ssi.
Правила наследования и изменения
Если субъект создает другого субъекта (например, процесс создает процесс),
то созданный субъект полностью наследует метку безопасности родителя,
т.е. наследует и уровень конфиденциальности, и категории конфиденциальности и целостности.- Если субъект создает сущность (например, процесс создает файл),
то созданная сущность наследует только классификационную метку родителя,
т.е. наследует только уровень конфиденциальности и категории конфиденциальности,
и, независимо от уровня целостности родителя, всегда получает нулевую категорию целостности. Изменять метку конфиденциальности сущности (т.е. изменять уровень конфиденциальности и/или категории конфиденциальности)
могут только субъекты c наличием привилегии PARSEC_CAP_CHMAC.
- Изменять метку целостности сущности (т.е. изменять уровень целостности сущности)
могут только субъекты c наличием привилегии PARSEC_CAP_CHMAC и с максимальным ("Высоким") уровнем целостности.