macOS의 시스템 및 커널 확장 프로그램
macOS 10.15 이상 버전은 개발자가 커널 수준이 아닌 사용자 공간에서 실행되는 시스템 확장 프로그램을 설치하고 관리하여 macOS의 기능을 확장할 수 있도록 합니다. 시스템 확장 프로그램은 사용자 공간에서 실행되어 macOS의 안정성과 보안을 향상합니다. KEXT에는 기본적으로 전체 운영 체제에 대한 전체 접근 권한이 있지만, 사용자 공간에서 실행되는 확장 프로그램에는 지정된 기능을 수행하는 데 필요한 권한만 부여됩니다.
시스템 확장 프로그램은 특정 개발자 또는 특정 유형(네트워크 확장 프로그램 등)의 모든 확장 프로그램을 사용자 개입 없이 로드할 수 있는 기능을 포함하여 MDM을 통해 강력한 관리 기능을 지원합니다. 필요에 따라 MDM에서 사용자가 자체 시스템 확장 프로그램을 로드하지 못하도록 할 수 있습니다.
macOS 11.3에서 macOS 11.6.4까지는 시스템 확장 프로그램 프로필을 변경하면 확장 프로그램 상태가 직접 영향을 받습니다. 예를 들어 확장 프로그램이 승인 보류 중이고 확장 프로그램을 허용하는 구성 프로필이 푸시되면 확장 프로그램이 로드될 수 있습니다. 반대로 승인이 취소되면 시스템 확장 프로그램 로드가 취소되고 다음에 Mac이 다시 시동될 때 제거되었다고 표시됩니다. 시스템 확장 프로그램이 자체적으로 로드를 취소하려고 하면 로드 취소 권한을 부여하기 위해 관리자 자격 증명을 입력하라는 대화식 인증 대화상자가 나타납니다.
macOS 12.0.1 이상에서 RemovableSystemExtensions
로 불리는 시스템 확장 프로그램 페이로드의 사전은 직접 시스템 확장 프로그램을 제거할 수 있어야 하는 앱을 MDM 관리자가 지정할 수 있게 합니다. 이를 통해 로컬 관리자 인증 없이도 시스템 확장 프로그램을 제거할 수 있습니다. 이는 앱에 대한 자동 제거 프로그램을 제공할 수 있는 공급업체에 특히 유용합니다.
커널 확장 프로그램
macOS 11 이상에서 타사 KEXT(커널 확장 프로그램)를 활성화한 경우 요청 시 커널에 로드할 수 없습니다. 변경 사항을 커널에 로드하려면 사용자의 승인 및 macOS 재시동이 필요하며 Apple Silicon이 탑재된 Mac에서 보안 시동을 부분 보안으로 구성해야 합니다.
개발자는 KEXT를 작성할 필요 없이 DriverKit 및 NetworkExtension을 포함한 프레임워크를 사용하여 USB 및 휴먼 인터페이스 드라이버, 엔드포인트 보안 도구(데이터 손실 방지 또는 기타 엔드포인트 에이전트 등), VPN 및 네트워크 도구에 쓰기를 수행할 수 있습니다. 이러한 API 사용에 장점이 있거나, 해당 API로 전환하고 커널 확장 프로그램에서 벗어날 수 있는 강력한 로드맵이 있는 경우에만 타사 보안 에이전트를 사용해야 합니다.
중요사항: macOS에서 KEXT는 더 이상 권장되지 않습니다. KEXT는 운영 체제의 무결성과 신뢰성을 위협합니다. 사용자는 커널 확장이 필요 없는 솔루션을 우선적으로 선택하고 시스템 확장 프로그램을 대신 사용해야 합니다.
macOS 11 이상이 설치된 Intel 기반 Mac 또는 Apple Silicon Mac에서 KEXT 추가하기
커널 확장 프로그램을 사용해야 하는 경우, 등록 유형에 따른 승인 방법을 확인하십시오.
MDM 등록 유형 | 승인 방법 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
등록되지 않음 사용자 등록 | KEXT가 설치되고 이를 로드하려는 시도를 하면 사용자는 다음의 경고 대화상자에서 재시동을 시행해야 합니다.
이 재시동은 커널 시동 전에 AuxKC를 다시 빌드하도록 합니다. | ||||||||||
기기 등록 자동 기기 등록 | 새로운 KEXT가 설치되고 이를 로드하려는 시도를 하면 다음 중 하나의 방법으로 재시동을 시행해야 합니다.
참고: KEXT 허용 목록 프로필이 해당 KEXT를 지정하는 MDM 솔루션을 통해 반드시 먼저 설치되어야 합니다. macOS 11.3 이상에서는 선택적으로 MDM이 사용자에게 편의에 따라 재시동을 완료하도록 알릴 수 있습니다. |
Apple Silicon이 탑재된 Mac에서 KEXT 추가를 위한 추가 단계
Apple Silicon이 탑재된 Mac에 커널 확장 프로그램을 추가하는 경우, 추가 단계를 거쳐야 합니다.
MDM 등록 유형 | 승인 방법 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
등록되지 않음 | KEXT를 사용자가 관리하려면 복구용 OS로 재시동하여 보안 설정을 다운그레이드해야 합니다. 사용자는 전원 버튼을 길게 눌러 복구용 OS로 시동하고 관리자로 인증해야 합니다. 전원 버튼을 눌러 복구용 OS로 진입했을 때에만 Secure Enclave가 정책 변경을 수락합니다. 그런 다음 사용자는 ‘부분 보안’ 체크상자와 ‘확인된 개발자가 배포한 커널 확장 파일의 사용자 관리 허용’ 옵션을 선택하고 Mac을 재시동합니다. | ||||||||||
사용자 등록 | 보안 정책을 다운그레이드하려면 반드시 복구용 OS로 재시동해야 합니다. 사용자는 전원 버튼을 길게 눌러 복구용 OS로 시동하고 로컬 관리자로 인증해야 합니다. 전원 버튼을 눌러 복구용 OS로 진입했을 때에만 Secure Enclave가 정책 변경을 수락합니다. 그런 다음 사용자는 부분 보안을 선택하고 ‘확인된 개발자가 배포한 커널 확장 파일의 사용자 관리 허용’을 선택한 후 Mac을 재시동합니다. | ||||||||||
기기 등록 | MDM 솔루션은 사용자가 복구용 OS로 재시동하여 보안 설정을 다운그레이드해야 함을 알려야 합니다. 사용자는 전원 버튼을 길게 눌러 복구용 OS로 시동하고 관리자로 인증해야 합니다. 전원 버튼을 눌러 복구용 OS로 진입했을 때에만 Secure Enclave가 정책 변경을 수락합니다. 그런 다음 사용자는 부분 보안을 선택하고 ‘커널 확장 파일 및 자동 소프트웨어 업데이트의 원격 관리 허용’을 선택한 후 Mac을 재시동합니다. 이 기능이 사용자의 기기에서 지원되는지 알아보려면 MDM 공급업체 문서를 참조하십시오. | ||||||||||
자동 기기 등록 (Mac 일련 번호가 Apple School Manager, Apple Business Manager 또는 Apple Business Essential에 나타나며 Mac은 해당 서비스와 연결된 MDM 솔루션에 등록되어 있어야 합니다.) | MDM 솔루션이 자동으로 관리합니다. 이 기능이 사용자의 기기에서 지원되는지 알아보려면 MDM 공급업체 문서를 참조하십시오. |
시스템 무결성 보호와 커널 확장 프로그램
SIP(시스템 무결성 보호)가 활성화된 경우 각 KEXT의 서명이 확인되고 나서 AuxKC에 포함됩니다.
SIP이 비활성화되면 KEXT 서명은 시행되지 않습니다.
이 방식은 Apple Developer Program의 일원이 아닌 개발자 또는 사용자가 서명되지 않은 KEXT를 테스트할 수 있는 최소 보안 흐름을 허용합니다.