Un mecanism de izolare similar cu plegde este dezvoltat pe FreeBSD

S-a anunțat că a fost propusă o implementare o Mecanism de izolare a aplicației pentru FreeBSD, care amintește de apelurile de sistem fold și revelare dezvoltate de proiectul OpenBSD.

Izolarea plierii este realizată prin interzicerea accesului la apelurile de sistem care nu sunt utilizate în aplicație și prin deschiderea selectivă a accesului la anumite căi de fișiere cu care aplicația poate funcționa. Pentru aplicație, se formează un fel de listă albă de apeluri de sistem și căi de fișiere, iar toate celelalte apeluri și căi sunt interzise.

Diferența dintre pliere și dezvelire, dezvoltat pentru FreeBSD, se reduce la furnizarea unui strat suplimentar care vă permite să izolați aplicațiile fără a face modificări codului lor sau cu modificări minime. Amintiți-vă că în OpenBSD foldde și unlock au ca scop integrarea strânsă cu mediul de bază și sunt implementate prin adăugarea de adnotări speciale la codul fiecărei aplicații.

Pentru a simplifica organizarea protecției, filtrele vă permit să evitați detaliile la nivelul apelurilor de sistem individuale și să manipulați clasele de apeluri de sistem (intrare/ieșire, citire fișier, scriere fișier, socket, ioctl, sysctl, procese de pornire etc.) . Funcțiile de restricție de acces pot fi apelate în codul aplicației pe măsură ce sunt efectuate anumite acțiuni, de exemplu, accesul la socluri și fișiere poate fi închis după deschiderea fișierelor necesare și stabilirea unei conexiuni la rețea.

Autorul portului pliabil și revelator pentru FreeBSD urmărește să ofere capacitatea de a izola aplicații arbitrare, pentru care se propune utilitatea cortina, care permite aplicarea regulilor definite intr-un dosar separat aplicatiilor. Configurația propusă include un fișier cu setări de bază care definesc clasele de apeluri de sistem și căile tipice ale fișierelor specifice anumitor aplicații (lucru cu sunet, rețea, logare etc.), precum și un fișier cu reguli de acces pentru aplicații specifice.

Utilitarul cortină poate fi utilizat pentru a izola majoritatea utilităților nemodificate, proceselor de server, aplicațiilor grafice și chiar sesiunilor întregi de desktop. Partajarea cortinelor este susținută de mecanismele de izolare oferite de subsistemele Jail și Capsicum.

de asemenea este posibil să se organizeze izolarea imbricată, când aplicațiile pornite moștenesc regulile stabilite de aplicația părinte, completându-le cu restricții separate. Unele operațiuni ale nucleului (instrumente de depanare, POSIX/SysV IPC, PTY) sunt protejate suplimentar de un mecanism de barieră care împiedică accesul la obiectele nucleului create de alte procese decât procesul curent sau cel părinte.

Un proces își poate stabili propria izolare apelând curtainctl sau folosind funcțiile plegde() și unveil() oferite de biblioteca libcurtain, similare cu cele din OpenBSD. Sysctl-ul „security.curtain.log_level” este furnizat pentru a urmări blocările în timp ce aplicația rulează.

Accesul la problemele nerezolvate (problemele apar în principal la utilizarea X11, iar suportul Wayland este mult mai bun). Utilizatorii pot adăuga restricții suplimentare prin crearea fișierelor de reguli locale (~/.curtain.conf). De exemplu,

Implementarea include modulul mac_curtain kernel pentru controlul accesului obligatoriu (MAC), un set de patch-uri pentru nucleul FreeBSD cu implementarea driverelor și filtrelor necesare, biblioteca libcurtain pentru utilizarea plegde și caracteristicile dezvăluite în aplicații, cortina de utilitate, arată configurația fișiere, o suită de testare și patch-uri pentru unele programe din spațiul utilizatorului (de exemplu, pentru a utiliza $TMPDIR pentru a unifica munca cu fișierele temporare). Ori de câte ori este posibil, autorul își propune să minimizeze numărul de modificări care necesită corecții la kernel și la aplicații.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.