피드로 돌아가기
Hacker NewsHacker News
Infrastructure

XNU 커널 분석을 통한 Apple Silicon VM 2대 제한 해제

Apple Silicon and Virtual Machines: Beating the 2 VM Limit (2023)

2026년 4월 11일7advanced

Context

Apple Silicon 호스트에서 Virtualization.framework 사용 시 macOS 게스트 VM을 최대 2대까지만 활성화할 수 있는 제약 존재. 해당 제한은 Userspace가 아닌 XNU 커널 내부의 하드코딩된 쿼터 시스템에 의해 제어되는 구조임.

Technical Solution

  • Hopper Disassembler를 통한 Virtualization.framework 분석으로 Userspace 내 제어 로직 부재 확인
  • Intel 커널과 Apple Silicon 커널의 함수 및 문자열 비교 분석을 통한 hv_vm_* 스택 식별
  • 커널 내 hv_apple_isa_vm_quota 변수를 이용한 VM 생성/소멸 시의 증감 로직 파악
  • hv_apple_isa_vm_quota boot-arg를 통한 커널 쿼터 오버라이드 가능성 발견
  • Release 커널 내 SIP 기반 CSR_ALLOW_APPLE_INTERNAL 체크 로직으로 인한 boot-arg 무효화 확인
  • KDK(Kernel Debug Kit)를 활용한 Development Kernel Collection 구축 및 커스텀 커널 부팅으로 제한 우회

- OS 레벨의 제약 사항 분석 시 Userspace 프레임워크와 Kernel 영역을 분리하여 접근 - 서로 다른 아키텍처(Intel vs ARM) 커널 바이너리 비교를 통한 특정 기능 구현부 추적 - 커스텀 커널 적용 시 OS 업데이트 프로세스 단절 및 RecoveryOS를 통한 Boot Policy 복구 절차 숙지

원문 읽기