Ngaleupaskeun sistem bungkusan mandiri Flatpak 1.12.0

Cabang stabil anyar tina toolkit Flatpak 1.12 parantos diterbitkeun, anu nyayogikeun sistem pikeun ngawangun bungkusan mandiri anu henteu kabeungkeut kana distribusi Linux khusus sareng dijalankeun dina wadah khusus anu ngasingkeun aplikasi tina sistem anu sanés. Rojongan pikeun ngajalankeun bungkusan Flatpak disayogikeun pikeun Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux sareng Ubuntu. Paket Flatpak kalebet dina gudang Fedora sareng dirojong ku manajer aplikasi GNOME asli.

Inovasi konci dina cabang Flatpak 1.12:

  • Ningkatkeun manajemén lingkungan sandbox nested dipaké dina pakét flatpak kalawan klien pikeun layanan pangiriman kaulinan uap. Dina sandboxes nested, kreasi hirarki misah tina / usr jeung / app directories diwenangkeun, nu dipaké dina Steam pikeun ngajalankeun kaulinan dina wadahna misah kalawan partisi / usr sorangan, terasing ti lingkungan jeung klien Steam.
  • Sadaya instansi pakét sareng identifier aplikasi anu sami (app-ID) ngabagi diréktori /tmp sareng $XDG_RUNTIME_DIR. Opsional, nganggo bendera "--allow = per-app-dev-shm", anjeun tiasa ngaktipkeun panggunaan diréktori dibagikeun / dev / shm.
  • Pangrojong ningkat pikeun aplikasi Text User Interface (TUI) sapertos gdb.
  • Palaksanaan anu langkung gancang tina paréntah "ostree prune" parantos ditambah kana utilitas build-update-repo, dioptimalkeun pikeun damel sareng repositori dina modeu arsip.
  • Kerentanan CVE-2021-41133 dina palaksanaan mékanisme portal, pakait sareng kurangna ngahalangan telepon sistem anyar anu aya hubunganana sareng partisi dipasang dina aturan seccomp, parantos dibenerkeun. Kerentanan ngamungkinkeun aplikasi pikeun nyiptakeun sandbox nested pikeun ngaliwat mékanisme verifikasi "portal" anu dianggo pikeun ngatur aksés ka sumber di luar wadahna.

    Hasilna, panyerang, ku ngalakukeun telepon sistem anu aya hubunganana, tiasa ngalangkungan mékanisme isolasi sandbox sareng kéngingkeun aksés pinuh kana eusi lingkungan host. Kerentanan ngan bisa dieksploitasi dina bungkusan nu nyadiakeun aplikasi kalawan aksés langsung kana sockets AF_UNIX, kayaning nu dipaké ku Wayland, Pipewire, sarta pipewire-pulsa. Dina release 1.12.0, kerentanan teu sagemblengna ngaleungitkeun, jadi update 1.12.1 dirilis panas on heels na.

Hayu urang ngingetan yén Flatpak ngamungkinkeun pamekar aplikasi pikeun nyederhanakeun distribusi programna anu henteu kalebet dina repositori distribusi standar ku nyiapkeun hiji wadah universal tanpa nyiptakeun rakitan anu misah pikeun tiap distribusi. Pikeun pangguna anu sadar kaamanan, Flatpak ngamungkinkeun anjeun pikeun ngajalankeun aplikasi anu diragukeun dina wadah, ngan ukur masihan aksés kana fungsi jaringan sareng file pangguna anu aya hubunganana sareng aplikasi. Pikeun pangguna anu resep kana produk anyar, Flatpak ngamungkinkeun anjeun masang tés pangénggalna sareng sékrési stabil aplikasi tanpa kedah parobihan kana sistem. Contona, bungkusan Flatpak diwangun pikeun LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, jsb.

