Ngaleupaskeun Bubblewrap 0.6, lapisan pikeun nyiptakeun lingkungan terasing

A sékrési parabot pikeun ngatur karya lingkungan terasing Bubblewrap 0.6 sadia, biasana dipaké pikeun ngawatesan aplikasi individu pamaké unprivileged. Dina praktékna, Bubblewrap dianggo ku proyék Flatpak salaku lapisan pikeun ngasingkeun aplikasi anu diluncurkeun tina bungkusan. Kodeu proyék ditulis dina C sareng disebarkeun dina lisénsi LGPLv2 +.

Pikeun isolasi, téhnologi virtualisasi wadah Linux tradisional dipaké, dumasar kana pamakéan cgroups, namespaces, Seccomp na SELinux. Pikeun ngalakukeun operasi hak istimewa pikeun ngonpigurasikeun wadahna, Bubblewrap diluncurkeun kalayan hak akar (file anu tiasa dieksekusi sareng bandéra suid) teras ngareset hak istimewa saatos wadahna diinisialisasi.

Aktivasina ngaranspasi pamaké dina sistem ngaranspasi, nu ngidinan Anjeun pikeun make set misah sorangan tina identifiers dina peti, teu diperlukeun pikeun operasi, sabab teu dianggo sacara standar dina loba sebaran (Bubblewrap diposisikan salaku palaksanaan suid kawates a subset tina kamampuhan ngaranspasi pamaké - pikeun ngaluarkeun sakabéh pamaké sarta prosés identifiers ti lingkungan, iwal nu ayeuna, CLONE_NEWUSER na CLONE_NEWPID mode dipaké). Pikeun panangtayungan tambahan, program dieksekusi dina Bubblewrap dijalankeun dina mode PR_SET_NO_NEW_PRIVS, nu prohibits akuisisi hak husus anyar, contona, lamun bendera setuid hadir.

Isolasi dina tingkat sistem file dilakonan ku cara nyiptakeun rohangan ngaran gunung anyar sacara standar, dimana partisi akar kosong didamel nganggo tmpfs. Upami diperlukeun, partisi FS éksternal napel kana partisi ieu dina mode "mount -bind" (contona, nalika diluncurkeun ku pilihan "bwrap -ro-bind / usr / usr", partisi / usr diteruskeun tina sistem utama. dina modeu baca wungkul). Kamampuhan jaringan diwatesan pikeun aksés ka panganteur loopback kalayan isolasi tumpukan jaringan via bandéra CLONE_NEWNET sareng CLONE_NEWUTS.

Beda konci tina proyék Firejail anu sami, anu ogé nganggo modél peluncuran setuid, nyaéta dina Bubblewrap lapisan kreasi wadahna ngan ukur kalebet kamampuan minimum anu diperyogikeun, sareng sadaya fungsi canggih anu dipikabutuh pikeun ngajalankeun aplikasi grafis, berinteraksi sareng desktop sareng nyaring pamundut. mun Pulseaudio, dipindahkeun ka sisi Flatpak sarta dieksekusi sanggeus hak husus geus reset. Firejail, di sisi anu sanés, ngagabungkeun sadaya fungsi anu aya hubunganana dina hiji file anu tiasa dieksekusi, anu matak hésé pikeun ngaudit sareng ngajaga kaamanan dina tingkat anu leres.

Dina rilis anyar:

  • Ditambahkeun rojongan pikeun sistem assembly Meson. Rojongan pikeun ngawangun sareng Autotools parantos dipikagaduh pikeun ayeuna, tapi bakal dipupus dina rilis anu bakal datang.
  • Dilaksanakeun "--add-seccomp" pilihan pikeun nambahkeun leuwih ti hiji program seccomp. Ditambahkeun peringatan yén upami anjeun netepkeun deui pilihan "--seccom", ngan ukur parameter terakhir anu bakal diterapkeun.
  • Cabang master dina gudang git parantos namina janten main.
  • Ditambahkeun dukungan parsial pikeun spésifikasi REUSE, anu ngahijikeun prosés nangtukeun lisénsi sareng inpormasi hak cipta. Loba file kode boga SPDX-Lisensi-Identifier headers ditambahkeun. Nuturkeun tungtunan REUSE ngagampangkeun pikeun otomatis nangtukeun lisénsi mana anu dianggo pikeun bagian mana tina kode aplikasi.
  • Ditambahkeun mariksa nilai konter argumen baris paréntah (argc) sareng ngalaksanakeun jalan kaluar darurat upami konter éta nol. Parobihan éta ngabantosan ngahalangan masalah kaamanan anu disababkeun ku pananganan anu teu leres pikeun argumen baris paréntah, sapertos CVE-2021-4034 di Polkit.

sumber: opennet.ru

Tambahkeun komentar