Lëshimi i sistemit të paketave të vetëpërmbajtura Flatpak 1.12.0

ËshtĂ« publikuar njĂ« degĂ« e re e qĂ«ndrueshme e mjetit Flatpak 1.12, i cili ofron njĂ« sistem pĂ«r ndĂ«rtimin e paketave autonome, tĂ« pa lidhura me shpĂ«rndarje tĂ« veçanta Linux dhe qĂ« ekzekutohen nĂ« njĂ« konteiner tĂ« veçantĂ«, i cili izolon aplikacionin nga pjesa tjetĂ«r e sistemit. MbĂ«shtetje pĂ«r ekzekutimin e paketave Flatpak Ă«shtĂ« ofruar pĂ«r Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux dhe Ubuntu. Paketat Flatpak janĂ« inkorporuar nĂ« depozitĂ«n e Fedora dhe mbĂ«shteten nĂ« programin standard tĂ« menaxhimit tĂ« aplikacioneve GNOME.

Novitetet kryesore në degën Flatpak 1.12:

  • Menaxhimi i ambientit sandbox tĂ« brendshĂ«m, i pĂ«rdorur nĂ« paketat flatpak me klientin pĂ«r shĂ«rbimin e shpĂ«rndarjes sĂ« lojĂ«rave Steam, Ă«shtĂ« pĂ«rmirĂ«suar. NĂ« ambientet e brendshme sandbox lejohet krijimi i hierarkive tĂ« veçanta tĂ« katalogĂ«ve /usr dhe /app, tĂ« cilat pĂ«rdoren nĂ« Steam pĂ«r tĂ« nisur lojĂ«rat nĂ« njĂ« konteiner tĂ« veçantĂ« me njĂ« pjesĂ« /usr, e cila Ă«shtĂ« e izoluar nga ambienti me klientin Steam.
  • NĂ« tĂ« gjitha shembujt e paketave me tĂ« njĂ«jtin identifikues aplikacioni (app-ID), Ă«shtĂ« siguruar ndarja e katalogĂ«ve /tmp dhe $XDG_RUNTIME_DIR. Opcionalisht, me ndihmĂ«n e flagut "—allow=per-app-dev-shm" mund tĂ« aktivizoni pĂ«rdorimin e katalogut tĂ« pĂ«rbashkĂ«t /dev/shm.
  • MbĂ«shtetje e pĂ«rmirĂ«suar pĂ«r aplikacionet me ndĂ«rfaqe tekstuale (TUI), si gdb.
  • NĂ« utilitarin build-update-repo Ă«shtĂ« shtuar njĂ« implementim mĂ« tĂ« shpejtĂ« tĂ« komandĂ«s "ostree prune", e optimizuar pĂ«r tĂ« punuar me depozita nĂ« modalitetin arkiv.
  • Ă«shtĂ« rregulluar njĂ« vulnerabilitet CVE-2021-41133 nĂ« implementimin e mekanizmit tĂ« portave, i lidhur me mungesĂ«n nĂ« rregullat e seccomp pĂ«r bllokimin e thirrjeve tĂ« reja sistemore tĂ« lidhura me montimin e sistemit. Vulnerabiliteti lejonte aplikacionit tĂ« krijonte njĂ« sandbox tĂ« brendshĂ«m pĂ«r tĂ« kaluar mekanizmat e verifikimit tĂ« "portave", tĂ« cilat pĂ«rdoren pĂ«r organizimin e qasjes nĂ« burimet jashtĂ« konteinerit.

    Si pasojë, një sulmues duke ekzekutuar thirrje sistemore të lidhura me montimin mund të kalonte mekanizmin e izolimit të sandbox-it dhe të merrte qasje të plotë në përmbajtjen e ambientit host. Shfrytëzimi i vulnerabilitetit është e mundur vetëm në paketat që ofrojnë aplikacioneve qasje direkte në socket-t AF_UNIX, të cilat, për shembull, përdoren në Wayland, Pipewire dhe pipewire-pulse. Në lëshimin 1.12.0, vulnerabiliteti nuk u eliminua plotësisht, prandaj pas zbulesës është lëshuar një përditësim 1.12.1.

Kujtojmë se Flatpak ofron mundësinë për zhvilluesit e aplikacioneve të lehtësojnë shpërndarjen e programeve të tyre, të cilat nuk janë pjesë e depozitave standarde, përmes përgatitjes së një konteineri universali pa formimin e ndarë të ndërtimeve për çdo shpërndarje. Për përdoruesit e shqetësuar për sigurinë, Flatpak lejon ekzekutimin e aplikacioneve të dyshimta në një konteiner, duke ofruar qasje vetëm në funksionalitetet rrjet dhe skedarët e përdoruesit të lidhur me aplikacionin. Për përdoruesit e interesuar për novitetet, Flatpak lejon instalimin e versioneve më të fundit testuese dhe të qëndrueshme të aplikacioneve pa pasur nevojë për ndryshime në sistem. Për shembull, paketat Flatpak ndërtohen për LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etj.

