Separació de privilegis

De la Viquipèdia, l'enciclopèdia lliure

En programació informàtica i seguretat informàtica, la separació de privilegis és una tècnica basada en programari per implementar el principi de privilegis mínims. Amb la separació de privilegis, un programa es divideix en parts que es limiten als privilegis específics que requereixen per dur a terme una tasca específica. S'utilitza per mitigar el dany potencial d'una vulnerabilitat de seguretat informàtica.[1]

Un mètode comú per implementar la separació de privilegis és tenir un programa informàtic que es divideix en dos processos. El programa principal elimina els privilegis i el programa més petit conserva els privilegis per dur a terme una tasca determinada. Aleshores, les dues meitats es comuniquen mitjançant un parell de preses. Així, qualsevol atac reeixit contra el programa més gran obtindrà un accés mínim, tot i que el parell de programes serà capaç de realitzar operacions privilegiades.[2]

La separació de privilegis s'aconsegueix tradicionalment distingint un ID d'usuari real/ID de grup de l'ID d'usuari/ID de grup efectiu, utilitzant el setuid (2)/ setgid (2) i les trucades de sistema relacionades, que van ser especificades per POSIX. Si aquests estan mal posicionats, els buits poden permetre una penetració generalitzada de la xarxa.[3]

Molts dimonis de serveis de xarxa han de fer una operació privilegiada específica, com ara obrir un sòcol en brut o un sòcol d'Internet en el rang de ports conegut. Les utilitats administratives també poden requerir privilegis particulars en temps d'execució. Aquest programari tendeix a separar els privilegis revocant-los completament després de fer la secció crítica i canviar l'usuari amb el qual s'executa a algun compte sense privilegis després de fer-ho. Aquesta acció es coneix com a deixar arrel en sistemes operatius semblants a Unix. La part sense privilegis s'executa normalment amb l'usuari "ningú" o amb un compte d'usuari separat equivalent.

La separació de privilegis també es pot fer dividint la funcionalitat d'un sol programa en diversos programes més petits i després assignant els privilegis ampliats a parts concretes mitjançant permisos del sistema de fitxers. D'aquesta manera, els diferents programes s'han de comunicar entre ells a través del sistema operatiu, de manera que l'abast de les vulnerabilitats potencials és limitat (ja que una fallada a la part menys privilegiada no es pot explotar per obtenir privilegis, només per provocar una denegació de servei). atac).[4]

La separació de privilegis és una de les principals característiques de seguretat d'OpenBSD. La implementació de Postfix es va centrar a implementar una separació integral de privilegis. Un altre programari de servidor de correu electrònic dissenyat tenint en compte la separació de privilegis i la seguretat és Dovecot. Solaris implementa un conjunt separat de funcions per al bracketing de privilegis.

Referències[modifica]

  1. «Separation of Privilege (SoP) 101: Definition and Best Practices» (en anglès), 30-10-2023. [Consulta: 29 desembre 2023].
  2. «Security: Separation of Privilege» (en anglès). [Consulta: 29 desembre 2023].
  3. «What is Separation of Privilege? Read the Definition in…» (en anglès). [Consulta: 29 desembre 2023].
  4. «What is Privilege Separation in SSH? - RemotelyAnywhere Support» (en anglès). [Consulta: 29 desembre 2023].