ИздавањС Π½Π° Bubblewrap 0.6, слој Π·Π° создавањС ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ срСдини

Достапно Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ срСдини Bubblewrap 0.6, ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС користи Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ΠΈ корисници. Π’ΠΎ пракса, Bubblewrap сС користи ΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Flatpak ΠΊΠ°ΠΊΠΎ слој Π·Π° Π΄Π° сС ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π°Ρ‚ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ лансирани ΠΎΠ΄ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅. ΠšΠΎΠ΄ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π΅ напишан Π²ΠΎ C ΠΈ сС дистрибуира ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° LGPLv2+.

Π—Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π°, сС користат Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π½Π° Linux, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° cgroups, имСнски простори, Seccomp ΠΈ SELinux. Π—Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Bubblewrap сС стартува со ΠΏΡ€Π°Π²Π° Π½Π° root (ΠΈΠ·Π²Ρ€ΡˆΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со Π·Π½Π°ΠΌΠ΅Π½Ρ†Π΅ suid) ΠΈ ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΈ рСсСтира ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ ќС сС ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°.

ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° кориснички имСнски простори Π²ΠΎ систСмот Π·Π° имСнски простор, ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° користитС сопствСно мноТСство Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ, Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°, бидСјќи Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ стандардно Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ дистрибуции (Bubblewrap Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½ ΠΊΠ°ΠΊΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° сопствСна ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° подмноТСство Π½Π° моТности Π·Π° кориснички простори Π·Π° имиња - Π·Π° Π΄Π° сС исклучат ситС кориснички ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° процСси ΠΎΠ΄ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π°, освСн Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚, сС користат Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ CLONE_NEWUSER ΠΈ CLONE_NEWPID). Π—Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π·Π°ΡˆΡ‚ΠΈΡ‚Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΠ΄ Bubblewrap сС стартуваат Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ PR_SET_NO_NEW_PRIVS, кој Π·Π°Π±Ρ€Π°Π½ΡƒΠ²Π° ΡΡ‚Π΅ΠΊΠ½ΡƒΠ²Π°ΡšΠ΅ Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ Π΅ присутно Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ setuid.

Π˜Π·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм сС постигнува со создавањС Π½ΠΎΠ² имСнски простор Π·Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎ Π΄ΠΈΡ„ΠΎΠ»Ρ‚, Π²ΠΎ кој сС ΠΊΡ€Π΅ΠΈΡ€Π° ΠΏΡ€Π°Π·Π½Π° root ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ tmpfs. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ FS ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ сС ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π΅Π½ΠΈ Π½Π° ΠΎΠ²Π°Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π° Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ β€žmount β€”bindβ€œ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π° сС стартува со ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° β€žbwrap β€”ro-bind /usr /usrβ€œ, ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π°Ρ‚Π° /usr сС ΠΏΡ€Π΅ΠΏΡ€Π°ΡœΠ° ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ систСм Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅). ΠœΡ€Π΅ΠΆΠ½ΠΈΡ‚Π΅ моТности сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π½Π° пристап Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° Ρ˜Π°ΠΌΠΊΠ°Ρ‚Π° со ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ½ΠΈΠΎΡ‚ стСк ΠΏΡ€Π΅ΠΊΡƒ Π·Π½Π°ΠΌΠ΅Π½Ρ†Π°Ρ‚Π° CLONE_NEWNET ΠΈ CLONE_NEWUTS.

ΠšΠ»ΡƒΡ‡Π½Π°Ρ‚Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ сличниот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Firejail, кој исто Ρ‚Π°ΠΊΠ° Π³ΠΎ користи ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ Π·Π° Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ setuid, Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π²ΠΎ Bubblewrap ΡΠ»ΠΎΡ˜ΠΎΡ‚ Π·Π° создавањС ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π³ΠΈ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° само ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ моТности ΠΈ ситС Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΈ Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со Ρ€Π°Π±ΠΎΡ‚Π½Π°Ρ‚Π° ΠΏΠΎΠ²Ρ€ΡˆΠΈΠ½Π° ΠΈ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Pulseaudio, ΠΏΡ€Π΅Ρ„Ρ€Π»Π΅Π½ Π½Π° страната Flatpak ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС сС рСсСтираат ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅. Firejail, ΠΎΠ΄ Π΄Ρ€ΡƒΠ³Π° страна, Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° ситС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ Π΅Π΄Π½Π° ΠΈΠ·Π²Ρ€ΡˆΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΡˆΡ‚ΠΎ Π³ΠΎ ΠΎΡ‚Π΅ΠΆΠ½ΡƒΠ²Π° Ρ€Π΅Π²ΠΈΠ·ΠΈΡ˜Π°Ρ‚Π° ΠΈ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° бСзбСдноста Π½Π° соодвСтно Π½ΠΈΠ²ΠΎ.

Π’ΠΎ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° систСмот Π·Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ Meson. ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ со Autotools засСга Π΅ Π·Π°Π΄Ρ€ΠΆΠ°Π½Π°, Π½ΠΎ ќС Π±ΠΈΠ΄Π΅ отстранСта Π²ΠΎ ΠΈΠ΄Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.
  • Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° ΠΎΠΏΡ†ΠΈΡ˜Π° β€ž--add-seccompβ€œ Π·Π° додавањС повСќС ΠΎΠ΄ Π΅Π΄Π½Π° seccomp ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. Π”ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ја Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° β€ž--seccompβ€œ, ќС сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈ само послСдниот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€.
  • Π“Π»Π°Π²Π½Π° Π³Ρ€Π°Π½ΠΊΠ° Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ git Π΅ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π° Π²ΠΎ main.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π΄Π΅Π»ΡƒΠΌΠ½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° REUSE, која Π³ΠΎ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡƒΠ²Π° процСсот Π½Π° ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° ΠΈ авторскитС ΠΏΡ€Π°Π²Π°. ΠœΠ½ΠΎΠ³Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со ΠΊΠΎΠ΄ ΠΈΠΌΠ°Π°Ρ‚ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ заглавија Π½Π° SPDX-License-Identifier. Π‘Π»Π΅Π΄Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° упатствата REUSE Π³ΠΎ олСснува автоматското ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ која Π»ΠΈΡ†Π΅Π½Ρ†Π° сС однСсува Π½Π° ΠΊΠΎΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° врСдноста Π½Π° Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΎΡ‚ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија (argc) ΠΈ спровСдСн ΠΈΠ·Π»Π΅Π· Π·Π° ΠΈΡ‚Π΅Π½ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π°ΠΊΠΎ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΎΡ‚ Π΅ Π½ΡƒΠ»Π°. ΠŸΡ€ΠΎΠΌΠ΅Π½Π°Ρ‚Π° ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС Π±Π»ΠΎΠΊΠΈΡ€Π°Π°Ρ‚ бСзбСдноснитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ€Π°ΠΊΡƒΠ²Π°ΡšΠ΅ со усвоСнитС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ CVE-2021-4034 Π²ΠΎ Polkit.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€