Pikeun ngurangan ukuran pakét, éta ngawengku ngan gumantungna aplikasi-spésifik, sarta sistem dasar sarta perpustakaan grafik (GTK, Qt, GNOME jeung perpustakaan KDE, jsb) dirancang salaku plug-in lingkungan runtime baku. Beda konci antara Flatpak sareng Snap nyaéta Snap ngagunakeun komponén lingkungan sistem utama sareng isolasi dumasar kana nyaring sauran sistem, sedengkeun Flatpak nyiptakeun wadah anu misah tina sistem sareng beroperasi sareng set runtime anu ageung, henteu nyayogikeun bungkusan salaku katergantungan, tapi standar. lingkungan sistem (contona, sadaya perpustakaan anu dipikabutuh pikeun operasi program GNOME atanapi KDE).

Salian lingkungan sistem standar (runtime), dipasang ngaliwatan gudang husus, kabebasan tambahan (bundle) diperlukeun pikeun operasi aplikasi disadiakeun. Dina total, runtime sareng bundle ngabentuk ngeusian wadahna, sanaos kanyataan yén runtime dipasang sacara misah sareng dihijikeun ka sababaraha wadah sakaligus, anu ngamungkinkeun anjeun ngahindarkeun duplikat file sistem anu umum pikeun wadah. Hiji sistem tiasa dipasang sababaraha waktos jalan anu béda (GNOME, KDE) atanapi sababaraha vérsi waktos jalan anu sami (GNOME 3.40, GNOME 3.42). Wadahna kalawan aplikasi salaku kagumantungan ngagunakeun hiji ngariung ngan ka runtime husus, tanpa nyokot kana akun bungkusan individu nu nyieun nepi runtime nu. Sadaya unsur anu leungit dibungkus langsung sareng aplikasi. Nalika wadahna kabentuk, eusi runtime dipasang salaku partisi / usr, sareng bungkusan dipasang dina diréktori / aplikasi.

Wadah runtime sareng aplikasi diwangun nganggo téknologi OSTree, dimana gambarna diropéa sacara atom tina gudang sapertos Git, anu ngamungkinkeun metode kontrol versi diterapkeun kana komponén distribusi (contona, anjeun tiasa gancang ngagulung deui sistem ka a kaayaan saméméhna). Paket RPM ditarjamahkeun kana gudang OSTree nganggo lapisan rpm-ostree khusus. Pamasangan misah sareng apdet bungkusan dina lingkungan kerja henteu dirojong; sistem diropéa henteu dina tingkat komponén individu, tapi sacara gembleng, sacara atom ngarobih kaayaanana. Nyadiakeun parabot pikeun nerapkeun apdet incrementally, ngaleungitkeun kabutuhan pikeun sakabéhna ngaganti gambar jeung unggal update.

Lingkungan terasing anu dibangkitkeun sagemblengna bebas tina distribusi anu dianggo sareng, kalayan setélan pakét anu leres, henteu gaduh aksés kana file sareng prosés pangguna atanapi sistem utama, henteu tiasa langsung ngaksés alat, iwal kaluaran via DRI, jeung nelepon ka subsistem jaringan. Output grafik sareng organisasi input dilaksanakeun nganggo protokol Wayland atanapi via diteruskeun stop kontak X11. Interaksi jeung lingkungan éksternal dumasar kana sistem olahtalatah DBus sarta Portals API husus.

Pikeun isolasi, lapisan Bubblewrap sareng téknologi virtualisasi wadah Linux tradisional dianggo, dumasar kana panggunaan cgroups, namespaces, Seccomp sareng SELinux. PulseAudio dipaké pikeun kaluaran sora. Dina hal ieu, isolasi tiasa ditumpurkeun, anu dianggo ku pamekar seueur bungkusan populér pikeun kéngingkeun aksés pinuh kana sistem file sareng sadaya alat dina sistem. Contona, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, sarta VLC hadir kalawan mode isolasi kawates nu ninggalkeun aksés pinuh ka diréktori imah.

Lamun bungkusan kalawan aksés ka diréktori imah nu compromised, sanajan ayana "sandboxed" labél dina pedaran pakét, lawan ngan perlu ngarobah ~/.bashrc file sangkan ngaéksekusi kode-Na. Masalah anu misah nyaéta kontrol parobahan bungkusan sareng kapercayaan ka tukang pakét, anu sering henteu aya hubunganana sareng proyék atanapi distribusi utama.

sumber: opennet.ru

Tambahkeun komentar