Привилегия (вычисления) - Privilege (computing)

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

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

Теория

Привилегии могут быть автоматическими, предоставленными или запрашиваемыми.

Автоматическая привилегия существует, когда нет необходимости иметь разрешение на выполнение действия. Например, в системах, где людям необходимо войти в систему, чтобы использовать ее, для выхода из системы не потребуется привилегия. Системы, в которых не реализована защита файлов, такие как MS-DOS, по сути, предоставляют неограниченные привилегии для выполнения любых действий с файлом.

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

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

Современные процессорные архитектуры имеют несколько режимов ЦП, что позволяет ОС работать с разными уровнями привилегий . Некоторые процессоры имеют два уровня (например, пользователь и супервизор ); Процессоры i386 + имеют четыре уровня (№0 с наибольшим числом, №3 с наименьшими привилегиями). Задачи помечаются уровнем привилегий. Ресурсы (сегменты, страницы, порты и т. Д.) И привилегированные инструкции помечаются требуемым уровнем привилегий. Когда задача пытается использовать ресурс или выполнить привилегированную инструкцию, процессор определяет, есть ли у него разрешение (в противном случае генерируется прерывание «отказ защиты»). Это предотвращает повреждение пользовательскими задачами ОС или друг друга.

В компьютерном программировании исключения, связанные с нарушениями привилегированных инструкций, могут быть вызваны, когда к массиву был осуществлен доступ вне пределов или когда недействительный указатель был разыменован, когда указанная недействительная ячейка памяти является привилегированной ячейкой, такой как одно управляющее устройство ввода / вывода. Это особенно часто встречается в языках программирования, таких как C, которые используют арифметику указателей или не проверяют границы массива автоматически.

Unix

В Unix-подобных системах суперпользователь (обычно известный как «root») владеет всеми привилегиями. Обычным пользователям предоставляется достаточно разрешений только для выполнения их наиболее распространенных задач. Системы UNIX имеют встроенные функции безопасности. Большинство пользователей не могут создать новую учетную запись или выполнить другие административные процедуры. Пользователь «root» - это особый пользователь, так называемый суперпользователь, который может делать в системе все что угодно. Эта высокая степень мощности необходима для полного администрирования системы UNIX, но она также позволяет пользователю совершать ошибку и вызывать системные проблемы.

Непривилегированные пользователи обычно не могут:

  • Настройте параметры ядра .
  • Изменяйте системные файлы или файлы других пользователей.
  • Измените владельца любых файлов.
  • Измените уровень запуска (в системах с инициализацией в стиле System V ).
  • Измените файловый режим любых файлов.
  • Отрегулируйте ulimits или дисковые квоты .
  • Запуск, остановка и удаление демонов .
  • Сигнальные процессы других пользователей.
  • Создайте узлы устройства .
  • Создавать или удалять пользователей или группы.
  • Монтировать или отключать тома, хотя обычным пользователям становится все больше разрешать подключать и отключать съемные носители, такие как компакт-диски . Обычно это выполняется через FUSE .
  • Выполнять содержимое любого sbin/каталога, хотя становится обычным просто ограничивать поведение таких программ при запуске обычными пользователями.
  • Привязать порты ниже 1024.

Windows NT

В системах на базе Windows NT привилегии делегируются в разной степени. Эти делегирования можно определить с помощью диспетчера локальной политики безопасности (SECPOL.MSC). Ниже приводится сокращенный список назначений по умолчанию:

  • NT AUTHORITY \ System - ближайший эквивалент суперпользователя в Unix-подобных системах. Он обладает многими привилегиями классического суперпользователя Unix, такими как опекун для каждого созданного файла.
  • «Администратор» - один из ближайших эквивалентов суперпользователя в Unix-подобных системах. Однако этот пользователь не может отменить столько средств защиты операционной системы, сколько может суперпользователь.
  • Члены группы «Администраторы» имеют права, почти равные привилегиям «Администратора».
  • Члены группы «Опытные пользователи» имеют возможность устанавливать программы и создавать резервные копии системы.
  • Члены группы «Пользователи» эквивалентны непривилегированным пользователям в Unix-подобных системах.

Windows определяет ряд административных привилегий, которые могут быть назначены индивидуально пользователям и / или группам. Учетная запись (пользователь) имеет только привилегии, предоставленные ей прямо или косвенно через членство в группах. После установки создается ряд групп и учетных записей, и им предоставляются привилегии. Однако эти разрешения можно изменить позже или с помощью групповой политики . В отличие от Linux, неявно или навсегда определенные привилегии не предоставляются конкретной учетной записи.

Некоторые административные привилегии (например, владение или восстановление произвольных файлов) настолько мощны, что при использовании со злым умыслом могут позволить скомпрометировать всю систему. С контролем учетных записей пользователей (по умолчанию, начиная с Windows Vista) Windows будет лишать токен пользователя этих привилегий при входе в систему. Таким образом, если пользователь входит в систему с учетной записью с широкими системными привилегиями, он / она все равно не будет работать с этими системными привилегиями. Всякий раз, когда пользователь хочет выполнить административные действия, требующие каких-либо системных привилегий, он / она должен будет сделать это из процесса с повышенными правами . При запуске процесса с повышенными правами пользователь получает информацию о том, что его / ее административные привилегии подтверждаются посредством запроса, требующего его / ее согласия. Отсутствие привилегий до тех пор, пока они не потребуются, соответствует Принципу наименьших привилегий .

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

Windows ME, Windows 98, Windows 95 на базе DOS и предыдущие версии Windows, отличные от NT, работали только с файловой системой FAT и не поддерживали разрешения файловой системы. используйте файловую систему NTFS .

Номенклатура

Имена, используемые в исходном коде Windows, заканчиваются на «Privilege» или «LogonRight». Это привело к некоторой путанице в отношении того, как следует называть полный набор всех этих «Прав» и «Привилегий».

В настоящее время Microsoft использует термин «Права пользователя». В прошлом Microsoft также использовала некоторые другие термины, такие как «Привилегированные права», «права входа в систему» ​​и «NT-права».

Смотрите также

использованная литература