Введение

Концепция принудительного контроля типов (TE) в области информационных технологий — это механизм контроля доступа, предназначенный для регулирования доступа в компьютерных системах. Реализация TE придает приоритет обязательному контролю доступа (MAC) над дискреционным контролем доступа (DAC). Право доступа предоставляется субъекту (например, процессу), обращающемуся к объектам (например, файлам, записям, сообщениям) на основе правил, определенных в присоединенном контексте безопасности. Контекст безопасности в домене определяется политикой безопасности домена. В модуле безопасности Linux (LSM) в SELinux контекст безопасности является расширенным атрибутом. Реализация принудительного контроля типов является предварительным условием для MAC и первым шагом к многоуровневой безопасности (MLS) или ее замене – многокатегорийной безопасности (MCS). Она дополняет контроль доступа на основе ролей (RBAC).

Контроль

Применение принудительной типизации подразумевает тонкий контроль над операционной системой, не только для управления выполнением процессов, но и для управления переходом между доменами или схемой авторизации. Именно поэтому оно лучше всего реализуется как модуль ядра, как это сделано в SELinux. Использование принудительной типизации – это один из способов реализации архитектуры FLASK.

Доступ

Используя принудительное исполнение типов, пользователи могут быть связаны с областью Kerberos (как в Microsoft Active Directory) или не быть связаны с ней (как в SELinux), хотя изначальная модель принудительного исполнения типов подразумевает такую связь. Всегда необходимо определить матрицу доступа TE, содержащую правила о правах доступа, предоставленных в заданном контексте безопасности, или о правах субъекта на объекты в соответствии со схемой авторизации.

Безопасность

На практике, принудительный контроль типов оценивает набор правил из контекста безопасности субъекта по отношению к набору правил из контекста безопасности объекта. Решение о допуске принимается в зависимости от описания доступа TE (матрицы). Затем применяются DAC или другие механизмы контроля доступа (MLS / MCS).

История

В конце 1980-х годов принудительное использование типов было внедрено в архитектуру Secure Ada Target с полной реализацией, разработанной в системе LOCK (Logical Coprocessing Kernel). Брандмауэр Sidewinder Internet Firewall был реализован на специализированной версии Unix, включающей принудительное использование типов. В системе Trusted MACH был разработан вариант, известный как обеспечение соблюдения типов доменов. Изначальная модель принудительного использования типов определяла, что метки должны быть привязаны к субъекту и объекту: метка домена для субъекта и метка типа для объекта. Этот механизм реализации был усовершенствован архитектурой FLASK, заменившей сложные структуры и неявные связи. Кроме того, исходная матрица доступа TE была расширена до других структур: основанных на решетке, истории, окружении и логике политик. Это вопрос реализации TE различными операционными системами. В SELinux реализация TE не различает внутренне домен TE и типы TE. Следует рассматривать как слабость исходной модели TE указание детальных аспектов реализации, таких как метки и матрица, особенно с использованием терминов "домен" и "типы", которые имеют другие, более общие и широко принятые значения.