KasperskyOS Community Edition 1.2
Правило create модели безопасности Mic
create { source : <Sid> , target : <Sid> , container : <Sid | ()> , driver : <Sid> , level : <Level | ... | ()> }

Назначает ресурсу target уровень целостности level в следующей ситуации:

  • Процесс source инициирует создание ресурса target.
  • Ресурсом target управляет субъект driver, который является поставщиком ресурсов или ядром KasperskyOS.
  • Ресурс container является контейнером для ресурса target (например, директория является контейнером для файлов и/или других директорий).

Если поле container имеет значение (), ресурс target рассматривается как корневой, то есть не имеющий контейнера.

Чтобы задать уровень целостности level, используются значения типа Level:

type Level = LevelFull | LevelNoCategory type LevelFull = { degree : Text | () , categories : List<Text> | () } type LevelNoCategory = Text

Правило возвращает результат "разрешено", если назначило ресурсу target уровень целостности level.

Правило возвращает результат "запрещено" в следующих случаях:

  • Значение level превышает уровень целостности процесса source, субъекта driver или ресурса container.
  • Значение level несравнимо с уровнем целостности процесса source, субъекта driver или ресурса container.
  • Процессу source, субъекту driver или ресурсу container не назначен уровень целостности.
  • Значение source, target, container или driver вне допустимого диапазона.

Пример:

/* Серверу класса updater.Realmserv будет разрешено отвечать на * обращения любого клиента в решении, вызывающего метод resolve * службы realm.Reader, если ресурсу, создание которого запрашивает * клиент, при инициации ответа будет назначен уровень целостности LOW. * Иначе серверу класса updater.Realmserv будет запрещено отвечать на * обращения любого клиента, вызывающего метод resolve службы realm.Reader. */ response src=updater.Realmserv, endpoint=realm.Reader { match method=resolve { mic.create { source : dst_sid , target : message.handle.handle , container : () , driver : src_sid , level : "LOW" } } }