Grsecurity ํ๋ก์ ํธ๋ ๋ฌด์กฐ๊ฑด ์ ๋ฐฉํฅ ์ ํ ์์ ํ ์ถ์ธก ๋ช ๋ น ์คํ๊ณผ ๊ด๋ จ๋ AMD ํ๋ก์ธ์์ ์๋ก์ด ์ทจ์ฝ์ (CVE-2021-26341)์ ๋ํ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ๋ํ ์ธ๋ถ ์ ๋ณด์ ์์ฐ์ ๊ฒ์ํ์ต๋๋ค. ๊ณต๊ฒฉ์ด ์ฑ๊ณตํ๋ฉด ์ทจ์ฝ์ ์ผ๋ก ์ธํด ๋ฉ๋ชจ๋ฆฌ์ ์์ ์์ญ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฐ๊ตฌ์๋ค์ ePBF ์ปค๋ ํ์ ์์คํ ์์ ๊ถํ ์๋ ์ฝ๋ ์คํ์ ํตํด ์ฃผ์ ๋ ์ด์์์ ๊ฒฐ์ ํ๊ณ KASLR ๋ณดํธ ๋ฉ์ปค๋์ฆ(์ปค๋ ๋ฉ๋ชจ๋ฆฌ ๋๋คํ)์ ์ฐํํ ์ ์๋ ์ต์คํ๋ก์์ ์ค๋นํ์ต๋๋ค. ์ปค๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ฉ์ ์ ์ถํ ์ ์๋ ๋ค๋ฅธ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค๋ ๋ฐฐ์ ๋์ง ์์ต๋๋ค.
์ด ์ทจ์ฝ์ฑ์ผ๋ก ์ธํด ์ถ์ธก ์คํ ์ค์ ํ๋ก์ธ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ํ ๋ช ๋ น(SLS, ์ง์ ์ถ์ธก)์ ๋ฐ๋ผ ๋ช ๋ น์ ์ถ์ธก์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ์กฐ๊ฑด์ ๋ง๋ค ์ ์์ต๋๋ค. ๋์์ ์ด๋ฌํ ์ต์ ํ๋ ์กฐ๊ฑด๋ถ ์ ํ ์ฐ์ฐ์๋ฟ๋ง ์๋๋ผ JMP, RET ๋ฐ CALL๊ณผ ๊ฐ์ ์ง์ ์ ์ธ ๋ฌด์กฐ๊ฑด ์ ํ๋ฅผ ์์ํ๋ ๋ช ๋ น์ด์๋ ์ ์ฉ๋ฉ๋๋ค. ๋ฌด์กฐ๊ฑด ๋ถ๊ธฐ ๋ช ๋ น ๋ค์๋ ์คํ์ ๋ชฉ์ ์ผ๋ก ํ์ง ์๋ ์์์ ๋ฐ์ดํฐ๊ฐ ์ฌ ์ ์์ต๋๋ค. ๋ถ๊ธฐ๊ฐ ๋ค์ ๋ช ๋ น์ ์คํ์ ์๋ฏธํ์ง ์๋๋ค๊ณ ํ๋จํ ํ ํ๋ก์ธ์๋ ๋จ์ํ ์ํ๋ฅผ ๋กค๋ฐฑํ๊ณ ์ถ์ธก ์คํ์ ๊ณ ๋ คํ์ง ์์ง๋ง ๋ช ๋ น ์คํ์ ํ์ ์ ์ผ๋ฐ ์บ์์ ๋จ์ ๋ถ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ด๋ ์ฑ๋ ๊ฒ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
Spectre-v1 ์ทจ์ฝ์ ์ ์ ์ฉํ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณต๊ฒฉ์ ํ๋ ค๋ฉด ์์ธก ์คํ์ผ๋ก ์ด์ด์ง๋ ํน์ ๋ช ๋ น ์ํ์ค(๊ฐ์ ฏ)๊ฐ ์ปค๋์ ์์ด์ผ ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ทจ์ฝ์ ์ ์ฐจ๋จํ๋ ๊ฒ์ ์ฝ๋์์ ๊ทธ๋ฌํ ๊ฐ์ ฏ์ ์๋ณํ๊ณ ์์ธก ์คํ์ ์ฐจ๋จํ๋ ์ถ๊ฐ ์ง์นจ์ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ๊ท๊ฒฐ๋ฉ๋๋ค. ์์ธก ์คํ ์กฐ๊ฑด์ eBPF ๊ฐ์ ๋จธ์ ์์ ์คํ๋๋ ๊ถํ์ด ์๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ์์ฑํ ์๋ ์์ต๋๋ค. eBPF๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ฏ์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ์ ์ฐจ๋จํ๋ ค๋ฉด ์์คํ ์์ eBPF์ ๋ํ ๊ถํ ์๋ ์ก์ธ์ค๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์ด ์ข์ต๋๋ค("sysctl -w kernel.unprivileged_bpf_disabled=1").
์ด ์ทจ์ฝ์ ์ 1์ธ๋ ๋ฐ 2์ธ๋ AMD EPYC ๋ฐ AMD Ryzen Threadripper ํ๋ก์ธ์์ AMD Ryzen 2000/3000/4000/5000, AMD Athlon, AMD Athlon X, AMD Ryzen Threadripper๋ฅผ ํฌํจํ Zen3 ๋ฐ ZenXNUMX ๋ง์ดํฌ๋ก์ํคํ
์ฒ ๊ธฐ๋ฐ ํ๋ก์ธ์์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. PRO ๋ฐ APU ์๋ฆฌ์ฆ A. ์ถ์ธก์ฑ ๋ช
๋ น์ด ์คํ์ ์ฐจ๋จํ๊ธฐ ์ํด ๋ถ๊ธฐ ์ฐ์ฐ(RET, JMP, CALL) ํ INTXNUMX ๋๋ LFENCE ๋ช
๋ น์ด๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ถ์ฒ : opennet.ru