최후의 0day 탈옥: Tachy0n
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
보안
대상자
iOS 보안 연구자, 탈옥 개발자 및 커널 취약점 분석자 (기술적 심화 수준)
핵심 요약
- Tachy0n은 iOS 13.0~13.5를 대상으로 한 0day 탈옥 익스플로잇으로,
lio_listio
시스템 콜의 경쟁 상태 취약점(CVE-2020-9859)을 활용함 - Apple은 리그레션 테스트 도입 및 커널 메모리 보호 강화(Zone 분리, PAC 등)로 iOS 14 이후 커널 익스플로잇 가능성 근본적 차단
- iOS 14 이후는 allocation 분리, 오브젝트 시큐어 가드, PAC 등으로 익스플로잇 난이도 극적으로 증가하여 공개 익스플로잇 없음
섹션별 세부 요약
1. 취약점 개요
- Lightspeed 취약점:
lio_listio
시스템 콜의 비동기 I/O 컨텍스트 메모리 해제 시 경쟁 상태 발생 - Double-free 조건 생성: I/O 연산 타이밍 조절로 메모리 중복 해제 유도,
kalloc.16
존에서 메모리 할당 구조 활용 - Mach 포트 위조 목적:
OSData 객체
중첩 및IOMemoryDescriptor
활용으로 커널 메모리 주소 노출
2. Exploit 기술적 세부사항
- Zone_require 우회: iOS 13 커널 메모리 할당기 정책 취약점 활용
- Spray 기법:
OSUnserializeXML
을 통해 커널 존 대상 객체 생성 - Exploit 구조: GitHub 저장소(tachy0n)에서 상세 구현 제공
3. Apple의 대응 및 보안 강화
- 패치 및 리그레션 테스트 도입: 취약점 발생 후 XNU 커널에 리그레션 테스트 강화
- iOS 14 보안 변화: allocation 영역 분리, PAC(포인터 인증 코드) 도입으로 익스플로잇 난이도 상승
- 커널 보호 강화: Zone 분리, 오브젝트 시큐어 가드, kheap 구조 개선
4. 탈옥 커뮤니티 및 기술적 영향
- iOS 14 이후 변화: 공개된 커널 익스플로잇 없음, 탈옥 개발자 활동 축소
- 기존 기술의 한계: PAN 우회, sandbox escape 기법은 iOS 11.x 시기 유일함
- 보안 커뮤니티 반응: Project Zero, Synacktiv 등이 4시간 내 분석 및 대응
5. 회귀 테스트 및 보안 전략
- 회귀 테스트 중요성: 이미 수정된 버그 재발 가능성 방지
- Apple의 문제점: XNU 브랜치 포크로 패치 누락 발생, 보안 이슈와 기능 개발 분리 구조
- 오픈소스 사례: Sqlite 등은 테스트 케이스 백포팅으로 보안 강화
6. 탈옥 커뮤니티의 변화
- 탈옥의 사라짐: SideStore, UTM, JIT 솔루션 등 대체 기술로 관심 이동
- 보상 제도: Apple 100만 달러 보상 제도 도입, ZeroDay 시장 형성
- 탈옥 개발자 현실: iOS 14 이후 탈옥 기술의 공개 및 활용 가능성 극히 낮음
결론
- iOS 13 시대의 0day 익스플로잇(Tachy0n)은 Apple의 리그레션 테스트 강화로 iOS 14 이후 커널 익스플로잇 불가능
- 보안 전략 변화: 메모리 분리, PAC, Zone 보호 등으로 익스플로잇 난이도 대폭 증가
- 탈옥 커뮤니티의 현실: 공개된 익스플로잇 없음, 보안 연구자 및 정보기관 중심의 취약점 탐색 진행 중