Google์€ ๋ณด์•ˆ ์šด์˜ ์ฒด์ œ KataOS์˜ ์ฝ”๋“œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

Google์€ ์ž„๋ฒ ๋””๋“œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์œ„ํ•œ ์•ˆ์ „ํ•œ ์šด์˜ ์ฒด์ œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” KataOS ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ๊ฐœ๋ฐœ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. KataOS ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ seL4 ๋งˆ์ดํฌ๋กœ์ปค๋„ ์œ„์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์‹ ๋ขฐ์„ฑ์— ๋Œ€ํ•œ ์ˆ˜ํ•™์  ์ฆ๊ฑฐ๊ฐ€ RISC-V ์‹œ์Šคํ…œ์—์„œ ์ œ๊ณต๋˜์–ด ์ฝ”๋“œ๊ฐ€ ๊ณต์‹ ์–ธ์–ด์— ์ง€์ •๋œ ์‚ฌ์–‘์„ ์™„์ „ํžˆ ์ค€์ˆ˜ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์Šคํ…œ์€ RISC-V ๋ฐ ARM64 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ์œ„์—์„œ seL4์™€ KataOS ํ™˜๊ฒฝ์˜ ์ž‘๋™์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ Renode ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฐธ์กฐ ๊ตฌํ˜„์œผ๋กœ KataOS์™€ OpenTitan ํ”Œ๋žซํผ ๊ธฐ๋ฐ˜์˜ ๋ณด์•ˆ ์นฉ์„ ๊ฒฐํ•ฉํ•œ Sparrow ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ํ•˜๋“œ์›จ์–ด ์ปดํ”Œ๋ ‰์Šค๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฒ€์ฆ๋œ ์šด์˜ ์ฒด์ œ ์ปค๋„์„ OpenTitan ํ”Œ๋žซํผ ๋ฐ RISC-V ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ(RoT, Root of Trust)์™€ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ KataOS ์ฝ”๋“œ ์™ธ์—๋„ ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  Sparrow ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ณต๊ฐœํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

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

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

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

Rust๋Š” ์ฐธ์กฐ ํ™•์ธ, ๊ฐ์ฒด ์†Œ์œ ๊ถŒ ๋ฐ ๊ฐ์ฒด ์ˆ˜๋ช… ์ถ”์ (๋ฒ”์œ„)์„ ํ†ตํ•ด ์ปดํŒŒ์ผ ํƒ€์ž„์— ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ ๊ฐ•ํ™”ํ•˜๊ณ  ๋Ÿฐํƒ€์ž„ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค์˜ ์ •ํ™•์„ฑ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Rust๋Š” ๋˜ํ•œ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜ ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜๋„๋ก ์š”๊ตฌํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๋ณ€ ์ฐธ์กฐ ๋ฐ ๋ณ€์ˆ˜ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๊ณ , ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•๋ ฅํ•œ ์ •์  ์œ ํ˜• ์ง€์ •์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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