En isoleringsmekanism liknande plegde håller på att utvecklas på FreeBSD

Det avslöjades det ett genomförande har föreslagits en applikationsisoleringsmekanism för FreeBSD, som påminner om fold and unveil system calls som utvecklats av OpenBSD-projektet.

Isolering i plegde görs genom att förbjuda åtkomst till systemanrop som inte används av applikationen och avslöja genom att selektivt öppna åtkomst endast till vissa filsökvägar som applikationen kan arbeta med. För applikationen bildas en sorts vit lista över systemanrop och filsökvägar, och alla andra anrop och sökvägar är förbjudna.

Skillnaden mellan vikt och avslöjad, utvecklad för FreeBSD, det handlar om att ge ett extra lager som låter dig isolera applikationer med inga eller minimala ändringar av deras kod. Kom ihåg att i OpenBSD siktar plegde och unlock på tät integration med basmiljön och implementeras genom att lägga till speciella anteckningar till koden för varje applikation.

För att förenkla organisationen av skyddet låter filter dig undvika detaljer på nivån för individuella systemanrop och att manipulera klasser av systemanrop (indata/utgång, filläsning, filskrivning, sockets, ioctl, sysctl, start av processer, etc.) . Åtkomstbegränsningsfunktioner kan anropas i applikationskoden när vissa åtgärder utförs, till exempel kan åtkomst till uttag och filer stängas efter att de nödvändiga filerna har öppnats och en nätverksanslutning upprättats.

Författaren till fold and reveal-porten för FreeBSD avsedda att ge möjligheten att isolera godtyckliga applikationer, för vilket gardinverktyget föreslås, vilket gör det möjligt att tillämpa regler definierade i en separat fil på ansökningar. Den föreslagna konfigurationen inkluderar en fil med grundläggande inställningar som definierar klasserna av systemanrop och typiska filsökvägar som är specifika för vissa applikationer (arbete med ljud, nätverk, loggning, etc.), samt en fil med åtkomstregler för applikationsspecifika.

Gardinverktyget kan användas för att isolera de flesta verktyg, serverprocesser, grafiska applikationer och till och med hela skrivbordssessioner som inte har modifierats. Dela gardin med isoleringsmekanismerna som tillhandahålls av Jail and Capsicum subsystem stöds.

också det är möjligt att organisera kapslad isolering, när applikationer startas ärver de regler som ställts in av den överordnade applikationen, komplettera dem med separata begränsningar. Vissa kärnoperationer (felsökningsverktyg, POSIX/SysV IPC, PTY) skyddas dessutom av en barriärmekanism som förhindrar åtkomst till kärnobjekt skapade av andra processer än den nuvarande eller överordnade processen.

En process kan konfigurera sin egen isolering genom att anropa curtainctl eller genom att använda funktionerna plegde() och unveil() som tillhandahålls av libcurtain-biblioteket, liknande OpenBSD:s. Sysctl 'security.curtain.log_level' tillhandahålls för att spåra lås medan applikationen körs.

Åtkomst till X11- och Wayland-protokollen aktiveras separat genom att ange alternativen "-X"/"-Y" och "-W" när du startar gardinen, men stödet för grafiska applikationer är ännu inte tillräckligt stabiliserat och har en rad olösta problem ( problem uppstår främst när du använder X11, och Wayland-stödet är mycket bättre). Användare kan lägga till ytterligare begränsningar genom att skapa lokala regelfiler (~/.curtain.conf). Till exempel,

Implementeringen inkluderar mac_curtain-kärnmodulen för obligatorisk åtkomstkontroll (MAC), en uppsättning patchar för FreeBSD-kärnan med implementering av nödvändiga drivrutiner och filter, libcurtain-biblioteket för att använda plegde och avslöjade funktioner i applikationer, verktygsgardinen, visar konfiguration filer, en uppsättning tester och patchar för vissa användarutrymmesprogram (till exempel för att använda $TMPDIR för att förena arbetet med temporära filer). När det är möjligt försöker författaren att minimera antalet ändringar som kräver korrigering av kärnan och applikationer.

Slutligen om du är intresserad av att veta mer om detkan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.