FreeBSD-le on areneb isolatsiooni mehhanism, mis sarnaneb plegde ja unveil'iga

FreeBSD jaoks on vĂ€lja pakutud rakenduste isoleerimise mehhanismi rakendamine, mis sarnaneb OpenBSD projekti vĂ€lja töötatud sĂŒsteemikĂ”nedele pledge ja unveil. Isoleerimine pledge'is toimub keeldumise kaudu pÀÀseda rakenduses mittekasutatavatele sĂŒsteemikĂ”nedele, samas kui unveil'is avatakse ligipÀÀs ainult eraldi failiteedele, millega rakendus saab töötada. Rakendusele luuakse sarnane sĂŒsteemikĂ”nede ja failiteede valgeliste loetelu, ning kĂ”ik teised kĂ”ned ja teed keelatakse.

FreeBSD analooge, nagu plegde ja unveil, eristamiseks pakutakse lisakihti, mis vĂ”imaldab isoleerida rakendusi ilma nende koodi muutmata vĂ”i minimaalsete muudatustega. Tuletame meelde, et OpenBSD-s on plegde ja unveil mĂ”eldud tihedaks integreerimiseks pĂ”hikeskkonnaga ning neid rakendatakse spetsiaalsete annotatsioonide lisamise kaudu iga rakenduse koodis. Kaitse korraldamist lihtsustavad filtrid vĂ”imaldavad vĂ€ltida ĂŒksikute sĂŒsteemikĂ”nede detailide mÀÀratlemist ja manipuleerida sĂŒsteemikĂ”nede klassidega (sisend/vĂ€ljund, failide lugemine, failide kirjutamine, sokid, ioctl, sysctl, protsesside kĂ€ivitamine jne). JuurdepÀÀsupiirangute funktsioone saab rakenduse koodis kutsuda ĂŒles tĂ€ites teatud toiminguid, nĂ€iteks vĂ”ib juurdepÀÀs sokkidele ja failidele sulgeda pĂ€rast vajalike failide avamist ja vĂ”rguĂŒhenduse loomist.

Pledge ja Unveil'i FreeBSD porti autor plaanib vĂ”imaldada juhuslike rakenduste isoleerimist, mille jaoks on ette nĂ€htud utiliit Curtain, mis vĂ”imaldab rakendustele rakendada reegleid, mis on mÀÀratletud eraldi failis. Ettepanek sisaldab faili pĂ”hiseadistustega, mis mÀÀravad sĂŒsteemikutsungite klassid ja tĂŒĂŒpilised teed, mis on spetsiifilised teatud rakendustele (nt heli töötlemine, vĂ”rguside, logifailide vĂ€ljastamine jne), samuti fail konkreetsete rakenduste juurdepÀÀsureeglitega.

Curtain utiliiti saab kasutada enamikust modifitseerimata utiliitide, serveriprotsesside, graafiliste rakenduste ja isegi tĂ€iste töölaudade isoleerimiseks. Curtain on kooskĂ”las isoleerimisvĂ”imalustega, mida pakuvad Jail ja Capsicum alamsĂŒsteemid. Samuti on vĂ”imalik korraldada pesastatud isoleerimist, kus kĂ€ivitatavad rakendused pĂ€rivad vanemrakendusele kehtestatud reeglid, tĂ€iustades neid eraldi piirangutega. MĂ”ned sĂŒdamikuoperatsioonid (silumisvahendid, POSIX/SysV IPC, PTY-d) kaitstakse tĂ€iendavalt barjÀÀri mehhanismi abil, mis takistab juurdepÀÀsu sĂŒdamiku objektidele, mida ei ole loonud praegune ega vanemprotsess.

Protsess suudab iseseisvalt seadistada oma isoleerimist, kasutades curtainctl'i kĂ€sku vĂ”i kasutades raamatukogu libcurtain funktsioone pledge() ja unveil(), mis on sarnased OpenBSD's leiduvate funktsioonidega. Rakenduse töö ajal blokeeringute jĂ€lgimiseks on ette nĂ€htud sysctl 'security.curtain.log_level'. X11 ja Waylandi protokollide ligipÀÀs lubatakse eraldi, mÀÀrates curtain'i kĂ€ivitamisel valikud „-X”/„-Y” ja „-W”, kuid graafiliste rakenduste tugi ei ole veel piisavalt stabiilne ja tal on rida lahendamata probleeme (probleemid avalduvad peamiselt X11 kasutamisel, samas kui Waylandi tugi on oluliselt parem). Kasutajad saavad kehtestada tĂ€iendavaid piiranguid, luues kohalikke reeglite faile (~/.curtain.conf). NĂ€iteks, et lubada Firefoxi kirjutamist ainult kausta ~/Downloads/, vĂ”ib lisada jaotise „[firefox]” koos reegliga „~/Downloads/ : rw +”.

Teostus sisaldab MAC-i (kohustuslik juurdepÀÀsukontroll) jaoks mĂ”eldud mac_curtain tuuma moduuli, FreeBSD tuuma patchide komplekti vajalike töötlejate ja filtrite rakendamiseks, libcurtain raamatukogu pledge ja unveil funktsioonide kasutamiseks rakendustes, curtain utiliiti, konfiguratsioonifailide nĂ€idiseid, testimistöid ja patĆĄe mĂ”nede kasutajaruumi programmide jaoks (nĂ€iteks $TMPDIR kasutamise ĂŒhtlustamine ajutiste failidega). Autor kavatseb vĂ”imalusel vĂ€hendada tuuma ja rakendustega seotud muudatuste arvu, mis vajavad patĆĄide rakendamist.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster