Apple Silicon이 탑재된 Mac의 시동 디스크 보안 정책 제어
개요
Intel 기반 Mac 컴퓨터의 보안 정책과 달리 Apple Silicon이 탑재된 Mac 컴퓨터의 보안 정책은 설치된 각 운영 체제에 대한 것입니다. 이는 버전과 보안 정책이 다른 여러 개의 설치된 macOS 인스턴스가 동일한 Mac에서 지원됨을 의미합니다. 이러한 이유로 운영 체제 선택기가 시동 보안 유틸리티에 추가되었습니다.
Apple Silicon이 탑재된 Mac에서 시스템 보안 유틸리티는 KEXT 시동 또는 SIP(시스템 무결성 보호) 구성과 같은 macOS 사용자 구성 보안의 전반적인 상태를 나타냅니다. 보안 설정 변경 시 보안이 크게 약화되거나 시스템이 쉽게 손상될 수 있는 경우, 변경을 하기 위해 사용자가 전원 버튼을 길게 눌러 복구용 OS에 진입해야 합니다(악성 소프트웨어는 신호를 발생시키지 못하고 물리적 접근 권한이 있는 사람만 가능). 이로 인해 Apple Silicon 기반 Mac도 펌웨어 암호를 요구(또는 지원)하지 않으며, 모든 주요 변경 사항은 이미 사용자 인증에 의해 게이트화됩니다. SIP에 대한 자세한 내용은 시스템 무결성 보호를 참조하십시오.
완전 보안 및 부분 보안은 복구용 OS에서 시동 보안 유틸리티를 사용하여 설정할 수 있습니다. 그러나 최소 보안의 경우 Mac의 보안이 급격히 약화되는 위험을 감수하는 사용자가 설정하도록 명령어 라인 도구에서만 접근 가능합니다.
완전 보안 정책
완전 보안은 기본 설정이며 iOS 및 iPadOS처럼 작동합니다. 소프트웨어가 다운로드되고 설치될 준비를 마쳤을 때 macOS는 소프트웨어와 함께 제공되는 전역 서명을 사용하는 대신 iOS 및 iPadOS에 사용되는 것과 동일한 Apple 서명 서버와 통신하여 새로운 ‘개인 맞춤화된’ 서명을 요청합니다. 이러한 경우에 서명 요청의 일부로서 Apple CPU에 특정된 고유 ID인 ECID(Exclusive Chip Identification)가 포함된 서명이 개인 맞춤화됩니다. 서명 서버에서 돌려주는 해당 서명은 고유하며 특정 Apple CPU에서만 사용할 수 있습니다. 완전 보안 정책이 적용되면 Boot ROM 및 LLB는 지정된 서명이 Apple에서 서명했을 뿐 아니라 특정 Mac에 대해서도 서명되어 결국 해당 버전의 macOS를 해당하는 Mac에 연결하도록 보장합니다.
또한 온라인 서명 서버를 사용하면 롤백 공격에 대해 일반적인 전역 서명 방식보다 더 강력한 보호 기능이 제공됩니다. 전역 서명 시스템에서 보안 에포크는 여러 차례 롤링되었을 수 있지만 최신 펌웨어를 본 적 없는 시스템은 이에 대해 알 수 없습니다. 예를 들어, 현재 보안 에포크 1에 있다고 생각하는 컴퓨터는 실제로는 현재 보안 에포크가 5인 경우에도 보안 에포크 2의 소프트웨어를 허용합니다. Apple Silicon 온라인 서명 시스템에서 서명 서버는 최신 보안 에포크를 제외한 모든 보안 에포크의 소프트웨어에 대한 서명 생성을 거부할 수 있습니다.
또한, 보안 에포크를 변경하고 나서 공격자가 취약점을 발견하면 시스템 A의 이전 에포크에서 취약한 소프트웨어를 선택하여 시스템 B를 공격하는 데 적용할 수 없습니다. 이전 에포크에서의 취약한 소프트웨어가 시스템 A로 개인 맞춤화되었다는 점은 소프트웨어가 전송되어 시스템 B를 공격하는 데 사용되는 것을 방지합니다. 이러한 모든 메커니즘은 함께 작동하여 공격자가 최신 소프트웨어가 제공하는 보호 기능을 우회하기 위해 취약한 소프트웨어를 의도적으로 Mac에 배치할 수 없도록 합니다. 하지만 Mac 관리자의 사용자 이름과 암호를 알고 있는 사용자는 언제든지 사용 목적에 가장 적합한 보안 정책을 선택할 수 있습니다.
부분 보안 정책
부분 보안은 T2 칩이 탑재된 Intel 기반 Mac 컴퓨터의 중간 보안과 유사하게 동작하며, 여기서 공급업체(이 경우 Apple)는 코드의 디지털 서명을 생성하여 코드가 해당 공급업체에서 제공한 것임을 확고히 합니다. 이를 통해 공격자가 서명되지 않은 코드를 삽입하지 못하도록 방지합니다. 이 서명은 현재 부분 보안 정책이 설정되어 있는 Mac이면 모든 Mac에서 언제든지 사용할 수 있기 때문에, Apple에서는 이를 ‘전역’ 서명이라고 부릅니다. 무단으로 운영 체제를 변경하여 사용자 데이터에 접근할 수 없게 되더라도 부분 보안 자체는 롤백 공격에 대한 보호 기능을 제공하지 않습니다. 자세한 내용은 Apple Silicon이 탑재된 Mac의 커널 확장 프로그램를 참조하십시오.
사용자가 이전 macOS 버전을 실행하도록 하는 것 외에도 부분 보안은 타사 KEXT(커널 확장 프로그램) 도입과 같이 사용자의 시스템 보안이 취약해지는 작업에 필요합니다. KEXT는 커널과 동일한 권한을 가지고 있어 타사 KEXT에 취약성이 있을 경우 운영 체제가 완전히 손상될 수 있습니다. 이런 이유로 추후 Apple Silicon이 탑재된 Mac 컴퓨터의 macOS에서 KEXT 지원이 제거되기 전에 개발자들이 시스템 확장 프로그램을 채택할 것을 강력히 권장합니다. 타사 KEXT를 활성화한 경우에도 요청 시 KEXT가 커널에 로드되지 않습니다. 그 대신 KEXT는 해시가 LocalPolicy에 저장되는 AuxKC(보조 커널 모음)로 병합되므로 재시동이 필요합니다. AuxKC 생성에 관한 자세한 내용은 macOS에서 안전하게 커널 확장하기를 참조하십시오.
최소 보안 정책
최소 보안은 Mac을 아주 불안정한 상태로 만드는 위험을 감수하는 사용자를 위한 모드입니다. 이 모드는 T2 칩이 탑재된 Intel 기반 Mac의 보안 없음 모드와는 다릅니다. 최소 보안에서 서명 확인은 여전히 전체 보안 시동 체인을 따라 수행됩니다. 단, 정책을 최소 보안으로 설정하면 사용자 설정된 XNU 커널에서 구축된 사용자 생성 시동 커널 모음처럼 로컬로 Secure Enclave 서명된 시동 개체를 허용해야 한다고 iBoot에 신호를 보냅니다. 이런 식으로 최소 보안은 임의의 ‘완전히 신뢰할 수 없는 운영 체제’ 커널을 실행하는 아키텍처 기능을 제공합니다. 사용자 설정된 시동 커널 모음 또는 완전히 신뢰할 수 없는 운영 체제가 시스템에 로드된 경우 일부 암호화 키는 사용할 수 없게 됩니다. 이는 완전히 신뢰할 수 없는 운영 체제가 신뢰하는 운영 체제의 데이터에 접근하지 못하도록 하기 위한 것입니다.
중요사항: Apple은 사용자 설정 XNU 커널을 제공하거나 지원하지 않습니다.
최소 보안이 T2 칩이 탑재된 Intel 기반 Mac 컴퓨터의 보안 없음과는 다른 점이 또 있습니다. 바로 과거에 독립적으로 제어할 수 있었던 일부 보안 다운그레이드의 전제 조건이라는 점입니다. 특히 Apple Silicon이 탑재된 Mac에서 SIP(시스템 무결성 보호)를 비활성화하려면 시스템을 최소 보안으로 설정하고 있음을 사용자가 인식해야 합니다. 이는 SIP를 비활성화하면 시스템이 커널로 인해 훨씬 쉽게 손상될 수 있는 상태로 전환되기 때문입니다. 특히 Apple Silicon이 탑재된 Mac에서 SIP를 비활성화하면 AuxKC 생성 시간 동안 KEXT 서명 실행이 비활성화되므로, 커널 메모리에 임의의 KEXT가 로드될 수 있습니다. Apple Silicon이 탑재된 Mac에서는 정책 저장소가 NVRAM에서 LocalPolicy로 옮겨져 또다른 SIP 개선이 이루어졌습니다. 따라서 이제는 SIP를 비활성화하려는 경우 전원 버튼을 길게 누르면 실행되는 복구용 OS에서 LocalPolicy 서명 키에 접근할 수 있는 사용자의 인증이 필요합니다. 이를 통해 소프트웨어만 노리는 공격이 훨씬 어려워졌으며, 실제 공격자도 SIP를 비활성화하기가 상당히 까다로워졌습니다.
시동 보안 유틸리티 앱에서 최소 보안으로 다운그레이드할 수 없습니다. 사용자는 복구용 OS 터미널에서 csrutil
(SIP 비활성화를 위한)과 같은 명령어 라인 도구를 실행해야만 다운그레이드할 수 있습니다. 사용자가 다운그레이드를 마치면 발생 사실이 시동 보안 유틸리티에 반영되고 사용자는 손쉽게 더 안전한 보안 모드로 설정할 수 있습니다.
참고: Apple Silicon이 탑재된 Mac은 기술적으로 모든 시동이 로컬에서 수행되기 때문에 특정 미디어 시동 정책을 요구하거나 지원하지 않습니다. 사용자가 외부 미디어에서 시동하기로 선택한 경우 먼저 복구용 OS에서 인증된 재시동을 사용하여 해당 운영 체제 버전을 개인 맞춤화해야 합니다. 이러한 재시동은 외부 미디어에 저장된 운영 체제에서 신뢰하는 시동을 수행하는 데 사용되는 내부 드라이브에 LocalPolicy 파일을 생성합니다. 즉, 외부 미디어에서 시동할 구성은 항상 운영 체제별로 명시적으로 활성화되고 이미 사용자 인증을 요구하므로 추가적인 보안 구성이 필요하지 않습니다.