Bubblewrap, et verktøy for å lage applikasjoner i isolerte miljøer

Bubblewrap er et verktøy hva virker å organisere sandkassearbeid på Linux og løp på applikasjonsnivå for ikke-privilegerte brukere. I praksis brukes Bubblewrap av Flatpak-prosjektet som et mellomlag for å isolere applikasjoner lansert fra programvarepakker.

For isolasjon bruker Linux virtualiseringsteknologier av tradisjonelle containere basert på bruk av cgroups, namespaces, Seccomp og SELinux. For å utføre privilegerte operasjoner for å konfigurere en container, startes Bubblewrap med root-privilegier (en kjørbar fil med et suid-flagg), etterfulgt av en tilbakestilling av privilegier etter at beholderen er initialisert.

Det er ikke nødvendig å aktivere brukernavnområder på systemet, slik at du kan bruke ditt eget sett med ID-er i containere, ettersom det som standard ikke fungerer på mange distribusjoner.

Om Bubblewrap

Bubblewrap er posisjonert som en begrenset suida-implementering fra delsettet av brukernavnfunksjonene for å ekskludere alle bruker- og prosess-ID-er fra miljøet unntatt den nåværende, bruk modusene CLONE_NEWUSER og CLONE_NEWPID.

For ytterligere beskyttelse, programmer som kjører i Bubblewrap starter i modus PR_SET_NO_NEW_PRIVS, som forbyder nye privilegier, for eksempel med setuid-flagget.

Isolering på filsystemnivå gjøres ved å opprette, som standard, et nytt monteringsnavnområde, der en tom rotpartisjon opprettes ved hjelp av tmpfs.

Om nødvendig er de eksterne FS-seksjonene knyttet til denne delen i «monter –bind»(Starter for eksempel med alternativet«bwrap –ro-bind / usr / usr', Seksjonen / usr videresendes fra verten i skrivebeskyttet modus).

Nettverksfunksjoner er begrenset til tilgang til loopback-grensesnittet invertert med nettverksstabelisolering via indikatorer CLONE_NEWNET og CLONE_NEWUTS.

Hovedforskjellen med det lignende Firejail-prosjektet, som også bruker setuid launcher, er det i Bubblewrap, beholderlaget inneholder bare de minste nødvendige funksjonene og alle de avanserte funksjonene som kreves for å starte grafiske applikasjoner, samhandle med skrivebordet og filtrere anrop til Pulseaudio, blir brakt til siden av Flatpak og kjørt etter at rettighetene er tilbakestilt.

Firejail, derimot, kombinerer alle relaterte funksjoner i en kjørbar fil, komplisere revisjonen og holde sikkerheten på riktig nivå.

Bubblewrap fungerer i utgangspunktet ved hjelp av opprette et tomt navneområde på et midlertidig filsystem som vil bli ødelagt etter at sandkassebehandlingen er fullført.

Ved å bruke brytere kan brukeren bygge det ønskede filsystemmiljøet i monteringsnavnet ved å montere de ønskede katalogene på lenken fra vertssystemet.

Bobleplast 0.4.0

Bubblewrap er for øyeblikket i sin versjon 0.4.0 som nylig ble utgitt. Prosjektkoden er skrevet i C og distribuert under LGPLv2 + lisensen.

Den nye versjonen er kjent for implementering av støtte for å bli med i navneområdene og prosessene eksisterende brukere (pid navnerom).

Flaggene "–userns", "–userns2" og "–pidns" er lagt til for å kontrollere tilkoblingen av navneområder.

Denne funksjonen fungerer ikke i setuid-modus og krever en egen modus som kan fungere uten root-rettigheter, men krever at brukernavneområder er aktivert på systemet (deaktivert som standard på Debian og RHEL / CentOS) og ekskluderer ikke muligheten for å utnytte potensielt gjenværende sårbarheter til kanten av "brukernavnområdebegrensninger".

Av de nye funksjonene i Bubblewrap 0.4, muligheten for å bygge med musl C-biblioteket i stedet for glibc blir også observert, og støtte for lagring av navneområdet informasjon i en statistikkfil i JSON-format.

Bubblewrap-koden, samt dokumentasjonen om den, kan konsulteres på Github, lenken er dette.


Bli den første til å kommentere

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.