Intel 기반 Mac의 UEFI 펌웨어 보안
Apple T2 보안 칩이 탑재된 Intel 기반 Mac은 UEFI(Intel) 펌웨어를 사용하여 보안 기능을 제공합니다.
개요
2006년부터 Intel 기반 CPU가 탑재된 Mac 컴퓨터는 EFI(확장 펌웨어 인터페이스) 개발 키트(EDK) 버전1 또는 버전2 기반의 Intel 펌웨어를 사용합니다. EDK2 기반 코드는 UEFi(Unified Extensible Firmware Interface) 사양을 준수합니다. 이 섹션에서 UEFI 펌웨어는 Intel 펌웨어를 말합니다. UEFI 펌웨어는 Intel 칩에서 실행되는 첫 번째 코드입니다.
Apple T2 보안 칩이 탑재되지 않은 Intel 기반 Mac의 경우 UEFI 펌웨어의 신뢰 루트는 펌웨어가 저장된 칩입니다. UEFI 펌웨어 업데이트는 저장 장치에 업데이트하기 전에 Apple에서 디지털로 서명하고 펌웨어에 의해 확인됩니다. 롤백 공격을 방지하려면 항상 기존 버전보다 최신 버전인 업데이트가 있어야 합니다. 하지만 Mac에 물리적으로 접근할 수 있는 공격자는 하드웨어를 사용하여 펌웨어 저장 장치 칩에 접근하고 악성 콘텐츠를 포함하도록 칩을 업데이트할 가능성이 있습니다. 마찬가지로 UEFI 펌웨어의 초기 시동 프로세스에서 취약점이 발견되면(저장 장치 칩에 쓰기 제한을 적용하기 전) UEFI 펌웨어가 지속적으로 감염될 수 있습니다. 이는 T2 칩이 탑재되지 않은 모든 Intel 기반 Mac 컴퓨터에 존재하며 대부분의 Intel 기반 PC에서 흔히 나타나는 하드웨어 구조적인 제한입니다.
UEFI 펌웨어를 파괴하는 물리적 공격을 방지하기 위해 Mac 컴퓨터는 T2 칩의 UEFI 펌웨어에 대한 신뢰 루트로 재설계되었습니다. 이 섹션 후반부의 Intel 기반 Mac의 시동 프로세스에서 설명한 것처럼 이러한 Mac 컴퓨터에서는 T2 펌웨어 자체가 UEFI 펌웨어의 신뢰 루트입니다.
Intel 관리 엔진(ME) 하위 구성요소
Intel 관리 엔진(ME) 펌웨어는 UEFI 펌웨어 내에 저장되는 하위 구성 요소 중 하나입니다. 별도의 프로세서이자 Intel 칩 내의 하위 시스템인 ME는 Intel 기반 그래픽만을 사용하는 Mac에서 오디오 및 비디오 저작권 보호에 주로 사용됩니다. Intel 기반 Mac은 구성 요소가 대다수 제거된 커스텀 ME 펌웨어를 실행하여 이러한 하위 구성 요소의 공격 표면을 줄입니다. 그로 인해 만들어진 Mac ME 펌웨어는 Intel이 만든 기본 최소 빌드보다 더 작기 때문에 과거에 보안 연구가들이 공개 공격의 대상으로 간주한 많은 구성 요소들이 더 이상 존재하지 않습니다.
SMM(시스템 관리 모드)
Intel 프로세서에는 정상 작동과는 다른 특수 실행 모드가 있습니다. 이는 SMM(시스템 관리 모드)으로 불리며 원래 전원 관리 등 시간에 민감한 작업을 처리하기 위해 도입되었습니다. 하지만 Mac 컴퓨터는 역사적으로 SMC(시스템 관리 컨트롤러)라는 별개의 마이크로 컨트롤러를 사용하여 이러한 작업을 수행해왔습니다. SMC는 T2 칩에 통합되어 더 이상 별개의 마이크로 컨트롤러가 아닙니다.