Введение
Делегирование полномочий для выполнения функций, связанных с безопасностью компьютерной системы.
In computing, privilege is defined as the delegation of authority to perform security relevant functions on a computer system. A privilege allows a user to perform an action with security consequences. Examples of various privileges include the ability to create a new user, install software, or change kernel functions. Users who have been delegated extra levels of control are called privileged. Users who lack most privileges are defined as unprivileged, regular, or normal users.
В информатике привилегия определяется как делегирование полномочий для выполнения функций, связанных с безопасностью компьютерной системы. Привилегия позволяет пользователю выполнять действие, имеющее последствия для безопасности. Примеры привилегий включают возможность создания нового пользователя, установки программного обеспечения или изменения функций ядра. Пользователи, которым делегированы дополнительные уровни контроля, называются привилегированными. Пользователи, не имеющие большинства привилегий, определяются как непривилегированные, обычные или стандартные пользователи.
In computing, privilege is defined as the delegation of authority to perform security relevant functions on a computer system. A privilege allows a user to perform an action with security consequences. Examples of various privileges include the ability to create a new user, install software, or change kernel functions. Users who have been delegated extra levels of control are called privileged. Users who lack most privileges are defined as unprivileged, regular, or normal users.
Теория
Привилегии могут быть автоматическими, предоставленными или запрашиваемыми. Автоматическая привилегия существует, когда для выполнения действия не требуется специальное разрешение. Например, в системах, где для использования необходимо войти в систему, выход из системы не требует привилегий. Системы, не реализующие защиту файлов, такие как MS DOS, по сути, предоставляют неограниченные привилегии для выполнения любых действий с файлами. Предоставленная привилегия возникает в результате предъявления определенных учетных данных органу, предоставляющему привилегии. Обычно это достигается путем входа в систему с использованием имени пользователя и пароля, и если указанные имя пользователя и пароль верны, пользователю предоставляются дополнительные привилегии. Привилегия запрашивается либо выполняемой программой, отправляющей запрос на расширенные привилегии, либо путем запуска программы для получения дополнительных привилегий. Примером запроса дополнительных привилегий пользователем является команда sudo для запуска команды от имени суперпользователя (root), или система аутентификации Kerberos. Современные архитектуры процессоров имеют несколько режимов работы ЦП, позволяющих операционной системе работать на разных уровнях привилегий. Некоторые процессоры имеют два уровня (например, пользовательский и режим супервизора), а процессоры i386+ – четыре уровня (#0 с наибольшими, #3 с наименьшими привилегиями). Задачи помечаются уровнем привилегий. Ресурсы (сегменты, страницы, порты и т.д.) и привилегированные инструкции помечаются требуемым уровнем привилегий. Когда задача пытается использовать ресурс или выполнить привилегированную инструкцию, процессор определяет, имеет ли она необходимые разрешения (в противном случае генерируется прерывание "ошибка защиты"). Это предотвращает повреждение операционной системы или других задач. В компьютерном программировании исключения, связанные с нарушением привилегированных инструкций, могут возникать, когда происходит обращение к массиву за его пределами или разыменование недействительного указателя, если недействительное местоположение памяти, на которое осуществляется обращение, является привилегированным, например, управляет вводом-выводом устройства. Это особенно вероятно в языках программирования, таких как C, которые используют арифметику указателей или не выполняют автоматическую проверку границ массивов.
Критика
Марк Миллер критиковал понимание привилегий как неконкретного и сложного для измерения, и предложил определять авторитет как совокупность действий, которые программа способна выполнять, что представляется более продуктивным подходом.