Për të zvogëluar madhësinë e paketës, ajo përfshin vetëm varësitë specifike për aplikacionin, ndërsa bibliotekat themelore sistemore dhe grafike (GTK, Qt, bibliotekat GNOME dhe KDE, etj.) janë formatuar si runtime me modul të lidhur. Dallimi kryesor mes Flatpak dhe Snap është se Snap përdor komponentët e ambientit të sistemit kryesor dhe izolimin në bazë të filtrimit të thirrjeve sistemore, ndërsa Flatpak krijon një konteiner të veçantë nga sistemi dhe operon me grupe të mëdha runtime, duke ofruar si varësi jo paketa, por ambiente sistemore të modelit (për shembull, të gjitha bibliotekat e nevojshme për funksionimin e programeve GNOME ose KDE).

Përveç ambientit sistemor të standardizuar (runtime), i cili instalohet përmes një depozite të veçantë, ofrohen varësi të tjera (bundle) të nevojshme për të funksionuar aplikacionin. Në total, runtime dhe bundle formojnë përbërësin e konteinerit, duke kaluar runtime-n e instaluar veçmas dhe që lidhet menjëherë me disa konteinerë, që lejon të shmangen dublikatat e skedarëve sistemorë të zakonshëm për konteinerët. Në një sistem mund të instalohet disa runtime të ndryshme (GNOME, KDE) ose disa versione të njëjtit runtime (GNOME 3.40, GNOME 3.42). Konteineri me aplikacionin si varësi përdor lidhjen vetëm me një runtime të caktuar, pa marrë parasysh paketa të veçanta që përbëjnë atë runtime. Të gjitha elementet e munguar paketohen drejtpërdrejt së bashku me aplikacionin. Në formimin e konteinerit, përmbajtja e runtime çmontohet si pjesë e /usr, ndërsa bundle monton në dosjen /app.

Përmbajtja e runtime dhe konteinerëve të aplikacioneve ndërtuar me teknologjinë OSTree, ku imazhi përditësohet në mënyrë atomike nga një depo si Git, duke lejuar përdorimin e metodave të kontrollit të versioneve për komponentët e distribucionit (p.sh., mund të kthehemi shpejt në një gjendje të kaluar). Paketat RPM përkthehen në depo OSTree përmes një shtrese të veçantë rpm-ostree. Instalimi dhe përditësimi i veçorive brenda mjedisit të punës nuk mbështetet, sistemi përditësohet jo në nivelin e veçorive të veçanta, por në mënyrë të plotë, duke ndryshuar atomikisht gjendjen e tij. Ofrihen mjete për aplikimin inkremental të përditësimeve, duke eliminuar nevojën për një zëvendësim të plotë të imazhit me çdo përditësim.

Mjedisi izoluar i krijuar është plotësisht i pavarur nga distribucioni i përdorur dhe, me konfigurimet e duhura të paketave, nuk ka akses në skedarët dhe proceset e përdoruesit apo të sistemit kryesor, nuk mund të drejtohet drejtpërdrejt te pajisja, përveç daljes përmes DRI, dhe kërkesave për nënstrukturën rrjet. Dalja grafike dhe organizimi i hyrjes realizohen përmes protokollit Wayland ose përmes kalimit të soketeve X11. Ndërveprimi me ambientin e jashtëm ndërt është mbi sistemin e shkëmbimit të mesazheve DBus dhe një API të veçantë Portals.

Për izolim përdoret një shtresë Bubblewrap dhe teknologji tradicionale të virtualizimit të konteinerëve për Linux, të bazuara në përdorimin e cgroups, hapësirave të emrave (namespaces), Seccomp dhe SELinux. Për daljen e zërit përdoret PulseAudio. Sidoqoftë, izolimi mund të çaktivizohet, gjë që e shfrytëzojnë zhvilluesit e shumë paketimeve të njohura për të marrë qasje të plotë në FSH dhe të gjitha pajisjet në sistem. Për shembull, paketat GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity dhe VLC shpërndahen me një mod të kufizuar të izolimit, që lë akses të plotë në katalogun e shtëpisë.

Në rastin e komprometimit të paketimeve me akses në katalogun e shtëpisë, pavarësisht nga prania e etiketë «sandboxed» në përshkrimin e paketës, sulmuesi për të ekzekutuar kodin e tij mjafton të ndryshojë skedarin ~/ .bashrc. Një çështje e veçantë është kontrolli mbi ndryshimet në paketat dhe besimi ndaj ndërtuesve të paketave, të cilët shpesh nuk janë të lidhur me projektin kryesor apo distribucione.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster