Për FreeBSD po zhvillohet një mekanizëm izolimi, i ngjashëm me plegde dhe unveil.

Për FreeBSD është propozuar një realizim i mekanizmit të izolimit të aplikacioneve, që i ngjan thirrjeve sistemike plegde dhe unveil të zhvilluara nga projekti OpenBSD. Izolimi në plegde realizohet përmes ndalimit të aksesit në thirrjet sistemike që nuk përdoren në aplikacion, ndërsa në unveil përmes hapjes selektive të qasjes vetëm për disa rrugë skedari me të cilat mund të punojë aplikacioni. Për aplikacionin formohet një lloj liste të bardhë për thirrjet sistemike dhe rrugët e skedareve, dhe të gjitha thirrjet dhe rrugët e tjera ndalohen.

Dallimi i zhvilluar për FreeBSD në një analog të plegde dhe unveil përbëhet nga ofrimi i një shtrese shtesë, e cila lejon izolimin e aplikacioneve pa bërë ndryshime në kodin e tyre ose me ndryshime minimale. Kujtojmë se në OpenBSD, plegde dhe unveil synojnë integrimin e ngushtë me mjedisin bazik dhe përdoren përmes shtimit të annotimeve të veçanta në kodin e çdo aplikacioni. Për të simplifikuar organizimin e mbrojtjes, filtrat lejojnë të shmangen detajet në nivelin e thirrjeve sistemore individuale dhe të manipulojnë klasat e thirrjeve sistemore (hyrje/dalje, leximi i skedarëve, shkruajtja e skedarëve, soketët, ioctl, sysctl, nisja e proceseve etj.). Funksionet e kufizimit të aksesit mund të thirren në kodin e aplikacionit ndërsa kryhen veprime të caktuara, për shembull, akseset në soketë dhe skedarë mund të mbyllen pas hapjes së skedarëve të nevojshëm dhe vendosjes së lidhjeve rrjetore.

Autori i portit plegde dhe unveil për FreeBSD ka si qëllim të ofrojë mundësinë e izolimit të aplikacioneve të rastit, për këtë arsye është propozuar utilitari curtain, i cili lejon aplikimin e rregullave të përcaktuara në një skedar të veçantë. Konfigurimi i propozuar përfshin një skedar me cilësimet themelore, që përcaktojnë klasat e thirrjeve në sistem dhe rrugët tipike të skedarëve, specifike për aplikacione të caktuara (puna me tinguj, ndërveprimi në rrjet, regjistrimi në log etj.), si dhe një skedar me rregullat e aksesit për aplikacione të veçanta.

Utilita curtain mund të përdoret për të izoluara shumicën e utilitarëve të pa modifikuar, proceseve të serverëve, aplikacioneve grafike, dhe madje edhe seancave të tëra të desktopit. Ndihmon përdorimin e curtain me mekanizmat e izolimit të siguruar nga nën-sistemet Jail dhe Capsicum. Gjithashtu, është e mundur organizimi i izolimit të thelluar, kur aplikacionet e nisura trashëgojnë rregullat e vendosura nga aplikacioni prind, duke i plotësuar ato me kufizime të veçanta. Disa operacione të bërthamës (mjetet e debuggimit, POSIX/SysV IPC, PTYs) mbrohen për më tepër me mekanizmin e barrierave, i cili ndalon qasjen në objektet e bërthamës të krijuara nga procesi aktual ose prind.

Proçesi mund të konfigurojë vetë izolimin e tij duke përdorur thirrjen curtainctl ose funksionet e bibliotekës libcurtain pledge() dhe unveil(), të ngjashme me funksionet nga OpenBSD. Për të ndjekur bllokimet gjatë funksionimit të aplikacionit, ekziston sysctl 'security.curtain.log_level'. Qasja në protokollet X11 dhe Wayland aktivizohet veçmas duke specifikuar opsionet '-X'/ '-Y' dhe '-W' kur filloni curtain, por mbështetje për aplikacionet grafike ende nuk është mjaft e stabilizuar dhe ka disa probleme të pazgjidhura (problemet kryesisht shfaqen gjatë përdorimit të X11, ndërsa mbështetje për Wayland është zbatimi më i mirë). Përdoruesit mund të shtojnë kufizime të tjera duke krijuar skedarët lokalë me rregulla (~/.curtain.conf). Për shembull, për të lejuar shkrimin nga Firefox vetëm në katalogun ~/.Downloads/, mund të shtoni një seksion '[firefox]' me rregullin '~/.Downloads/ : rw +'.

Implementimi përfshin modulin e bërthamës mac_curtain për kontrollin e detyrueshëm të aksesit (MAC, Kontrolli i Aksesit të Detyrueshëm), një grup patchesh për bërthamën FreeBSD me realizimin e trajtuesve dhe filtreve të nevojshme, bibliotekën libcurtain për përdorimin e funksioneve pledge dhe unveil në aplikacione, utilitarin curtain, shembuj të skedave të konfigurimit, një grup testesh dhe patches për disa programe në hapësirën e përdoruesit (për shembull, për përdorimin e $TMPDIR për të unifikuar punën me skedarët e përkohshëm). Autorit i qëndron që të minimizojë numrin e ndryshimeve për të cilat kërkohen patches në bërthamë dhe aplikacione.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster