Premium iOS v25.5.0 SSL Pinning 기능 설계 (4모듈 파이프라인)
iOS 내장 SSL Pinning(NSPinnedDomains·URLSessionDelegate)을 래핑해 고객이 호스트·인증서만 등록하면 MITM을 차단하는 기능을 4모듈 파이프라인으로 설계·출시
언어
- Swift
- Objective-C
- Python3
기술
- XCFramework
- Code Signing
- Binary Instrumentation
환경
- Xcode
- PyCharm
해외 앱 심사 체크리스트의 ‘SSL Pinning 기능 포함’ 요건에 대응해, Premium iOS의 SSL Pinning 기능을 4모듈 공동 파이프라인으로 설계한 작업입니다. 2025년 9월 릴리즈에 정식 포함됐습니다.
배경·과제
-
해외 일부 앱 심사 체크리스트가 SSL Pinning 기능 포함을 요구해, Premium iOS에 기능을 새로 설계해야 했습니다.
-
Apple 공식 API를 우회하거나 재구현하지 않으면서, 고객이 최소 설정만으로 MITM을 차단할 수 있는 구조가 필요했습니다.
수행·기여
-
iOS 내장 SSL Pinning을 래핑하는 방식을 채택했습니다. 공식 API를 다시 구현하지 않고, 고객이 호스트와 인증서만 등록하면 설정이 끝나는 구조입니다.
-
4모듈 공동 파이프라인을 설계했습니다. 정적 라이브러리(런타임 검증), 빌드 후처리 단계, macOS 데스크톱 도구(인증서 등록 GUI), 재서명 자동화(Toolbox·CLI_XcodePlugin)가 연계됩니다.
-
공개키를 빌드 타임에 고정하는 방식을 채택하고, 인증서 갱신 시 재빌드가 필요하다는 한계를 고객 안내에 그대로 명시했습니다.
-
Charles Proxy 기반 MITM 검증 절차를 5단계로 표준화해, 사내와 고객사 기술지원 엔지니어(SE)가 같은 절차로 검증할 수 있게 문서화했습니다.
-
후킹 도구로 URLSession을 후킹해 우회할 가능성은 후킹·탈옥 탐지 옵션을 조합해 보완하도록 안내했습니다.
성과
-
2025년 9월 26일 출시 릴리즈에 SSL Pinning 기능이 정식 포함됐습니다.
-
공개키 기반 방식 채택으로 해외 앱 심사 체크리스트 요건을 충족했습니다.
-
2025년 12월 개선 회차에서 Toolbox의 인증서 등록·재등록 흐름을 안정화했습니다.