iLeakage๋Š” WebKit ์—”์ง„ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด Apple CPU์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Georgia Institute of Technology, University of Michigan ๋ฐ Ruhr University์˜ ์—ฐ๊ตฌ์›๋“ค์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ํŽ˜์ด์ง€๋ฅผ ์—ด์–ด Apple A ๋ฐ M ์‹œ๋ฆฌ์ฆˆ ARM ํ”„๋กœ์„ธ์„œ์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š” iLeakage ๊ณต๊ฒฉ ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์›๋“ค์ด ์ค€๋น„ํ•œ ์ต์Šคํ”Œ๋กœ์ž‡ ํ”„๋กœํ† ํƒ€์ž…์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค๋ฅธ ํƒญ์—์„œ ์—ด๋ฆฐ ์‚ฌ์ดํŠธ์˜ ๋‚ด์šฉ์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Gmail ํƒญ์—์„œ ์—ด๋ฆฐ ํŽธ์ง€์˜ ํ…์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‹œ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. LastPass ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ฆฌ์ž๊ฐ€ ๋กœ๊ทธ์ธ ์–‘์‹์— ์‚ฝ์ž…ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณต๊ฒฉ์€ macOS๊ฐ€ ์„ค์น˜๋œ ์‹œ์Šคํ…œ์˜ Safari ๋ธŒ๋ผ์šฐ์ €์™€ iOS ํ”Œ๋žซํผ์˜ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค(Apple ๊ทœ์น™์—์„œ๋Š” ๋ชจ๋“  iOS ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Safari์— ๊ณตํ†ต์ ์ธ WebKit ์‹œ์Šคํ…œ ์—”์ง„๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•จ).

์ด ๊ณต๊ฒฉ์€ Apple ์ œํ’ˆ์—๋งŒ ์ ์šฉ๋˜์ง€๋งŒ WebKit ์—”์ง„์˜ ํƒ€์ด๋จธ ํ™•์ธ ์ œํ•œ์„ ์šฐํšŒํ•˜๋Š” ํฅ๋ฏธ๋กœ์šด ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉฐ ์ด๋Š” ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์œ ์‚ฌํ•œ ์ œํ•œ์„ ์šฐํšŒํ•˜๋Š” ๋ฐ ์ž ์žฌ์ ์œผ๋กœ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apple M1 ๋ฐ M2 ์นฉ์—์„œ ํ™•์ธ๋œ ์ทจ์•ฝ์ ์€ ๊ณ ์ „์ ์ธ Spectre v1 ์ทจ์•ฝ์ ์„ ์—ฐ์ƒ์‹œํ‚ค๋ฉฐ ์ถ”์ธก ๋ชจ๋“œ์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ ๋ˆ„์ถœ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ์˜ˆ์ธก์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์„œ์—์„œ ์ด๋ฅผ ํ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ํ”์ ์€ ํ”„๋กœ์„ธ์„œ ์บ์‹œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

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

๋ณด์•ˆ ์กฐ์น˜๋กœ์„œ WebKit ์—”์ง„์€ JavaScript๊ฐ€ ์••์ถ•๋œ 35๋น„ํŠธ ํฌ์ธํ„ฐ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  35๋น„ํŠธ ์ œํ•œ์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ตฌ์›๋“ค์€ Type Confusion ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ JavaScript ์—”์ง„์ด ์ž˜๋ชป๋œ ์œ ํ˜•์˜ ๊ฐœ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—”์ง„์—์„œ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ JavaScript ๊ฐœ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐฐ์—ด์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ช…๋ น์˜ ์ถ”์ธก ์‹คํ–‰์œผ๋กœ ์ด์–ด์ง€๋Š” ์กฐ๊ฑด์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

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

๊ณต๊ฒฉ์€ ์ถ”์ธก ์ž‘์—… ํ›„ ๋‚จ์€ CPU L1 ์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด Google์ด ์ด์ „์— ์ œ์•ˆํ•œ pLRU(pseudo Least Recent Used) ๋ฐฉ์‹์„ ๋ณ€ํ˜•ํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์›๋ž˜์˜ pLRU ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ์˜ ์ง€์—ฐ์„ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๊ทธ ์ฐจ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ์‹œํ€€์Šค๊ฐ€ โ€‹โ€‹ํ”„๋กœ์„ธ์„œ ์บ์‹œ์— ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•˜๋ฉด ์ž‘์—…์ด ๋” ๋นจ๋ฆฌ ์ˆ˜ํ–‰๋˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์†๋„๊ฐ€ ๋Š๋ ค์ง‘๋‹ˆ๋‹ค). ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ”„๋กœ์„ธ์„œ ์บ์‹œ ๊ฒ€์ƒ‰์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํƒ€์ด๋จธ์˜ ์ •ํ™•๋„๋Š” ์ฐจ์ด์ ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€์œผ๋กœ ํฌ๊ฒŒ ๊ฐ์†Œ๋ฉ๋‹ˆ๋‹ค.

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

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

iLeakage - WebKit ์—”์ง„ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด Apple CPU์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

์บ์‹œ ๋‚ด์šฉ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์˜ ์ •ํ™•๋„๋Š” 90%~99% ๋ฒ”์œ„์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ฒฐ์ • ์„ฑ๋Šฅ์€ ํ”„๋กœ์„ธ์„œ ๋ฐ ์žฅ์น˜์— ๋”ฐ๋ผ ์ดˆ๋‹น 23~34๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ์ฐธ์กฐ ์ฝ”๋“œ ๊ต์ •์ด ํ•„์š”ํ•˜๋ฉฐ ์•ฝ 64๋ถ„ ์ •๋„ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ต์ •์ด ์™„๋ฃŒ๋˜๋ฉด 30์ž ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•˜๋Š” ๋ฐ ์•ฝ XNUMX์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

iLeakage - WebKit ์—”์ง„ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด Apple CPU์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
iLeakage - WebKit ์—”์ง„ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด Apple CPU์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

๋˜ํ•œ Chrome์—์„œ ์ต์Šคํ”Œ๋กœ์ž‡์ด ํฌํ•จ๋œ ํŽ˜์ด์ง€๋ฅผ ์—ด ๋•Œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—์„œ ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด Zen2 ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ AMD ํ”„๋กœ์„ธ์„œ์˜ Zenbleed ์ทจ์•ฝ์ ์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ํƒ€์ž… ์ต์Šคํ”Œ๋กœ์ž‡์ด ๊ณต๊ฐœ๋œ ์ ์— ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ต์Šคํ”Œ๋กœ์ž‡์—๋Š” Zenbleed ์ทจ์•ฝ์ (CVE-2023-20593) ์™ธ์—๋„ Chrome 2023์—์„œ ์ˆ˜์ •๋œ V3079 ์—”์ง„์˜ CVE-8-115 ์ทจ์•ฝ์ ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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