Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В информационной безопасности , информатике и других областях принцип минимальных привилегий ( PoLP ), также известный как принцип минимальных привилегий или принцип минимальных полномочий , требует, чтобы на конкретном уровне абстракции вычислительной среды каждый модуль ( например, процесс , пользователь или программа , в зависимости от субъекта) должны иметь доступ только к той информации и ресурсам , которые необходимы для его законной цели. [1] [2]

Подробности [ править ]

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

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

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

Преимущества принципа:

  • Лучшая стабильность системы. Когда код ограничен объемом изменений, которые он может внести в систему, легче протестировать его возможные действия и взаимодействия с другими приложениями. На практике, например, приложения, работающие с ограниченными правами, не будут иметь доступа для выполнения операций, которые могут привести к сбою машины или отрицательно повлиять на другие приложения, работающие в той же системе.
  • Лучшая безопасность системы. Когда код ограничен общесистемными действиями, которые он может выполнять, уязвимости в одном приложении не могут быть использованы для эксплуатации остальной части машины. Например, Microsoft заявляет: «Работа в стандартном пользовательском режиме дает клиентам повышенную защиту от непреднамеренного повреждения на уровне системы, вызванного« сокрушительными атаками »и вредоносными программами , такими как руткиты , шпионское ПО и необнаруживаемые вирусы ». [3]
  • Легкость развертывания. В общем, чем меньше привилегий требуется приложению, тем проще его развернуть в более крупной среде. Обычно это связано с первыми двумя преимуществами: приложения, устанавливающие драйверы устройств или требующие повышенных прав безопасности, обычно требуют дополнительных шагов при развертывании. Например, в Windows решение без драйверов устройств может быть запущено напрямую без установки, в то время как драйверы устройств должны быть установлены отдельно с помощью службы установщика Windows, чтобы предоставить драйверу повышенные права. [4]

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

Еще одно ограничение - это степень детализации контроля, который операционная среда имеет над привилегиями для отдельного процесса. [5] На практике редко возможно контролировать доступ процесса к памяти, время обработки, адреса устройств ввода-вывода или режимы с точностью, необходимой для обеспечения только точного набора привилегий, которые потребуются процессу.

История [ править ]

Оригинальная формулировка принадлежит Джерому Зальцеру : [6]

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

-  Джером Зальцер , Коммуникации ACM

Питер Дж. Деннинг в своей статье «Отказоустойчивые операционные системы» дал более широкую перспективу из четырех основных принципов отказоустойчивости.

Динамическое назначение привилегий ранее обсуждалось Роджером Нидхэмом в 1972 г. [7] [8]

Исторически самым старым экземпляром наименьших привилегий, вероятно, является исходный код login.c , который начинает выполнение с разрешениями суперпользователя и - в тот момент, когда они больше не нужны - отклоняет их через setuid () с ненулевым аргументом, как показано в исходном коде Unix Версии 6 .

Реализация [ править ]

Ядро всегда работает с максимальными привилегиями , поскольку это операционная система ядра и имеет доступ к аппаратным средствам. Одна из основных задач операционной системы, особенно многопользовательской операционной системы, - это управление доступностью оборудования и запросами на доступ к нему из запущенных процессов . Когда ядро ​​выходит из строя, механизмы, с помощью которых оно поддерживает состояние, также не работают. Следовательно, даже если у ЦП есть способ восстановления без аппаратного сброса , безопасность по-прежнему будет обеспечиваться, но операционная система не может должным образом отреагировать на сбой, потому что было невозможно обнаружить сбой. Это связано с тем, что выполнение ядра либо остановлено, либосчетчик программ возобновил выполнение откуда-то в бесконечном и, как правило, нефункциональном цикле . [ необходима цитата ] Это было бы похоже на амнезию (сбой выполнения ядра) или попадание в замкнутый лабиринт, который всегда возвращается в исходную точку (замкнутые циклы).

Принцип наименьших привилегий, продемонстрированный кольцами привилегий для Intel x86

Если выполнение возобновляется после сбоя при загрузке и запуске троянского кода , автор троянского кода может присвоить себе контроль над всеми процессами. Принцип минимальных привилегий заставляет код работать с минимально возможным уровнем привилегий / разрешений. Это означает, что код, который возобновляет выполнение кода - будь то троян или просто запуск кода из неожиданного места - не будет иметь возможности выполнять вредоносные или нежелательные процессы. Один из методов, используемых для этого, может быть реализован в микропроцессорной аппаратуре. Например, в архитектуре Intel x86 производитель разработал четыре (от кольца 0 до кольца 3) работающих «режимов» с градуированными степенями доступа, что очень похоже на уровень допуска.системы в оборонных и спецслужбах. [ необходима цитата ]

