För FreeBSD utvecklas en isoleringsmekanism som liknar plegde och unveil.

För FreeBSD har en implementering av ett applikationsisolationssystem föreslagits, vilket pÄminner om systemanropen pledge och unveil som utvecklats av OpenBSD-projektet. Isolation i pledge uppnÄs genom att förbjuda Ätkomst till systemanrop som inte anvÀnds av applikationen, medan unveil tillÄter selektiv öppenhet endast för specifika filvÀgar som applikationen kan anvÀnda. För applikationen skapas en slags vit lista över systemanrop och filvÀgar, och alla andra anrop och vÀgar förbjuds.

Skillnaden med den utvecklade motsvarigheten till pledge och unveil för FreeBSD innebÀr att en ytterligare lager tillhandahÄlls, vilket gör det möjligt att isolera applikationer utan att göra Àndringar i deras kod eller med minimala Àndringar. Observera att pledge och unveil i OpenBSD syftar till att möjliggöra en nÀra integration med den grundlÀggande miljön och tillÀmpas genom att lÀgga till speciella annotationer i koden för varje applikation. För att förenkla organiseringen av skydd tillÄter filtren att man undgÄr detaljeringsnivÄ pÄ nivÄ av individuella systemanrop och istÀllet kan manipulera klasser av systemanrop (in/utdata, fillÀsning, filskrivning, sockets, ioctl, sysctl, processstart etc.). Funktionerna för ÄtkomstbegrÀnsning kan anropas i applikationskoden i takt med att olika ÄtgÀrder utförs, exempelvis kan Ätkomst till sockets och filer stÀngas nÀr de nödvÀndiga filerna har öppnats och nÀtverksanslutningen har etablerats.

Författaren av porten pledge och unveil för FreeBSD avser att tillhandahÄlla möjligheten att isolera vilka applikationer som helst, för vilket verktyget curtain har föreslagits. Detta verktyg gör det möjligt att tillÀmpa regler pÄ applikationer som definierats i en separat fil. Den föreslagna konfigurationen inkluderar en fil med grundlÀggande instÀllningar, som definierar klasser av systemanrop och typiska filvÀgar specifika för vissa tillÀmpningar (arbete med ljud, nÀtverksinteraktion, loggning etc.), samt en fil med Ätkomstregler för specifika applikationer.

Verktyget curtain kan anvÀndas för att isolera de flesta okonfigurerade verktyg, serverprocesser, grafiska applikationer och till och med hela skrivbords sessioner. Det stöder delning av curtain med isoleringsmekanismer som tillhandahÄlls av Jail- och Capsicum-under systemen. Det Àr ocksÄ möjligt att organisera inre isolering, dÀr de körda applikationerna Àrver de regler som stÀllts in för förÀldrapplikationen, kompletterat med specifika begrÀnsningar. Vissa kÀrnoprÀttigheter (debuggingverktyg, POSIX/SysV IPC, PTYs) skyddas ytterligare med hjÀlp av barriÀrmekanismen, som förhindrar Ätkomst till kÀrnobjekt som skapats av andra Àn den aktuella eller förÀldraprocessen.

Processen kan sjĂ€lv konfigurera sin egen isolering genom att anropa curtainctl eller genom att anvĂ€nda funktionerna plegde() och unveil() frĂ„n biblioteket libcurtain, liknande sĂ„dana funktioner frĂ„n OpenBSD. För att spĂ„ra lĂ„sningar under applikationens körning finns sysctl 'security.curtain.log_level'. Åtkomst till X11- och Wayland-protokollen aktiveras separat genom att ange alternativen '-X'/'-Y' och '-W' vid start av curtain, men stödet för grafiska applikationer Ă€r fortfarande inte tillrĂ€ckligt stabiliserat och har ett antal olösta problem (problem uppstĂ„r huvudsakligen vid anvĂ€ndning av X11, medan stödet för Wayland har implementerats betydligt bĂ€ttre). AnvĂ€ndare kan lĂ€gga till ytterligare begrĂ€nsningar genom att skapa lokala filer med regler (~/.curtain.conf). Till exempel, för att tillĂ„ta skrivning frĂ„n Firefox endast till katalogen ~/Downloads/ kan man lĂ€gga till en sektion '[firefox]' med regeln '~/Downloads/ : rw +'.

Implementeringen inkluderar modulen mac_curtain för obligatorisk Ätkomstkontroll (MAC, Mandatory Access Control), ett set av patchar för FreeBSD-kÀrnan med implementation av nödvÀndiga hanterare och filter, biblioteket libcurtain för anvÀndning av funktionerna plegde och unveil i applikationer, verktyget curtain, exempel pÄ konfigurationsfiler, en uppsÀttning tester och patchar för vissa program i anvÀndarrummet (till exempel för anvÀndning av $TMPDIR för att förenkla arbetet med tillfÀlliga filer). SÄ lÄngt som möjligt avser författaren att minimera antalet Àndringar som krÀver tillÀmpning av patchar pÄ kÀrnan och applikationerna.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster