Rilis Bubblewrap 0.6, lapisan kanggo nggawe lingkungan terisolasi

Rilis alat kanggo ngatur karya lingkungan terpencil Bubblewrap 0.6 kasedhiya, biasane digunakake kanggo matesi aplikasi individu saka pangguna sing ora duwe hak istimewa. Ing praktik, Bubblewrap digunakake dening proyek Flatpak minangka lapisan kanggo ngisolasi aplikasi sing diluncurake saka paket. Kode proyek ditulis ing C lan disebarake miturut lisensi LGPLv2+.

Kanggo isolasi, teknologi virtualisasi wadah Linux tradisional digunakake, adhedhasar panggunaan cgroups, namespaces, Seccomp lan SELinux. Kanggo nindakake operasi ndarbeni hak istimewa kanggo ngatur wadhah, Bubblewrap dibukak karo hak ROOT (file eksekusi karo gendΓ©ra suid) lan banjur ngreset hak istimewa sawise wadhah diwiwiti.

Aktivasi ruang jeneng pangguna ing sistem ruang jeneng, sing ngidini sampeyan nggunakake set pengenal dhewe ing wadhah, ora dibutuhake kanggo operasi, amarga ora bisa digunakake kanthi standar ing akeh distribusi (Bubblewrap dipanggonke minangka implementasi suid winates saka a subset saka kapabilitas spasi jeneng pangguna - kanggo ngilangi kabeh pengenal pangguna lan proses saka lingkungan, kajaba sing saiki, mode CLONE_NEWUSER lan CLONE_NEWPID digunakake). Kanggo pangayoman tambahan, program sing dieksekusi ing Bubblewrap diluncurake ing mode PR_SET_NO_NEW_PRIVS, sing nglarang akuisisi hak istimewa anyar, contone, yen ana gendera setuid.

Isolasi ing tingkat sistem file ditindakake kanthi nggawe papan jeneng gunung anyar kanthi standar, ing ngendi partisi root kosong digawe nggunakake tmpfs. Yen perlu, partisi FS eksternal dipasang ing partisi iki ing mode "mount -bind" (contone, nalika diluncurake kanthi pilihan "bwrap -ro-bind /usr /usr", partisi /usr diterusake saka sistem utama. ing mode mung diwaca). Kapabilitas jaringan diwatesi kanggo ngakses antarmuka loopback kanthi isolasi tumpukan jaringan liwat panji CLONE_NEWNET lan CLONE_NEWUTS.

Bentenane utama saka proyek Firejail sing padha, sing uga nggunakake model peluncuran setuid, yaiku ing Bubblewrap lapisan nggawe wadhah mung kalebu kemampuan minimal sing dibutuhake, lan kabeh fungsi lanjut sing dibutuhake kanggo mbukak aplikasi grafis, sesambungan karo desktop lan panjaluk nyaring. kanggo Pulseaudio, ditransfer menyang sisih Flatpak lan kaleksanan sawise hak istimewa wis ngreset. Firejail, ing tangan liyane, nggabungke kabeh fungsi sing gegandhengan ing siji file eksekusi, kang ndadekake angel kanggo audit lan njaga keamanan ing tingkat sing tepat.

Ing release anyar:

  • Dhukungan tambahan kanggo sistem perakitan Meson. Dhukungan kanggo mbangun karo Autotools wis ditahan kanggo saiki, nanging bakal dibusak ing release mangsa.
  • Dilaksanakake opsi "--add-seccomp" kanggo nambah luwih saka siji program seccomp. Nambahake bebaya yen sampeyan nemtokake opsi "--seccom" maneh, mung parameter pungkasan sing bakal ditrapake.
  • Cabang master ing repositori git wis diganti jeneng dadi main.
  • Dhukungan sebagean ditambahake kanggo spesifikasi REUSE, sing nyawijikake proses nemtokake lisensi lan informasi hak cipta. Akeh file kode sing ditambahake header SPDX-License-Identifier. Nderek pedoman REUSE nggampangake nemtokake lisensi endi sing ditrapake kanggo bagean kode aplikasi.
  • Ditambahake mriksa nilai counter argumen baris perintah (argc) lan ngetrapake metu darurat yen counter nol. Owah-owahan kasebut mbantu mblokir masalah keamanan sing disebabake dening penanganan argumen baris perintah sing ora bener, kayata CVE-2021-4034 ing Polkit.

Source: opennet.ru

Add a comment