Kant's IT/Issue on IT&Security

Trigon, 최신 iOS 커널 익스플로잇 분석

Kant Jo 2025. 3. 23. 19:32

Trigon: Latest iOS Kernel Exploit Uncovered

 

Trigon: Latest iOS Kernel Exploit Uncovered

A sophisticated kernel exploit leveraging CVE-2023-32434, an integer overflow vulnerability in Apple’s XNU virtual memory subsystem, has been unveiled by security researchers.

gbhackers.com

 

  • Trigon 익스플로잇 개요
    • CVE-2023-32434 취약점을 이용한 iOS 커널 익스플로잇
    • A10(X) SoC를 대상으로 KTRR(Kernel Text Read-Only Region) 및 PPL(Page Protection Layer) 우회
    • Apple XNU 가상 메모리 서브시스템의 정수 오버플로우 취약점 악용
    • Kaspersky 연구원을 노린 Operation Triangulation 공격 캠페인에서 최초 활용
  • CVE-2023-32434 취약점 기술 분석
    • mach_make_memory_entry_64 함수 내 경계 검사 오류
    • 18,000 페타바이트 이상의 메모리 엔트리를 생성하여 물리 메모리 접근 가능
    • 정수 오버플로우 발생 코드
        if ((offset + *size + parent_entry->data_offset) > parent_entry->size) { 
            kr = KERN_INVALID_ARGUMENT; 
            goto make_mem_done; 
        }
    • PurpleGfxMem 영역을 악용하여 보호된 커널 메모리 접근 가능
  • Trigon 익스플로잇 수행 단계
    1. 악성 메모리 엔트리 생성
      • IOSurface API를 이용해 PurpleGfxMem 영역에 비정상적인 메모리 엔트리 생성
      • mach_vm_map을 통해 물리 메모리 매핑 우회
    2. 물리 메모리 분석
      • iboot-handoff 구조체 분석을 통해 DRAM 레이아웃 파악
      • KTRR 보호 영역을 우회하여 커널 텍스트 주소 확인
    3. 커널 베이스 주소 발견
      • RoRgn(Mach-O 헤더)를 검색하여 커널 물리적 베이스 주소 파악
      • 가상 주소와 물리 주소 변환
    4. 커널 읽기/쓰기 원시 함수 확보
      • 20,000개 이상의 IOSurface 객체 스프레이
      • pv_head_table 메타데이터 배열을 이용한 커널 객체 하이재킹
      • IOSurface 속성 조작을 통해 커널 임의 읽기/쓰기 가능
  • 보안 권고
    • ARMv8-A(A7~A9): MMIO 기반 KTRR 접근 불가, 커널 베이스 추측 필요
    • ARMv8.3-A(A12+): CTRR 보호 활성화, RoRgn 매핑 차단, PPL 페이지 테이블 보호 강화
    • arm64e: PAC 기반 pv_head_table 보호, PMAP 커널 페이지 보호로 익스플로잇 차단
    • 향후 대응 방안
      • XNU 메모리 API의 정수 오버플로우 검사 강화
      • 하드웨어 지원 메모리 경계 검사 도입
      • Mach-level 취약점 모니터링 및 탐지 시스템 강화
  • 결론
    • Trigon 익스플로잇은 하드웨어 기반 커널 보호 기법(KTRR, PPL)의 한계를 입증
    • iOS 보안 패치 및 커널 메모리 관리 강화 필요
    • 기업 보안팀, iOS Mach 커널 레벨 익스플로잇 탐지 강화
    • 최신 보안 업데이트 적용 및 iOS 13+ A10(X) 기기 취약점 모니터링 필수