AiSuit / AppSuit for AI Model — 온디바이스 AI 모델 보호 (ONNX PoC 통합)
iOS 앱에 탑재되는 외부 AI 모델 파일을 고객사 Xcode 수정 없이 AES-256-GCM으로 암호화해 보호하는 신규 제품 PoC를 1인 단독 수행
링크
언어
- Swift
- Objective-C
- Python3
기술
- Mach-O
- LIEF
- Dynamic Library Injection
- Code Signing
- XCFramework
- FastAPI
환경
- Xcode
- PyCharm
- VSCode
온디바이스 AI 모델 파일(ONNX·CoreML·TFLite·GGUF·PyTorch)을 고객사 Xcode 프로젝트 수정 없이 AES-256-GCM으로 암호화해 보호하는 신규 제품 PoC입니다. 기획부터 검증까지 혼자 진행했고, iOS 프레임워크·Python CLI·웹 콘솔·제안서 PDF 2종을 직접 산출했습니다.
배경·과제
-
온디바이스 AI 모델을 앱에 함께 번들하는 사례가 빠르게 늘고 있는데, IPA 압축만 풀면 모델 파일이 암호화 없이 그대로 드러납니다. 학습된 가중치를 추출해 복제하거나 경쟁사가 재사용할 위험으로 이어집니다.
-
기존 AppSuit 제품군(Premium·Air·Anti-Capture·VPNBlock·AVSuit·Keypad)은 앱 위·변조 방지와 탐지, 입력값 보호를 다루지만, AI 모델 가중치 자체를 지키는 제품은 없었습니다.
-
경쟁 제품 대부분은 SDK를 앱에 심고 고객의 빌드 과정을 고치도록 요구합니다. AppSuit Air가 정착시킨 ‘빌드가 끝난 IPA에 후처리만 더하는’ 방식을 가져오면, 고객사 Xcode를 건드리지 않는 강점을 유지한 채 보호 대상만 AI 모델로 넓힐 수 있다고 봤습니다.
-
iOS·안드로이드 공통 설계 기획 단계에서 멈춰 있던 ‘ONNX 모델 보호 PoC’를 이번 검증이 이어받아 실제 제품화 흐름으로 통합했습니다.
수행·기여
-
고객사가 자사 IPA를 압축해 보내면 단일 처리로 보호된 IPA를 돌려주는 운영 흐름을 설계했습니다. 고객 소스와 프로젝트는 손대지 않고, AppSuit Air 등 다른 보호 기능과 겹쳐 적용할 수 있습니다.
-
보호 방식 2종을 보안 등급의 우열이 아니라 장단점이 갈리는 동급 선택지로 정의해, ‘높은 등급이 무조건 낫다’는 오해를 미리 차단했습니다. 하나는 다중 모델과 프레임워크 용량 최소화에 유리하고, 다른 하나는 단일 모델에서 앱 번들의 모델 파일을 비우는 방식입니다.
-
그 위에 기기 바인딩 키 2차 래핑, 프레임워크 위·변조 방지, 키가 노출돼도 분석이 어려운 화이트박스 변환을 3단계 보안 강화 옵션 로드맵으로 제시했습니다.
-
보호 동작의 트리거를 파일 확장자가 아니라 magic header로 판별하게 설계해, 새 모델 포맷 추가가 코드 한 줄 수준으로 끝납니다. 현재 8개 포맷을 지원합니다.
-
사전 빌드 iOS 프레임워크(XCFramework), Python CLI, 업로드부터 분석·보호 적용·점검·다운로드까지 이어지는 웹 콘솔(FastAPI)을 모두 직접 구현했습니다. 콘솔에는 보호 전후 비교 화면도 넣었습니다.
-
고객이 스스로 검증할 수 있도록 사전 작성 시나리오로 자동 추론을 돌리고, 보호 전후 파일 entropy 측정과 평문 모델 정보 추출 차단 여부, codesign 정상 여부를 점검 리포트로 제공합니다.
-
핵심 변환 파이프라인은 macOS와 Linux 양쪽에서 동작합니다. 코드 서명은 macOS 전용이라 ‘Linux 가공 후 Mac 서명’ 안내를 자동으로 출력하게 했습니다.
-
Playwright로 화면을 PDF로 인쇄하는 파이프라인과 콘솔 자동 캡처를 엮어, 내부 보고서와 외부 제품 소개서 2종 PDF를 언제든 다시 만들 수 있는 자산으로 남겼습니다.
성과
-
CLIP ViT-B/32 ONNX(336MB FP32) 모델로 실기기 검증을 마쳤습니다. 보호 미적용(207MB)과 A·B·AB 적용본 모두 top-1 정확도 99.4%로 추론 결과가 완전히 같았고, 추론 시간도 32.6ms 대비 33.0~35.2ms로 의미 있는 손실이 없었습니다(단일 회차 측정, 추가 회차 통계는 후속 검증 예정).
-
8개 포맷(.onnx/.mlmodel/.mlmodelc/.mlpackage/.tflite/.gguf/.pt/.ptl)을 테스트로 자동 검증해 format-agnostic 설계를 입증했습니다.
-
실기기에 설치 가능한 IPA 4종(보호 미적용·A·B·AB)을 확보하고, 팀 프로비저닝 프로파일로 실기기·시뮬레이터 검증을 마쳤습니다.
-
제안 슬라이드 33장(내부 21p + 외부 12p)을 PDF로 산출해 2026년 6월 고객 제안 준비를 마쳤습니다.
남은 한계·다음 단계
-
보호 방식 B는 모델 파일이 하나인 경우를 가정하며, 여러 개면 A로 처리합니다. 콘솔의 작업 기록은 데모용으로 메모리에만 두어 서버를 재시작하면 사라집니다.
-
기기 바인딩 키 2차 래핑, 프레임워크 위·변조 방지, 화이트박스 변환의 3단계 강화 옵션 적용과 실제 모델 공급사 정식 통합을 다음 로드맵으로 잡았습니다.