Verëffentlechung vum Flatpak 1.12.0 selbstänneg Package System

Eng nei stabil Branche vum Flatpak 1.12 Toolkit gouf publizéiert, deen e System ubitt fir selbststänneg Packagen ze bauen, déi net mat spezifesche Linux Verdeelungen gebonne sinn an an engem speziellen Container lafen, deen d'Applikatioun vum Rescht vum System isoléiert. Ënnerstëtzung fir Flatpak Packagen ze lafen gëtt fir Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux an Ubuntu geliwwert. Pakete mat Flatpak sinn am Fedora Repository abegraff an am gebiertege GNOME Applikatiounsmanager ënnerhalen.

Schlëssel Innovatiounen an der Flatpak 1.12 Branche:

  • Verbesserte Gestioun vun nested Sandbox Ëmfeld benotzt am Flatpak Package mam Client fir den Steam Spill Liwwerung Service. An nestéierte Sandboxen ass d'Schafe vu getrennten Hierarchien vun den /usr an /app Verzeichnungen erlaabt, déi am Steam benotzt gëtt fir Spiller an engem getrennten Container mat senger eegener /usr Partition ze starten, isoléiert vun der Ëmwelt mam Steam Client.
  • All Package Instanzen mat deemselwechten Applikatiounsidentifizéierer (App-ID) deelen /tmp an $XDG_RUNTIME_DIR Verzeichnisser. Optional, andeems Dir de "--allow=per-app-dev-shm" Fändel benotzt, kënnt Dir d'Benotzung vum /dev/shm gemeinsame Verzeechnes aktivéieren.
  • Verbesserte Ënnerstëtzung fir Text User Interface (TUI) Uwendungen wéi gdb.
  • Eng méi séier Implementatioun vum Kommando "ostree prune" gouf zum build-update-repo Utility bäigefüügt, optimiséiert fir mat Repositories am Archivmodus ze schaffen.
  • D'Vulnerabilitéit CVE-2021-41133 an der Ëmsetzung vum Portalmechanismus, assoziéiert mat dem Manktem u Blockéierung vun neie Systemruffen am Zesummenhang mat der Montéierung vun Partitionen an de seccomp Reegelen, gouf fixéiert. D'Schwachheet huet d'Applikatioun erlaabt eng nestéiert Sandkëscht ze kreéieren fir d'"Portal" Verifizéierungsmechanismen ze ëmgoen, déi benotzt gi fir Zougang zu Ressourcen ausserhalb vum Container z'organiséieren.

    Als Resultat kann en Ugräifer, andeems Dir Montéierungsbezunnen Systemruffen ausféiert, de Sandbox Isolatiounsmechanismus ëmgoen a vollen Zougang zum Inhalt vum Hostëmfeld kréien. D'Schwachheet kann nëmmen a Pakete exploitéiert ginn, déi Uwendungen mat direkten Zougang zu AF_UNIX Sockets ubidden, sou wéi déi benotzt vu Wayland, Pipewire, a Pipewire-Puls. An der Verëffentlechung 1.12.0 gouf d'Vulnerabilitéit net komplett eliminéiert, sou datt den Update 1.12.1 waarm op seng Fersen verëffentlecht gouf.

Denkt drun datt Flatpak et méiglech mécht fir Applikatioun Entwéckler d'Verdeelung vun hire Programmer ze vereinfachen, déi net an de reguläre Verdeelungsrepositories abegraff sinn, andeems een en Universalbehälter virbereet ouni separat Versammlungen fir all Verdeelung ze kreéieren. Fir Sécherheetsbewosst Benotzer erlaabt Flatpak eng zweifelhafte Applikatioun fir an engem Container ze lafen, andeems se nëmmen Zougang zu den Netzwierkfunktiounen a Benotzerdateien mat der Applikatioun verbonne ginn. Fir Benotzer déi interesséiert sinn wat Neies ass, erlaabt Flatpak Iech déi lescht Tester a stabile Verëffentlechungen vun Uwendungen z'installéieren ouni Ännerunge vum System ze maachen. Zum Beispill, Flatpak Packagen gi fir LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Fir d'Gréisst vum Package ze reduzéieren, enthält et nëmmen Applikatiounsspezifesch Ofhängegkeeten, an d'Basis System a Grafikbibliothéiken (GTK, Qt, GNOME a KDE Bibliothéiken, etc.) sinn als pluggbar typesch Runtime-Ëmfeld entworf. De Schlësselunterscheed tëscht Flatpak a Snap ass datt Snap d'Komponente vum Haaptsystem Ëmfeld an Isolatioun benotzt baséiert op System Uruff Filteren, wärend Flatpak e Container getrennt vum System erstellt a mat grousse Runtime Sets operéiert, déi typesch Packagen ubitt anstatt Packagen als Ofhängegkeeten. . System Ëmfeld (zum Beispill all Bibliothéiken déi néideg sinn fir GNOME oder KDE Programmer ze lafen).

