Na FreeBSD-u se razvija izolacijski mehanizam sličan plegdeu

Otkriveno je da predložena je implementacija po mehanizam izolacije aplikacija za FreeBSD, što podsjeća na fold and unveil sistemske pozive koje je razvio OpenBSD projekt.

Izolacija u plegde se vrši zabranom pristupa sistemskim pozivima koje aplikacija ne koristi i otkrivanjem selektivnog otvaranja pristupa samo određenim putevima datoteka s kojima aplikacija može raditi. Za aplikaciju se formira svojevrsni bijeli popis sistemskih poziva i puteva datoteka, a svi ostali pozivi i putovi su zabranjeni.

Razlika između presavijenog i otkrivenog, razvijen za FreeBSD, svodi se na pružanje dodatnog sloja koji vam omogućuje da izolirate aplikacije bez ili s minimalnim promjenama njihovog koda. Upamtite da u OpenBSD-u plegde i unlock imaju za cilj čvrstu integraciju s osnovnim okruženjem i implementiraju se dodavanjem posebnih napomena u kod svake aplikacije.

Kako bi pojednostavili organizaciju zaštite, filtri vam omogućuju izbjegavanje detalja na razini pojedinačnih poziva sustava i manipulaciju klasama sistemskih poziva (ulaz/izlaz, čitanje datoteke, pisanje datoteke, utičnice, ioctl, sysctl, početak procesa itd.) . Funkcije ograničenja pristupa mogu se pozvati u kodu aplikacije dok se izvode određene radnje, na primjer, pristup utičnicama i datotekama može se zatvoriti nakon otvaranja potrebnih datoteka i uspostavljanja mrežne veze.

Autor fold and discover porta za FreeBSD namijenjen pružanju mogućnosti izolacije proizvoljnih aplikacija, za koji je predložen uslužni program zavjesa, koji omogućuje primjenu pravila definiranih u zasebnoj datoteci na aplikacije. Predložena konfiguracija uključuje datoteku s osnovnim postavkama koje definiraju klase sistemskih poziva i tipične puteve datoteka specifičnih za određene aplikacije (rad sa zvukom, mreže, logiranje itd.), kao i datoteku s pravilima pristupa za specifične aplikacije.

Uslužni program zavjesa može se koristiti za izolaciju većine uslužnih programa, poslužiteljskih procesa, grafičkih aplikacija, pa čak i cijelih desktop sesija koje nisu izmijenjene. Podržano je dijeljenje zastora s izolacijskim mehanizmima koje osiguravaju podsustavi Jail i Capsicum.

također moguće je organizirati ugniježđenu izolaciju, kada pokrenute aplikacije nasljeđuju pravila koja je postavila nadređena aplikacija, nadopunjujući ih zasebnim ograničenjima. Neke operacije jezgre (alati za otklanjanje pogrešaka, POSIX/SysV IPC, PTY) dodatno su zaštićene mehanizmom barijere koji sprječava pristup objektima kernela stvorenim procesima koji nisu trenutni ili roditeljski proces.

Proces može konfigurirati vlastitu izolaciju pozivanjem curtainctl ili korištenjem funkcija plegde() i unveil() koje pruža biblioteka libcurtain, slično OpenBSD-u. 'security.curtain.log_level' sysctl je osiguran za praćenje zaključavanja dok je aplikacija pokrenuta.

Pristup X11 i Wayland protokolima omogućen je odvojeno navođenjem opcija "-X"/"-Y" i "-W" prilikom pokretanja zavjese, ali podrška za grafičke aplikacije još nije dovoljno stabilizirana i ima niz neriješenih problema ( problemi se javljaju uglavnom pri korištenju X11, a podrška za Wayland je puno bolja). Korisnici mogu dodati dodatna ograničenja stvaranjem datoteka lokalnih pravila (~/.curtain.conf). Na primjer,

Implementacija uključuje modul kernela mac_curtain za obaveznu kontrolu pristupa (MAC), skup zakrpa za FreeBSD kernel s implementacijom potrebnih drajvera i filtara, biblioteku libcurtain za korištenje plegdea i otkrivenih funkcija u aplikacijama, uslužnu zavjesu, prikazuje konfiguraciju datoteke, skup testova i zakrpe za neke programe u korisničkom prostoru (na primjer, za korištenje $TMPDIR za objedinjavanje rada s privremenim datotekama). Kad god je to moguće, autor nastoji minimizirati broj promjena koje zahtijevaju krpljenje kernela i aplikacija.

Konačno ako vas zanima više o tome, možete provjeriti detalje U sljedećem linku.


Sadržaj članka pridržava se naših načela urednička etika. Da biste prijavili pogrešku, kliknite ovdje.

Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen.

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.