Rilis sistem paket mandhiri Flatpak 1.12.0

Cabang stabil anyar saka toolkit Flatpak 1.12 wis diterbitake, sing nyedhiyakake sistem kanggo mbangun paket mandiri sing ora ana gandhengane karo distribusi Linux tartamtu lan mbukak ing wadhah khusus sing ngisolasi aplikasi saka sistem liyane. Dhukungan kanggo mbukak paket Flatpak kasedhiya kanggo Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux lan Ubuntu. Paket Flatpak kalebu ing repositori Fedora lan didhukung dening manajer aplikasi GNOME asli.

Inovasi utama ing cabang Flatpak 1.12:

  • Manajemen apik lingkungan kothak wedhi nested digunakake ing paket flatpak karo klien kanggo layanan pangiriman game Steam. Ing kothak wedhi bersarang, nggawe hierarki kapisah saka direktori / usr lan / app diidini, sing digunakake ing Steam kanggo miwiti game ing wadhah sing kapisah kanthi partisi / usr dhewe, diisolasi saka lingkungan karo klien Steam.
  • Kabeh conto paket kanthi pengenal aplikasi sing padha (app-ID) nuduhake direktori /tmp lan $XDG_RUNTIME_DIR. Opsional, nggunakake gendera "--allow=per-app-dev-shm", sampeyan bisa ngaktifake panggunaan direktori sing dienggo bareng / dev / shm.
  • Dhukungan sing luwih apik kanggo aplikasi Text User Interface (TUI) kayata gdb.
  • Implementasi perintah "ostree prune" sing luwih cepet wis ditambahake menyang sarana build-update-repo, dioptimalake kanggo nggarap repositori ing mode arsip.
  • Kerentanan CVE-2021-41133 ing implementasine mekanisme portal, sing ana gandhengane karo kekurangan pamblokiran telpon sistem anyar sing ana gandhengane karo partisi sing dipasang ing aturan seccomp, wis diatasi. Kerentanan ngidini aplikasi nggawe kothak wedhi bersarang kanggo ngliwati mekanisme verifikasi "portal" sing digunakake kanggo ngatur akses menyang sumber daya ing njaba wadhah.

    AkibatΓ©, panyerang, kanthi nindakake panggilan sistem sing gegandhengan karo pemasangan, bisa ngliwati mekanisme pamisahan kothak wedhi lan entuk akses lengkap menyang isi lingkungan host. Kerentanan mung bisa dimanfaatake ing paket sing nyedhiyakake aplikasi kanthi akses langsung menyang soket AF_UNIX, kayata sing digunakake dening Wayland, Pipewire, lan pipewire-pulse. Ing release 1.12.0, kerentanan ora rampung diilangi, supaya nganyari 1.12.1 dirilis panas ing tumit.

Ayo kita ngelingake yen Flatpak ngidini pangembang aplikasi nyederhanakake distribusi program sing ora kalebu ing repositori distribusi standar kanthi nyiapake siji wadhah universal tanpa nggawe rakitan sing kapisah kanggo saben distribusi. Kanggo pangguna sing sadar keamanan, Flatpak ngidini sampeyan mbukak aplikasi sing bisa dipertanyakan ing wadhah, mung nyedhiyakake akses menyang fungsi jaringan lan file pangguna sing ana gandhengane karo aplikasi kasebut. Kanggo pangguna sing kasengsem karo produk anyar, Flatpak ngidini sampeyan nginstal tes paling anyar lan rilis aplikasi sing stabil tanpa perlu ngganti sistem kasebut. Contone, paket Flatpak dibangun kanggo LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, lsp.