Zousätzlech zu der typescher Systemëmfeld (Runtime) déi duerch e spezielle Repository installéiert ass, ginn zousätzlech Ofhängegkeeten (Bündel) erfuerderlech fir d'Applikatioun ze schaffen geliwwert. Am Ganzen bilden d'Runtime a Bündel d'Füllung vum Container, während d'Runtime getrennt installéiert ass an un e puer Container gläichzäiteg gebonnen ass, wat et méiglech mécht Duplikatioune vu Systemdateien ze vermeiden, déi allgemeng fir Container sinn. Ee System kann e puer verschidde Runtime installéiert hunn (GNOME, KDE) oder verschidde Versioune vun der selwechter Runtime (GNOME 3.40, GNOME 3.42). E Container mat enger Applikatioun als Ofhängegkeet benotzt Bindung nëmme fir eng spezifesch Runtime, ouni déi eenzel Packagen ze berücksichtegen, déi d'Runtime ausmaachen. All fehlend Elementer ginn direkt mat der Applikatioun verpackt. Wann de Container geformt ass, gëtt den Inhalt vun der Runtime als /usr Partition montéiert, an de Bündel ass am /app Verzeichnis montéiert.

D'Füllung vun de Runtime- an Applikatiounscontainer gëtt mat der OSTree Technologie geformt, an där d'Bild atomesch vun enger Git-ähnlecher Späichere aktualiséiert gëtt, wat Iech erlaabt Versiounskontrollmethoden op Verdeelungskomponenten z'applizéieren (zum Beispill kënnt Dir de System séier zréckrollen zum fréiere Staat). RPM Packagen ginn an den OSTree Repository iwwersat mat enger spezieller rpm-ostree Schicht. Separat Installatioun an Aktualiséierung vu Packagen am Aarbechtsëmfeld gëtt net ënnerstëtzt, de System gëtt net um Niveau vun eenzelne Komponenten aktualiséiert, awer als Ganzt, atomesch Ännerung vum Zoustand. Tools ginn zur Verfügung gestallt fir Updates inkrementell anzebezéien, eliminéiert d'Notzung fir d'Bild komplett mat all Update z'ersetzen.

Dat generéiert isoléiert Ëmfeld ass komplett onofhängeg vun der benotzter Verdeelung an huet, mat properem Package Astellungen, keen Zougang zu Dateien a Prozesser vum Benotzer oder dem Haaptsystem, kann net direkt op d'Ausrüstung zougräifen, ausser fir d'Ausgab iwwer DRI, an Zougang zu den Netzwierk Subsystem. Grafikausgang an Inputorganisatioun gi mam Wayland Protokoll implementéiert oder duerch X11 Socket Forwarding. D'Interaktioun mam externen Ëmfeld ass op Basis vum DBus Messagerie System an der spezieller Portals API gebaut.

Fir Isolatioun ginn d'Bubblewrap Layer an traditionell Linux Container Virtualiséierung Technologien benotzt, baséiert op der Benotzung vu cgroups, namespaces, Seccomp an SELinux. PulseAudio gëtt benotzt fir Toun auszeginn. An dësem Fall kann d'Isolatioun behënnert ginn, wat vun den Entwéckler vu ville populäre Packagen benotzt gëtt fir voll Zougang zum Dateiesystem an all Apparater am System ze kréien. Zum Beispill, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity, a VLC kommen mat engem limitéierten Isolatiounsmodus dee vollen Zougang zum Heemverzeechnes léisst.

Wann Pakete mat Zougang zum Heemverzeichnis kompromittéiert sinn, trotz der Präsenz vum "Sandboxed" Label an der Package Beschreiwung, brauch den Ugräifer nëmmen d'~/.bashrc Datei z'änneren fir säi Code auszeféieren. E getrennten Thema ass d'Kontroll vun Ännerungen u Packagen a Vertrauen an Package Builder, déi dacks net mam Haaptprojet oder Verdeelunge verbonne sinn.

Source: opennet.ru

Setzt e Commentaire