본문 바로가기

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

← 경력기술서

코어 운영 진행중 단독

arm64e / Xcode 26 Enhanced Security 지원 연구

Xcode 26 강화 보안 옵션이 강제하는 통합 바이너리(arm64+arm64e) 환경에서도 AppSuit Premium 6개 모듈이 동작하도록 빌드 후처리 인프라를 선행 확장한 연구·구현

기간
2025.08 – 진행 중 · 11개월
소속
스틸리언
수행 인원
본인 1인
본인 역할
Xcode 26 강화 보안(Enhanced Security)·통합 바이너리(Fat Binary) 대응 선행 연구 — 대응 시나리오 비교표(의사결정 매트릭스) 작성, 통합 바이너리 후처리 객체 설계·적용, Premium 6개 모듈 호환 검증 가이드 작성. iOS 팀 정기 회의에서 시나리오 검토 공유.
정량 임팩트
4개 대응 시나리오 비교표 작성으로 고객사 요청 시 1~2주 내 대응 가능 환경 마련 / 후처리 도구에 통합 바이너리(Fat Binary) 처리 객체 신설(단일 슬라이스·통합 바이너리 양쪽에 동일 패치 단계 적용) / Premium 6개 모듈 arm64e 호환 비교표 및 라이브러리 빌드 가이드 정리
버전·릴리즈
AppSuit Premium 후처리 도구 최근 두 릴리즈에 Fat Binary 처리 객체 적용, Premium 에 일부 기능 선행 지원

링크

언어

  • Swift
  • Objective-C
  • Python3

기술

  • Mach-O
  • LIEF
  • arm64e
  • Fat Binary
  • Binary Instrumentation

환경

  • Xcode
  • Hopper
  • Mach-O Viewer
  • PyCharm

Xcode 26 의 강화 보안(Enhanced Security) 옵션을 켜면 앱 바이너리가 arm64 와 arm64e 두 슬라이스를 함께 담는 통합 바이너리(Fat Binary)로 강제된다. 그 환경에서도 AppSuit Premium 6개 모듈이 정상 동작하도록, 고객 요청이 오기 전에 빌드 후처리 인프라를 미리 확장했다.

배경·과제

  • 강화 보안 옵션이 켜진 앱은 arm64·arm64e 두 종류 코드를 한 파일에 담는 통합 바이너리가 된다. arm64 하나만 가정하던 기존 후처리 인프라로는 보안 솔루션이 동작하지 않았다.

  • 고객사의 실제 활성화 요청이 들어오기 전에, 특정 빌드 환경에 의존하지 않고 즉시 대응할 수 있는 구조를 미리 확보해야 했다.

수행·기여

  • 정적 라이브러리·고객사 프로젝트·배포 절차 3개 축으로 4개 대응 시나리오를 비교표로 정리했다. 그중 빌드 환경 의존성이 없는 시나리오를 채택했다.

  • 빌드 시 새 메모리 할당 방식(Typed Allocation)용 심볼과 구버전 OS 호환용(backdeploy) 심볼이 충돌하는 문제를 정리했다.

  • 통합 바이너리의 헤더를 해석해 슬라이스별로 같은 패치 단계를 적용하는 후처리 객체를 새로 만들었다. 단일 슬라이스든 통합 바이너리든 동일한 단계로 처리된다.

  • 외부 바이너리 라이브러리를 통합 바이너리로 다시 저장하면 내부 위치값(offset)이 어긋나는 문제가 있었다. 라이브러리 기능을 그대로 쓰는 단계와 바이너리를 직접 다시 쓰는(rewriting) 단계로 나눠 해결했다.

  • Premium 6개 모듈의 Swift 6 환경, 최소 지원 OS 버전, arm64e 슬라이스 빌드 절차를 가이드 비교표로 정리했다.

성과

  • 통합 바이너리 처리 객체를 후처리 도구 최근 릴리즈에 반영했고, Premium 에도 일부 기능을 선행 지원했다.

  • 고객사가 강화 보안 옵션 활성화를 요청하면 1~2주 안에 대응할 수 있는 환경을 마련했다.