Available ang isang release ng mga tool para sa pag-aayos ng gawain ng mga nakahiwalay na kapaligiran Bubblewrap 0.6, kadalasang ginagamit upang paghigpitan ang mga indibidwal na aplikasyon ng mga walang pribilehiyong user. Sa pagsasagawa, ang Bubblewrap ay ginagamit ng proyekto ng Flatpak bilang isang layer upang ihiwalay ang mga application na inilunsad mula sa mga pakete. Ang code ng proyekto ay nakasulat sa C at ipinamamahagi sa ilalim ng lisensya ng LGPLv2+.
Para sa paghihiwalay, ginagamit ang tradisyonal na Linux container virtualization na teknolohiya, batay sa paggamit ng mga cgroup, namespace, Seccomp at SELinux. Para magsagawa ng mga privileged operation para mag-configure ng container, inilunsad ang Bubblewrap na may mga root rights (isang executable file na may flag ng suid) at pagkatapos ay i-reset ang mga pribilehiyo pagkatapos masimulan ang container.
Ang pag-activate ng mga namespace ng user sa system ng namespace, na nagbibigay-daan sa iyong gamitin ang iyong sariling hiwalay na hanay ng mga identifier sa mga container, ay hindi kinakailangan para sa operasyon, dahil hindi ito gumagana bilang default sa maraming mga distribusyon (Ang Bubblewrap ay nakaposisyon bilang isang limitadong pagpapatupad ng suid ng isang subset ng mga kakayahan ng user namespaces - upang ibukod ang lahat ng user at process identifiers mula sa kapaligiran, maliban sa kasalukuyan, ang CLONE_NEWUSER at CLONE_NEWPID mode ang ginagamit). Para sa karagdagang proteksyon, ang mga programang isinagawa sa ilalim ng Bubblewrap ay inilulunsad sa PR_SET_NO_NEW_PRIVS mode, na nagbabawal sa pagkuha ng mga bagong pribilehiyo, halimbawa, kung ang setuid na bandila ay naroroon.
Ang paghihiwalay sa antas ng file system ay nagagawa sa pamamagitan ng paglikha ng bagong mount namespace bilang default, kung saan ang isang walang laman na root partition ay nilikha gamit ang tmpfs. Kung kinakailangan, ang mga panlabas na partisyon ng FS ay nakakabit sa partisyon na ito sa mode na "mount βbind" (halimbawa, kapag inilunsad gamit ang opsyong "bwrap βro-bind /usr /usr", ang /usr partition ay ipinapasa mula sa pangunahing system sa read-only mode). Ang mga kakayahan ng network ay limitado sa pag-access sa loopback interface na may network stack isolation sa pamamagitan ng CLONE_NEWNET at CLONE_NEWUTS na mga flag.
Ang pangunahing pagkakaiba sa katulad na proyekto ng Firejail, na gumagamit din ng setuid launch model, ay ang sa Bubblewrap, ang layer ng paggawa ng lalagyan ay kinabibilangan lamang ng mga kinakailangang minimum na kakayahan, at lahat ng mga advanced na function na kinakailangan para sa pagpapatakbo ng mga graphical na application, pakikipag-ugnayan sa desktop at mga kahilingan sa pag-filter. sa Pulseaudio, inilipat sa bahagi ng Flatpak at naisakatuparan pagkatapos ma-reset ang mga pribilehiyo. Ang Firejail, sa kabilang banda, ay pinagsasama ang lahat ng nauugnay na function sa isang executable file, na nagpapahirap sa pag-audit at pagpapanatili ng seguridad sa tamang antas.
Sa bagong release:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Meson. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Autotools ΠΏΠΎΠΊΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½Π°, Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ².
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ Β«βadd-seccompΒ» Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ seccomp. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ Β«βseccompΒ» Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ.
- ΠΠ΅ΡΠΊΠ° master Π² git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² main.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ°ΡΡΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ REUSE, ΡΠ½ΠΈΡΠΈΡΠΈΡΡΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡ ΠΈ Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π²Π°Ρ . ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ SPDX-License-Identifier. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ REUSE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (argc) ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΊΡΡΡΠ΅Π½Π½ΡΠΉ Π²ΡΡ ΠΎΠ΄ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΡΡΡΡΠΈΠΊ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CVE-2021-4034 Π² Polkit.
Pinagmulan: opennet.ru