Kanggo nyuda ukuran paket, kalebu mung dependensi aplikasi-tartamtu, lan sistem dhasar lan perpustakaan grafis (GTK, Qt, GNOME lan KDE perpustakaan, etc.) dirancang minangka plug-in lingkungan runtime standar. Bentenane utama ing antarane Flatpak lan Snap yaiku Snap nggunakake komponen lingkungan sistem utama lan isolasi adhedhasar panggilan sistem nyaring, dene Flatpak nggawe wadhah sing kapisah saka sistem lan beroperasi kanthi set runtime sing gedhe, ora nyedhiyakake paket minangka dependensi, nanging standar. lingkungan sistem (contone, kabeh perpustakaan sing perlu kanggo operasi program GNOME utawa KDE).

Saliyane lingkungan sistem standar (runtime), diinstal liwat repositori khusus, dependensi tambahan (bundel) sing dibutuhake kanggo operasi aplikasi diwenehake. Secara total, runtime lan bundle mbentuk ngisi wadhah kasebut, sanajan wektu runtime dipasang kanthi kapisah lan diikat menyang pirang-pirang wadhah sekaligus, sing ngidini sampeyan ngindhari duplikat file sistem sing umum ing wadhah. Siji sistem bisa nginstal sawetara runtime (GNOME, KDE) utawa sawetara versi runtime sing padha (GNOME 3.40, GNOME 3.42). Wadhah kanthi aplikasi minangka dependensi nggunakake mung kanggo runtime tartamtu, tanpa njupuk menyang akun paket individu sing nggawe runtime. Kabeh unsur sing ilang dirangkep langsung karo aplikasi kasebut. Nalika wadhah dibentuk, isi runtime dipasang minangka partisi / usr, lan bundle dipasang ing direktori / app.

Wadah runtime lan aplikasi dibangun nggunakake teknologi OSTree, ing ngendi gambar kasebut dianyari kanthi atom saka gudang kaya Git, sing ngidini metode kontrol versi bisa ditrapake ing komponen distribusi (contone, sampeyan bisa kanthi cepet muter maneh sistem menyang a kahanan sadurunge). Paket RPM diterjemahake menyang gudang OSTree nggunakake lapisan rpm-ostree khusus. Instalasi lan nganyari paket sing kapisah ing lingkungan kerja ora didhukung; sistem dianyari ora ing tingkat komponen individu, nanging kanthi sakabehe, kanthi atom ngganti negara. Nyedhiyakake alat kanggo ngetrapake nganyari kanthi bertahap, ngilangi kabutuhan kanggo ngganti gambar kanthi saben nganyari.

Lingkungan terisolasi sing diasilake ora gumantung saka distribusi sing digunakake lan, kanthi setelan paket sing tepat, ora duwe akses menyang file lan proses pangguna utawa sistem utama, ora bisa ngakses peralatan kasebut, kajaba output liwat DRI, lan nelpon menyang subsistem jaringan. Output grafis lan organisasi input ditindakake nggunakake protokol Wayland utawa liwat penerusan soket X11. Interaksi karo lingkungan njaba adhedhasar sistem olahpesen DBus lan API Portal khusus.

Kanggo isolasi, lapisan Bubblewrap lan teknologi virtualisasi wadah Linux tradisional digunakake, adhedhasar panggunaan cgroups, namespaces, Seccomp lan SELinux. PulseAudio digunakake kanggo ngasilake swara. Ing kasus iki, isolasi bisa dipateni, sing digunakake dening pangembang akeh paket populer kanggo entuk akses lengkap menyang sistem file lan kabeh piranti ing sistem kasebut. Contone, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, lan VLC teka karo mode isolasi winates sing ninggalake akses lengkap menyang direktori ngarep.

Yen paket kanthi akses menyang direktori ngarep dikompromi, sanajan ana label "kotak pasir" ing deskripsi paket, panyerang mung kudu ngganti file ~/.bashrc kanggo nglakokake kode kasebut. Masalah sing kapisah yaiku kontrol owah-owahan ing paket lan percaya marang pembuat paket, sing asring ora ana gandhengane karo proyek utawa distribusi utama.

Source: opennet.ru

Add a comment