Pagpagawas sa Flatpak 1.12.0 nga adunay kaugalingon nga sistema sa pakete

Usa ka bag-ong lig-on nga sanga sa Flatpak 1.12 toolkit ang gipatik, nga naghatag usa ka sistema alang sa pagtukod sa kaugalingon nga mga pakete nga wala gihigot sa piho nga mga distribusyon sa Linux ug gipadagan sa usa ka espesyal nga sudlanan nga nagbulag sa aplikasyon gikan sa nahabilin nga sistema. Ang suporta alang sa pagpadagan sa mga pakete sa Flatpak gihatag alang sa Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux ug Ubuntu. Ang mga pakete sa Flatpak gilakip sa repositoryo sa Fedora ug gipadayon sa lumad nga GNOME Application Manager.

Pangunang mga inobasyon sa Flatpak 1.12 nga sanga:

  • Gipauswag nga pagdumala sa mga nested sandbox nga palibot nga gigamit sa flatpak nga pakete kauban ang kliyente alang sa serbisyo sa paghatud sa dula sa Steam. Sa mga nested sandboxes, gitugutan ang paghimo ug bulag nga mga hierarchy sa /usr ug /app nga mga direktoryo, nga gigamit sa Steam aron maglunsad og mga dula sa bulag nga sudlanan nga adunay kaugalingong /usr partition, nga nahimulag sa palibot uban sa Steam client.
  • Ang tanan nga mga instance sa package nga adunay parehas nga identifier sa aplikasyon (app-ID) nag-ambit sa /tmp ug $XDG_RUNTIME_DIR nga mga direktoryo. Opsyonal, gamit ang "--allow=per-app-dev-shm" nga bandila, mahimo nimong magamit ang / dev / shm shared directory.
  • Gipauswag nga suporta alang sa Text User Interface (TUI) nga mga aplikasyon sama sa gdb.
  • Ang usa ka mas paspas nga pagpatuman sa "ostree prune" nga sugo gidugang sa build-update-repo utility, na-optimize alang sa pagtrabaho sa mga repository sa archive mode.
  • Ang pagkahuyang nga CVE-2021-41133 sa pagpatuman sa mekanismo sa portal, nga may kalabutan sa kakulang sa pag-block sa mga bag-ong tawag sa sistema nga may kalabutan sa pag-mount sa mga partisyon sa mga lagda sa seccomp, naayo na. Gitugotan sa kahuyang ang aplikasyon nga maghimo usa ka nested sandbox aron malaktawan ang mga mekanismo sa pag-verify sa "portal" nga gigamit aron maorganisar ang pag-access sa mga kapanguhaan sa gawas sa sudlanan.

    Ingon usa ka sangputanan, ang usa ka tig-atake, pinaagi sa paghimo sa mga tawag sa sistema nga may kalabotan sa pag-mount, mahimong makalikay sa mekanismo sa pag-inusara sa sandbox ug makakuha og hingpit nga pag-access sa mga sulud sa palibot sa host. Ang pagkahuyang mahimo ra mapahimuslan sa mga pakete nga naghatag mga aplikasyon nga adunay direkta nga pag-access sa mga socket sa AF_UNIX, sama sa gigamit sa Wayland, Pipewire, ug pipewire-pulse. Sa pagpagawas sa 1.12.0, ang kahuyang wala hingpit nga giwagtang, mao nga ang pag-update sa 1.12.1 gipagawas nga init sa iyang mga tikod.

Hinumdumi nga ang Flatpak nagpaposible alang sa mga nag-develop sa aplikasyon nga pasimplehon ang pag-apod-apod sa ilang mga programa nga wala maapil sa mga regular nga repositoryo sa pag-apod-apod pinaagi sa pag-andam sa usa ka unibersal nga sudlanan nga wala maghimo mga lahi nga asembliya alang sa matag pag-apod-apod. Alang sa mga tiggamit nga mahunahunaon sa seguridad, gitugotan sa Flatpak ang usa ka kuwestiyonable nga aplikasyon nga modagan sa usa ka sudlanan, nga naghatag access lamang sa mga gimbuhaton sa network ug mga file sa gumagamit nga adunay kalabotan sa aplikasyon. Alang sa mga tiggamit nga interesado sa kung unsa ang bag-o, gitugotan ka sa Flatpak nga i-install ang labing bag-o nga pagsulay ug lig-on nga pagpagawas sa mga aplikasyon nga dili kinahanglan nga magbag-o sa sistema. Pananglitan, ang mga pakete sa Flatpak gitukod alang sa LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, ug uban pa.

