์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์กฐ๊ฐ์„ ์›๊ฒฉ์œผ๋กœ ํŒŒ์•…ํ•˜๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์— MDS, NetSpectre, Throwhammer ๋ฐ ZombieLoad ๊ณต๊ฒฉ์„ ๊ฐœ๋ฐœํ•œ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง„ ์˜ค์ŠคํŠธ๋ฆฌ์•„ ๊ทธ๋ผ์ธ  ๊ธฐ์ˆ  ๋Œ€ํ•™๊ต(์˜ค์ŠคํŠธ๋ฆฌ์•„)์˜ ์—ฐ๊ตฌ์› ๊ทธ๋ฃน์ด ๋ฉ”๋ชจ๋ฆฌ ์ค‘๋ณต ์ œ๊ฑฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•(CVE-2021-3714)์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ํŠน์ • ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์˜ ๋ฐ”์ดํŠธ ๋‹จ์œ„ ๋ˆ„์ถœ์„ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ASLR(์ฃผ์†Œ ๊ธฐ๋ฐ˜ ๋ฌด์ž‘์œ„ํ™”) ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๋„๋ก ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์€ HTTP/1 ๋ฐ HTTP/2 ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๊ณต๊ฒฉ์ž์—๊ฒŒ ์ „์†ก๋œ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์˜ ๋ณ€ํ™”๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ธ๋ถ€ ํ˜ธ์ŠคํŠธ์—์„œ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ์ ์—์„œ ์ด์ „์— ์ž…์ฆ๋œ ์ค‘๋ณต ์ œ๊ฑฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ๋ณ€ํ˜•๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Linux ๋ฐ Windows ๊ธฐ๋ฐ˜ ์„œ๋ฒ„์—์„œ ๊ณต๊ฒฉ ์ˆ˜ํ–‰ ๋Šฅ๋ ฅ์ด ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ค‘๋ณต ์ œ๊ฑฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์€ COW(Copy-On-Write) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์ค‘๋ณต ์ œ๊ฑฐ๋œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๊ฐ€ ๋ณต์ œ๋˜๋Š” ์ƒํ™ฉ์—์„œ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ์ •๋ณด ์œ ์ถœ ์ฑ„๋„๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. . ์ž‘๋™ ์ค‘์— ์ปค๋„์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—์„œ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ด๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‹จ์ผ ์˜์—ญ์— ๋งคํ•‘ํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ณต์‚ฌ๋ณธ๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ค‘๋ณต ์ œ๊ฑฐ๋œ ํŽ˜์ด์ง€์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ˆ์™ธ(ํŽ˜์ด์ง€ ๋ถ€์žฌ)๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  Copy-On-Write ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ๋ณต์‚ฌ๋ณธ์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋ณต์‚ฌ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ถ”๊ฐ€ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š”๋ฐ, ์ด๋Š” ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฉํ•ดํ•œ๋‹ค๋Š” ์‹ ํ˜ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๊ตฌ์›๋“ค์€ COW ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์ธํ•œ ์ง€์—ฐ์„ ๋กœ์ปฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ์‘๋‹ต ์ „๋‹ฌ ์‹œ๊ฐ„์˜ ๋ณ€ํ™”๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. HTTP/1 ๋ฐ HTTP/2 ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•œ ์š”์ฒญ์˜ ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•˜์—ฌ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์„ ๊ฒฐ์ •ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒํ•œ ํ…œํ”Œ๋ฆฟ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์š”์ฒญ์œผ๋กœ ๋ฐ›์€ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ํ‘œ์ค€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์˜ ์ผ๋ฐ˜์ ์ธ ์›์น™์€ ์„œ๋ฒ„์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ์ž ์žฌ์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์ฑ„์šฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ณต๊ฒฉ์ž๋Š” ์ปค๋„์ด ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ฆฐ ๋‹ค์Œ ์ œ์–ด๋œ ์ค‘๋ณต ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‘๋‹ต ์‹œ๊ฐ„์„ ํ‰๊ฐ€ํ•˜์—ฌ ํžˆํŠธ๊ฐ€ ์„ฑ๊ณตํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์กฐ๊ฐ์„ ์›๊ฒฉ์œผ๋กœ ํŒŒ์•…ํ•˜๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹คํ—˜ ์ค‘ ์ตœ๋Œ€ ์ •๋ณด ์œ ์ถœ๋ฅ ์€ ๊ธ€๋กœ๋ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๊ณต๊ฒฉ ์‹œ ์‹œ๊ฐ„๋‹น 34.41๋ฐ”์ดํŠธ, ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๊ณต๊ฒฉ ์‹œ ์‹œ๊ฐ„๋‹น 302.16๋ฐ”์ดํŠธ๋กœ, ํƒ€์‚ฌ ์ฑ„๋„์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•(์˜ˆ: NetSpectre ๊ณต๊ฒฉ์—์„œ ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๋Š” 7.5์‹œ ๋ฐฉํ–ฅ์— XNUMX๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค.

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

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

์„ธ ๋ฒˆ์งธ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€์— ์˜คํ”„์…‹ ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ 4๋ถ„ ๋งŒ์— KASLR ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์™„์ „ํžˆ ์šฐํšŒํ•˜๊ณ  ๊ฐ€์ƒ ๋จธ์‹  ์ปค๋„ ์ด๋ฏธ์ง€์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜คํ”„์…‹์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์€ ๊ณต๊ฒฉ๋ฐ›์€ ์‹œ์Šคํ…œ์œผ๋กœ๋ถ€ํ„ฐ 14ํ™‰ ๊ฑฐ๋ฆฌ์— ์œ„์น˜ํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ์‹œ๋œ ๊ณต๊ฒฉ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ์˜ˆ์ œ๋Š” GitHub์— ๊ฒŒ์‹œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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