๊ถŒํ•œ ์ƒ์Šน์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” Linux ์ปค๋„ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์˜ ๊ฒฝ์Ÿ ์กฐ๊ฑด

ํ•œ๋•Œ Spectre ๋ฐ Meltdown ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•œ Google Project Zero ํŒ€์˜ Jann Horn์€ Linux ์ปค๋„ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์˜ ์ทจ์•ฝ์ (CVE-2021-4083)์„ ์•…์šฉํ•˜๋Š” ๊ธฐ์ˆ ์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ Unix ์†Œ์ผ“์—์„œ ํŒŒ์ผ ์„ค๋ช…์ž๋ฅผ ์ •๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์Ÿ ์กฐ๊ฑด์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋ฉฐ ์ž ์žฌ์ ์œผ๋กœ ๊ถŒํ•œ์ด ์—†๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ปค๋„ ์ˆ˜์ค€์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๊ฒฝ์Ÿ ์กฐ๊ฑด์ด ๋ฐœ์ƒํ•˜๋Š” ๊ธฐ๊ฐ„์ด ์‹ค์ œ ๊ณต๊ฒฉ์„ ์ƒ์„ฑํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ์งง์€ ๊ฒƒ์œผ๋กœ ์ถ”์ •๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฐ๊ตฌ ์ž‘์„ฑ์ž๋Š” ์ฒ˜์Œ์—๋Š” ์ด๋Ÿฌํ•œ ํšŒ์˜์ ์ธ ์ทจ์•ฝ์ ์กฐ์ฐจ๋„ ๊ณต๊ฒฉ ์ž‘์„ฑ์ž๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์‹ค์ œ ๊ณต๊ฒฉ์˜ ์†Œ์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ธฐ์ˆ ๊ณผ ์‹œ๊ฐ„. Yann Horn์€ ์„ ์กฐ ์กฐ์ž‘์˜ ๋„์›€์œผ๋กœ close() ๋ฐ fget() ํ•จ์ˆ˜๋ฅผ ๋™์‹œ์— ํ˜ธ์ถœํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ์™„์ „ํžˆ ์•…์šฉ ๊ฐ€๋Šฅํ•œ use-after-free ์ทจ์•ฝ์ ์œผ๋กœ ์ค„์ด๊ณ  ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„ ๋‚ด๋ถ€ ๊ตฌ์กฐ.

close()์™€ fget()์„ ๋™์‹œ์— ํ˜ธ์ถœํ•˜๋ฉด์„œ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ๋‹ซ๋Š” ๊ณผ์ •์—์„œ ๊ฒฝ์Ÿ ์กฐ๊ฑด์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. fget()์ด ์‹คํ–‰๋˜๊ธฐ ์ „์— close()์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” refcount์— ๋”ฐ๋ผ ํŒŒ์ผ ๊ตฌ์กฐ์— ์™ธ๋ถ€ ์ฐธ์กฐ๊ฐ€ ์—†์ง€๋งŒ ํŒŒ์ผ ์„ค๋ช…์ž์— ์—ฐ๊ฒฐ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋ฏ€๋กœ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋ฅผ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋Š” ์ž์‹ ์ด ๊ตฌ์กฐ์— ๋…์ ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ํŒŒ์ผ ์„ค๋ช…์ž ํ…Œ์ด๋ธ”์˜ ๋‚˜๋จธ์ง€ ํ•ญ๋ชฉ์ด ์—ฌ์ „ํžˆ ํ•ด์ œ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

๊ฒฝ์Ÿ ์กฐ๊ฑด์— ๋น ์งˆ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ๋ณ„ ์ตœ์ ํ™”๋ฅผ ๋„์ž…ํ•  ๋•Œ ์•…์šฉ ์„ฑ๊ณต ํ™•๋ฅ ์„ 30%๊นŒ์ง€ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ ์„ค๋ช…์ž๊ฐ€ ์žˆ๋Š” ๊ตฌ์กฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ์‹œ๊ฐ„์„ ์ˆ˜๋ฐฑ ๋‚˜๋…ธ์ดˆ๋งŒํผ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ์บ์‹œ๋ฅผ ๋‹ค๋ฅธ CPU ์ฝ”์–ด์˜ ํ™œ๋™์œผ๋กœ ๋’ค๋ฎ์–ด ํ”„๋กœ์„ธ์„œ ์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ CPU ์บ์‹œ.

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

ํ•ด๋‹น ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ๊ธฐ์ˆ ์€ 90์ผ์˜ ๋น„๊ณต๊ฐœ ๊ธฐ๊ฐ„ ์ดํ›„ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ปค๋„ 2.6.32๋ถ€ํ„ฐ ๋‚˜ํƒ€๋‚˜๋ฉฐ 5.16์›” ์ดˆ์— ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ปค๋„ 2021์— ํฌํ•จ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌํŒ์— ์ œ๊ณต๋œ ์ปค๋„ ๋ฐ ์ปค๋„ ํŒจํ‚ค์ง€์˜ LTS ๋ถ„๊ธฐ์—๋„ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MSG_PEEK ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์—์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์œ ์‚ฌํ•œ ๋ฌธ์ œ CVE-0920-XNUMX์„ ๋ถ„์„ํ•˜๋Š” ๋™์•ˆ ์ทจ์•ฝ์ ์ด ์‹๋ณ„๋˜์—ˆ๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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