Spectre v6.2 ๊ณต๊ฒฉ ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” Linux 2 ์ปค๋„์˜ ์ทจ์•ฝ์„ฑ

Linux 6.2 ์ปค๋„(CVE-2023-1998)์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ SMT ๋˜๋Š” ํ•˜์ดํผ ์Šค๋ ˆ๋”ฉ ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰๋˜์ง€๋งŒ ๋™์ผํ•œ ๋ฌผ๋ฆฌ์  ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด์—์„œ ์‹คํ–‰๋˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” Spectre v2 ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์ทจ์•ฝ์ ์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค๋„ ์ด ์ทจ์•ฝ์„ฑ์€ ํด๋ผ์šฐ๋“œ ์‹œ์Šคํ…œ์˜ ๊ฐ€์ƒ ๋จธ์‹  ๊ฐ„์— ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” Linux 6.2 ์ปค๋„์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ Spectre v2์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ์ ์šฉํ•  ๋•Œ ์ƒ๋‹นํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๋„๋ก ์„ค๊ณ„๋œ ์ตœ์ ํ™”์˜ ์ž˜๋ชป๋œ ๊ตฌํ˜„์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์€ Linux 6.3 ์ปค๋„์˜ ์‹คํ—˜์  ๋ถ„๊ธฐ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ Spectre ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค๋Š” prctl PR_SET_SPECULATION_CTRL์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก ๋ช…๋ น ์‹คํ–‰์„ ์„ ํƒ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ seccomp ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ํ•„ํ„ฐ๋ง์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•œ ์—ฐ๊ตฌ์›์— ๋”ฐ๋ฅด๋ฉด prctl์„ ํ†ตํ•œ spectre-BTI ๊ณต๊ฒฉ ์ฐจ๋‹จ ๋ชจ๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  6.2 ์ปค๋„์˜ ์ž˜๋ชป๋œ ์ตœ์ ํ™”๋กœ ์ธํ•ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๋Œ€ํ˜• ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž์˜ ๊ฐ€์ƒ ๋จธ์‹ ์ด ์ ์ ˆํ•œ ๋ณดํ˜ธ ์—†์ด ๋ฐฉ์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ "spectre_v6.2=ibrs" ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํŒ…๋˜๋Š” 2 ์ปค๋„์ด ์žˆ๋Š” ์ผ๋ฐ˜ ์„œ๋ฒ„์—์„œ๋„ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ทจ์•ฝ์ ์˜ ๋ณธ์งˆ์€ IBRS ๋˜๋Š” eIBRS ๋ณดํ˜ธ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•  ๋•Œ ๋™์‹œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ธฐ์ˆ (SMT ๋˜๋Š” Hyper-Threading)์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ˆ„์ถœ์„ ์ฐจ๋‹จํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ STIBP(Single Thread Indirect Branch Predictors) ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์‚ฌ์šฉ์„ ๋น„ํ™œ์„ฑํ™”ํ•œ ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. ). ๋™์‹œ์— eIBRS ๋ชจ๋“œ๋งŒ ์Šค๋ ˆ๋“œ ๊ฐ„ ๋ˆ„์ถœ์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ IBRS ๋ชจ๋“œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ œ์–ด๊ฐ€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์œผ๋กœ ๋ฐ˜ํ™˜๋  ๋•Œ ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ ๋กœ ๋…ผ๋ฆฌ ์ฝ”์–ด ๊ฐ„ ๋ˆ„์ถœ์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ์ œ๊ณตํ•˜๋Š” IBRS ๋น„ํŠธ๊ฐ€ ์ง€์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์Šค๋ ˆ๋“œ๊ฐ€ Spectre v2 ํด๋ž˜์Šค์˜ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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