Release of Bubblewrap 0.6, a layer for creating isolated environments.

A Bubblewrap 0.6 toolkit release is available for organizing the operation of isolated environments, commonly used to restrict individual applications of unprivileged users. In practice, Bubblewrap is utilized by the Flatpak project as a layer for isolating applications launched from packages. The project's code is written in C and is distributed under the LGPLv2+ license.

Az elszigeteléshez a Linuxban megszokott konténeres virtualizációs technológiákat használják, amelyek cgroups, névterek (namespaces), Seccomp és SELinux alkalmazásán alapulnak. A konténer beállításához szükséges privilegizált műveletek végrehajtásához a Bubblewrap root jogokkal (suid flag-gel rendelkező futtatható fájl) indul, majd a konténer inicializálása után a privilégiumokat visszaállítja.

A felhasználói azonosítók (user namespaces) névtereinek aktiválása a rendszeren nem szükséges a működéshez, mivel sok disztribúcióban alapértelmezettként nem működik (a Bubblewrap mint a user namespaces képességeinek korlátozott suid megvalósítása van pozicionálva, amely kizárja az összes felhasználói és folyamat-azonosítót a környezetből, kivéve a jelenlegit, a CLONE_NEWUSER és CLONE_NEWPID módok alkalmazásával). További védelem érdekében a Bubblewrap segítségével indított programok PR_SET_NO_NEW_PRIVS módban futnak, amely megakadályozza az új privilégiumok megszerzését, például setuid flag megléte estén.

A fájlrendszer szintű elszigetelés alapértelmezés szerint új névtér létrehozásával történik a mount namespace révén, ahol a tmpfs segítségével üres gyökér partíció jön létre. Ehhez a partícióhoz szükség esetén a külső fájlrendszerek partícióit a 'mount —bind' módban csatlakoztatják (például a 'bwrap —ro-bind /usr /usr' opcióval a /usr partíció a fő rendszerből csak olvasható módban kapcsolódik át). A hálózati lehetőségeket a loopback interfész elérésének korlátozásával és a hálózati verem elszigetelésével korlátozzák, a CLONE_NEWNET és CLONE_NEWUTS flag-ek alkalmazásával.

A fő különbség a hasonló Firejail projekttől, amely szintén setuid alkalmazásindítási modellt használ, hogy a Bubblewrap konténerek létrehozásának rétege csak a szükséges minimális funkciókat tartalmazza, míg a grafikus alkalmazások indításához, a munkaasztallal való interakcióhoz és a Pulseaudio hívások szűréséhez szükséges összes kibővített funkciót a Flatpak oldalára helyezik, és már a privilégiumok visszaállítása után hajtják végre. A Firejail viszont egyetlen végrehajtható fájlban egyesíti az összes kapcsolódó funkciót, ami megnehezíti az auditálását és a biztonság szinten tartását.

Az új kiadásban:

  • Support for the Meson build system has been added. Support for building with Autotools is still retained but will be removed in one of the upcoming releases.
  • The option ‘—add-seccomp’ has been implemented to add more than one seccomp program. A warning has been added that if the ‘—seccomp’ option is specified multiple times, only the last parameter will be applied.
  • The master branch in the git repository has been renamed to main.
  • Partial support for the REUSE specification has been added, standardizing the process of indicating licensing and copyright information. SPDX-License-Identifier headers have been added to many code files. Following REUSE recommendations simplifies the automatic determination of which license applies to which parts of the application code.
  • A check for the command-line argument counter (argc) has been added, implementing an emergency exit if the counter is zero. This change helps block security issues caused by improper handling of command-line arguments, such as CVE-2021-4034 in Polkit.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster