Linux ์ปค๋„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ธํ”„๋ผ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ TuxTape ํ”„๋กœ์ ํŠธ

๋ณดํ—˜ ํšŒ์‚ฌ GEICO๋Š” Linux ์ปค๋„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ๋งŒ๋“ค๊ณ , ์กฐ๋ฆฝํ•˜๊ณ , ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ํˆดํ‚ท์ธ TuxTape์˜ ์˜ˆ๋น„ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•˜๊ฑฐ๋‚˜ ์ค‘์ง€ํ•˜์ง€ ์•Š๊ณ ๋„ Linux ์ปค๋„์— ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

Red Hat, Oracle, Canonical, SUSE ๋“ฑ์˜ ํšŒ์‚ฌ์—์„œ๋Š” ์ทจ์•ฝ์  ์ˆ˜์ •์ด ํฌํ•จ๋œ ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ๋ฐฐํฌํŒ์— ์ œ๊ณตํ•˜์ง€๋งŒ, ํŒจ์น˜ ์ž‘์—…์„ ์œ„ํ•œ ์ €์ˆ˜์ค€ ๋„๊ตฌ๋งŒ ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฉฐ ํŒจ์น˜ ์ž์ฒด๋Š” ๋น„๊ณต๊ฐœ์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์  ํˆฌ์™€ ๋ฐ๋น„์•ˆ ๋ฐฐํฌํŒ์—์„œ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ธ elivepatch์™€ linux-livepatching์„ ๊ฐœ๋ฐœํ•˜๋ ค ํ–ˆ์ง€๋งŒ, ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋Š” 6๋…„ ๋™์•ˆ ์ค‘๋‹จ๋˜์—ˆ๊ณ , ๋‘ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋Š” ํ…Œ์ŠคํŠธ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“œ๋Š” ๋‹จ๊ณ„์—์„œ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

TuxTape๋Š” ํƒ€์‚ฌ ๊ณต๊ธ‰์—…์ฒด์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  Linux ์ปค๋„์— ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ฐฐํฌํŒ๋ณ„ ์ปค๋„ ํŒจํ‚ค์ง€์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. TuxTape๋Š” Red Hat์—์„œ ๊ฐœ๋ฐœํ•œ kpatch ํˆดํ‚ท๊ณผ ํ˜ธํ™˜๋˜๋Š” ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(kpatch ์™ธ์— ๋น„์Šทํ•œ ํˆด๋กœ๋Š” SUSE์˜ kGraft, Oracle์˜ Ksplice, Universal LivePatch๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค). ํŒจ์น˜๋Š” ftrace ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ์— ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜์—ฌ ์ปค๋„์˜ ๊ธฐ๋Šฅ์„ ๋Œ€์ฒดํ•˜๋Š” ๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ์ปค๋„ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 Linux ์ปค๋„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ธํ”„๋ผ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ TuxTape ํ”„๋กœ์ ํŠธ

TuxTape๋Š” linux-cve-announce ๋ฉ”์ผ๋ง ๋ชฉ๋ก๊ณผ Git ์ €์žฅ์†Œ์— ๊ฒŒ์‹œ๋œ Linux ์ปค๋„ ์ทจ์•ฝ์  ์ˆ˜์ •์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ ํ•˜๊ณ , ์ทจ์•ฝ์ ์„ ์‹ฌ๊ฐ๋„์— ๋”ฐ๋ผ ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๊ณ , ์ง€์›๋˜๋Š” Linux ์ปค๋„์— ๋Œ€ํ•œ ์ ์šฉ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ , LTS ์ปค๋„ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ •๊ธฐ ํŒจ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ํŒจ์น˜์˜ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์€ ์ปค๋„ ๋นŒ๋“œ๋ฅผ ํ”„๋กœํŒŒ์ผ๋งํ•˜์—ฌ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์ƒ ์ปค๋„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” ์ทจ์•ฝ์ ์ด ์žˆ๋Š” ํŒจ์น˜๋Š” ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

TuxTape์—๋Š” ์ƒˆ๋กœ์šด ์ปค๋„ ์ทจ์•ฝ์ ์„ ์ถ”์ ํ•˜๋Š” ์‹œ์Šคํ…œ, ํŒจ์น˜ ๋ฐ ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋นŒ๋”, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์„œ๋ฒ„, ์ปค๋„ ๋นŒ๋“œ ๋””์ŠคํŒจ์น˜ ์‹œ์Šคํ…œ, ์ปค๋„ ๋นŒ๋”, ํŒจ์น˜ ์ƒ์„ฑ๊ธฐ, ํŒจ์น˜ ์•„์นด์ด๋ธŒ, ์ตœ์ข… ํ˜ธ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŒจ์น˜๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ, ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ƒ์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 Linux ์ปค๋„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ธํ”„๋ผ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ TuxTape ํ”„๋กœ์ ํŠธ

๊ฐœ๋ฐœ์€ ํ˜„์žฌ ์‹คํ—˜์  ํ”„๋กœํ† ํƒ€์ž… ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋‹ค์Œ์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ํŒจ์น˜๊ฐ€ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ tuxtape-cve-parser; ํŒจ์น˜ ์ƒ์„ฑ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ gRPC ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์„ ๊ฐ–์ถ˜ tuxtape-server ์ง€์ •๋œ ๊ตฌ์„ฑ์—์„œ ์ปค๋„์„ ๋นŒ๋“œํ•˜๊ณ  ๋นŒ๋“œ ํ”„๋กœํ•„์„ ์ƒ์„ฑํ•˜๋Š” tuxtape-kernel-builder tuxtape-dashboard๋Š” tuxtape-server์—์„œ ์ˆ˜์‹ ํ•œ ์†Œ์Šค ํŒจ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฝ˜์†” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

 Linux ์ปค๋„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ธํ”„๋ผ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ TuxTape ํ”„๋กœ์ ํŠธ


์ถœ์ฒ˜ : opennet.ru

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