Bubblewrap, orodje za ustvarjanje aplikacij v izoliranih okoljih

Bubblewrap je orodje kaj deluje organizirati delo v peskovniku v Linuxu in teči na ravni aplikacije neprivilegiranih uporabnikov. V praksi projekt Flatpak Bubblewrap uporablja kot vmesno plast za izolacijo aplikacij, zagnanih iz programskih paketov.

Za izolacijo Linux uporablja tehnologije za virtualizacijo tradicionalnih vsebnikov, ki temeljijo na uporabi skupin c, skupin imen, Seccomp in SELinux. Za izvajanje privilegiranih operacij za konfiguriranje vsebnika se Bubblewrap zažene s korenskimi privilegiji (izvedljivo datoteko s suid zastavico), čemur sledi ponastavitev privilegija po inicializaciji vsebnika.

V sistemu ni treba omogočiti imenskih prostorov uporabnikov, kar vam omogoča uporabo lastnega nabora ID-jev v vsebnikih, saj privzeto ne deluje v številnih distribucijah.

O Bubblewrapu

Bubblewrap je postavljen kot omejena izvedba suida iz podnabora funkcij imenskega prostora uporabnika, da iz okolja izključite vse uporabniške in procesne ID-je, razen trenutnega, uporabite načine CLONE_NEWUSER in CLONE_NEWPID.

Za dodatno zaščito programi, ki se izvajajo v Bubblewrapu, se zaženejo v načinu PR_SET_NO_NEW_PRIVS, ki prepoveduje nove privilegije, na primer z zastavico setuid.

Izolacija na ravni datotečnega sistema se izvede tako, da se privzeto ustvari nov imenski prostor za priklop, v katerem se s pomočjo tmpfs ustvari prazna korenska particija.

Če je potrebno, so zunanji odseki FS priloženi temu odseku v «mount-bind»(Na primer, začenši z možnostjo«bwrap –ro-bind / usr / usr', Odsek / usr je posredovan od gostitelja v načinu samo za branje).

Omrežne zmogljivosti so omejene na dostop do vmesniškega vmesnika obrnjeno z izolacijo omrežnega sklada prek indikatorjev CLONE_NEWNET in CLONE_NEWUTS.

Ključna razlika s podobnim projektom Firejail, ki uporablja tudi zaganjalnik setuid, je v Bubblewrapu, plast vsebnika vključuje le minimalno potrebne funkcije in vse napredne funkcije, potrebne za zagon grafičnih aplikacij, interakcijo z namizjem in filtriranje klicev v Pulseaudio, so postavljene na stran Flatpaka in se zaženejo po ponastavitvi pravic.

Po drugi strani Firejail združuje vse povezane funkcije v eno izvršljivo datoteko, kar otežuje revizijo in ohranja varnost na ustrezni ravni.

Bubblewrap v bistvu deluje s pomočjo ustvarjanje praznega imenskega prostora za namestitev v začasnem datotečnem sistemu ki bodo uničeni po končani obdelavi peskovnika.

Z uporabo stikal lahko uporabnik zgradi želeno okolje datotečnega sistema znotraj imenskega prostora za pritrditev tako, da pritrdi na povezavo želenih imenikov iz gostiteljskega sistema.

Mehurček 0.4.0

Bubblewrap je trenutno v različici 0.4.0, ki je bila nedavno izdana. Koda projekta je napisana v jeziku C in se distribuira pod licenco LGPLv2 +.

Nova različica je znan po izvajanju podpore za združevanje imenskih prostorov in procesov obstoječi uporabniki (prostori imen pid).

Oznake "–userns", "–userns2" in "–pidns" so bile dodane za nadzor povezave imenskih prostorov.

Ta funkcija ne deluje v nastavljenem načinu in zahteva ločen način, ki lahko deluje brez korenskih pravic, vendar zahteva, da so v sistemu omogočeni prostori imen uporabnikov (privzeto onemogočeni v Debianu in RHEL / CentOS) in ne izključuje možnosti potencialnega izkoriščanja preostale ranljivosti na robu omejitev "imenskega prostora".

Od novih funkcij Bubblewrap 0.4, opažena je tudi možnost gradnje s knjižnico musl C namesto glibc, in podporo za shranjevanje informacij o imenskem prostoru v statistično datoteko v obliki JSON.

Kodo Bubblewrap in dokumentacijo o njej si lahko ogledate na Githubu, povezava je to.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.