Selgus, et on tehtud ettepanek rakendada poolt FreeBSD rakenduse isoleerimismehhanism, mis meenutab OpenBSD projekti poolt välja töötatud fold and unveil süsteemikutseid.
Plegde isoleerimine toimub, keelates juurdepääsu süsteemikõnedele, mida rakendus ei kasuta, ja avades valikuliselt juurdepääsu ainult teatud failiteedele, millega rakendus saab töötada. Rakenduse jaoks moodustatakse süsteemikõnede ja failiteede valge nimekiri ning kõik muud kõned ja teed on keelatud.
Erinevus volditud ja katmata, mis on välja töötatud FreeBSD jaoks, annab see lisakihi mis võimaldab teil isoleerida rakendused ilma või minimaalselt nende koodi muutmata. Pidage meeles, et OpenBSD-s on plegde ja unlock eesmärk tihedale integratsioonile põhikeskkonnaga ning neid rakendatakse iga rakenduse koodile spetsiaalsete märkuste lisamisega.
Kaitse korraldamise lihtsustamiseks võimaldavad filtrid vältida üksikasju üksikute süsteemikutsete tasemel ja manipuleerida süsteemikutsete klassidega (sisend/väljund, faili lugemine, faili kirjutamine, soklid, ioctl, sysctl, protsesside algus jne) . Juurdepääsupiirangu funktsioone saab rakenduse koodis välja kutsuda teatud toimingute sooritamisel, näiteks saab pärast vajalike failide avamist ja võrguühenduse loomist sulgeda juurdepääsu pistikupesadele ja failidele.
FreeBSD voltimis- ja paljastamispordi autor mõeldud suvaliste rakenduste eraldamiseks, mille jaoks on välja pakutud kardinautiliit, mis võimaldab rakendada rakendustele eraldi failis määratletud reegleid. Kavandatav konfiguratsioon sisaldab faili põhisätetega, mis määratlevad teatud rakendustele spetsiifilised süsteemikutsete klassid ja tüüpilised failiteed (töö heliga, võrgud, logimine jne), samuti faili spetsiifiliste rakenduste juurdepääsureeglitega.
Kardinautiliiti saab kasutada enamiku utiliitide, serveriprotsesside, graafiliste rakenduste ja isegi tervete töölauaseansside isoleerimiseks, mida pole muudetud. Toetatakse kardina jagamist alamsüsteemide Jail ja Capsicum pakutavate isolatsioonimehhanismidega.
ka on võimalik korraldada pesastatud isolatsiooni, käivitamisel pärivad rakendused põhirakenduse seatud reeglid, täiendades neid eraldi piirangutega. Mõned kerneli toimingud (silumistööriistad, POSIX/SysV IPC, PTY) on täiendavalt kaitstud tõkkemehhanismiga, mis takistab juurdepääsu kerneli objektidele, mille on loonud muud protsessid kui praegune või vanemprotsess.
Protsess saab konfigureerida oma isolatsiooni, kutsudes esile curtainctl või kasutades libcurtaini teegi pakutavaid funktsioone plegde() ja unveil(), sarnaselt OpenBSD-ga. Sysctl 'security.curtain.log_level' on ette nähtud lukkude jälgimiseks rakenduse töötamise ajal.
Juurdepääs X11 ja Waylandi protokollidele on lubatud eraldi, määrates kardina käivitamisel suvandid "-X"/"-Y" ja "-W", kuid graafiliste rakenduste tugi pole veel piisavalt stabiliseerunud ja sellel on rida lahendamata probleeme ( probleemid ilmnevad enamasti X11 kasutamisel ja Waylandi tugi on palju parem). Kasutajad saavad lisada täiendavaid piiranguid, luues kohalike reeglite faile (~/.curtain.conf). Näiteks,
Rakendus sisaldab kerneli moodulit mac_curtain kohustuslikuks juurdepääsukontrolliks (MAC), FreeBSD kerneli paikade komplekti koos vajalike draiverite ja filtritega, libcurtaini teeki plegde ja paljastatud funktsioonide kasutamiseks rakendustes, utiliidi kardinat, näitab konfiguratsiooni failid, testide komplekt ja mõnede kasutajaruumi programmide paigad (näiteks $TMPDIR kasutamiseks ajutiste failidega töötamise ühendamiseks). Kui vähegi võimalik, püüab autor minimeerida muudatuste arvu, mis nõuavad kerneli ja rakenduste lappimist.
Lõpuks kui olete huvitatud sellest rohkem teada saama, saate üksikasju vaadata Järgmisel lingil.