Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Privilege separation

From Wikipedia, the free encyclopedia
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Privilege separation" – news ·newspapers ·books ·scholar ·JSTOR
(September 2025) (Learn how and when to remove this message)

Incomputer programming andcomputer security,privilege separation (privsep) is one software-based technique for implementing theprinciple of least privilege.[1][2] With privilege separation, aprogram is divided into parts which are limited to the specificprivileges they require in order to perform a specific task. This is used to mitigate the potential damage of a computer security vulnerability.

Implementation

[edit]

A common method to implement privilege separation is to have a computer programfork into twoprocesses. The main program dropsprivileges, and the smaller program keeps privileges in order to perform a certain task. The two halves then communicate via asocket pair. Thus, any successful attack against the larger program will gain minimal access, even though the pair of programs will be capable of performing privileged operations.

Privilege separation is traditionally accomplished by distinguishing arealuser ID/group ID from theeffective user ID/group ID, using thesetuid(2)/setgid(2) and relatedsystem calls, which were specified byPOSIX. If these are incorrectly positioned, gaps can allow widespread network penetration.

Manynetwork servicedaemons have to do a specific privileged operation such as open araw socket or anInternet socket in thewell known ports range. Administrativeutilities can require particular privileges atrun-time as well. Such software tends to separate privileges by revoking them completely after the critical section is done, and change the user it runs under to some unprivileged account after so doing. This action is known asdropping root underUnix-likeoperating systems. The unprivileged part is usually run under the "nobody" user or an equivalent separate user account.

Privilege separation can also be done by splitting functionality of a single program into multiple smaller programs, and then assigning the extended privileges to particular parts usingfile system permissions. That way the different programs have to communicate with each other through the operating system, so the scope of the potential vulnerabilities is limited (since acrash in the less privileged part cannot beexploited to gain privileges, merely to cause adenial-of-service attack).

Examples

[edit]
Dovecot

Another email server software designed with privilege separation and security in mind isDovecot.[3]

OpenBSD

Separation of privileges is one of the majorOpenBSD security features.[4][5]

OpenSSH

OpenSSH uses privilege separation to ensurepseudo terminal (pty) creation happens in a secure part of the process, away from per connection processes with network access.[6]

Postfix

The implementation ofPostfix was focused on implementing comprehensive privilege separation.[7][8]

Solaris

Solaris implements a separate set of functions forprivilege bracketing.[9]

See also

[edit]

References

[edit]
  1. ^Provos, Niels; Friedl, Markus; Honeyman, Peter (August 4, 2003)."Preventing Privilege Escalation"(PDF).Archived(PDF) from the original on March 25, 2023.
  2. ^"Privilege separation".QNX Software Development Platform. May 17, 2024.Archived from the original on April 14, 2024.
  3. ^"System users used by Dovecot".doc.dovecot.org. August 14, 2024.Archived from the original on June 30, 2024.
  4. ^Obser, Florian (February 19, 2023)."Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD".sha256.net.Archived from the original on June 6, 2024.
  5. ^de Raadt, Theo (September 24, 2006)."Exploit Mitigation Techniques".OpenBSD.Archived from the original on May 15, 2024.
  6. ^Provos, Niels (August 9, 2003)."Privilege Separated OpenSSH".Center for Information Technology Integration.Archived from the original on August 6, 2024.
  7. ^"Postfix Architecture". 2024.Archived from the original on August 3, 2024.
  8. ^"Privilege Separation".csail.mit.edu. 2022.Archived from the original on July 23, 2024.
  9. ^"Bracketing Effective Privileges".Trusted Solaris Developer's Guide. 2010.Archived from the original on August 14, 2024.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Privilege_separation&oldid=1338760014"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp