최후의 0day 탈옥: Tachy0n

8 hours ago 1

  • tachy0n은 iOS 13.0~13.5를 위한 최신 0day 탈옥 익스플로잇 공개 사례임
  • 이 버그는 Lightspeed라 불리는 lio_listio 시스템 콜의 경쟁 상태(race condition)로, 커널 LPE(권한 상승) 취약점 이용임
  • Spiceunc0ver 등 여러 탈옥 프로젝트에서 이 취약점을 실제로 활용한 사례가 있으며, 취약점 이용 방식과 메모리 관리 이슈 해킹 기법 설명임
  • Apple은 이 exploit이 공개된 후 패치와 리그레션 테스트 도입, 더 강력한 커널 오브젝트 분리(Zone, kheap 등) 및 포인터 보호 기능 대폭 강화함
  • 이후 iOS 14부턴 탈옥·커널 exploit 환경이 근본적으로 변하여, 공개된 커널 exploit이 더이상 존재하지 않는 상황

0. 서론

  • tachy0n은 iOS 13.0부터 13.5까지 적용되는 구형 exploit임
  • 2020년 5월 23일 unc0ver v5.0.0에 0day로 공개, 불과 1주일 만에 Apple이 긴급 패치함
  • 해당 취약점은 이미 이전에 1day로 활용된 이력이 있어, exploit 기법 측면에서 의미 있는 사례로 평가됨
  • 취약점 소스 및 발견 경위를 상세히 풀어 설명하는 글임

1. Lightspeed

  • 해당 취약점은 Synacktiv이 발표한 Lightspeed 버그(CVE-2020-9859 등) 로, lio_listio syscall의 비동기 I/O 컨텍스트 메모리 해제 시 경쟁 상태 문제가 발생함
  • 메모리 더블 프리 조건을 만들기 위해 I/O 연산 타이밍을 조절, 두 번의 객체 해제를 통해 같은 메모리 영역에 여러 객체를 중첩시켜 활용 가능함
    • 커널의 kalloc.16 존에서 동적 메모리 할당 구조를 익스플로잇에 활용함
    • 본질적으로 경쟁 레이스를 수차례 반복해 성공 확률을 높이는 방법임

2. Spice

  • 해당 exploit은 과거 team Jake Blair가 제작한 Spice 탈옥에서 사용됨
  • racoon과 app에서 서로 다른 exploit 변종을 구현했고, 주요 목표는 mach 포트 위조
  • iOS 11.x 당시엔 PAN(Protection Against Null dereference) 우회가 쉬웠으며, 커널 infoleak 및 sandbox escape와 결합한 다양한 해킹 기법을 시도함
  • racoon의 경우 IOKit 접근 제한으로, OSUnserializeXML을 활용해 커널 해당 존(spray) 대상 객체를 생성
  • sysctl_procargsx, 커널 uninitialized memory leak, sandbox 정책 등 세부 차이 및 후속 기술 발전상도 서술함

3. unc0ver

  • unc0ver 적용 당시엔 A8~A13 포함 광범위한 SoC에서 동작하도록 exploit 구조 설계됨
  • OSData 객체의 중첩 및 오버랩핑 추적, 적절한 시점에 원하는 객체를 해제/할당하여 메모리 영역을 통제함
  • IOMemoryDescriptor와 같은 커널 객체를 활용, 사용자가 제어하는 데이터 버퍼 주소를 노출 및 커널에서 직접 읽기/쓰기를 구현함
  • zone_require 우회 등 iOS 13 커널 메모리 할당기 정책의 취약점을 적절히 이용함
  • 전체 exploit 구조는 공개된 GitHub 저장소(tachy0n)에서 상세 구현 확인 가능

4. 후속 영향

  • 0day exploit의 공개는 보안 커뮤니티 및 Apple에 큰 반향을 불러옴
    • 실 exploit 공개 4시간 만에 Project Zero와 Synacktiv에서 세부 분석 및 대응 이루어짐
  • Apple은 패치 이후 해당 취약점에 대한 정식 리그레션 테스트를 XNU에 추가하는 등, 근본적인 보안 전략 강화 기조로 전환함
  • iOS 14부터는 allocation 영역 분리, 오브젝트 시큐어 가드, PAC(포인터 인증 코드), kheap 구조 등 exploit 제작 난이도를 크게 높이는 대대적인 변화가 도입됨
  • 이제는 exploit 전략 자체가 더 중시되고, 공개 정보와 비공개 연구 간의 격차가 커져 iOS 17~18에 대해선 공개 커널 exploit이 아예 없는 실정임

5. 결론

  • iOS 보안/탈옥 분야가 5년 만에 극적으로 변화함을 명확하게 보여주는 사례임
  • 탈옥/익스플로잇 커뮤니티, 연구자, 그리고 Apple의 기술 방향성이 어떻게 변화했는지 통찰을 제공함
  • IL을 공유하고 도전했던 시절은 이제 과거의 일이 되었고, iOS 14 이후부턴 exploit 정보 공유가 현저히 축소됨

참고 및 문의

Read Entire Article