...
Не столь очевидно, но персоналу с уровнем конфиденциальности, например "Секретно",
запрещено (преднамеренно или случайно) передавать персоналу с более низким уровнем "ДСП" материалы уровня "Секретно"
(теоретические подробности можно найти в многочисленных описаниях модели безопасности Белла-ЛаПадуллыЛаПадулы).
Для более точного управления доступом, в дополнение к разделению по уровням конфиденциальности,
СЗИ предоставляет возможность разделить материалы по категориям доступа.
...
Субъекты мандатного доступа (пользователь, процесс) - сущности, выполняющие операции;
Объекты мандатного доступа (пользователь, процесс, файл, каталог и т.д.) - сущности, с которыми выполняются операции.
...
Решение о возможности или невозможности выполнения операций операций доступа автоматически принимается СЗИ на основании сравнения мандатных меток объекта и субъекта.
...
Категории доступа - маска, состоящая из набора единичных значений категорий доступа (так жеприменяются название просто "категория") .
В ОССН реализовано использование до 64-х единичных категорий доступа, таким образом, каждой мандатной (классификационной метке)
в каждый момент времени могут быть назначены одновременно до 64-х категорий доступа. Единичные категории доступа несравнимы между собой.
Числовые значения категории доступа сущности:Частично сравнимы между собой;
Определяются как суммы значений назначенных единичных категорий доступа;
Могут принимать значения от 0 до 0xFFFF FFFF FFFF FFFF, включая границы;
Технически реализованы как 64-x битная маска, беззнаковая величина (unsigned long long);
В пользовательских интерфейсах представляются шестнадцатеричным значением , или списком наименований единичных категорий доступа;
Теоретически, множество возможных значений категорий доступа сущности представляет собой полное частично упорядоченное множество относительно операции сравнения.
...
Уровень целостности - маска, состоящая из набора единичных значений уровней целостности (так же применяется название "категория целостности", или просто "целостность").
В ОССН по умолчанию определены 6 ненулевых и несравнимых между собой единичных значений уровня целостности
(при настройке ОССН количество единичных значений может быть увеличено до 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);
В пользовательских интерфейсах представляются десятичным значением , или наименованием единичного уровня целостности;
Теоретически, множество возможных значений уровня целостности сущности представляет собой полное частично упорядоченное множество относительно операции сравнения.
...
Уровень конфиденциальности cL0 больше или равен уровню конфиденциальности cL1 (cL0 >= cL1),
если численное значение cL0 больше или равно численному значению cL1;Уровень целостности iL0 больше или равен уровню целостности iL1 (iL0 >= iL1),
если все биты набора iL1 являются подмножеством набора бит iL0, или наборы совпадают;
или, в терминах побитовых операций(iL0 iL0 & iL1iL1) == iL1iL1;
Категория Категории доступа C0 больше C0 больше или равна равны категориям доступа C1 ( C0 >= C1C1 ( C0 >= C1),
если все биты набора C1 являются C1 являются подмножеством набора бит C0C0; или наборы совпадают;
или, в терминах побитовых операций(C0 C0 & C1C1) == C1C1.
Разрешения на доступ
Пусть мандатная метка субъекта содержит следующие атрибуты:
...
Если в сессии порождаются другие процессы,то они наследуют метку целостности и конфиденциальности;Если субъект создаёт создаёт объект, являющияся процессомкоторый может выступать в роли субъекта (например, процесс создаёт процесс),
то созданный объект наследует мандатную метку родителя,
т.е. наследует уровень конфиденциальности, категории доступа, и уровень целостности ;Процесс на любом уровне целостности создает объект только с нулевым уровнем целостности.- Если субъект создаёт объект, не являющийся процессомсубъектом (например, процесс создаёт файл),
то созданный объект наследует классификационную метку родителя,
т.е. наследует уровень конфиденциальности и категории доступа,
но получает только нулевой уровень целостности, независимо от уровня целостности родителя; Повысить уровень целостности может только субъект с высоким уровнем целостности, и с наличием привилегии PARSEC_CAP_CHMAC;Изменить уровень целостности объекта может только субъект с максимальным ("Высоким") уровнем целостности,
и с наличием привилегии PARSEC_CAP_CHMAC;процесс создает объекты только полностью наследуя свою метку конфиденциальности. Изменить ее может только привилегированный процесс c привилегией PARSEC_CAP_CHMAC.Изменить классификационную метку объекта может только субъект c привилегией PARSEC_CAP_CHMAC.
...