๋ก์ปฌ ์ฌ์ฉ์๊ฐ ํธ์คํธ ์์คํ ์ ๋ฃจํธ๊ฐ ๋ ์ ์๋ ์ทจ์ฝ์ (CVE-2022-31214)์ด Firejail Application Sandboxing Tool์์ ๋ฐ๊ฒฌ๋์์ต๋๋ค. firejail ์ ํธ๋ฆฌํฐ๊ฐ ์ค์น๋ openSUSE, Debian, Arch, Gentoo ๋ฐ Fedora์ ํ์ฌ ๋ฆด๋ฆฌ์ค์์ ํ ์คํธ๋ ๊ณต๊ฐ ๋๋ฉ์ธ์์ ์๋ํ๋ ์ต์คํ๋ก์์ด ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ firejail 0.9.70 ๋ฆด๋ฆฌ์ค์์ ์์ ๋์์ต๋๋ค. ๋ณดํธ๋ฅผ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ (/etc/firejail/firejail.config)์์ "join no" ๋ฐ "force-nonewprivs yes" ๋งค๊ฐ ๋ณ์๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
Firejail์ ๊ฒฉ๋ฆฌ๋ฅผ ์ํด Linux์์ ๋ค์์คํ์ด์ค ๋ฉ์ปค๋์ฆ, AppArmor ๋ฐ ์์คํ ํธ์ถ ํํฐ๋ง(seccomp-bpf)์ ์ฌ์ฉํ์ง๋ง ๊ฒฉ๋ฆฌ๋ ์์์ ์ค์ ํ๋ ค๋ฉด ์์น๋ ๊ถํ์ด ํ์ํ๋ฉฐ, ์ด๋ suid ๋ฃจํธ ํ๋๊ทธ ์ ํธ๋ฆฌํฐ์ ์ฐ๊ฒฐํ๊ฑฐ๋ sudo๋ก ์คํํ์ฌ ์ป์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ "--join=" ์ต์ ๋ ผ๋ฆฌ์ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. โ๋ ์คํ ์ค์ธ ํ๋ก์ธ์ค ID๋ก ํ๊ฒฝ์ ์ ์ํ์ฌ ์ด๋ฏธ ์คํ ์ค์ธ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ(์๋๋ฐ์ค ํ๊ฒฝ์ ๋ก๊ทธ์ธ ๋ช ๋ น๊ณผ ์ ์ฌ)์ ์ฐ๊ฒฐํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ถํ์ ์ญ์ ํ๊ธฐ ์ ์ Firejail์ ์ง์ ๋ ํ๋ก์ธ์ค์ ๊ถํ์ ๊ฐ์งํ๊ณ "--join" ์ต์ ์ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ ์ฐธ์ฌํ๋ ์ ํ๋ก์ธ์ค์ ์ ์ฉํฉ๋๋ค.
์ฐ๊ฒฐํ๊ธฐ ์ ์ Firejail ํ๊ฒฝ์์ ์ง์ ๋ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค. ์ด ๊ฒ์ฌ๋ /run/firejail/mnt/join ํ์ผ์ ์กด์ฌ๋ฅผ ํ๊ฐํฉ๋๋ค. ์ทจ์ฝ์ ์ ์ ์ฉํ๊ธฐ ์ํด ๊ณต๊ฒฉ์๋ ๋ง์ดํธ ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฉ๋ฆฌ๋์ง ์์ ๊ฐ์์ Firejail ํ๊ฒฝ์ ์๋ฎฌ๋ ์ด์ ํ ๋ค์ "-join" ์ต์ ์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ค์ ์ด ์ ํ๋ก์ธ์ค(prctl NO_NEW_PRIVS)์์ ์ถ๊ฐ ๊ถํ ํ๋ ๊ธ์ง๋ฅผ ํ์ฑํํ์ง ์์ผ๋ฉด Firejail์ ์ฌ์ฉ์๋ฅผ ๊ฐ์ ํ๊ฒฝ์ ์ฐ๊ฒฐํ๊ณ ์ด๊ธฐํ์ ์ฌ์ฉ์ ์๋ณ์(์ฌ์ฉ์ ๋ค์์คํ์ด์ค)์ ์ฌ์ฉ์ ๋ค์์คํ์ด์ค ์ค์ ์ ์ ์ฉํ๋ ค๊ณ ์๋ํฉ๋๋ค. ํ๋ก์ธ์ค(PID 1).
๊ฒฐ๊ณผ์ ์ผ๋ก "firejail --join"์ ํตํด ์ฐ๊ฒฐ๋ ํ๋ก์ธ์ค๋ ๋ณ๊ฒฝ๋์ง ์์ ๊ถํ์ผ๋ก ์ฌ์ฉ์์ ์๋ ์ฌ์ฉ์ ID ๋ค์์คํ์ด์ค์์ ์ข
๋ฃ๋์ง๋ง ๊ณต๊ฒฉ์๊ฐ ์์ ํ ์ ์ดํ๋ โโ๋ค๋ฅธ ๋ง์ดํธ ์ง์ ๊ณต๊ฐ์์ ์ข
๋ฃ๋ฉ๋๋ค. ๋ฌด์๋ณด๋ค๋ ๊ณต๊ฒฉ์๋ ์์ ์ด ์์ฑํ ๋ง์ดํธ ์ง์ ๊ณต๊ฐ์์ setuid-root ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์๋ฅผ ๋ค์ด ํ์ผ ๊ณ์ธต ๊ตฌ์กฐ์์ /etc/sudoers ์ค์ ๋๋ PAM ๋งค๊ฐ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๊ณ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ฃจํธ๋ก ๋ช
๋ น์ ์คํํ ์ ์์ต๋๋ค. sudo ๋๋ su ์ ํธ๋ฆฌํฐ.
์ถ์ฒ : opennet.ru