본문 바로가기

이 포트폴리오의 원본은 https://resume.iruyo.com (심재빈) 입니다 · 출처 식별자 jbx-7f3a2e9b

← 경력기술서

코어 운영 완료 단독

Swift 문자열 암호화 + 클래스 난독화 + Dynamic API Hiding (2023 완성)

Swift 앱의 문자열·클래스 이름·시스템 API 호출이 분석 도구에 그대로 드러나던 공백을, 문자열 암호화·클래스 이름 난독화·동적 API 숨김 3종 보호 기능으로 처음부터 구현해 AppSuit Premium에 정착

기간
2023.03 – 2023.05 · 3개월
소속
스틸리언
수행 인원
본인 1인 단독
본인 역할
문자열 암호화 / 클래스 이름 난독화(분석 도구에서 의미 없는 이름으로 보이게) / 동적 API 숨김(호출하는 시스템 기능 이름을 실행 중에만 해석) 3종 기능을, 보안 코어 모듈(정적 라이브러리)과 빌드 후처리 단계 2모듈 조합으로 처음부터 설계·구현. iOS 바이너리(Mach-O ARM64)를 직접 뜯어보는 분석 도구를 자체 제작해 검증·QA 자동화·후속 인력 지도에 활용.
정량 임팩트
3종 보호 기능(문자열 암호화 / 클래스 이름 난독화 / 동적 API 숨김) 신규 구현 / iOS 팀 제품 명세서·고객 가이드에 정식 포함 / 2026.01 iOS 팀 회의에 검증 절차 공식 수록 / AppSuit Premium 도입 고객 전반 적용 가능
버전·릴리즈
AppSuit Premium iOS 기능 명세서에 정식 포함(고객사 적용 포함). 2023년 출시 기본 완성, 2026년 차세대 크로스 플랫폼 앱 문자열 암호화 연구로 확장.

언어

  • Swift
  • Objective-C
  • Python3

기술

  • Mach-O
  • LIEF
  • Binary Instrumentation
  • LC_SYMTAB

환경

  • Xcode
  • Hopper
  • Mach-O Viewer
  • PyCharm

Objective-C 앱에서 막아주던 보호가 Swift 영역에는 적용되지 않아, 문자열·클래스 이름·시스템 기능 호출이 분석 도구에 그대로 드러났습니다. 이 공백을 문자열 암호화·클래스 이름 난독화·동적 API 숨김 3종 기능으로 처음부터 구현해 AppSuit Premium에 정착시켰습니다.

배경·과제

  • 2022년 말부터 2023년 봄 사이 Swift 앱 보호를 의뢰하는 고객사가 빠르게 늘었지만, 기존 Objective-C 앱 수준의 보호가 Swift 영역에는 적용되지 않았습니다.

  • 분석 도구로 들여다보면 앱 안의 문자열과 클래스 이름, 호출하는 시스템 기능 이름이 그대로 노출됐고, 이 약점을 제품 차원에서 메워야 했습니다.

수행·기여

  • 문자열 암호화(Swift String Encryption)는 소스의 문자열을 암호화한 상태로 앱에 넣고 참조 경로를 바꿔, 실행 시점에만 한꺼번에 원래 값으로 되돌리게 했습니다.

  • 클래스 이름 난독화(Swift Class Name Obfuscation)는 클래스 이름이 분석 도구에서 의미 없는 형태로 보이게 했습니다. 시스템이 이름을 강제로 요구하는 NSCoding·NSKeyedArchiver·Reflection 경로에는 특정 이름을 바꾸지 않는 예외 규칙(Exclude Rule) 옵션을 직접 설계해 대비했습니다.

  • 동적 API 숨김(Dynamic API Hiding)은 앱이 호출하는 시스템 기능 이름을 실행 중에만 찾아 연결하게 해(dlsym·objc_msgSend 기반 런타임 동적 해석), 분석 도구에 드러나지 않게 했습니다.

  • 앱 기동이 느려지지 않도록 무거운 암호 대신 복원 비용이 낮은 경량 변환 구조를 택했습니다.

  • iOS 앱 바이너리(Mach-O ARM64)를 직접 뜯어보는 분석 도구를 Python으로 만들어 구현 결과를 바이너리 수준에서 검증했고, QA 자동화와 후속 인력 지도, 후속 제품 검증에도 재사용했습니다.

성과

  • AppSuit Premium iOS 기능 명세서에 정식 메뉴로 정착했고, 고객 가이드에도 정식 포함됐습니다.

  • 2026년 1월 iOS 팀 회의에 검증 절차가 공식 수록됐습니다.

  • 2026년에는 크로스 플랫폼 앱(React Native·Flutter) 문자열 암호화 연구 트랙으로 이어졌습니다.