Разделение привилегий - Privilege separation

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

Распространенным методом разделения привилегий является использование компьютерной программы. вилка на два процессы. Основная программа падает привилегии, а меньшая программа сохраняет привилегии для выполнения определенной задачи. Затем две половины общаются через разъем пара. Таким образом, любая успешная атака на более крупную программу получит минимальный доступ, даже если пара программ будет способна выполнять привилегированные операции.

Разделение привилегий традиционно достигается путем выделения настоящий Логин пользователя /ID группы от эффективный ID пользователя / ID группы, используя Setuid (2)/Setgid (2) и связанные системные вызовы, которые были указаны POSIX. Если они расположены неправильно, разрывы могут привести к широкому проникновению в сеть.

Много сеть оказание услуг демоны необходимо выполнить определенную привилегированную операцию, например открыть сырая розетка или Интернет-розетка в хорошо известные порты ассортимент. Административный коммунальные услуги может потребовать определенных привилегий в время выполнения также. Такое программное обеспечение имеет тенденцию разделять привилегии, полностью отменяя их после завершения критического раздела, и после этого меняет пользователя, под которым оно работает, на некоторую непривилегированную учетную запись. Это действие известно как падающий корень под Unix-подобный операционные системы. Непривилегированная часть обычно запускается под "никто "пользователь или эквивалентная отдельная учетная запись пользователя.

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

Разделение привилегий - одна из важнейших Функции безопасности OpenBSD. Реализация Постфикс был сосредоточен на внедрении комплексного разделения привилегий. Солярис реализует отдельный набор функций для брекетинг привилегий.

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

внешняя ссылка