QEMU ๊ณ ๋ฆฝ๋œ ํ™˜๊ฒฝ์„ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ทจ์•ฝ์ 

๊ณต๊ฐœ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์  ์„ธ๋ถ€์ •๋ณด(CVE-2019-14378)๋Š” ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์˜ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ์™€ QEMU ์ธก ๋„คํŠธ์›Œํฌ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ํ†ต์‹  ์ฑ„๋„์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด QEMU์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ SLIRP ํ•ธ๋“ค๋Ÿฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” KVM ๊ธฐ๋ฐ˜ ๊ฐ€์ƒํ™” ์‹œ์Šคํ…œ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค( ์‚ฌ์šฉ์ž ๋ชจ๋“œ) ๋ฐ QEMU์˜ slirp ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Virtualbox์™€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋„คํŠธ์›Œํ‚น ์Šคํƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ libSLIRP (TCP/IP ์—๋ฎฌ๋ ˆ์ดํ„ฐ).

์ด ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด ์กฐ๊ฐํ™”๊ฐ€ ํ•„์š”ํ•œ ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์—์„œ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ์ดˆ๋Œ€ํ˜• ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์ด ์ „์†ก๋  ๋•Œ QEMU ์ฒ˜๋ฆฌ๊ธฐ ํ”„๋กœ์„ธ์Šค์˜ ๊ถŒํ•œ์œผ๋กœ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ์ธก์—์„œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์„ ์žฌ์กฐ๋ฆฝํ•  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ip_reass() ํ•จ์ˆ˜์˜ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฐ์ด ํ• ๋‹น๋œ ๋ฒ„ํผ์— ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ ๊ผฌ๋ฆฌ๋Š” ๋ฒ„ํผ ์˜†์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ ํ…Œ์ŠคํŠธ์šฉ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋‹ค. ASLR์„ ์šฐํšŒํ•˜๊ณ  ํƒ€์ด๋จธ์— ์˜ํ•ด ํ˜ธ์ถœ๋˜๋Š” ํ•ธ๋“ค๋Ÿฌ๋กœ QEMUTimerList๋ฅผ ํฌํ•จํ•˜์—ฌ main_loop_tlg ๋ฐฐ์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฎ์–ด์จ์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ต์Šคํ”Œ๋กœ์ž‡์˜ ์ž‘์—… ํ”„๋กœํ† ํƒ€์ž…์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŽ˜๋„๋ผ ะธ ์ˆ˜์„ธ/์˜คํ”ˆ์ˆ˜์„ธ, ๊ทธ๋Ÿฌ๋‚˜ ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ, ์•„์น˜ ๋ฆฌ๋ˆ…์Šค ะธ FreeBSD์˜. ์— Ubuntu ะธ RHEL slirp๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. libslirp 4.0 (์ˆ˜์ • ์‚ฌํ•ญ์€ ํ˜„์žฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜์ ).

์ถœ์ฒ˜ : opennet.ru

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