UEFI ๋ณด์•ˆ ๋ถ€ํŒ…์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” GRUB2์˜ ์ทจ์•ฝ์ 

UEFI ๋ณด์•ˆ ๋ถ€ํŒ… ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์šฐํšŒํ•˜๊ณ  ํ™•์ธ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” GRUB2 ๋ถ€ํŠธ๋กœ๋”์˜ 7๊ฐ€์ง€ ์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ถ€ํŠธ๋กœ๋” ๋˜๋Š” ์ปค๋„ ์ˆ˜์ค€์—์„œ ์‹คํ–‰๋˜๋Š” ๋งฌ์›จ์–ด๋ฅผ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ shim ๊ณ„์ธต์—๋Š” UEFI ๋ณด์•ˆ ๋ถ€ํŒ…์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ด ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝ์  ๊ทธ๋ฃน์€ ์ด์ „์— ๋ถ€ํŠธ๋กœ๋”์—์„œ ์‹๋ณ„๋œ ์œ ์‚ฌํ•œ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•œ ์ฝ”๋“œ๋ช… Boothole 3์œผ๋กœ ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

GRUB2 ๋ฐ shim์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐํฌํŒ์€ GRUB2, shim ๋ฐ fwupd์—์„œ ์ง€์›๋˜๋Š” SBAT(UEFI Secure Boot Advanced Targeting) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SBAT๋Š” Microsoft์™€ ๊ณต๋™์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์ œ์กฐ์—…์ฒด, ์ œํ’ˆ, ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” UEFI ๊ตฌ์„ฑ ์š”์†Œ์˜ ์‹คํ–‰ ํŒŒ์ผ์— ์ถ”๊ฐ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ง€์ •๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ์ธ์ฆ๋˜๋ฉฐ UEFI ๋ณด์•ˆ ๋ถ€ํŒ…์— ํ—ˆ์šฉ๋˜๊ฑฐ๋‚˜ ๊ธˆ์ง€๋˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ ๋ชฉ๋ก์— ๋ณ„๋„๋กœ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ Linux ๋ฐฐํฌํŒ์€ UEFI ๋ณด์•ˆ ๋ถ€ํŒ… ๋ชจ๋“œ์—์„œ ์ž์ฒด ๊ฒ€์‚ฌ ๋ถ€ํŒ…์„ ์œ„ํ•ด Microsoft์—์„œ ๋””์ง€ํ„ธ ์„œ๋ช…ํ•œ ์ž‘์€ ์‹ฌ ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์ธต์€ ์ž์ฒด ์ธ์ฆ์„œ๋กœ GRUB2๋ฅผ ํ™•์ธํ•˜๋ฏ€๋กœ ๋ฐฐํฌ ๊ฐœ๋ฐœ์ž๊ฐ€ Microsoft์—์„œ ์ธ์ฆํ•œ ๋ชจ๋“  ์ปค๋„ ๋ฐ GRUB ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฐ–์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GRUB2์˜ ์ทจ์•ฝ์ ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ฌ ๊ฒ€์ฆ์— ์„ฑ๊ณตํ•œ ํ›„ ๋‹จ๊ณ„์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์šด์˜ ์ฒด์ œ๋ฅผ ๋กœ๋“œํ•˜๊ธฐ ์ „์— ๋ณด์•ˆ ๋ถ€ํŒ… ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด ์‹ ๋ขฐ ์ฒด์ธ์— ๊ณ ์ •๋˜์–ด ๋‹ค์Œ์„ ํฌํ•จํ•œ ์ถ”๊ฐ€ ๋ถ€ํŒ… ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์™„์ „ํ•œ ์ œ์–ด๊ถŒ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ OS๋ฅผ ๋กœ๋“œํ•˜๊ณ , ์šด์˜ ์ฒด์ œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ์ž ๊ธˆ ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํŠธ๋กœ๋”์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋ฐฐํฌํŒ์—์„œ ์ƒˆ๋กœ์šด ๋‚ด๋ถ€ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๊ณ  ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ, ๋ถ€ํŠธ๋กœ๋”, ์ปค๋„ ํŒจํ‚ค์ง€, fwupd ํŽŒ์›จ์–ด ๋ฐ shim ๋ ˆ์ด์–ด๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. SBAT๊ฐ€ ๋„์ž…๋˜๊ธฐ ์ „์—๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์šด์˜ ์ฒด์ œ์— ๊ด€๊ณ„์—†์ด ์ด์ „ ์ทจ์•ฝํ•œ GRUB2 ๋ฒ„์ „์ด ํฌํ•จ๋œ ๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ๋ฏธ๋””์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ฆ์„œ ํ•ด์ง€ ๋ชฉ๋ก(dbx, UEFI Revocation List)์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ์ทจ์•ฝ์ ์„ ์™„์ „ํžˆ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด์ด์—ˆ์Šต๋‹ˆ๋‹ค. UEFI ๋ณด์•ˆ ๋ถ€ํŒ…์„ ์†์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ์ธ์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ช…์„ ์ทจ์†Œํ•˜๋Š” ๋Œ€์‹  SBAT๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณด์•ˆ ๋ถ€ํŒ…์„ ์œ„ํ•œ ํ‚ค๋ฅผ ์ทจ์†Œํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ ๋ฒ„์ „ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SBAT๋ฅผ ํ†ตํ•œ ์ทจ์•ฝ์  ์ฐจ๋‹จ์—๋Š” UEFI ์ธ์ฆ์„œ ํ•ด์ง€ ๋ชฉ๋ก(dbx)์„ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ ๋‚ด๋ถ€ ํ‚ค๋ฅผ ๊ต์ฒดํ•˜์—ฌ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฐํฌํŒ์—์„œ ์ œ๊ณต๋˜๋Š” GRUB2, shim ๋ฐ ๊ธฐํƒ€ ๋ถ€ํŒ… ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ˆ˜์ค€์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Linux ๋ฐฐํฌํŒ์—๋Š” SBAT ์ง€์›์ด ์ด๋ฏธ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธ๋œ ์ทจ์•ฝ์ :

  • CVE-2021-3696, CVE-2021-3695๋Š” ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ PNG ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํž™ ๊ธฐ๋ฐ˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ, ์ด๋ก ์ ์œผ๋กœ ๊ณต๊ฒฉ์ž ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  UEFI ๋ณด์•ˆ ๋ถ€ํŒ…์„ ์šฐํšŒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ์ต์Šคํ”Œ๋กœ์ž‡์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋งŽ์€ ์š”์†Œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์— ๋Œ€ํ•œ ์ •๋ณด์˜ ๊ฐ€์šฉ์„ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ์ต์Šคํ”Œ๋กœ์ž‡ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
  • CVE-2021-3697 - JPEG ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ์ฝ”๋“œ์˜ ๋ฒ„ํผ ์–ธ๋”ํ”Œ๋กœ์šฐ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์•…์šฉํ•˜๋ ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์š”ํ•˜๋ฉฐ PNG ๋ฌธ์ œ(CVSS 7.5)์™€ ๊ฑฐ์˜ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ๋ณต์žก์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.
  • CVE-2022-28733 - grub_net_recv_ip4_packets() ํ•จ์ˆ˜์˜ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ํŠน๋ณ„ํžˆ ์ œ์ž‘๋œ IP ํŒจํ‚ท์„ ์ „์†กํ•˜์—ฌ rsm->total_len ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ œ์‹œ๋œ ์ทจ์•ฝ์  ์ค‘ ๊ฐ€์žฅ ์œ„ํ—˜ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(CVSS 8.1). ์•…์šฉ์— ์„ฑ๊ณตํ•˜๋ฉด ์ทจ์•ฝ์ ์„ ํ†ตํ•ด ์˜๋„์ ์œผ๋กœ ๋” ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ํ• ๋‹นํ•˜์—ฌ ๋ฒ„ํผ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2022-28734 - ์ œ๊ฑฐ๋œ HTTP ํ—ค๋”๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋‹จ์ผ ๋ฐ”์ดํŠธ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํŠน์ˆ˜ํ•˜๊ฒŒ ์กฐ์ž‘๋œ HTTP ์š”์ฒญ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ๋•Œ ๋ฌธ์ œ๋กœ ์ธํ•ด GRUB2 ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์ƒ(๋ฒ„ํผ ๋ ๋ฐ”๋กœ ๋’ค์— ๋„ ๋ฐ”์ดํŠธ ์“ฐ๊ธฐ)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2022-28735 shim_lock ๊ฒ€์ฆ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ปค๋„์ด ์•„๋‹Œ ํŒŒ์ผ ๋กœ๋“œ๊ฐ€ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ UEFI ๋ณด์•ˆ ๋ถ€ํŒ… ๋ชจ๋“œ์—์„œ ์„œ๋ช…๋˜์ง€ ์•Š์€ ์ปค๋„ ๋ชจ๋“ˆ์ด๋‚˜ ํ™•์ธ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2022-28736 GRUB2์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์šด์˜ ์ฒด์ œ๋ฅผ ๋ถ€ํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” chainloader ๋ช…๋ น์˜ ์žฌ์‹คํ–‰์„ ํ†ตํ•ด grub_cmd_chainloader() ํ•จ์ˆ˜์—์„œ ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค์ž…๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ GRUB2์—์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์•…์šฉ์œผ๋กœ ์ธํ•ด ๊ณต๊ฒฉ์ž ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2022-28737 - ์ œ์ž‘๋œ EFI ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ๋•Œ handler_image() ํ•จ์ˆ˜์—์„œ shim ๋ ˆ์ด์–ด์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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