Intel ํ”„๋กœ์„ธ์„œ์— ๋Œ€ํ•œ Zombieload ๊ณต๊ฒฉ์˜ ์ƒˆ๋กœ์šด ๋ณ€์ข…์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ผ์ธ  ๊ณต๊ณผ๋Œ€ํ•™(์˜ค์ŠคํŠธ๋ฆฌ์•„) ์—ฐ๊ตฌ์› ํญ๋กœ ์ œ3์ž ์ฑ„๋„์„ ํ†ตํ•œ ์ƒˆ๋กœ์šด ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด ์ข€๋น„๋กœ๋“œ 2.0 (CVE-2019-11135)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค, ์šด์˜ ์ฒด์ œ, ๊ฐ€์ƒ ๋จธ์‹  ๋ฐ ๋ณดํ˜ธ๋œ ์—”ํด๋ ˆ์ด๋ธŒ(TEE, Trusted Execution Environment)์—์„œ ๊ธฐ๋ฐ€ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” Intel ํ”„๋กœ์„ธ์„œ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์ œ์•ˆ ์–ด์ œ ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ.

๋ฌธ์ œ๋Š” MDS(Microarchitectural Data Sampling) ํด๋ž˜์Šค์— ์†ํ•˜๋ฉฐ ํ˜„๋Œ€ํ™”๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœ๋˜๋‹ค 2.0์›”์—๋Š” ZombieLoad ๊ณต๊ฒฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ZombieLoad XNUMX์€ ๋‹ค๋ฅธ MDS ๊ณต๊ฒฉ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ(์˜ˆ: Line Fill Buffer ๋ฐ Store Buffer)์˜ ๋ฐ์ดํ„ฐ์— ์‚ฌ์ด๋“œ ์ฑ„๋„ ๋ถ„์„ ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ณ  ๋กœ๋“œ ๋ฐ ์ €์žฅ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. .

์ƒˆ๋กœ์šด Zombieload ๊ณต๊ฒฉ ๋ณ€์ข… ๊ทผ๊ฑฐ๊ฐ€์žˆ๋‹ค TSX(ํŠธ๋žœ์žญ์…˜ ๋™๊ธฐํ™” ํ™•์žฅ) ํ™•์žฅ์— ๊ตฌํ˜„๋œ ๋น„๋™๊ธฐ ์ž‘์—… ์ค‘๋‹จ(TAA, TSX Asynchronous Abort) ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ž‘๋™ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ๋ˆ„์ˆ˜์— ๋Œ€ํ•ด ํŠธ๋žœ์žญ์…˜ ๋ฉ”๋ชจ๋ฆฌ ์ž‘์—…์„ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๋™๊ธฐํ™” ์ž‘์—…(ํ—ˆ์šฉ๋˜๊ฑฐ๋‚˜ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋Š” ์ง€์›๋˜๋Š” ์›์ž ํŠธ๋žœ์žญ์…˜)์„ ๋™์ ์œผ๋กœ ์ œ๊ฑฐํ•˜์—ฌ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋‹จ๋˜๋ฉด ํŠธ๋žœ์žญ์…˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์—์„œ ์ˆ˜ํ–‰๋œ ์ž‘์—…์ด ๋กค๋ฐฑ๋ฉ๋‹ˆ๋‹ค.

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

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

๊ณต๊ฒฉ ์— ๋”ฐ๋ผ 5000์„ธ๋Œ€, 2.0์„ธ๋Œ€, XNUMX์„ธ๋Œ€ Intel Core ํ”„๋กœ์„ธ์„œ์˜ ์ผ๋ถ€ ๋ชจ๋ธ๊ณผ Intel Pentium Gold, Intel Celeron XNUMX, Intel Xeon E, Intel Xeon W ๋ฐ XNUMX์„ธ๋Œ€ Intel Xeon Scalable์ด ์žˆ์Šต๋‹ˆ๋‹ค. XNUMX์›”์— ์ถœ์‹œ๋œ Cascade Lake ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒˆ๋กœ์šด Intel ํ”„๋กœ์„ธ์„œ๋Š” ์ฒ˜์Œ์—๋Š” RIDL ๋ฐ Fallout ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•˜์ง€ ์•Š์•˜์œผ๋‚˜ ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์›๋“ค์€ Zombieload XNUMX ์™ธ์—๋„ ์ปค๋„์—์„œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์œผ๋กœ ๋Œ์•„๊ฐˆ ๋•Œ ๋˜๋Š” ์ œ์–ด๊ถŒ์„ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์œผ๋กœ ์ „์†กํ•  ๋•Œ ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๋ฒ„ํผ์˜ ๋‚ด์šฉ์„ ์ง€์šฐ๋Š” VERW ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „์— ์ œ์•ˆ๋œ MDS ๊ณต๊ฒฉ ๋ณดํ˜ธ ๋ฐฉ๋ฒ•์„ ์šฐํšŒํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ.

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

