Linux ์ปค๋„์˜ ์ทจ์•ฝ์  ์•…์šฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ LKRG 0.9.0 ๋ชจ๋“ˆ ์ถœ์‹œ

Openwall ํ”„๋กœ์ ํŠธ๋Š” ๊ณต๊ฒฉ๊ณผ ์ปค๋„ ๊ตฌ์กฐ ๋ฌด๊ฒฐ์„ฑ ์œ„๋ฐ˜์„ ํƒ์ง€ํ•˜๊ณ  ์ฐจ๋‹จํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ปค๋„ ๋ชจ๋“ˆ LKRG 0.9.0(Linux Kernel Runtime Guard)์˜ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋“ˆ์€ ์‹คํ–‰ ์ค‘์ธ ์ปค๋„์— ๋Œ€ํ•œ ๋ฌด๋‹จ ๋ณ€๊ฒฝ ๋ฐ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค์˜ ๊ถŒํ•œ ๋ณ€๊ฒฝ ์‹œ๋„(์ต์Šคํ”Œ๋กœ์ž‡ ์‚ฌ์šฉ ๊ฐ์ง€)๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“ˆ์€ ์ด๋ฏธ ์•Œ๋ ค์ง„ Linux ์ปค๋„ ์ทจ์•ฝ์  ๊ณต๊ฒฉ(์˜ˆ: ์‹œ์Šคํ…œ์—์„œ ์ปค๋„์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์–ด๋ ค์šด ์ƒํ™ฉ)์— ๋Œ€ํ•œ ๋ณดํ˜ธ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์•„์ง ์•Œ๋ ค์ง€์ง€ ์•Š์€ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์— ๋Œ€์‘ํ•˜๋Š” ๋ฐ ๋ชจ๋‘ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” GPLv2 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ํ˜ธํ™˜์„ฑ์€ 5.8์—์„œ 5.12๊นŒ์ง€์˜ Linux ์ปค๋„, ์•ˆ์ •์ ์ธ ์ปค๋„ 5.4.87 ์ด์ƒ(์ปค๋„ 5.8 ์ด์ƒ์˜ ํ˜์‹  ํฌํ•จ) ๋ฐ RHEL ๋ฒ„์ „ ์ตœ๋Œ€ 8.4์˜ ์ปค๋„๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๋™์‹œ์— ์ด์ „์— ์ง€์›๋˜๋Š” ๋ชจ๋“  ๋ฒ„์ „์— ๋Œ€ํ•œ ์ง€์›์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. RHEL 7์˜ ์ปค๋„๊ณผ ๊ฐ™์€ ์ปค๋„;
  • ์™ธ๋ถ€ ๋ชจ๋“ˆ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ปค๋„ ์ด๋ฏธ์ง€์— ํฌํ•จ๋˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ Linux ์ปค๋„ ํŠธ๋ฆฌ์˜ ์ผ๋ถ€๋กœ LKRG๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ถ”๊ฐ€ ์ปค๋„ ๋ฐ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LKRG์˜ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์˜ค๋ฅ˜์™€ ๋‹จ์ ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ LKRG ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ตฌํ˜„์ด ํฌ๊ฒŒ ๋‹จ์ˆœํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LKRG์˜ ์ถ”๊ฐ€ ์ง€์› ๋ฐ ๋””๋ฒ„๊น…์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LKRG ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด out-of-tree ๋ฐ mkosi์™€์˜ ํ†ตํ•ฉ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” BitBucket์—์„œ GitHub๋กœ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ GitHub Actions ๋ฐ mkosi๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ LKRG์˜ ๋นŒ๋“œ ํ™•์ธ ๋ฐ Ubuntu ๋ฆด๋ฆฌ์Šค ์ปค๋„ ๋กœ๋“œ๋Š” ๋ฌผ๋ก  ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ตœ์‹  ๋ฉ”์ธ๋ผ์ธ ์ปค๋„์˜ ์ผ์ผ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ง€์†์ ์ธ ํ†ตํ•ฉ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ ํ”„๋กœ์ ํŠธ.

์ด์ „์— ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์•˜๋˜ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด LKRG ๋ฒ„์ „์— ์ง์ ‘ ๊ธฐ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค(GitHub์˜ ํ’€ ์š”์ฒญ์„ ํ†ตํ•ด). ํŠนํžˆ Boris Lukashev๋Š” Linux ์ปค๋„ ํŠธ๋ฆฌ์˜ ์ผ๋ถ€๋กœ ๋นŒ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉฐ ALT Linux์˜ Vitaly Chikunov๋Š” mkosi ๋ฐ GitHub Actions์™€์˜ ํ†ตํ•ฉ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ ์ƒ๋‹นํ•œ ์ถ”๊ฐ€์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  LKRG ์ฝ”๋“œ ์ค„ ์ˆ˜๋Š” ๋‘ ๋ฒˆ์งธ ์—ฐ์†์œผ๋กœ ์•ฝ๊ฐ„ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค(์ด์ „ ๋ฒ„์ „ 0.8๊ณผ 0.8.1 ์‚ฌ์ด์—์„œ๋„ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค).

ํ˜„์žฌ Arch Linux์˜ LKRG ํŒจํ‚ค์ง€๋Š” ์ด๋ฏธ ๋ฒ„์ „ 0.9.0์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋Š” LKRG์˜ ์ตœ์‹  git ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ณง ๋ฒ„์ „ 0.9.0 ์ด์ƒ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ARM TrustZone์„ ์‚ฌ์šฉํ•˜์—ฌ LKRG๋ฅผ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” Aurora OS(Sailfish OS์˜ ๋Ÿฌ์‹œ์•„ ์ˆ˜์ •) ๊ฐœ๋ฐœ์ž์˜ ์ตœ๊ทผ ๊ฐ„ํ–‰๋ฌผ์— ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

LKRG์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฒ„์ „ 0.8 ๋ฐœํ‘œ์™€ ๋‹น์‹œ ์ง„ํ–‰๋œ ํ† ๋ก ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ถœ์ฒ˜ : opennet.ru

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