Как реализовано в некоторых операционных системах, процессы выполняются с потенциальным набором привилегий и активным набором привилегий . [ необходима цитата ] Такие наборы привилегий наследуются от родителя, как определено семантикой fork () . Исполняемый файл , который выполняет привилегированную функцию, таким образом , технически составляющий компонент TCB , и одновременно называют доверенную программу или процесс, может также быть маркирован с набором привилегий. Это логическое расширение понятий « установить идентификатор пользователя» и « установить идентификатор группы» . [ необходима цитата ]Наследование файловых привилегий процессом определяется семантикой семейства системных вызовов exec () . Точный способ взаимодействия потенциальных привилегий процессов, фактических привилегий процессов и привилегий файлов может стать сложным. На практике наименьшие привилегии практикуются, заставляя процесс запускаться только с теми привилегиями, которые требуются задаче. Приверженность этой модели довольно сложна и подвержена ошибкам.

Подобные принципы [ править ]

Концепция критериев оценки доверенных компьютерных систем (TCSEC) минимизации доверенной вычислительной базы (TCB) является гораздо более строгим требованием, которое применимо только к наиболее функционально сильным классам гарантии, а именно. , В3 и A1 (которые evidentiarily различны , но функционально идентичны).

Наименьшие привилегии часто связаны с брекетингом привилегий : то есть получение необходимых привилегий в последний возможный момент и их отклонение, как только отпадет необходимость, что якобы сокращает последствия ошибочного кода, который непреднамеренно использует больше привилегий, чем заслужено. Наименьшие привилегии также интерпретировались в контексте распределения разрешений дискреционного контроля доступа (DAC), например, утверждая, что предоставление пользователю U доступа для чтения / записи к файлу F нарушает минимальные привилегии, если U может выполнять свои авторизованные задачи только с разрешением на чтение.

См. Также [ править ]

  • Контроль учетных записей пользователей
  • Безопасность на основе возможностей
  • Компартментализация (разведка)
  • Запутанная депутатская проблема
  • Инкапсуляция (объектно-ориентированное программирование)
  • Нужно знать
  • Брекетинг привилегий
  • Повышение привилегий
  • Отзыв привилегии (вычисления)
  • Разделение привилегий
  • Защитное кольцо
  • Setuid
  • судо

Ссылки [ править ]

  1. ^ Зальцер и Шредер 75
  2. ^ Деннинг 76
  3. ^ Джонатан, Кларк; DABCC Inc. «Гуру виртуализации пишет:« Пользовательский режим - это хорошо - развертывание на заблокированных учетных записях без повышения уровня безопасности » » . Дата обращения 15 марта 2013 .
  4. ^ Аарон Margosis (август 2006). «Проблемы привилегий: найти и исправить ошибки LUA» . Microsoft .
  5. Мэтт Бишоп, Компьютерная безопасность: искусство и наука , Бостон, Массачусетс: Аддисон-Уэсли, 2003. стр. 343-344, цитируется Barnum & Gegick 2005.
  6. ^ Зальцер, Джером Х. (1974). «Защита и контроль обмена информацией в мультиках». Коммуникации ACM . 17 (7): 388–402. CiteSeerX 10.1.1.226.3939 . DOI : 10.1145 / 361011.361067 . ISSN 0001-0782 .  
  7. Перейти ↑ Needham, RM (1972). «Системы защиты и реализации защиты». Труды AFIPS '72 Fall Joint Computer конференции, 5-7 декабря 1972 года, часть I . С. 571–578. DOI : 10.1145 / 1479992.1480073 .
  8. ^ Фред Б. Шнайдер. «Наименьшие привилегии и многое другое» (PDF) .

Библиография [ править ]

  • Бен Манкин, Формализация систем защиты , докторская диссертация, Университет Бата, 2004 г.
  • П.Дж. Деннинг (декабрь 1976 г.). «Отказоустойчивые операционные системы». ACM Computing Surveys . 8 (4): 359–389. DOI : 10.1145 / 356678.356680 .
  • Джерри Х. Зальцер, Майк Д. Шредер (сентябрь 1975 г.). «Защита информации в компьютерных системах» . Труды IEEE . 63 (9): 1278–1308. CiteSeerX  10.1.1.126.9257 . DOI : 10,1109 / PROC.1975.9939 .
  • Дейтель, Харви М. (1990). Введение в операционные системы (пересмотренное первое издание). Эддисон-Уэсли. п. 673 . ISBN 978-0-201-14502-1. стр.31.
  • Шон Мартин (апрель 2012 г.). «Не теряются ли основы безопасности под покровом облака и мобильных устройств?» . Журнал SC .
  • Институт SANS (май 2013 г.). «20 критических мер безопасности» (PDF) . Институт SANS . Архивировано из оригинального (PDF) 01.11.2013.

Внешние ссылки [ править ]

  • Управление минимальными привилегиями из облака, Моник Сендзе
  • Статья Зальцера и Шредера, цитируемая в ссылках.
  • NSA (которое реализовало SELinux) говорит о принципе наименьших привилегий.
  • Обсуждение реализации принципа наименьших привилегий в Solaris
  • ИТ-специалист Тома: большинство организаций не знают о сотрудниках с правами администратора
  • «Доказательство того, что LUA делает вас в большей безопасности» Дана Эпп
  • Применение принципа наименьших прав к учетным записям пользователей в Windows XP, Microsoft
  • «Коммерческие предприятия подвергают риску нашу критическую инфраструктуру» ОГО
  • Как успешно реализовать принцип наименьших привилегий