2016 년 iOS 공개 허점 활용 총화

5959 단어 iOS구멍

0x 00 순서
iOS 의 안전성 은 생각 보다 취약 합 니 다.공개 되 지 않 은 빈틈 외 에 도 이미 공개 되 고 이용 할 수 있 는 빈틈 이 많 습 니 다.본 보고 서 는 2016 년 에 비교적 심각 한 iOS 빈틈(원 격 코드 실행 또는 탈옥 에 사용 가능)을 정리 하여 모 바 일 보안 에 대한 업무 와 연구 에 도움 이 되 기 를 바 랍 니 다.
0x 01 iOS 10.1.1 공 개 된 이용 가능 한 빈틈
1. mach_portal 공격 체인:이 공격 체인 은 Google Project Zero 의 Ian Beer 가 발표 한 것 입 니 다.전체 공격 체인 은 세 개의 구멍 으로 구성 되 어 있 습 니 다.손 상 된 커 널 port 의 uref 는 임의의 프로 세 스 의 port 를 월권 으로 교체 할 수 있 습 니 다(CVE-2016-7637).powerd 임 의 port 를 교체 하면 DoS(CVE-2016-7661)를 초래 할 수 있 습 니 다.setdp_control_port 가 잠 겨 있 지 않 아 발생 한 XNU 커 널 UaF(CVE-2016-7644).
공격 자 는 CVE-2016-7637 을 사용 하여 launchd 와'com.apple.iohidentsystem'시스템 서 비 스 를 전송 권한 이 있 는 port 를 자신 이 제어 하 는 프로 세 스 의 port 로 교체 하고 공격 자 는 이 port 의 수신 권한 도 가진다.그리고 공격 자 는 CVE-2016-7661 을 이용 하여 powerd 라 는 프로 세 스 를 DoS 로 재 개 합 니 다.시작 과정 에서 powerd 의 시작 은'com.apple.iohideventsystem'시스템 서 비 스 를 사용 해 야 하기 때문에 task port 를 이 시스템 서비스 에 보 냈 습 니 다.그러나 공격 자 는 이전의 CVE-2016-7637 구멍 을 이용 하여'com.apple.iohidentsystem'시스템 서비스 port 의 수신 권한 을 얻 었 기 때문에 공격 자 는 powerd 의 task port 를 획득 하여 루트 권한 을 가지 고 샌 드 박스 밖의 powerd 프로 세 스 를 제어 했다.공격 자 는 powerd 프로 세 스 의 task port 를 이용 하여 host 를 얻 었 습 니 다.priv port,그리고 hostpriv port 촉발 인 setdp_control_port 가 잠 겨 있 지 않 아 발생 한 XNU 커 널 UaF(CVE-2016-7644)구멍 으로 kernel task port 를 제어 합 니 다.공격 자 는 kernel task 를 획득 한 후 시스템 이 제공 하 는 mach 를 이용 할 수 있 습 니 다.vm_read()와 machvm_write()는 임의의 커 널 읽 기와 쓰 기 를 하 러 갔다.
2016 년 12 월 22 일,qwertyoruiop 이 Ian Beer 에서 발표 한 mach포 털 공격 체인 에 KPP 의 우회,커 널 패 치,cydia 의 설 치 를 추가 하고 자신의 트 위 터 에 iOS 10.1.*의 탈옥 을 발표 했다.
0x 02 iOS 9.3.4 공개 이용 가능 한 허점

