GRUB2 ๋ถํธ๋ก๋์์ ์๋ณ 8๊ฐ์ง ์ทจ์ฝ์ . ๊ฐ์ฅ ์ํํ ๋ฌธ์ (CVE-2020-10713), ์ฝ๋๋ช
BootHole, ๊ธฐํ๋ฅผ ์ค UEFI ๋ณด์ ๋ถํ
๋ฉ์ปค๋์ฆ์ ์ฐํํ๊ณ ํ์ธ๋์ง ์์ ์
์ฑ ์ฝ๋๋ฅผ ์ค์นํฉ๋๋ค. ์ด ์ทจ์ฝ์ ์ ํน์ง์ ๊ณต๊ฒฉ์๊ฐ ๋์งํธ ์๋ช
์ผ๋ก ์ธ์ฆ๋ ์ทจ์ฝํ ์ด์ ๋ฒ์ ์ด ํฌํจ๋ ๋ถํธ ๊ฐ๋ฅํ ๋ฏธ๋์ด๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด GRUB2๋ฅผ ์
๋ฐ์ดํธํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์๋ค๋ ๊ฒ์
๋๋ค. ๊ณต๊ฒฉ์๋ Linux๋ฟ๋ง ์๋๋ผ ๋ค์์ ํฌํจํ ๋ค๋ฅธ ์ด์ ์ฒด์ ์ ํ์ธ ํ๋ก์ธ์ค๋ ์์์ํฌ ์ ์์ต๋๋ค. Windows.
๋ฌธ์ ๋ ์์คํ
์ ์
๋ฐ์ดํธํด์ผ๋ง ํด๊ฒฐ๋ ์ ์์ต๋๋ค. ์ธ์ฆ์ ํด์ง ๋ชฉ๋ก (dbx, UEFI Revocation List), ๊ทธ๋ฌ๋ ์ด ๊ฒฝ์ฐ Linux์์ ์ด์ ์ค์น ๋ฏธ๋์ด๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์์ค๋ฉ๋๋ค. ์ผ๋ถ ์ฅ๋น ์ ์กฐ์
์ฒด๋ ์ด๋ฏธ ํ์จ์ด์ ์
๋ฐ์ดํธ๋ ํด์ง ์ธ์ฆ์ ๋ชฉ๋ก์ ํฌํจ์์ผฐ์ผ๋ฉฐ, ์ด๋ฌํ ์์คํ
์์๋ ์
๋ฐ์ดํธ๋ Linux ๋ฐฐํฌํ ๋น๋๋ง UEFI ๋ณด์ ๋ถํ
๋ชจ๋์์ ๋ก๋ํ ์ ์์ต๋๋ค.
๋ฐฐํฌํ์ ์ทจ์ฝ์ฑ์ ์ ๊ฑฐํ๋ ค๋ฉด ์ค์น ํ๋ก๊ทธ๋จ, ๋ถํธ๋ก๋, ์ปค๋ ํจํค์ง, fwupd ํ์จ์ด ๋ฐ shim ๋ ์ด์ด๋ฅผ ์
๋ฐ์ดํธํ์ฌ ์๋ก์ด ๋์งํธ ์๋ช
์ ์์ฑํด์ผ ํฉ๋๋ค. ์ฌ์ฉ์๋ ์ค์น ์ด๋ฏธ์ง ๋ฐ ๊ธฐํ ๋ถํ
๊ฐ๋ฅํ ๋ฏธ๋์ด๋ฅผ ์
๋ฐ์ดํธํ๊ณ ์ธ์ฆ์ ํด์ง ๋ชฉ๋ก(dbx)์ UEFI ํ์จ์ด์ ๋ก๋ํด์ผ ํฉ๋๋ค. dbx๋ฅผ UEFI๋ก ์
๋ฐ์ดํธํ๊ธฐ ์ ์๋ OS์ ์
๋ฐ์ดํธ ์ค์น์ ๊ด๊ณ์์ด ์์คํ
์ด ์ทจ์ฝํ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
์ทจ์ฝ์ ์์ธ ๋ถํ
ํ๋ก์ธ์ค ์ค์ ์์์ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ์
์ฉ๋ ์ ์๋ ๋ฒํผ ์ค๋ฒํ๋ก์
๋๋ค.
์ด ์ทจ์ฝ์ ์ ์ผ๋ฐ์ ์ผ๋ก ESP(EFI ์์คํ
ํํฐ์
)์ ์์นํ๋ฉฐ ์๋ช
๋ shim ๋ฐ GRUB2 ์คํ ํ์ผ์ ๋ฌด๊ฒฐ์ฑ์ ์นจํดํ์ง ์๊ณ ๊ด๋ฆฌ์ ๊ถํ์ ๊ฐ์ง ๊ณต๊ฒฉ์๊ฐ ํธ์งํ ์ ์๋ grub.cfg ๊ตฌ์ฑ ํ์ผ์ ๋ด์ฉ์ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ ๋ฐ์ํฉ๋๋ค. ๋๋ฌธ์ ์ค๋ฅ ๊ตฌ์ฑ ํ์ ์ฝ๋์์ ์น๋ช
์ ์ธ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ YY_FATAL_ERROR์ ๋ํ ์ฒ๋ฆฌ๊ธฐ๋ ๊ฒฝ๊ณ ๋ง ํ์ํ์ง๋ง ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํ์ง๋ ์์์ต๋๋ค. ์์คํ
์ ๋ํ ๊ถํ ์๋ ์ก์ธ์ค๊ฐ ํ์ํ๋ฏ๋ก ์ทจ์ฝ์ฑ์ ์ํ์ด ์ค์ด๋ญ๋๋ค. ๊ทธ๋ฌ๋ ์ฅ๋น์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ(์์ ์ ๋ฏธ๋์ด์์ ๋ถํ
์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ) ์จ๊ฒจ์ง ๋ฃจํธํท์ ๋์
ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ํ์ํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ Linux ๋ฐฐํฌํ์ ์์ ์ฌ ๋ ์ด์ด, Microsoft์์ ๋์งํธ ์๋ช
ํ์ต๋๋ค. ์ด ๊ณ์ธต์ ์์ฒด ์ธ์ฆ์๋ก GRUB2๋ฅผ ํ์ธํ๋ฏ๋ก ๋ฐฐํฌ ๊ฐ๋ฐ์๊ฐ Microsoft์์ ์ธ์ฆํ ๋ชจ๋ ์ปค๋ ๋ฐ GRUB ์
๋ฐ์ดํธ๋ฅผ ๊ฐ์ง ์๋๋ก ํ ์ ์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ grub.cfg์ ๋ด์ฉ์ ๋ณ๊ฒฝํ์ฌ ์ฑ๊ณต์ ์ธ shim ๊ฒ์ฆ ํ ๋จ๊ณ์์ ์ฝ๋ ์คํ์ ๋ฌ์ฑํ ์ ์์ง๋ง ์ด์ ์ฒด์ ๋ฅผ ๋ก๋ํ๊ธฐ ์ ์ ๋ณด์ ๋ถํ
๋ชจ๋๊ฐ ํ์ฑํ๋ ๋ ์ ๋ขฐ ์ฒด์ธ์ ๊ณ ์ ๋์ด ๋ชจ๋ ์ ์ด๊ถ์ ์ป์ ์ ์์ต๋๋ค. ๋ค๋ฅธ OS ๋ก๋, ์ด์ ์ฒด์ ๊ตฌ์ฑ ์์ ์์ ๋ฐ ๋ณดํธ ์ฐํ๋ฅผ ํฌํจํ ์ถ๊ฐ ๋ถํ
ํ๋ก์ธ์ค์ ๋ํด ์ ๊ธ.
GRUB2์ ๊ธฐํ ์ทจ์ฝ์ :
- CVE-2020-14308 โ grub_malloc์ โโํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํฌ๊ธฐ๋ฅผ ํ์ธํ์ง ์์ ๋ฐ์ํ๋ ๋ฒํผ ์ค๋ฒํ๋ก;
- CVE-2020-14309 - grub_squash_read_symlink์ ์ ์ ์ค๋ฒํ๋ก๋ก ์ธํด ํ ๋น๋ ๋ฒํผ๋ฅผ ๋์ด์ ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ ์ ์์ต๋๋ค.
- CVE-2020-14310 - read_section_from_string์ ์ ์ ์ค๋ฒํ๋ก๋ก ์ธํด ํ ๋น๋ ๋ฒํผ๋ฅผ ๋์ด์ ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์์ต๋๋ค.
- CVE-2020-14311 - grub_ext2_read_link์ ์ ์ ์ค๋ฒํ๋ก๋ก ์ธํด ํ ๋น๋ ๋ฒํผ๋ฅผ ๋์ด์ ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ ์ ์์ต๋๋ค.
- CVE-2020-15705 โ shim ๋ ์ด์ด ์์ด Secure Boot ๋ชจ๋์์ ์ง์ ๋ถํ
ํ๋ ๋์ ์๋ช
๋์ง ์์ ์ปค๋์ ๋ก๋ํ ์ ์์ต๋๋ค.
- CVE-2020-15706 โ ๋ฐํ์ ์ ํจ์๋ฅผ ์ฌ์ ์ํ ๋ ์ด๋ฏธ ํด์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(ํด์ ํ ์ฌ์ฉ)์ ์ก์ธ์คํฉ๋๋ค.
- CVE-2020-15707 โ initrd ํฌ๊ธฐ ์ฒ๋ฆฌ๊ธฐ์ ์ ์ ์ค๋ฒํ๋ก.
ํซํฝ์ค ํฉ ์
๋ฐ์ดํธ๊ฐ ์ถ์๋์์ต๋๋ค. ๋ฐ๋น์, Ubuntu, RHEL ะธ SUSE. GRUB2์ ๊ฒฝ์ฐ ์ ์ ํจ์น ์ธํธ.
์ถ์ฒ : opennet.ru