Ingurune isolatuetako lana antolatzeko tresnen bertsioa eskuragarri dago Bubblewrap 0.6, normalean pribilegiorik gabeko erabiltzaileen aplikazio indibidualak mugatzeko erabiltzen dena. Praktikan, Flatpak proiektuak Bubblewrap erabiltzen du geruza gisa paketeetatik abiarazitako aplikazioak isolatzeko. Proiektuaren kodea C-n idatzita dago eta LGPLv2+ lizentziapean banatzen da.
Isolatzeko, Linux edukiontzien birtualizazio teknologia tradizionalak erabiltzen dira, cgroups, namespaces, Seccomp eta SELinux-en erabileran oinarrituta. Edukiontzi bat konfiguratzeko pribilegiozko eragiketak egiteko, Bubblewrap abiarazten da root eskubideekin (suid bandera duen fitxategi exekutagarria) eta, ondoren, pribilegioak berrezartzen dira edukiontzia hasieratu ondoren.
Erabiltzaileen izen-eremuen sisteman aktibatzea, edukiontzietan zure identifikatzaile-multzo bereizia erabiltzeko aukera ematen duena, ez da beharrezkoa funtzionatzeko, ez baita lehenespenez funtzionatzen banaketa askotan (Bubblewrap-a baten ezarpen suid mugatu gisa kokatzen da. erabiltzailearen izen-espazioen gaitasunen azpimultzoa - erabiltzaile eta prozesu-identifikatzaile guztiak ingurunetik baztertzeko, oraingoa izan ezik, CLONE_NEWUSER eta CLONE_NEWPID moduak erabiltzen dira). Babes gehigarrirako, Bubblewrap-en exekutatzen diren programak PR_SET_NO_NEW_PRIVS moduan abiarazten dira, eta horrek pribilegio berriak eskuratzea debekatzen du, adibidez, setuid bandera badago.
Fitxategi-sistemaren mailan isolatzea lehenespenez muntaketa-izen-espazio berri bat sortuz lortzen da, eta bertan tmpfs erabiliz erro-partizio huts bat sortzen da. Beharrezkoa bada, kanpoko FS partizioak partizio honi eransten zaizkio βmount βbindβ moduan (adibidez, βbwrap βro-bind /usr /usrβ aukerarekin abiarazten denean, /usr partizioa sistema nagusitik birbidaltzen da. irakurtzeko soilik moduan). Sare-gaitasunak sare-pila isolatuta duen loopback interfazera atzitzeko mugatuta daude CLONE_NEWNET eta CLONE_NEWUTS banderen bidez.
Firejail antzeko proiektuaren gakoa, setuid abiarazte eredua ere erabiltzen duena, Bubblewrap-en edukiontziak sortzeko geruzak beharrezko gutxieneko gaitasun guztiak eta aplikazio grafikoak exekutatzeko, mahaigainarekin elkarreragiten eta eskaerak iragazteko beharrezkoak diren funtzio aurreratu guztiak barne hartzen dituela da. Pulseaudiora, Flatpak-era transferitu eta pribilegioak berrezarri ondoren exekutatu. Firejail-ek, berriz, erlazionatutako funtzio guztiak fitxategi exekutagarri batean konbinatzen ditu, eta horrek zaildu egiten du segurtasun maila egokian ikuskatzea eta mantentzea.
Argitalpen berrian:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Meson. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Autotools ΠΏΠΎΠΊΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½Π°, Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ².
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ Β«βadd-seccompΒ» Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ seccomp. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ Β«βseccompΒ» Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ.
- ΠΠ΅ΡΠΊΠ° master Π² git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² main.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ°ΡΡΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ REUSE, ΡΠ½ΠΈΡΠΈΡΠΈΡΡΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡ ΠΈ Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π²Π°Ρ . ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ SPDX-License-Identifier. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ REUSE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (argc) ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΊΡΡΡΠ΅Π½Π½ΡΠΉ Π²ΡΡ ΠΎΠ΄ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΡΡΡΡΠΈΠΊ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CVE-2021-4034 Π² Polkit.
Iturria: opennet.ru