Обязательный контроль целостности

Обязательный контроль целостности (MIC) - это системный способ ограничения доступа и изменения объектов в зависимости от целостности объекта и допуска пользователя. В то время как MAC контролирует уровень секретности объекта, MIC отвечает за его надежность.

Применение меток для MIC

Применение MAC в Trusted AIX основано на системе меток. В системе Trusted AIX у всех именованных объектов есть метки целостности (TL), определяющие уровень целостности объекта. У процессов также есть TL. TL процессов указывают уровень целостности информации, доступный процессу. Чем выше TL, тем более надежен объект или процесс.

Процесс может изменить объект только при условии, что его надежность не меньше, чем у объекта. Таким образом, TL процесса должна быть больше или равна TL объекта. Следовательно, метки целостности позволяют сделать файлы доступными только для чтения.

Кроме того, процесс не может использовать данные из объекта, менее надежного, чем сам процесс. Таким образом, в этом случае TL объекта должна быть больше или равна TL процесса.

У всех системных объектов, таких как файлы или процессы, есть TL. TL автоматически присваиваются объектам при их создании. Все дампы ядра считаются объектами и автоматически помечаются системой.

Объекты, существующие в системе до установки Trusted AIX, получают TL по умолчанию, SYSTEM_LOW (SLTL), при обращении к этим объектам после установки Trusted AIX. TL этих объектов не постоянны. Их можно изменить с помощью команды settxattr. Объектам, созданным после установки Trusted AIX, присваивается уровень целостности создавшего их процесса.

Пользователи и метки

Система присваивает каждой учетной записи пользователя диапазон допустимых TL, либо по системному значению по умолчанию, либо по пользовательскому параметру, и пользователь может работать только в пределах этого диапазона. Процесс или пользователь может создавать файлы и каталоги только на текущем уровне целостности процесса или пользователя и считывать и записывать файлы только в соответствии с налагаемыми системой ограничениями MIC.

Применение MIC

Обязательный контроль целостности применяется тогда же, когда и MAC. Кроме того, MIC применяется при удалении или переименовании файла или каталога.

Изменение TL

TL объектов и процессов можно просмотреть командой lstxattr и изменить командой settxattr.

Изменить TL файла или процесса могут только пользователи с соответствующими правами доступа и процессы с соответствующими привилегиями. Для изменения TL объекта файловой системы на более низкое значение с помощью команды settxattr у пользователя должны быть права доступа aix.mls.label.tl.downgrade. Для обновления TL объекта файловой системы у пользователя должны быть права доступа aix.mls.label.tl.upgrade. Для изменения TL процессов у пользователя должны быть права aix.mls.proc.tl.upgrade для повышения TL и права aix.mls.proc.tl.downgrade - для понижения TL.

NOTL

Существует специальная TL, NOTL, применимая к файловым системам, объектам IPC и процессам. Когда объекту или процессу присвоена TL NOTL, проверки MIC для объекта или процесса не выполняются. Задать TL равной NOTL или изменить TL на NOTL могут только привилегированные пользователи.

MIC в дескрипторах открытых файлов

Когда процесс обращается к файлу для чтения, записи или выполнения простых операций, происходит проверка MIC. Если у процесса есть дескриптор этого файла, то он может считывать и записывать файл, даже если TL процесса изменилась на более низкую по сравнению с TL файла. Однако некоторые операции, например задание владельца файла, прав доступа, меток и привилегий, выполняют проверку доступа после того, как процесс получит дескриптор файла. Это означает, что проверки MIC не выполняются, когда процесс обращается к файлу с помощью дескриптора файла. TL файла и/или процесса может измениться, но доступ по-прежнему будет разрешен.