Isang mekanismo ng paghihiwalay na katulad ng plegde ay binuo sa FreeBSD

Nabunyag na isang pagpapatupad ay iminungkahi isang mekanismo ng paghihiwalay ng aplikasyon para sa FreeBSD, na nakapagpapaalaala sa fold at unveil system calls na binuo ng proyekto ng OpenBSD.

Ang paghihiwalay sa plegde ay ginagawa sa pamamagitan ng pagbabawal sa pag-access sa mga tawag sa system na hindi ginagamit ng application at pagsisiwalat sa pamamagitan ng piling pagbubukas ng access sa ilang partikular na path ng file na maaaring gamitin ng application. Para sa aplikasyon, isang uri ng puting listahan ng mga tawag sa system at mga landas ng file ay nabuo, at lahat ng iba pang mga tawag at landas ay ipinagbabawal.

Ang pagkakaiba sa pagitan ng nakatiklop at walang belo, binuo para sa FreeBSD, ito ay bumababa sa pagbibigay ng dagdag na layer na nagbibigay-daan sa iyong ihiwalay ang mga application na walang o kaunting pagbabago sa kanilang code. Tandaan na sa OpenBSD plegde at unlock ay naglalayon para sa mahigpit na pagsasama sa base na kapaligiran at ipinatupad sa pamamagitan ng pagdaragdag ng mga espesyal na anotasyon sa code ng bawat application.

Upang pasimplehin ang organisasyon ng proteksyon, binibigyang-daan ka ng mga filter na maiwasan ang mga detalye sa antas ng mga indibidwal na tawag sa system at upang manipulahin ang mga klase ng mga tawag sa system (input/output, file read, file write, sockets, ioctl, sysctl, simula ng mga proseso, atbp) . Maaaring tawagan ang mga function ng paghihigpit sa pag-access sa code ng aplikasyon habang isinasagawa ang ilang partikular na pagkilos, halimbawa, ang pag-access sa mga socket at file ay maaaring isara pagkatapos buksan ang mga kinakailangang file at magtatag ng koneksyon sa network.

Ang may-akda ng fold at reveal port para sa FreeBSD nilayon upang magbigay ng kakayahang ihiwalay ang mga di-makatwirang aplikasyon, kung saan iminungkahi ang utility ng kurtina, na nagbibigay-daan sa paglalapat ng mga panuntunan na tinukoy sa isang hiwalay na file sa mga application. Kasama sa iminungkahing configuration ang isang file na may mga pangunahing setting na tumutukoy sa mga klase ng mga system call at karaniwang mga path ng file na partikular sa ilang partikular na application (gumana sa tunog, mga network, pag-log, atbp.), pati na rin ang isang file na may mga panuntunan sa pag-access para sa mga partikular na application.

Maaaring gamitin ang curtain utility para ihiwalay ang karamihan sa mga utility, mga proseso ng server, mga graphical na application, at maging ang buong mga session sa desktop na hindi pa nabago. Ang pagbabahagi ng kurtina sa mga mekanismo ng paghihiwalay na ibinigay ng Jail at Capsicum subsystem ay suportado.

Rin posible na ayusin ang nested isolation, kapag ang mga inilunsad na application ay namamana ng mga panuntunang itinakda ng parent application, pagdaragdag sa kanila ng magkakahiwalay na mga hadlang. Ang ilang mga pagpapatakbo ng kernel (mga tool sa pag-debug, POSIX/SysV IPC, PTY) ay karagdagang protektado ng isang mekanismo ng hadlang na pumipigil sa pag-access sa mga bagay sa kernel na nilikha ng mga proseso maliban sa kasalukuyan o proseso ng magulang.

Maaaring i-configure ng isang proseso ang sarili nitong paghihiwalay sa pamamagitan ng pagtawag sa curtainctl o sa pamamagitan ng paggamit ng plegde() at unveil() function na ibinigay ng libcurtain library, katulad ng OpenBSD's. Ang 'security.curtain.log_level' sysctl ay ibinigay upang subaybayan ang mga lock habang tumatakbo ang application.

Ang pag-access sa mga protocol ng X11 at Wayland ay pinagana nang hiwalay sa pamamagitan ng pagtukoy sa mga opsyon na "-X"/"-Y" at "-W" kapag nagsisimula ng kurtina, ngunit ang suporta para sa mga graphical na application ay hindi pa sapat na nagpapatatag at may serye ng mga hindi nalutas na isyu ( pangunahing lumalabas ang mga problema kapag gumagamit ng X11, at mas mahusay ang suporta sa Wayland). Maaaring magdagdag ang mga user ng mga karagdagang paghihigpit sa pamamagitan ng paggawa ng mga file ng lokal na panuntunan (~/.curtain.conf). Halimbawa,

Kasama sa pagpapatupad ang module ng mac_curtain kernel para sa mandatory access control (MAC), isang set ng mga patch para sa kernel ng FreeBSD na may pagpapatupad ng mga kinakailangang driver at filter, ang library ng libcurtain para sa paggamit ng plegde at ipinahayag na mga function sa mga application, ang utility curtain, ay nagpapakita ng configuration mga file, isang hanay ng mga pagsubok, at mga patch para sa ilang program ng user-space (halimbawa, upang gamitin ang $TMPDIR upang pag-isahin ang pagtatrabaho sa mga pansamantalang file). Hangga't maaari, sinusubukan ng may-akda na bawasan ang bilang ng mga pagbabago na nangangailangan ng pag-patch sa kernel at mga application.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.