Авторизация. Разграничение доступа к объектам ОС

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

Как уже говорилось, компьютерная система может быть смоделирована как набор субъектов (процессы, пользователи) и объектов. Под объектами мы понимаем как ресурсы оборудования (процессор, сегменты памяти, принтер, диски и ленты), так и программные (файлы, программы, семафоры). Каждый объект имеет уникальное имя, отличающее его от других объектов в системе, и каждый из них может быть доступен через хорошо определенные и значимые операции. Объекты - абстрактные типы данных.

Операции зависят от объектов. Hапример, процессор может только выполнять команды. Сегменты памяти могут быть записаны и прочитаны, тогда как считыватель карт может только читать. Файлы данных могут быть записаны, прочитаны, переименованы и т.д.

Очевидно, что процессу может быть разрешен доступ только к тем ресурсам, к которым он имеет авторизованный доступ. Желательно добиться того, чтобы он имел доступ только к тем ресурсам, которые ему нужны для выполнения его задачи. Это требование имеет отношение только к принципу минимизации привилегий, полезному с точки зрения ограничения количества повреждений, которые процесс может нанести системе. Hапример, когда процесс P вызывает процедуру А, ей должен быть разрешен доступ только к переменным и формальным параметрам, переданным ей, она должна быть не в состоянии влиять на другие переменные процесса. Аналогично компилятор не должен оказывать влияния на произвольные файлы, а только на их хорошо определенное подмножество (типа исходных файлов, листингов и др.), имеющих отношение к компиляции. С другой стороны, компилятор может иметь личные файлы, используемые для оптимизационных целей, к которым процесс Р не имеет доступа.

Различают дискреционный(избирательный) способ управления доступом и полномочный (мандатный). При дискреционном доступе определенные операции над определенным ресурсом запрещаются или разрешаются субъектам или группам субъектов. С концептуальной точки зрения текущее состояние прав доступа при дискреционном управлении описывается матрицей, в строках которой перечислены субъекты, а в столбцах - объекты.

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

Большинство операционных систем реализуют именно дискреционное управление доступом. Главное его достоинство - гибкость, главные недостатки - рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.