WebAssembly ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋Ÿฐํƒ€์ž„์ธ Wasmtime์˜ ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์ 

์ˆ˜์ • ์—…๋ฐ์ดํŠธ์ธ Wasmtime 6.0.1, 5.0.1 ๋ฐ 4.0.1์—์„œ๋Š” ์‹ฌ๊ฐํ•œ ์œ„ํ—˜ ์ˆ˜์ค€์œผ๋กœ ์ง€์ •๋œ ์ทจ์•ฝ์ (CVE-2023-26489)์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด ๊ฒฉ๋ฆฌ๋œ WebAssembly ์ฝ”๋“œ์— ํ—ˆ์šฉ๋œ ๋ฒ”์œ„ ๋ฐ–์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์œผ๋กœ ๊ณต๊ฒฉ์ž๊ฐ€ ๊ฒฉ๋ฆฌ๋œ WASI ํ™˜๊ฒฝ ์™ธ๋ถ€์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Wasmtime์€ WASI(WebAssembly System Interface) ํ™•์žฅ์ด ํฌํ•จ๋œ WebAssembly ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ผ๋ฐ˜ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„์ž…๋‹ˆ๋‹ค. ํˆดํ‚ท์€ Rust ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์™€ ๋…๋ฆฝ์ ์ธ ์ค‘๊ฐ„ ํ‘œํ˜„์„ x86_64 ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ณ„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” Cranelift ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ์˜ ์„ ํ˜• ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ์ง€์ • ๊ทœ์น™์„ ์ •์˜ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ WebAssembly ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ WebAssembly์—์„œ ํ—ˆ์šฉ๋˜๋Š” 35๋น„ํŠธ ์ฃผ์†Œ ๋Œ€์‹  33๋น„ํŠธ ์œ ํšจ ์ฃผ์†Œ๊ฐ€ ๊ณ„์‚ฐ๋˜์–ด ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์— ํ—ˆ์šฉ๋˜๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„๊ฐ€ 34GB๋กœ ์ด๋™ํ–ˆ์œผ๋ฉฐ ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์„ค์ •์€ ๋‹ค์Œ์„ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ฃผ์†Œ์—์„œ 6GB. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ธฐ๋ณธ ์ฃผ์†Œ์—์„œ 6~34GB์˜ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„๋ฅผ WebAssembly ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค๋ฅธ WebAssembly ํ™˜๊ฒฝ์ด๋‚˜ WebAssembly ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Wasmtime ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ "Config::static_memory_maximum_size(0)" ์˜ต์…˜์„ ์ง€์ •ํ•˜์—ฌ ๋ชจ๋“  ์„ ํ˜• ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ๊ฒฝ๊ณ„ ๊ฒ€์‚ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(๊ฒฐ๊ณผ์ ์œผ๋กœ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•จ). . ๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ "Config::static_memory_guard_size(1 < 36)" ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ”์œ„์— ์žˆ๋Š” ๊ฐ€๋“œ ํŽ˜์ด์ง€(์•ก์„ธ์Šค ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ) ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. WebAssembly ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ์ˆ˜๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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