- Общие сведения
- Пример
- Порядок изменения значений атрибутов классификационной метки
- Порядок установки ненулевых или повышения значений атрибутов классификационной метки
- Пример
- Порядок установки нулевых или понижения значений атрибутов классификационной метки
- Контекст безопасности
- Мандатный контекст
- Метка безопасности
- Дополнительные мандатные атрибуты управления доступом
Общие сведения
В операционной системе специального назначения Astra Linux Special Edition начиная с очередного обновления 1.4 и позднее возможна ситуация, когда при попытке изменения классификационной метки файлового объекта возникает «блокировка» внесения изменений:
- на файловый объект нельзя установить классификационную метку, превышающую классификационную метку каталога, содержащего данный файловый объект;
- на каталог нельзя установить более высокую классификационную метку, так как каталог, содержит файловые объекты с метками, меньшими устанавливаемой.
Для устранения этой «блокировки» применяется флаг ccnr в метке безопасности каталога. Этот флаг о пределяет, что контейнер (каталог) может содержать сущности (файловые объекты) с различными классификационными метками, но не большими, чем его собственная классификационная метка. Чтение содержимого такого контейнера разрешается субъекту вне зависимости от значения его классификационной метки, при этом субъекту доступна информация только про находящиеся в этом контейнере сущности с классификационной меткой не большей, чем его собственная классификационная метка, либо про сущности-контейнеры, также имеющие мандатный атрибут управления доступом ccnr.
Пример
Корневому каталогу файловой системы по умолчанию присвоена максимальная метка безопасности (в т.ч. — максимальная классификационная метка) и специальный флаг . Проверить метку безопасности файлового объекта можно командой pdp-ls:
pdp-ls -Md
drwxr-xr-xm— 22 root root Уровень_3:Высокий:Категория_1,Категория_2,0xfffffffffffffffc:ccnr /
Метка безопасности нового каталога:
Попробуем рекурсивно поменять метку безопасности на файле и директории:
pdpl-file: /mydir1: Отказано в доступе
Данное поведение обусловлено положениями ДП-модели контроля доступа, разработанной специалистами академии ФСБ России и реализованной в Astra Linux Special Edition, начиная с версии 1.4 (см. Метка безопасности: структура и состав и Уровень конфиденциальности, категории конфиденциальности и целостность: что есть что, и как с этим работать?)
Поскольку операция создания файла в каталоге является операцией записи, классификационные метки каталога и файла должны совпадать. Т.е. в каталогах с нулевой меткой безопасности (0:0:0:0) при отсутствии специальных флагов (см. ниже) могут содержаться только файлы с нулевой меткой безопасности (0:0:0:0). При изменении классификационной метки на поддереве файловой системы (как в примере выше) правомерность такого изменения проверяется для каждого объекта файловой системы в отдельности. В примере выше нельзя изменить классификационную метку каталога /mydir1 на 1:0:0:0 (повысить иерархический уровень конфиденциальности с 0 до 1), т.к. этот каталог содержит файл с нулевой классификационной меткой. В тоже время нельзя изменить классификационную метку файла /mydir1/file на 1:0:0:0, т.к. этот файл содержится в каталоге (т.е. объекте-контейнере) с нулевой классификационной меткой 0:0:0:0.
Порядок изменения значений атрибутов классификационной метки
Порядок установки ненулевых или повышения значений атрибутов классификационной метки
Как упоминалось выше, в Astra Linux Special Edition предусмотрены специальные флаги или «типы метки» для объектов-контейнеров, с помощью которых администратор безопасности может решить задачу рекурсивной смены метки безопасности на файловой системе. Их описание из руководства по КСЗ:
Дополнительные мандатные атрибуты управления доступом позволяют уточнять или изменять правила мандатного управления доступом для тех или иных субъектов или сущностей:
— ccnr — может присваиваться только контейнерам. Определяет, что контейнер может содержать сущности с различными классификационными метками, но не большими, чем его собственная классификационная метка. Чтение содержимого такого контейнера разрешается субъекту вне зависимости от значения его классификационной метки, при этом субъекту доступна информация только про находящиеся в этом контейнере сущности с классификационной меткой не большей, чем его собственная классификационная метка, либо про сущности-контейнеры, также имеющие мандатный атрибут управления доступом ccnr;
— ehole — может присваиваться сущностям (файлам), не являющимся контейнерами и имеющим минимальную метку безопасности (т.е. минимальную классификационную метку и минимальную метку целостности). Приводит к игнорированию мандатных правил управления доступом при получении доступа на запись к ним. Атрибут предназначен для сущностей, из которых субъект не может прочитать данные, записанные в них субъектами с более высокой классификационной меткой, чем его собственная классификационная метка (например, /dev/null);
— whole — присваивается сущностям (файлам), не являющимся контейнерами, c максимальной классификационной меткой. Разрешает запись в них субъектам, имеющим более низкую классификационную метку (в обычном случае записывать «снизу вверх» запрещено).
П р и м е ч а н и е. Мандатный атрибут управления доступом ccnri более не используется в ОС для управления доступом, при этом штатное функционирование ОС соответствует функционированию с установленным мандатным атрибутом ccnri. Возможность установки и получения данного мандатного атрибута сохранена в ОС для обеспечения совместимости с системами и ПО, которые его использует. Мандатный атрибут управления доступом ccnra в ОС приравнивается к ccnr и также сохранен для обеспечения совместимости и не рекомендован к использованию.
В ОС предусмотрено существование объектов-контейнеров (например, каталогов), т.е. объектов, которые могут содержать другие объекты. Метка безопасности объекта-контейнера определяет максимальную метку безопасности вложенных объектов. Тип метки безопасности может использоваться для того, чтобы изменять ее эффективное действие:
– тип метки ehole применяется к объектам-контейнерам и простым объектам для игнорирования мандатных правил разграничения доступа к ним;
– тип метки ccnr применяется к объектам-контейнерам и определяет, что объект контейнер может содержать объекты с различными метками безопасности, но не превышающими метку безопасности объекта-контейнера;
– тип метки ccnri применяется к объектам-контейнерам и определяет, что объект контейнер может содержать объекты с различными уровнями целостности, но не превышающими уровень целостности объекта-контейнера;
Ненулевой тип метки безопасности может быть установлен только привилегированным процессом. Перечисленные типы могут использоваться совместно. Таким образом, объект-контейнер может иметь тип: ccnr,ccnri,ehole.
Для того чтобы установить (повысить) классификационную метку на поддереве файловой системы выполнить следующее:
- Рекурсивно установить на все каталоги поддерева, начиная с верхнего, классификационную метку с требуемыми значениями иерархического уровня конфиденциальности, набором неиерархических категорий конфиденциальности и флагом ccnr. Если предполагается, что в поддереве будут содержаться файловые объекты с разными классификационными метками, то на каждый подкаталог следует установить максимальную для содержащихся в нем файловых объектов классификационную метку;
- Установить на файлы поддерева классификационную метку с требуемыми значениями атрибутов;
- Снять c каталогов флаг ccnr (если этот флаг не нужен, т.е. все содержащиеся в поддереве файловые объекты имеют одинаковые классификационные метки);
Пример
Для созданного в предыдущем примере каталога /mydir1, имеющего нулевую классификационную метку и содержащего файл /mydir1/file, также имеющего нулевую классификационную метку:
- Рекурсивно (флаг -R команды pdpl-file) изменить классификационные метки на каталогах и добавить флаг ccnr:
Порядок установки нулевых или понижения значений атрибутов классификационной метки
Для понижения значений атрибутов классификационной метки можно использовать ключ -r команды pdpl-file («r-строчное» в отличие от ранее использованного ключа -R — рекурсивное выполнение). При использовании этого ключа рекурсивное изменение мандатных атрибутов выполняется в обратном порядке, начиная с вложенных файловых объектов. Такой порядок изменения позволяет сначала понизить классификационную метку файлов, а затем — классификационную метку содержащего их каталога. Реверсивный порядок внесения изменений при понижении значений меток необходим так как попытка понизить сначала классификационную метку каталога приведет к ошибке (каталог не может содержать файловые объекты с классификационной меткой большей чем метка самого каталога).
- Рекурсивно (флаг -R команды pdpl-file) установить классификационные метки на каталогах, добавив флаг ccnr:
Контекст безопасности
Контекст безопасности — структура, включающая в себя все атрибуты управления доступом субъектов доступа (субъектов, например, процессов ) к объектам доступа (сущностям, например, файлам или каталогам) , существующие в соответствии с формальной мандатной сущностно-ролевой моделью управления доступом и информационными потоками (МРОСЛ ДП-моделью) и определяющие порядок доступа субъектов к сущностям.
В зависимости от реализации контекст безопасности может включать в себя:
- Контекст дискреционного управления доступом (разграничения доступа);
- Контекст мандатного управления доступом (разграничения доступа);
- Контекст ролевого управления доступом (разграничения доступа);
- Иные атрибуты, определяемые формальной моделью управления доступом и ее реализацией.
В рамках наст оящего документа рассматрива ю тся состав и структура контекста мандатного управления доступ ом ( мандатного контекста ) .
Мандатный контекст
Мандатный контекст представляет собой полный набор мандатных атрибутов субъекта или сущности.
Мандатный контекст включает в себя все мандатные атрибуты субъекта или сущности, и мандатных атрибутов вне мандатного контекста не существует.
Мандатный контекст включает в себя:
Субъекты или сущности, которым явно не присвоен никакой мандатный контекст, считаются имеющими минимальный (нулевой) мандатный контекст, т.е. мандатный контекст в котором все мандатные атрибуты имеют минимальные допустимые значения (например, равны нулю).
Метка безопасности
Метка безопасности является составной и включает в себя две метки:
Классификационная метка является составной и включает в себя:
- Иерархический уровень конфиденциальности;
- Неиерархическую категорию конфиденци альности.
Метка целостности представлена одним мандатным атрибутом:
Дополнительные мандатные атрибуты управления доступом
В зависимости от реализац ии формальной модел и управления доступом отдельным субъектам или сущностям может быть дополнительно присвоен набор необязательных мандатных атрибутов управления доступом, не входящих в метку. Необязательные мандатные атрибуты управления доступом позв оляют уточнять правил а мандатного доступа для отдель ных субъектов или сущносте й.
В качестве примера можно привести следующие мандатные атрибуты управления доступом, использованные в операционной системе специального назначения Astra Linux Special Edition:
- Мандатные атрибуты меток безопасности сущностей, являющихся контейнерами ( т.е. сущностей , которые могут содержать другие сущности , например, каталог ам файловой системы ):
- Если метка целостности субъекта меньше или равна метке целостности контейнера, то создаваемые в каталоге сущности наследуют метку целостности создающего их субъекта;
- Если метка целостности субъекта выше или несравнима с меткой целостности контейнера, то метка целостности создаваемых сущностей устанавливается как наибольшее значение, одновременно меньшее или равное значениям меток целостности контейнера и субъекта. Атрибут доступен только при включенном расширенном режиме МКЦ (расширенный режим МКЦ доступен начиная с обновления БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2);
- Мандатный атрибут ccnr. Определяет, что контейнер может содержать сущности с различными классификационными метками , но не большими, чем его собственная метка. Чтение содержимого такого контейнера разрешается субъекту вне зависимости от значения классификационной метки этого субъекта, при этом субъекту доступна информация только про находящиеся в этом контейнере сущности с классификационной меткой не большей, чем собственная классификационная метка субъекта, либо про сущности-контейнеры, также имеющие мандатный атрибут управления доступом ccnr;
В ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением № 20190222SE16 и в ОС Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) мандатный атрибут управления доступом ccnri включен для всех контейнеров, и не может быть изменен.
Мандатный контекст
Метка безопасности
Мандатные атрибуты управления доступом