«Секретность» и «целостность» — в чем различия?
Система защиты информации (далее - СЗИ) ОССН Смоленск оперирует тремя понятиями:
- уровень конфиденциальности
- категории доступа
- уровень целостности
Что есть что в этом списке, в чем сходство и различие?
Секретность
Первые два параметра ("уровень конфиденциальности" и "категории доступа") отвечают за то , чтобы информация не попадала к тому, кто не дожен её получать.
При этом,
- уровень конфиденциальности - параметр иерархический.
Классический пример - степени повышающейся секретности "не секретно" - "ДСП" - "Секретно" - "Совершенно секретно", - категории доступа -
Целостность
Параметр "уровень целостности" отвечает за то, чтобы информацию не могли изменять те, кому не положено её изменять.
Сущности мандатного доступа
Система мандатного доступа работает со следующими сущностями:
субъекты мандатного доступа (пользователь, процесс) - сущности, выполняющие операции
объекты мандатного доступа (пользователь, процесс, файл, каталог и т.д.) - сущности, с которыми выполняются операции
и определяет условия, при которых субъектам разрешено выполнять операции с объектами (создавать, получать доступ к содержимому, изменять).
Каждая сущность обладает определёнными мандатными атрибутами (или не обладает никакими, что приравнивается к нулевым мандатным атрибутам).
Мандатные атрибуты объединяются в мандатную (классификационную) метку (см. далее) сущности.
Решение о возможности или невозможности вполнения операций принимается на основании сравнения мандатных меток объекта и субъекта.
Мандатная метка, классификационная метка
Мандатная метка состоит из следующих атрибутов мандатного доступа:
классификационная метка, которая, в свою очередь состоит из атрибутов
уровень конфиденциальности сущности
категория доступа сущности
уровень целостности сущности
Кроме того, мандатная метка может иметь специальные флаги ccnr/ccnri (см. "Термины и сокращения")
Атрибуты мандатного доступа
уровень конфиденциальности - единичное (скалярное) числовое значение (иногда называется "уровень секретности" или просто "уровень").
Каждой мандатной (классификационной) метке в каждый момент времени может быть назначен один и только один уровень конфиденциальности.
Числовые значения уровня конфиденциальности сущностивсе сравнимы между собой
могут находится в диапазоне 0 до 255, включая границы.
технически реализованы как 8-ми битная беззнаковая величина (uint8_t).
в пользовательских интерфейсах представляются десятичным значением или наименованием единичного уровня конфиденциальности.
Теоретически, множество возможных значений уровня конфиденциальности сущности представляет собой линейное упорядоченное множество относительно операции сравнения
категория доступа - маска, состоящая из набора единичных значений категорий доступа (так же применяются термин "решетка" и название просто "категория"), .
В ОССН реализовано использование до 64-х единичных категорий доступа, таким образом, каждой мандатной (классификационной метке)
в каждый момент времени могут быть назначены одновременно до 64-х категорий доступа. Единичные категории доступа несравнимы между собой.
Числовые значения категории доступа сущностичастично сравнимы между собой
определяются как суммы значений назначенных единичных категорий доступа
могут принимать значения от 0 до 0xFF FF FF FF FF FF FF FF, включая границы
технически реализованы как 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 или 255).
Таким образом, каждой мандатной (классификационной метке) в каждый момент времени могут быть назначены одновременно до 6-ти (8-ми) единичных уровней целостности.
Числовые значения уровня целостности сущностичастично сравнимы между собой
определяются как суммы значений назначенных единичных уровней целостности
можгут принимать значения от 0 до 63 (255), включая границы
технически реализованы как 8-ми битная маска, беззнаковая величина (uint8_t)
в пользовательских интерфейсах представляются десятичным значением, или наименованием единичного уровня целостности
Теоретически, множество возможных значений уровня целостности сущности представляет собой полное частично упорядоченное множество относительно операции сравнения
Далее в тексте под терминами "уровень целостности" и "категория доступа" будут пониматься значения соответствующих атрибутов, |
Сравнение мандатных атрибутов
Операции сравнения уровней конфиденциальности, уровней целостности и категорий доступа определяются следующим образом:
уровень конфиденциальности cL0 больше или равен уровню конфиденциальности cL1 (cL0 >= cL1),
если численное значение cL0 больше или равно численному значению cL1;уровень целостности iL0 больше или равен уровню целостности iL1 (iL0 >= iL1),
если все биты набора iL1 являются подмножеством набора бит iL0, или наборы совпадают;
в терминах побитовых операций(iL0 & iL1) == iL1
категория доступа C0 больше или равна категориям доступа C1 ( C0 >= C1),
если все биты набора C1 являются подмножеством набора бит C0; или наборы совпадают;
в терминах побитовых операций(C0 & C1) == C1
Разрешения на доступ
Пусть мандатная метка субъекта содержит
классификационная метка
уровень конфиденциальности cLсуб,
уровень целостности iLсуб,
категория доступа Cсуб,
а мандатная метка объекта содержит
классификационная метка
уровень конфиденциальности cLоб,
уровень целостности iLоб
категория доступа Cоб.
Тогда:
операция записи разрешена, если
cL
суб
= cL
об
, C
суб
= C
об
и iL
суб
>= iL
об
, то есть:
уровни конфиденциальности и категории доступа субъекта и объекта совпадают,
а уровень целостности субъекта не ниже уровня целостности объекта
(теоретически - значение iLсуб принадлежит верхнему множеству iLоб)операции чтения и исполнения разрешены, если
cL
суб
>= cL
об
, C
суб
>= C
об
, и не зависят от уровней целостности
, то есть:
уровень конфиденциальности субъекта не ниже уровня конфиденциальности объекта,
а единичные категории доступа объекта входят в единичные категории доступа субъекта
(теоретически - значение сLсуб и Cсуб принадлежит верхним множествам cLоб и Cоб соответственно) .Правила наследования
В отношении атрибутов доступа действуют следующие правила наследования:
если в сессии порождаются другие процессы,
то они наследуют метку целостности и конфиденциальности;Процесс на любом уровне целостности создает объект только с нулевым уровнем целостности.
Повысить уровень целостности может только субъект с высоким уровнем целостности и с наличием привилегииPARSEC_CAP_CHMAC
;Процесс создает объекты только полностью наследуя им свою метку конфиденциальности.
Изменить ее может только привилегированный процесс c привилегиейPARSEC_CAP_CHMAC
.