Google Project Zero ํ์ ์ฐ๊ตฌ์๋ค์ Linux ์ปค๋์ tty ํ์ ์์คํ ์์ TIOCSPGRP ioctl ํธ๋ค๋ฌ ๊ตฌํ์ ์ทจ์ฝ์ (CVE-2020-29661)์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ณต๊ฐํ๊ณ , ๊ทธ๋ฌํ ๊ฒ์ ์ฐจ๋จํ ์ ์๋ ๋ณดํธ ๋ฉ์ปค๋์ฆ๋ ์์ธํ ์กฐ์ฌํ์ต๋๋ค. ์ทจ์ฝ์ .
๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๋ฒ๊ทธ๋ ๋น ๋ฅด๋ฉด ์ง๋ํด 3์ 5.9.13์ผ ๋ฆฌ๋ ์ค ์ปค๋์์ ์์ ๋๋ค. ์ด ๋ฌธ์ ๋ ์ปค๋ ๋ฒ์ 2020๊น์ง ๋ํ๋์ง๋ง ๋๋ถ๋ถ์ ๋ฐฐํฌํ์ ์๋ ์ ์ ์๋ ์ปค๋ ํจํค์ง ์ ๋ฐ์ดํธ(Debian, RHEL, SUSE, Ubuntu, Fedora, Arch)์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. TIOCGSID ioctl ํธ์ถ์ ๊ตฌํ์์ ์ ์ฌํ ์ทจ์ฝ์ (CVE-29660-XNUMX)์ด ๋์์ ๋ฐ๊ฒฌ๋์์ง๋ง ๋ชจ๋ ๊ณณ์์ ์์ ๋์์ต๋๋ค.
์ด ๋ฌธ์ ๋ Drivers/tty/tty_jobctrl.c ์ฝ๋์์ ๊ฒฝ์ ์กฐ๊ฑด์ ์ ๋ฐํ๋ ์ ๊ธ ๋ฒ๊ทธ๋ก ์ธํด ๋ฐ์ํ๋ฉฐ, ์ด๋ ioct ํธ์ถ TIOCSPGRP๋ฅผ ํตํด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ ์ฉ๋๋ ์ฌ์ฉ ํ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ์กฐ๊ฑด์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ปค๋ 10-4.19.0-amd13๋ฅผ ์ฌ์ฉํ๋ Debian 64์์ ๊ถํ ์์ค์ปฌ๋ ์ด์ ์ ๋ํด ์๋ํ๋ ์ต์คํ๋ก์์ด ์์ฐ๋์์ต๋๋ค.
๋์์ ๊ฒ์๋ ๊ธฐ์ฌ์์๋ ์๋ํ๋ ์ต์คํ๋ก์์ ์์ฑํ๋ ๊ธฐ์ ์ด ์๋๋ผ ์ด๋ฌํ ์ทจ์ฝ์ฑ์ผ๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํด ์ปค๋์ ์กด์ฌํ๋ ๋๊ตฌ์ ์ค์ ์ ๋ก๋๋ค. ๊ฒฐ๋ก ์ ๊ณ ๋ฌด์ ์ด์ง ์์ต๋๋ค. ํ์ ๋ฉ๋ชจ๋ฆฌ ๋ถํ ๋ฐ ํด์ ํ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ์ ์ด์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง๊ณ CFI(Control Flow Integrity) ๊ธฐ๋ฐ ๋ณดํธ, ์ ์ฉ ์ฐจ๋จ์ผ๋ก ์ด์ด์ง๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๊ณต๊ฒฉ ํ๋ฐ๋ถ์๋ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.
์ฅ๊ธฐ์ ์ผ๋ก ์ฐจ์ด๋ฅผ ๋ง๋ค ์ ์๋ ๊ฒ์ ๊ณ ๋ คํ ๋ ์ํ ๊ฒ์ฌ๊ธฐ์ ๋น๋ ๋จ๊ณ์์ ๊ณ ๊ธ ์ ์ ๋ถ์๊ธฐ ์ฌ์ฉ ๋๋ ํ๋ถํ ์ฃผ์(์: Checked C)์ด ์๋ Rust ๋ฐ C ๋ฐฉ์ธ๊ณผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ธ์ด ์ฌ์ฉ ๋์ ๋๋ ์ ๊ธ ์ฅ์น, ๊ฐ์ฒด ๋ฐ ํฌ์ธํฐ. ๋ณดํธ ๋ฐฉ๋ฒ ์ค panic_on_oops ๋ชจ๋ ํ์ฑํ, ์ปค๋ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋๋ก ์ ํ, seccomp์ ๊ฐ์ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ์์คํ
ํธ์ถ์ ๋ํ ์ก์ธ์ค ์ ํ๋ ์ธ๊ธ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru