1. 왜 모바일 보안인가 — 분산된 신뢰 경계
모바일 앱은 사용자 디바이스에 설치되어 모든 코드·자원이 잠재적 공격 표면. 동일 코드가 jailbreak·root·디버거·후킹·복제 모두 받을 수 있다. 서버는 신뢰 경계 안이지만 모바일 앱은 신뢰 경계 밖에서 실행된다.
NowSecure 2024 Mobile Security Report: 100대 앱 중 80%+ 평문 저장, 60%+ 약한 암호, 45%+ Certificate Pinning 미적용, 30%+ Side-channel 디버그. Veracode 2024: 모바일 앱 평균 9개 결함, 27% Critical. 한국: 2023~2024 PG·금융앱 다수 보안 침해 사건.
오해 1 — “앱스토어 심사 통과면 안전.” Apple·Google 심사는 기본 기능·악성 차단, 보안 검증 X. 오해 2 — “Jailbreak·Root 안 하면 안전.” 정상 사용자도 USB·디버거·OWASP 도구로 분석 가능. 오해 3 — “WebView·React Native·Flutter면 모바일 보안 자동.” 크로스플랫폼은 추가 위험(WebView XSS·Bridge·Bundle 노출).
압박:
- EU CRA(2024.10): 모바일 앱 디지털제품 인증·SBOM 의무
- EU AI Act: AI 탑재 모바일 앱 분류
- GDPR Art. 32: 적정 보안
- PCI MPoC(Mobile Payments on COTS): 결제 앱
- 한국 금감원 보안성심의·전자금융감독규정: 금융앱 의무
- K-시큐어 코딩: 모바일 가이드
2. OWASP MASVS 2.0 — 7 카테고리·2 Levels + MASVS-R
OWASP MASVS 2.0(2024.1 발표) — 1.5에서 7개로 재구성:
| 약어 | 카테고리 | 핵심 |
|---|---|---|
| MASVS-STORAGE | 저장 | 민감 데이터 저장 보호 |
| MASVS-CRYPTO | 암호 | 알고리즘·키·랜덤 |
| MASVS-AUTH | 인증 | 로컬·서버 인증·세션 |
| MASVS-NETWORK | 네트워크 | TLS·Certificate Pinning |
| MASVS-PLATFORM | 플랫폼 | OS 기능 활용·IPC |
| MASVS-CODE | 코드 | 보안 코딩·업데이트 |
| MASVS-RESILIENCE | 회복력 | 역공학·런타임 공격 저항(MASVS-R) |
검증 수준:
- L1: 기본 (모든 앱)
- L2: 민감 (PII·결제·의료)
- MASVS-R: 회복력 (게임·DRM·DLP·앱 검증 자체 보호) — L1·L2와 직교
3. OWASP MASTG·Mobile Top 10 2024
OWASP MASTG(Mobile Application Security Testing Guide) — MASVS 검증 방법·테스트 케이스. 2024년 본문 재구성, MAS Test Profile 도입.
OWASP Mobile Top 10 2024 (2024.3 발표):
| ID | 위험 |
|---|---|
| M1 | Improper Credential Usage |
| M2 | Inadequate Supply Chain Security |
| M3 | Insecure Authentication/Authorization |
| M4 | Insufficient Input/Output Validation |
| M5 | Insecure Communication |
| M6 | Inadequate Privacy Controls |
| M7 | Insufficient Binary Protections |
| M8 | Security Misconfiguration |
| M9 | Insecure Data Storage |
| M10 | Insufficient Cryptography |
2016 vs 2024 변경:
- M2 → 공급망 보안 신규(SBOM·3rd-party SDK)
- M6 → 프라이버시 통제 신규
- M7 — Binary Protection(RASP·Anti-tamper) 강조
- 사라진 — M9 Reverse Engineering(M7에 통합), M10 Extraneous Functionality
4. iOS·Android 보안 기능 핵심
iOS 보안 기능:
- Secure Enclave(SEP): 격리된 코프로세서·키 생성·생체
- Keychain: 시스템 암호 저장소,
kSecAttrAccessibleWhenUnlockedThisDeviceOnly - Data Protection API: 4 클래스(NSFileProtectionComplete·CompleteUntilFirstUserAuthentication·CompleteUnlessOpen·None)
- App Transport Security(ATS): TLS 1.2+ 의무(iOS 9~)
- App Sandbox: 앱 간 격리
- Code Signing: 모든 앱 Apple 서명
- App Attest(iOS 14+): 앱 무결성·기기 무결성 증명
- DeviceCheck(iOS 11+): 기기 단위 통제
- Privacy Manifests(iOS 17+): 사용 API·이유 공개
Android 보안 기능:
- Android Keystore: HW 백업 키 저장(StrongBox 칩 별도)
- EncryptedSharedPreferences(Jetpack Security): AES-256-GCM
- BiometricPrompt(API 28+): 통합 생체 인증
- Network Security Config(API 24+): TLS·Pinning 선언적
- App Sandbox: SELinux·UID
- Play Integrity API(2022, SafetyNet 후계): 앱·기기 무결성
- Google Play Protect: 악성 앱 차단
- Scoped Storage(API 30+): 파일 접근 제한
- Data Safety(2022.4): 데이터 수집·공유 라벨
공통 — Biometric:
- iOS: Touch ID·Face ID·LocalAuthentication
- Android: BiometricPrompt·BiometricManager
- 키 생성 시
userAuthenticationRequired = true(생체 인증 필수)
5. Stage 1 — 자산·위협 진단·SBOM (1~2개월)
모바일 자산 인벤토리:
- 자사·외주 앱 목록(iOS·Android·HarmonyOS)
- 백엔드 API·SDK 의존성
- 버전 매트릭스(지원 OS·앱 버전)
- 사용자 규모·지역
- 민감 데이터 처리 분류
Mobile SBOM:
- iOS: CocoaPods·Swift Package Manager·Carthage
- Android: Gradle·Maven
- 도구: Syft·CycloneDX SBOM Mobile·Mobile SBOM Generator(Microsoft 2024)
- 3rd-party SDK 위험 평가(추적·광고·분석 SDK 데이터 유출 위험)
위협 모델링(MASTG-Aligned):
- 자산: 자격증명·세션·암호·기능
- 공격자: 일반 사용자·해커·악성 앱·MitM·OS 침해
- 시나리오: 평문 저장 노출·세션 탈취·Cert Pinning 우회·역공학·복제·런타임 후킹
자가 진단:
- MASVS L1 → L2 → MASVS-R 매핑
- Mobile Top 10 자가진단 매트릭스
- 도구: MobSF(Mobile Security Framework·오픈소스·자동 정적+동적)·NowSecure·Veracode Mobile
자동 정적 분석:
- MobSF: APK·IPA·AAB 자동 분석
- AppSweep(Guardsquare): 무료 SaaS
- Approver(Microsoft 2024): 정책 가드
- iVerify·Lookout: 모바일 위협 정보
6. Stage 2 — 설계·저장·암호·인증 (3~6개월)
MASVS-STORAGE(저장):
- 민감 데이터(자격증명·세션·키·PII·결제) 절대 평문 저장 X
- iOS: Keychain
kSecAttrAccessibleWhenUnlockedThisDeviceOnly - Android: EncryptedSharedPreferences·EncryptedFile·Android Keystore
- 캐시·로그·스크린샷·자동완성 노출 차단
- 스크린샷 차단(
FLAG_SECURE·isSecure) - 클립보드·자동완성 비활성(민감 필드)
MASVS-CRYPTO(암호):
- AES-256-GCM·ChaCha20-Poly1305
- 알고리즘 화이트리스트(
DES·RC4·MD5·SHA-1금지) - IV·Nonce 적정·랜덤(
SecureRandom·SecRandomCopyBytes) - 키 생성·저장: Android Keystore·iOS Keychain
- 키 도출: PBKDF2·Argon2·HKDF
- 절대 키 하드코딩 X·앱 번들에 저장 X
MASVS-AUTH(인증):
- 서버 인증 — OAuth 2.1 + PKCE
- 토큰 저장 — Keychain·Keystore
- Biometric —
userAuthenticationRequired키 락 - Step-up Auth — 민감 행동에 추가 인증
- Session — 짧은 만료·Refresh Token Rotation
- Local Auth — 단순 잠금 해제만, 서버 인증 우회 X
MASVS-NETWORK(네트워크):
- TLS 1.3 강제(1.2 최소)
- Certificate Pinning 필수(L2·MASVS-R)
- 도구:
- iOS: URLSessionDelegate·TrustKit
- Android: Network Security Config·OkHttp CertificatePinner
- 대안: Public Key Pinning(인증서 갱신에 유연)
- DNS over HTTPS·CryptoSSL 검토
- WebView·React Native·Flutter 모두 적용
7. Stage 3 — 플랫폼·코드·회복력 (3~6개월)
MASVS-PLATFORM(플랫폼):
- Permissions 최소화 — 필요 시 요청·실시간
- Intent·URL Scheme 검증(딥링크 인가 우회 차단)
- WebView 강화(
setJavaScriptEnabled(false)기본, 필요 시만) - IPC 안전(Activity·Service·BroadcastReceiver·exported=false)
- Content Provider 권한
- Custom Tabs(Chrome·SFSafariViewController) 외부 OAuth
- Universal Links·App Links — 도메인 인증
- Privacy Manifests(iOS 17+) 의무 신고
- Data Safety(Android) 라벨
MASVS-CODE(코드):
- 의존성 관리 — 최신 SDK·라이브러리·CVE 0
- 보안 코딩 가이드(Apple·Google·OWASP MASTG)
- SAST 모바일 통합(Semgrep·SonarQube·CodeQL·Snyk Code)
- 오류 처리 — 상세 정보 노출 차단
- 코드 난독화(릴리스 빌드) — ProGuard·R8(Android)·ipa-obfuscator·SwiftShield(iOS)
- 디버그 비활성·NDK Strip
MASVS-RESILIENCE(L1·L2와 직교·MASVS-R):
- Anti-debugging: ptrace·sysctl·detached debugger 탐지
- Anti-tampering: 앱 서명 검증·체크섬
- Root/Jailbreak 탐지: 신호로만 사용(차단 X 권장 — 우회 가능)
- Emulator 탐지: 시뮬레이터·에뮬레이터 차이
- Hook 탐지: Frida·Xposed·Substrate 흔적
- String Encryption: 민감 문자열 런타임 복호화
- Native Code(C/C++): 핵심 로직 Java/Swift 외부
RASP(Runtime Application Self-Protection) 상용:
- Guardsquare DexGuard·iXGuard: 모바일 특화
- Promon SHIELD: 노르웨이 강력
- Build38 T.A.K: 독일
- Approver(Microsoft): 무료 SDK
- Verimatrix XTD: 전 기능
App Attestation·Integrity:
- iOS App Attest(iOS 14+): 앱 무결성 + 서버 검증
- Android Play Integrity(2022): 앱·기기·계정 무결성
- 사용 — 서버에서 검증·중요 행동 시 의무
8. Stage 4 — 테스트·DAST·Pentest (지속)
Static Analysis(SAST):
- MobSF: APK·IPA·AAB 종합
- AppSweep(Guardsquare): 무료 SaaS
- Veracode Mobile·Checkmarx·Coverity
- Snyk Code·Semgrep·CodeQL
- 빌드마다·PR마다 실행
Dynamic Analysis(DAST):
- Frida: 런타임 후킹·분석
- Objection(Frida 기반): 자동화 명령
- MobSF Dynamic: 자동 동적 분석
- AVD·Genymotion·Corellium(iOS 가상화)
- Burp Suite + Mobile Assistant: 트래픽 인터셉트
Reverse Engineering:
- jadx·JADX-GUI: Android 디컴파일
- apktool: APK 리패키지
- Ghidra·IDA Pro·Hopper·Cutter: 네이티브 코드
- class-dump·otool·Hopper: iOS
Pentest 방법론(MASTG):
- MAS Test Profile L1·L2·MASVS-R
- 각 카테고리 MASTG-TEST-XXXX
- 보고서: 발견·증거·CWE·MASVS·우선순위
Bug Bounty:
- HackerOne·Bugcrowd·Synack 모바일
- 평균 모바일 Critical $1,500~5,000
컴플라이언스 매핑:
- OWASP MASVS 2.0 → 보고서 자동 매핑
- ISMS-P·전자금융감독규정·금감원 보안성 심의
- EU CRA Cybersecurity by Design
- GDPR Art. 32·App Privacy Manifest
9. Stage 5 — 운영·MDM·MTD·고도화 (지속)
MDM/MAM/EMM(Enterprise Mobility):
- Microsoft Intune: M365 통합
- VMware Workspace ONE: 종합
- Jamf: Apple 강함
- MobileIron(Ivanti): 종합
- BlackBerry UEM: 보안 강함
MAM(Mobile Application Management):
- 회사 데이터·앱 별도 컨테이너
- 원격 와이프·정책 적용
- BYOD 지원
- AppConfig·Managed App Configuration
MTD(Mobile Threat Defense):
- Zimperium zIPS: 한국·글로벌 활성
- Lookout Mobile Endpoint Security
- Pradeo·Wandera(Jamf)·iVerify
- 디바이스 상태·앱·네트워크 위협 탐지
거버넌스:
- 모바일 위원회 분기
- 모바일 정책·표준
- 외주 앱 보안 요구·검수
- 출시 전 보안 게이트(MASVS L1 의무)
모니터링:
- Crash·Performance(Firebase·App Center·Sentry)
- 보안 이벤트(SIEM 통합·MTD 알람)
- 비정상 사용 패턴(BAS for Mobile)
고도화:
- Passkey/FIDO2 모바일: 패스워드 없는 인증
- Confidential Computing 모바일: Apple Private Cloud Compute(2024.6)
- AI 모바일 보안: 온디바이스 AI·LLM·Privacy
- PWA 보안: Progressive Web Apps 보안 고려
한국 특화:
- 금감원 모바일 보안성 심의: 금융앱 의무
- K-시큐어 코딩 가이드: 모바일 섹션
- 방통위 앱 마켓 가이드
- K-Privacy by Design
10. 비용·ROI
| 항목 | 비용 (연간) |
|---|---|
| 정적 분석 도구(MobSF 무료·Veracode·NowSecure) | 0~5억 |
| RASP(DexGuard·Promon·Build38) | 1~10억 |
| MDM/MAM(Intune·Workspace ONE·Jamf) | 직원당 1~5만원·연 |
| MTD(Zimperium·Lookout) | 1~5억 |
| 외부 펜테스트(앱당) | 1천5백만~5천만 |
| Bug Bounty 보상 | 3천만~5억 |
| 인력(모바일 보안 1~3명) | 2~10억 |
| 합계 (중견 제조사 모바일 앱 5개) | 6~50억 |
ROI:
- 평균 모바일 침해 비용(NowSecure 2024) $470K → 1건 예방 = 1년치
- 평판·앱스토어 평점 손실 회피
- 금감원 심의 통과 — 금융 서비스 출시
- 사이버보험 — MASVS L2+ 시 15~20% 할인
- 컴플라이언스(GDPR·전자금융·ISMS-P) 자동화
11. 자가 점검
진단·SBOM:
- 모바일 자산 인벤토리
- Mobile SBOM(CycloneDX) 생성
- 3rd-party SDK 위험 평가
- MobSF·NowSecure 자동 분석
- MASVS·Mobile Top 10 자가진단
설계·구현:
- Keychain/Keystore 사용·Secure Enclave/StrongBox
- AES-256-GCM·SHA-256·HKDF/Argon2
- OAuth 2.1 + PKCE·Biometric
- TLS 1.3 강제
- Certificate Pinning
- Network Security Config(Android)·ATS(iOS)
- App Sandbox·Permission 최소
- WebView·IPC 강화
- Privacy Manifests(iOS 17+)·Data Safety(Android)
- 스크린샷·클립보드·자동완성 차단
회복력:
- R8/ProGuard·SwiftShield 난독화
- Anti-debug·Anti-tamper
- Root/Jailbreak 신호
- App Attest(iOS)·Play Integrity(Android)
- RASP 검토(민감 앱)
- Native code 핵심 로직
테스트:
- SAST CI/CD 통합
- DAST(MobSF·Frida·Objection)
- 외부 펜테스트 연 1+ (MASTG 기반)
- Bug Bounty 또는 VDP
운영·거버넌스:
- MDM/MAM·MTD 배포
- 모바일 보안 정책
- 출시 전 보안 게이트
- 모니터링·SIEM 통합
- OWASP MASVS L1/L2/R 매핑
- 한국 금감원·전자금융·ISMS-P 매핑
12. 마무리 — 디바이스에 있는 코드는 적 수중에 있다
모바일 보안은 ① 자산·위협 진단·SBOM, ② 설계·저장·암호·인증, ③ 플랫폼·코드·회복력, ④ 테스트·DAST·Pentest, ⑤ 운영·MDM·MTD·고도화 — 5단계로 정착시킨다. 앱은 적 수중에 있는 코드라는 전제로 설계해야 한다. Keychain·Keystore·Certificate Pinning·Biometric·App Attest·Play Integrity·Anti-tamper·SBOM·SAST·DAST·외부 펜테스트 모두 통합되어야 모바일 침해 95%+ 사전 차단된다.
통합 사이클
- API Security OWASP API Top 10
- Kubernetes 컨테이너 보안
- Cloud Security CNAPP
- AI/LLM 보안 OWASP LLM Top 10
- NIST PQC·FIPS 140-3
- Penetration Testing·Red Team
- CTI 위협 인텔리전스
- 침해사고 대응 NIST SP 800-61
- BCP·DRP·ISO 22301
- DevSecOps Shift-Left CI/CD
- Threat Modeling STRIDE·PASTA·LINDDUN
- CWE·CVSS·EPSS·KEV
- FIDO2·WebAuthn·Passkey
- SLSA·OpenSSF·Sigstore
- NIST SSDF SP 800-218
- Zero Trust Architecture
- OWASP Top 10·ASVS·SAMM
- ISO 27001 인증
- 한국 ISMS-P
- NIST CSF 2.0
- EU NIS2
- EU CRA
- MITRE ATT&CK
