본문 바로가기

IOS 모의해킹

9. IPC Issues

1. IPC 개요

- IPC는 Inter Process Communication의 약자로 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 방법이나 경로

- 앱이 신뢰할 수 없는 출처의 URL Schemes를 통해 요청을 수신하고 있으며, 이를 제대로 검증하지 않을 때 발생할 수 있음

- 다른 앱에서 들어오는 요청을 제대로 처리하지 못하면 보안 취약점으로 이어질 수 있음

- URL Schemes는 URL을 통해 정의한 프로토콜로 다른 앱과 통신할 수 있도록 해주는 통로

  • http:// https:// ftp:// telnet:// ssh:// 등의 형태를 가짐

- IOS는 샌드박스 정책에 의해 다른 앱들과 정보를 주고받기 힘들기 때문에 URL Schemes를 이용

- Built-in URL Schemes(애플은 시스템 앱과 함께 통신할 수 있는 URL Schemes를 제공)

- Custom URL Schemes

  • 사용자 앱에서 URL Schemes를 구현하여 처리하도록 생성
  • Info.plist 파일에 CFBundleUrlSchemes 키를 활용하여 구성
  • AppDelegate.swift 파일에서 URL Schemes를 수신하여 처리

2. 실습

임의의 전화번호 입력

 

Info.plist에서 2개의 스키마값이 사용중인 것을 확인

 

dvia 스키마 사용 시 dvia 앱에 잠깐 실행되다 꺼짐

 

Symbol Tree에서 appdelegate 파일을 필터

 

functions를 처음부터 하나씩 보면서 어떻게 수신하고 처리하는지 Decompile 창에서 확인

 

스키마를 통해 외부에서 호출할 수 있다고해서 무조건 취약한 것이 아니라 로그인 이후에 접근할 수 있는 곳이나 사용자에게 인증을 받아야 사용할 수 있는 기능일 경우에만 취약

3. 대응방안

- Custom URL Schemes를 사용할 때 사용자가 한 번 더 확인할 수 있는 로직 추가
- 중요한 기능/뷰에 대한 접근을 사용할 경우 사용자 인증 정보 확인이 필요한 로직 추가


[도움 및 출처]
보안프로젝트 김태영 팀장 해커를 위한 iOS 앱 모의 해킹 전문 과정

'IOS 모의해킹' 카테고리의 다른 글

11. Aplication Patching(1) - Login Method  (0) 2023.03.15
10. Network Layer Security  (0) 2023.03.14
8. Side Channel Data Leakage  (0) 2023.03.14
7. Runtime Manpulation(3)  (0) 2023.03.13
6. Runtime Manpulation(2)  (0) 2023.03.13