ИздавањС Π½Π° 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Β» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.
  • Π’Π΅Ρ‚ΠΊΠ° master Π² git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² main.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцификации REUSE, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ процСсс указания свСдСний ΠΎ лицСнзиях ΠΈ авторских ΠΏΡ€Π°Π²Π°Ρ…. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ SPDX-License-Identifier. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ рСкомСндациям REUSE позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ какая лицСнзия примСняСтся ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠ· частСй ΠΊΠΎΠ΄Π° прилоТСния.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° значСния счётчика Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (argc) ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ экстрСнный Π²Ρ‹Ρ…ΠΎΠ΄ Π² случаС Ссли счётчик Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ. ИзмСнСниС позволяСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CVE-2021-4034 Π² Polkit.

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

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