Откривено је да предложена је имплементација по механизам за изолацију апликација за ФрееБСД, што подсећа на фолд анд унвеил системске позиве које је развио ОпенБСД пројекат.
Изолација у плегде-у се врши забраном приступа системским позивима које апликација не користи и откривањем селективног отварања приступа само одређеним путањама датотека са којима апликација може да ради. За апликацију се формира нека врста беле листе системских позива и путања датотека, а сви остали позиви и путање су забрањени.
Разлика између пресавијеног и откривеног, развијен за ФрееБСД, своди се на обезбеђивање додатног слоја који вам омогућава да изолујете апликације без или са минималним променама њиховог кода. Запамтите да у ОпенБСД-у плегде и унлоцк имају за циљ чврсту интеграцију са основним окружењем и имплементирају се додавањем посебних напомена у код сваке апликације.
Да бисте поједноставили организацију заштите, филтери вам омогућавају да избегнете детаље на нивоу појединачних системских позива и да манипулишете класама системских позива (улаз/излаз, читање датотеке, писање датотеке, утичнице, иоцтл, сисцтл, почетак процеса, итд.) . Функције ограничења приступа могу се позвати у коду апликације када се извршавају одређене радње, на пример, приступ утичницама и датотекама се може затворити након отварања потребних датотека и успостављања мрежне везе.
Аутор порта за преклапање и откривање за ФрееБСД намењен да обезбеди могућност изоловања произвољних апликација, за који је предложен услужни програм завеса, који омогућава примену правила дефинисаних у посебном фајлу на апликације. Предложена конфигурација укључује датотеку са основним подешавањима која дефинишу класе системских позива и типичне путање датотека специфичних за одређене апликације (рад са звуком, мреже, евидентирање итд.), као и датотеку са правилима приступа за специфичне апликације.
Услужни програм завеса се може користити за изоловање већине услужних програма, серверских процеса, графичких апликација, па чак и читавих десктоп сесија које нису модификоване. Подржано је дељење завесе са изолационим механизмима које обезбеђују Јаил и Цапсицум подсистеми.
такође могуће је организовати угнежђену изолацију, када покренуте апликације наслеђују правила која је поставила надређена апликација, допуњујући их посебним ограничењима. Неке операције кернела (алатке за отклањање грешака, ПОСИКС/СисВ ИПЦ, ПТИ) су додатно заштићене механизмом баријере који спречава приступ објектима кернела креираним од стране процеса који нису тренутни или родитељски процес.
Процес може да конфигурише сопствену изолацију позивањем цуртаинцтл или коришћењем функција плегде() и унвеил() које обезбеђује библиотека либцуртаин, слично ОпенБСД-у. Сисцтл 'сецурити.цуртаин.лог_левел' је обезбеђен за праћење закључавања док је апликација покренута.
Приступ Кс11 и Ваиланд протоколима је омогућен одвојено навођењем опција „-Кс“/“-И“ и „-В“ приликом покретања завесе, али подршка за графичке апликације још увек није довољно стабилизована и има низ нерешених проблема ( проблеми се јављају углавном када се користи Кс11, а подршка за Ваиланд је много боља). Корисници могу да додају додатна ограничења креирањем датотека са локалним правилима (~/.цуртаин.цонф). На пример,
Имплементација укључује мац_цуртаин кернел модул за обавезну контролу приступа (МАЦ), сет закрпа за ФрееБСД кернел са имплементацијом потребних драјвера и филтера, либцуртаин библиотеку за коришћење плегде и откривених функција у апликацијама, услужну завесу, приказује конфигурацију датотеке, скуп тестова и закрпе за неке програме у корисничком простору (на пример, за коришћење $ТМПДИР за обједињавање рада са привременим датотекама). Кад год је то могуће, аутор се труди да минимизира број промена које захтевају закрпе кернела и апликација.
Коначно ако сте заинтересовани да сазнате више о томе, можете проверити детаље У следећем линку.