Aron makunhuran ang gidak-on sa pakete, naglakip lamang kini sa mga dependency nga espesipiko sa aplikasyon, ug ang batakang sistema ug mga librarya sa grapiko (GTK, Qt, GNOME ug KDE nga mga librarya, ug uban pa) gidesinyo isip pluggable nga tipikal nga runtime environment. Ang yawe nga kalainan tali sa Flatpak ug Snap mao nga ang Snap naggamit sa mga sangkap sa nag-unang sistema sa palibot ug pagkahimulag base sa pagsala sa tawag sa sistema, samtang ang Flatpak nagmugna og usa ka sudlanan nga bulag sa sistema ug naglihok uban ang dagkong runtime set, nga naghatag og tipikal nga mga pakete kay sa mga pakete isip mga dependency . system environment (pananglitan, tanang librarya nga gikinahanglan para sa pagpadagan sa mga programa sa GNOME o KDE).

Dugang pa sa tipikal nga palibot sa sistema (runtime) nga gi-install pinaagi sa usa ka espesyal nga repository, dugang nga mga dependency (bundle) nga gikinahanglan alang sa aplikasyon aron magtrabaho ang gihatag. Sa kinatibuk-an, ang runtime ug bundle nagporma sa pagpuno sa sudlanan, samtang ang runtime gi-install nga gilain ug gihigot sa daghang mga sudlanan sa usa ka higayon, nga nagpaposible nga malikayan ang pagdoble sa mga file sa sistema nga sagad sa mga sudlanan. Ang usa ka sistema mahimong adunay daghang lain-laing mga runtime nga na-install (GNOME, KDE) o daghang mga bersyon sa parehas nga runtime (GNOME 3.40, GNOME 3.42). Ang usa ka sudlanan nga adunay aplikasyon ingon usa ka dependency naggamit lamang sa usa ka piho nga runtime, nga wala gikonsiderar ang indibidwal nga mga pakete nga naglangkob sa runtime. Ang tanan nga nawala nga mga butang direkta nga giputos sa aplikasyon. Kung maporma ang sudlanan, ang mga sulud sa runtime i-mount ingon nga partition / usr, ug ang bundle gi-mount sa direktoryo sa / app.

Ang pagpuno sa runtime ug mga sudlanan sa aplikasyon naporma gamit ang teknolohiya sa OSTree, diin ang imahe gi-update sa atomic gikan sa usa ka storage nga sama sa Git, nga nagtugot kanimo sa paggamit sa mga pamaagi sa pagkontrol sa bersyon sa mga bahin sa pag-apod-apod (pananglitan, mahimo nimong ibalik dayon ang sistema. sa miaging estado). Ang mga pakete sa RPM gihubad ngadto sa OSTree repository gamit ang espesyal nga rpm-ostree layer. Ang bulag nga pag-install ug pag-update sa mga pakete sa sulod sa nagtrabaho nga palibot wala gisuportahan, ang sistema gi-update dili sa lebel sa indibidwal nga mga sangkap, apan sa kinatibuk-an, ang atom nga pagbag-o sa kahimtang niini. Gihatag ang mga himan aron madugangan ang mga pag-update, nga giwagtang ang panginahanglan nga hingpit nga ilisan ang imahe sa matag update.

Ang namugna nga nahilit nga palibot hingpit nga independente sa distribution kit nga gigamit ug, uban sa husto nga mga setting sa pakete, walay access sa mga file ug proseso sa user o sa nag-unang sistema, dili direktang maka-access sa mga ekipo, gawas sa output pinaagi sa DRI, ug access sa subsystem sa network. Ang mga graphic output ug input nga organisasyon gipatuman gamit ang Wayland protocol o pinaagi sa X11 socket forwarding. Ang interaksyon sa gawas nga palibot gitukod base sa DBus messaging system ug sa espesyal nga Portals API.

Para sa pag-inusara, ang Bubblewrap layer ug tradisyonal nga Linux container virtualization nga mga teknolohiya gigamit, base sa paggamit sa cgroups, namespaces, Seccomp ug SELinux. Ang PulseAudio gigamit sa pagpagawas sa tingog. Sa kini nga kaso, ang pagkahimulag mahimong ma-disable, nga gigamit sa mga nag-develop sa daghang mga sikat nga pakete aron makuha ang hingpit nga pag-access sa file system ug tanan nga mga aparato sa sistema. Pananglitan, ang GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, ug VLC adunay limitado nga isolation mode nga nagbilin sa hingpit nga access sa home directory.

Kung ang mga pakete nga adunay access sa direktoryo sa balay makompromiso, bisan pa sa presensya sa "sandboxed" nga label sa paghulagway sa package, ang tig-atake kinahanglan lamang nga usbon ang ~/.bashrc file aron mapatuman ang iyang code. Ang usa ka bulag nga isyu mao ang pagkontrol sa mga pagbag-o sa mga pakete ug pagsalig sa mga tigtukod sa pakete, nga kanunay wala kauban sa panguna nga proyekto o pag-apod-apod.

Source: opennet.ru

Idugang sa usa ka comment