์ทจ์•ฝ์ ์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ ํฌํ•จ ๋œ Linux ์ปค๋„ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ํฌํ•จ๋˜์–ด ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋จ 5.3.11, 4.19.84, 4.14.154, 4.9.201 ๋ฐ 4.4.201. ์ฃผ์š” ๋ฐฐํฌํŒ์— ๋Œ€ํ•œ ์ปค๋„ ๋ฐ ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ๋„ ์ด๋ฏธ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ฐ๋น„์•ˆ, ์ˆ˜์„ธ/์˜คํ”ˆ์ˆ˜์„ธ, Ubuntu, RHEL, ํŽ˜๋„๋ผ, FreeBSD์˜). ๋ฌธ์ œ๋Š” 4์›”์— ํ™•์ธ๋˜์—ˆ์œผ๋ฉฐ Intel๊ณผ ์šด์˜ ์ฒด์ œ ๊ฐœ๋ฐœ์ž ๊ฐ„์— ์ˆ˜์ • ์‚ฌํ•ญ์ด ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Zombieload 2.0์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ CPU์—์„œ TSX ์ง€์›์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Linux ์ปค๋„์— ๋Œ€ํ•ด ์ œ์•ˆ๋œ ์ˆ˜์ • ์‚ฌํ•ญ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณดํ˜ธ ์˜ต์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์€ "tsx=on/off/auto" ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•˜์—ฌ TSX ํ™•์žฅ์ด CPU์—์„œ ํ™œ์„ฑํ™”๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค(auto ๊ฐ’์€ ์ทจ์•ฝํ•œ CPU์— ๋Œ€ํ•ด์„œ๋งŒ TSX๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค). ๋‘ ๋ฒˆ์งธ ๋ณดํ˜ธ ์˜ต์…˜์€ "tsx_async_abort=off/full/full,nosmt" ๋งค๊ฐœ๋ณ€์ˆ˜์— ์˜ํ•ด ํ™œ์„ฑํ™”๋˜๋ฉฐ ์ปจํ…์ŠคํŠธ ์ „ํ™˜ ์ค‘ ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๋ฒ„ํผ ์ง€์šฐ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค(nosmt ํ”Œ๋ž˜๊ทธ๋Š” SMT/ํ•˜์ดํผ ์Šค๋ ˆ๋“œ๋ฅผ ์ถ”๊ฐ€๋กœ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค). ์‹œ์Šคํ…œ์ด ์ทจ์•ฝ์„ฑ์— ์ทจ์•ฝํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด sysfs๋Š” "/sys/devices/system/cpu/vulnerability/tsx_async_abort" ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, ๊ฐฑ์‹  ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์ œ๊ฑฐ ๋‹ค๋ฅธ ๊ฒƒ ์ทจ์•ฝ์  (CVE-2018-12207) Intel ํ”„๋กœ์„ธ์„œ์—์„œ๋Š” ์ตœ์‹  ๋ฒ„์ „์—์„œ๋„ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ๊ฐฑ์‹  ๋ฆฌ๋ˆ…์Šค ์ปค๋„. ์ทจ์•ฝ์  ๊ทธ๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๊ถŒํ•œ ์—†๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์„œ๋น„์Šค ๊ฑฐ๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜์—ฌ ์‹œ์Šคํ…œ์ด "๋จธ์‹  ๊ฒ€์‚ฌ ์˜ค๋ฅ˜" ์ƒํƒœ์—์„œ ์ •์ง€๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ์„ ํฌํ•จํ•œ ๊ณต๊ฒฉ ํ—Œ์‹ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์—์„œ.

์ถœ์ฒ˜ : opennet.ru

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