Bylo odhaleno, že byla navržena implementace ale tzv. mechanismus izolace aplikací pro FreeBSD, což připomíná systémová volání fold and unveil vyvinutá projektem OpenBSD.
Izolace v plegde se provádí zákazem přístupu k systémovým voláním, která aplikace nepoužívá, a odhalením selektivním otevřením přístupu pouze k určitým cestám k souborům, se kterými může aplikace pracovat. Pro aplikaci je vytvořen jakýsi whitelist systémových volání a cest k souborům a všechna ostatní volání a cesty jsou zakázány.
Rozdíl mezi složeným a nezahaleným, vyvinutý pro FreeBSD, to se scvrkává na poskytnutí další vrstvy což vám umožňuje izolovat aplikace s žádnými nebo minimálními změnami v jejich kódu. Pamatujte, že v OpenBSD sliby a odemykání mají za cíl těsnou integraci se základním prostředím a jsou implementovány přidáním speciálních anotací do kódu každé aplikace.
Pro zjednodušení organizace ochrany vám filtry umožňují vyhnout se detailům na úrovni jednotlivých systémových volání a manipulovat s třídami systémových volání (vstup/výstup, čtení souboru, zápis do souboru, sokety, ioctl, sysctl, start procesů atd.) . Funkce omezení přístupu lze volat v kódu aplikace, když se provádějí určité akce, například přístup k soketům a souborům lze zavřít po otevření potřebných souborů a navázání síťového připojení.
Autor skládacího a odhalovacího portu pro FreeBSD určené k tomu, aby poskytovaly možnost izolovat libovolné aplikace, pro kterou je navržen obslužný program záclony, který umožňuje aplikovat pravidla definovaná v samostatném souboru na aplikace. Navrhovaná konfigurace obsahuje soubor se základním nastavením, které definuje třídy systémových volání a typické cesty k souborům specifické pro určité aplikace (práce se zvukem, sítě, logování atd.), a také soubor s pravidly přístupu pro konkrétní aplikace.
Obslužný program záclony lze použít k izolaci většiny nástrojů, serverových procesů, grafických aplikací a dokonce i celých relací plochy, které nebyly upraveny. Je podporováno sdílení závěsu s izolačními mechanismy, které poskytují subsystémy Jail a Capsicum.
také je možné organizovat vnořenou izolaci, při spuštění aplikace zdědí pravidla nastavená nadřazenou aplikací, jejich doplněním samostatnými omezeními. Některé operace jádra (ladicí nástroje, POSIX/SysV IPC, PTY) jsou navíc chráněny bariérovým mechanismem, který brání přístupu k objektům jádra vytvořeným jinými procesy, než je aktuální nebo nadřazený proces.
Proces může nakonfigurovat svou vlastní izolaci voláním shutterctl nebo pomocí funkcí plegde() a unveil() poskytovaných knihovnou libcurtain, podobně jako OpenBSD. Systém sysctl 'security.curtain.log_level' slouží ke sledování zámků, když je aplikace spuštěna.
Přístup k protokolům X11 a Wayland je umožněn samostatně zadáním možností "-X"/"-Y" a "-W" při spuštění clony, ale podpora grafických aplikací ještě není dostatečně stabilizovaná a má řadu nevyřešených problémů ( problémy se objevují hlavně při použití X11 a podpora Wayland je mnohem lepší). Uživatelé mohou přidat další omezení vytvořením souborů místních pravidel (~/.curtain.conf). Například,
Implementace obsahuje modul jádra mac_curtain pro povinné řízení přístupu (MAC), sadu patchů pro jádro FreeBSD s implementací potřebných ovladačů a filtrů, knihovnu libcurtain pro použití plegde a odhalených funkcí v aplikacích, utilitní závěs, ukazuje konfiguraci soubory, sadu testů a záplat pro některé programy v uživatelském prostoru (například pro použití $TMPDIR ke sjednocení práce s dočasnými soubory). Kdykoli je to možné, autor se snaží minimalizovat počet změn, které vyžadují záplatování jádra a aplikací.
Konečně pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti Na následujícím odkazu.