Bubblewrap 0.6 ์ถœ์‹œ, ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ ˆ์ด์–ด

๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์˜ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ๋ฆด๋ฆฌ์Šค Bubblewrap 0.6์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž์˜ ๊ฐœ๋ณ„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ œํ•œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ Bubblewrap์€ Flatpak ํ”„๋กœ์ ํŠธ์—์„œ ํŒจํ‚ค์ง€์—์„œ ์‹œ์ž‘๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฒฉ๋ฆฌํ•˜๋Š” ๋ ˆ์ด์–ด๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ LGPLv2+ ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

๊ฒฉ๋ฆฌ๋ฅผ ์œ„ํ•ด cgroup, ๋„ค์ž„์ŠคํŽ˜์ด์Šค, Seccomp ๋ฐ SELinux ์‚ฌ์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ธฐ์กด Linux ์ปจํ…Œ์ด๋„ˆ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ถŒํ•œ ์žˆ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Bubblewrap์€ ๋ฃจํŠธ ๊ถŒํ•œ(suid ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ๋Š” ์‹คํ–‰ ํŒŒ์ผ)์œผ๋กœ ์‹œ์ž‘๋œ ๋‹ค์Œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ดˆ๊ธฐํ™”๋œ ํ›„ ๊ถŒํ•œ์„ ์žฌ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์—์„œ ์ž์‹ ๋งŒ์˜ ๋ณ„๋„ ์‹๋ณ„์ž ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ™œ์„ฑํ™”๋Š” ์ž‘์—…์— ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋งŽ์€ ๋ฐฐํฌํŒ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(Bubblewrap์€ ์ œํ•œ๋œ suid ๊ตฌํ˜„์œผ๋กœ ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค). ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ธฐ๋Šฅ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ - ํ˜„์žฌ ํ™˜๊ฒฝ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž ๋ฐ ํ”„๋กœ์„ธ์Šค ์‹๋ณ„์ž๋ฅผ ํ™˜๊ฒฝ์—์„œ ์ œ์™ธํ•˜๋ ค๋ฉด CLONE_NEWUSER ๋ฐ CLONE_NEWPID ๋ชจ๋“œ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด Bubblewrap์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ PR_SET_NO_NEW_PRIVS ๋ชจ๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด setuid ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ ๊ถŒํ•œ ํš๋“์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ์‹œ์Šคํ…œ ์ˆ˜์ค€์˜ ๊ฒฉ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ tmpfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นˆ ๋ฃจํŠธ ํŒŒํ‹ฐ์…˜์ด ์ƒ์„ฑ๋˜๋Š” ์ƒˆ๋กœ์šด ๋งˆ์šดํŠธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์™ธ๋ถ€ FS ํŒŒํ‹ฐ์…˜์ด "mount โ€”bind" ๋ชจ๋“œ์—์„œ ์ด ํŒŒํ‹ฐ์…˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "bwrap โ€”ro-bind /usr /usr" ์˜ต์…˜์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉด /usr ํŒŒํ‹ฐ์…˜์ด ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์—์„œ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ). ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์€ CLONE_NEWNET ๋ฐ CLONE_NEWUTS ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•œ ๋„คํŠธ์›Œํฌ ์Šคํƒ ๊ฒฉ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฃจํ”„๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

setuid ์‹œ์ž‘ ๋ชจ๋ธ๋„ ์‚ฌ์šฉํ•˜๋Š” ์œ ์‚ฌํ•œ Firejail ํ”„๋กœ์ ํŠธ์™€์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ Bubblewrap์˜ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๊ณ„์ธต์—๋Š” ํ•„์š”ํ•œ ์ตœ์†Œ ๊ธฐ๋Šฅ๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ทธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰, ๋ฐ์Šคํฌํ†ฑ๊ณผ ์ƒํ˜ธ ์ž‘์šฉ ๋ฐ ์š”์ฒญ ํ•„ํ„ฐ๋ง์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Pulseaudio๋กœ, Flatpak ์ธก์œผ๋กœ ์ „์†ก๋˜์–ด ๊ถŒํ•œ์ด ์žฌ์„ค์ •๋œ ํ›„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Firejail์€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ์‹คํ–‰ ํŒŒ์ผ์— ๊ฒฐํ•ฉํ•˜๋ฏ€๋กœ ์ ์ ˆํ•œ ์ˆ˜์ค€์˜ ๋ณด์•ˆ์„ ๊ฐ์‚ฌํ•˜๊ณ  ์œ ์ง€ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • Meson ์กฐ๋ฆฝ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Autotools๋ฅผ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ ์ง€์›์€ ํ˜„์žฌ ์œ ์ง€๋˜์ง€๋งŒ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ๋‘˜ ์ด์ƒ์˜ seccomp ํ”„๋กœ๊ทธ๋žจ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด "--add-seccomp" ์˜ต์…˜์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. "--seccomp" ์˜ต์…˜์„ ๋‹ค์‹œ ์ง€์ •ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ ์ ์šฉ๋œ๋‹ค๋Š” ๊ฒฝ๊ณ ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • git ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด main์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ผ์ด์„ผ์Šค ๋ฐ ์ €์ž‘๊ถŒ ์ •๋ณด ์ง€์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ฉํ•˜๋Š” REUSE ์‚ฌ์–‘์— ๋Œ€ํ•œ ๋ถ€๋ถ„ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์ฝ”๋“œ ํŒŒ์ผ์—๋Š” SPDX-License-Identifier ํ—ค๋”๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. REUSE ์ง€์นจ์„ ๋”ฐ๋ฅด๋ฉด ์–ด๋–ค ๋ผ์ด์„ ์Šค๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์˜ ์–ด๋–ค ๋ถ€๋ถ„์— ์ ์šฉ๋˜๋Š”์ง€ ์ž๋™์œผ๋กœ ์‰ฝ๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ช…๋ น์ค„ ์ธ์ˆ˜ ์นด์šดํ„ฐ(argc)์˜ ๊ฐ’ ํ™•์ธ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์นด์šดํ„ฐ๊ฐ€ 2021์ธ ๊ฒฝ์šฐ ๋น„์ƒ ์ข…๋ฃŒ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ Polkit์˜ CVE-4034-XNUMX์™€ ๊ฐ™์ด ์ „๋‹ฌ๋œ ๋ช…๋ น์ค„ ์ธ์ˆ˜์˜ ์ž˜๋ชป๋œ ์ฒ˜๋ฆฌ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€