En isolasjonsmekanisme som ligner plegde er under utvikling på FreeBSD

Det ble avslørt en implementering er foreslått en applikasjonsisolasjonsmekanisme for FreeBSD, som minner om fold- og avdukingssystemets samtaler utviklet av OpenBSD-prosjektet.

Isolering i plegde gjøres ved å forby tilgang til systemanrop som ikke brukes av applikasjonen og avsløre ved selektivt å åpne tilgang kun til visse filstier som applikasjonen kan jobbe med. For applikasjonen dannes det en slags hviteliste over systemanrop og filstier, og alle andre anrop og stier er forbudt.

Forskjellen mellom foldet og avduket, utviklet for FreeBSD, det koker ned til å gi et ekstra lag som lar deg isolere applikasjoner med ingen eller minimale endringer i koden. Husk at i OpenBSD plegde og unlock sikte på tett integrasjon med basemiljøet og implementeres ved å legge til spesielle merknader til koden til hver applikasjon.

For å forenkle organiseringen av beskyttelsen lar filtre deg unngå detaljer på nivået til individuelle systemanrop og å manipulere klasser av systemanrop (input/output, fillesing, filskriving, sockets, ioctl, sysctl, start av prosesser, etc.) . Tilgangsbegrensningsfunksjoner kan kalles inn applikasjonskode ettersom visse handlinger utføres, for eksempel kan tilgang til stikkontakter og filer lukkes etter å ha åpnet de nødvendige filene og opprettet en nettverksforbindelse.

Forfatteren av fold- og avsløringsporten for FreeBSD ment å gi muligheten til å isolere vilkårlige applikasjoner, som gardinverktøyet er foreslått for, som gjør det mulig å anvende regler definert i en egen fil på søknader. Den foreslåtte konfigurasjonen inkluderer en fil med grunnleggende innstillinger som definerer klassene av systemanrop og typiske filstier som er spesifikke for visse applikasjoner (arbeid med lyd, nettverk, logging osv.), samt en fil med tilgangsregler for applikasjonsspesifikke.

Gardinverktøyet kan brukes til å isolere de fleste verktøy, serverprosesser, grafiske applikasjoner og til og med hele skrivebordsøkter som ikke er endret. Deling av gardin med isolasjonsmekanismene som tilbys av Jail and Capsicum-undersystemene støttes.

Også det er mulig å organisere nestet isolasjon, når applikasjoner startes, arver reglene satt av overordnet applikasjon, supplere dem med separate begrensninger. Noen kjerneoperasjoner (feilsøkingsverktøy, POSIX/SysV IPC, PTY) er i tillegg beskyttet av en barrieremekanisme som forhindrer tilgang til kjerneobjekter opprettet av andre prosesser enn den nåværende eller overordnede prosessen.

En prosess kan konfigurere sin egen isolasjon ved å ringe curtainctl eller ved å bruke funksjonene plegde() og unveil() levert av libcurtain-biblioteket, lik OpenBSDs. Sysctl 'security.curtain.log_level' er gitt for å spore låser mens applikasjonen kjører.

Tilgang til X11- og Wayland-protokollene er aktivert separat ved å spesifisere "-X"/"-Y" og "-W"-alternativene når du starter gardin, men støtte for grafiske applikasjoner er ennå ikke tilstrekkelig stabilisert og har en rekke uløste problemer ( problemer dukker stort sett opp når du bruker X11, og Wayland-støtten er mye bedre). Brukere kan legge til ytterligere begrensninger ved å lage lokale regelfiler (~/.curtain.conf). For eksempel,

Implementeringen inkluderer mac_curtain-kjernemodulen for obligatorisk tilgangskontroll (MAC), et sett med patcher for FreeBSD-kjernen med implementering av nødvendige drivere og filtre, libcurtain-biblioteket for bruk av plegde og avslørte funksjoner i applikasjoner, verktøygardinen, viser konfigurasjon filer, en pakke med tester og oppdateringer for enkelte brukerplassprogrammer (for eksempel for å bruke $TMPDIR for å forene arbeid med midlertidige filer). Når det er mulig, prøver forfatteren å minimere antallet endringer som krever oppdatering av kjernen og applikasjonene.

Endelig hvis du er interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.