1.페 가 수 스 삼지창 공격 체인:이 공격 체인 은 아랍 에 미 리 트 의 한 인권 운동 가 를 apt 공격 하 다가 발견 되 었 다.전체 공격 체인 은 JSC 원 격 코드 실행(CVE-2016-4657),커 널 정보 유출(CVE-2016-4655),커 널 UAF 코드 실행(CVE-2016-4656)세 가지 구멍 으로 구성 된다.
브 라 우 저 구멍 의 경우 iOS 시스템 의 자 바스 크 립 트 코 어 라 이브 러 리 의 MarkedArgument Buffer 류 가 쓰레기 를 회수 할 때 메모리 더 미 를 파괴 할 수 있 기 때문에 해커 는 이 구멍 을 사용 하여 대상 주 소 를 누설 하고 임 의 명령 을 수행 할 수 있다.커 널 구멍 의 경우 XNU 커 널 의 OSUnserializeBinary()함수 가 사용자 상태 로 전 송 된 데 이 터 를 역 직렬 화 할 때 OSNumber 의 길 이 를 검증 하지 않 아 커 널 의 스 택 정 보 를 누설 할 수 있 습 니 다.치밀 하 게 구 성 된 OSString 대상 을 이용 하면 UAF 구멍 을 촉발 하고 커 널 코드 를 실행 할 수 있다.이 공격 체인 을 이용 하면 iOS 의 원 격 완벽 한 탈옥 을 할 수 있 고 최근 몇 년 동안 가장 큰 영향 을 미 친 iOS 구멍 중 하나 라 고 할 수 있다.또 앞으로 이 구멍 을 이용 한 iOS 대면 적 경마 사건 이 발생 할 가능성 이 크다.
0x 03 iOS 9.3.3 공개 이용 가능 한 허점
1.IOMobileFramebuffer Heapoverflow 커 널 구멍:이 구멍 은 IOMobileFramebuffer 라 는 커 널 서비스 에 존재 합 니 다.IOMobile Framebuffer::swapsubmit(IOMFBSwap*)이 함수 에 서 는 사용자 상태 로 들 어 오 는 IOMFBSwap 데 이 터 를 검사 하지 않 아 커 널 이 넘 칩 니 다.이 구멍 을 이용 해 샌 드 박스 내(샌 드 박스 탈출 필요 없 음)커 널 을 직접 공격 하고 완벽 하지 않 은 탈옥 을 완성 할 수 있다.이 구멍 은 iOS 9.3.3 반고 탈옥(여 와 석)에서 사용 됐다.
0x 04 iOS 9.3.2 공 개 된 활용 가능 한 빈틈
1.WebKit RCE hepPopMin 원 격 코드 실행 구멍:Webkit 모듈 의 WebCore:TimerBase::hepPopMin()에 메모리 파괴 구멍 이 있 기 때문에 이 구멍 을 이용 하여 iOS 장 치 를 원 격 공격 할 수 있 습 니 다.모 바 일 사 파리 로 악성 공격 코드 가 있 는 웹 페이지 를 탐색 할 때 사 파 리 는 해 킹 에 의 해 제어 된다.그러나 주의해 야 할 것 은 사 파리 에 불과 하 다.사용자 데 이 터 를 얻 으 려 면 샌 드 박스 탈출 이 필요 하 다.휴대 전 화 를 제어 하려 면 커 널 을 공격 해 야 한다.또 웹 킷 은 iOS 에 만 존재 하 는 것 이 아니 기 때문에 PS4,Kindle 등의 탈옥 에 도 사용 된다.
2.GasGauge 조건 경쟁 커 널 구멍:이 구멍 은 GasGauge 라 는 커 널 서비스 에 존재 합 니 다.free 메모리 에 잠 금 조작 을 하지 않 았 기 때문에 해커 는 여러 개의 스 레 드 를 열 어 free 작업 을 할 수 있 습 니 다.경쟁 이 성공 할 때 double free 의 구멍 을 만 들 수 있 습 니 다.그 다음 에 임의의 zone 의 UAF 로 전환 하여 커 널 을 제어 하고 완벽 하지 않 은 탈옥 을 완성 할 수 있 습 니 다.주의해 야 할 것 은 이 커 널 서 비 스 는 샌 드 박스 에 직접 접근 할 수 없 기 때문에 이 구멍 을 이용 하려 면 샌 드 박스 가 먼저 탈출 해 야 한 다 는 점 이다.
0x 05 iOS 9.3.1 공 개 된 이용 가능 한 빈틈

