Tika paziņots, ka FreeBSD ir ierosināta lietojumprogrammu izolācijas mehānisma ieviešana , kas atgādina OpenBSD projekta izstrādātos foldde un unneveal sistēmas izsaukumus.
Plegde izolēšana tiek veikta, aizliedzot piekļuvi sistēmas izsaukumiem, kurus lietojumprogramma neizmanto, un atklājot, selektīvi atverot piekļuvi tikai noteiktiem failu ceļiem, ar kuriem lietojumprogramma var strādāt. Lietojumprogrammai tiek izveidots sava veida sistēmas izsaukumu un failu ceļu baltais saraksts, un visi citi izsaukumi un ceļi ir aizliegti.
Atšķirība starp `pledge` un `unveil` , kas izstrādāti FreeBSD , ir saistīta ar papildu slāņa nodrošināšanu , kas ļauj izolēt lietojumprogrammas ar minimālām vai nemainot to kodu. Atcerieties, ka OpenBSD `pledge` un `unlock` mērķis ir cieša integrācija ar bāzes vidi un tiek ieviesti, pievienojot katras lietojumprogrammas kodam īpašas anotācijas.
Lai vienkāršotu aizsardzības organizēšanu, filtri ļauj izvairīties no detaļām atsevišķu sistēmas izsaukumu līmenī un manipulēt ar sistēmas izsaukumu klasēm (ievade/izvade, failu lasīšana, failu rakstīšana, ligzdas, ioctl, sysctl, procesu sākšana utt.) . Piekļuves ierobežošanas funkcijas var izsaukt lietojumprogrammas kodā, jo tiek veiktas noteiktas darbības, piemēram, piekļuve ligzdām un failiem var tikt slēgta pēc nepieciešamo failu atvēršanas un tīkla savienojuma izveides.
FreeBSD locīšanas un atlocīšanas porta autora mērķis ir nodrošināt iespēju izolēt patvaļīgas lietojumprogrammas. Lai to panāktu, viņi piedāvā utilītu curtain, kas ļauj lietojumprogrammām piemērot atsevišķā failā definētus noteikumus. Piedāvātā konfigurācija ietver failu ar pamata iestatījumiem, kas definē sistēmas izsaukumu klases un tipiskus failu ceļus, kas raksturīgi noteiktām lietojumprogrammām (darbs ar skaņu, tīklošana, reģistrēšana utt.), kā arī failu ar piekļuves noteikumiem konkrētām lietojumprogrammām.
Aizkaru utilītu var izmantot, lai izolētu lielāko daļu utilītu, servera procesu, grafisko lietojumprogrammu un pat visas darbvirsmas sesijas, kas nav mainītas. Tiek atbalstīta koplietošanas aizkars ar izolācijas mehānismiem, ko nodrošina apakšsistēmas Jail un Capsicum.
Ir iespējama arī ligzdota izolācija , kur palaistās lietojumprogrammas manto galvenās lietojumprogrammas noteiktos noteikumus, papildinot tos ar atsevišķiem ierobežojumiem. Dažas kodola darbības (atkļūdošanas rīki, POSIX/SysV IPC, PTY) ir papildus aizsargātas ar barjeras mehānismu, kas neļauj piekļūt kodola objektiem, ko izveidojuši citi procesi, nevis pašreizējais vai galvenais process.
Process var konfigurēt savu izolāciju, izsaucot curtainctl vai izmantojot pledge() un unneveal() funkcijas, ko nodrošina libcurtain bibliotēka, līdzīgi kā OpenBSD. Sysctl 'security.curtain.log_level' tiek nodrošināts, lai izsekotu bloķēšanas lietojumprogrammas darbības laikā.
Piekļuve X11 un Wayland protokoliem tiek iespējota atsevišķi, norādot "-X"/"-Y" un "-W" opcijas, startējot aizkaru, taču atbalsts grafiskajām lietojumprogrammām vēl nav pietiekami stabilizēts un tam ir virkne neatrisinātu problēmu ( problēmas rodas galvenokārt, izmantojot X11, un Wayland atbalsts ir daudz labāks). Lietotāji var pievienot papildu ierobežojumus, izveidojot vietējo noteikumu failus (~/.curtain.conf). Piemēram,
Ieviešanā ietilpst mac_curtain kodola modulis obligātajai piekļuves kontrolei (MAC), FreeBSD kodola ielāpu komplekts ar nepieciešamo draiveru un filtru ieviešanu, libcurtain bibliotēka plegde un atklāto funkciju izmantošanai lietojumprogrammās, utilīta aizkars, parāda konfigurāciju. failus, testu komplektu un ielāpus dažām lietotāja telpas programmām (piemēram, lai izmantotu $TMPDIR, lai vienotu darbu ar pagaidu failiem). Kad vien iespējams, autors cenšas samazināt to izmaiņu skaitu, kurām nepieciešams kodola un lietojumprogrammu ielāpojums.
Visbeidzot, ja vēlaties uzzināt vairāk , informāciju varat atrast , izmantojot tālāk norādīto saiti.