1.inpuTbag Heapoverflow 커 널 구멍:이 구멍 은 알 리 모 바 일 안전 한 OverSky 팀 이 발견 하고 발표 한 것 입 니 다.이 구멍 은 IOHIDDevice 라 는 커 널 서비스 에 존재 합 니 다.Input report 의 szie 를 검사 하지 않 아 커 널 이 넘 칩 니 다.이 구멍 을 이용 해 내 핵 을 공격 하고 완벽 하지 않 은 탈옥 을 완성 할 수 있다.주의해 야 할 것 은 이 커 널 서 비 스 는 샌 드 박스 밖 에 있 고'com.apple.hid.manager.user-access-device'라 는 entilement 가 있어 야 접근 할 수 있 기 때문에 이 구멍 을 이용 하려 면 샌 드 박스 가 탈출 한 다음 에 entilement 검 사 를 돌아 야 이용 할 수 있 습 니 다.
0x 06 iOS 9.1 공 개 된 이용 가능 한 빈틈
1.CVE-2015-7037 Photos 샌 드 박스 탈출 구멍:이 구멍 은 com.apple.PersistentURLTranslator.Gatekeeper 라 는 시스템 서비스 에 존재 합 니 다.반고 탈옥 에서 사 용 됩 니 다.구멍 을 바 꾸 면 샌 드 박스 안에 있 는 app 은 mobile 권한 을 가 진 샌 드 박스 밖의 임의의 문 서 를 읽 고 쓸 수 있 습 니 다.dyld 의 구멍 에 맞 춰 샌 드 박스 밖의 임 의 코드 를 실행 할 수 있 습 니 다.
2.CVE-2015-7084 IORegistry Iterator 커 널 구멍:이 커 널 구멍 은 IOKit 에 존재 합 니 다.IORegistry Iterator 대상 이 스 레 드 상호 배척 보호 가 없 기 때문에 구성원 을 조작 할 때 오류 가 발생 할 수 있 습 니 다.이 구멍 은 샌 드 박스 에서 race condition 을 통 해 직접 촉발 되 고 커 널 정보 유출 및 커 널 코드 로 전환 되 어 완벽 하지 않 은 탈옥 을 할 수 있다.
0x 07 iOS 9.0 공 개 된 활용 가능 한 빈틈

1.CVE-2015-6974 IOHIDFamily 커 널 구멍:이 구멍 은 IOHIDResource 라 는 커 널 서비스 에 존재 합 니 다.terminateDevice 이후 시스템 은 device 를 NULL 로 설정 하지 않 아 UAF 구멍 이 생 겼 습 니 다.이 구멍 은 반고 iOS 9.0 탈옥 에서 사 용 됐 으 며,이 구멍 을 이용 해 내 핵 을 임의로 읽 고 쓸 수 있 으 며 완벽 하지 않 은 탈옥 을 완성 할 수 있다.주의해 야 할 것 은 이 커 널 서 비 스 는 샌 드 박스 에 직접 접근 할 수 없 기 때문에 이 구멍 을 이용 하려 면 샌 드 박스 가 먼저 탈출 해 야 한 다 는 점 이다.
0x 08 총화
2016 년 의 공개 적 으로 이용 할 수 있 는 구멍 수 는 매우 크 고 2015 년 에 비해 지수 급 의 성장 을 이 루 었 다 고 할 수 있다.애플 이 시스템 을 업데이트 하 는 속도 가 매우 빠 르 고 등급 을 낮 출 수 없 지만 기 존 장치(아이 폰 4s 및 이하 iOS 10 을 업그레이드 할 수 없 음)가 많아 지면 서 사용자 들 이 새로운 시스템 에 대한 기대 가 낮 아 지면 서 iOS 장치 의 업데이트 율 은 매우 느 려 졌 다.

한 전문 모 바 일 분석 플랫폼 의 2016 년 12 월 데 이 터 를 보면 3.28%의 기기 만 최신 판 iOS 10.2 를 업데이트 했다.이 는 96.72%의 설비 가 최근 에 발 표 된 mach 가 있다 는 것 을 의미한다.포 털 구멍 공격 위험.우 리 는 새해 에 도 iOS 의 구멍 수가 지속 적 으로 증가 할 것 이 라 고 믿 습 니 다.또한 구멍 이용 기술 이 공개 되면 서 흑 회 산 도 구멍 을 이용 하여 사용 자 를 공격 할 가능성 이 높 습 니 다.많은 사용자 들 이 자신의 iOS 장비 의 안전 에 주의해 야 합 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기