Skip to main content

모바일 진단 워크플로우

모바일 앱을 처음 받았을 때 어떤 문서부터 열어야 하는지 연결하는 작업 인덱스다. 학습할 때는 기반 구축 → 보호기법 우회 → 주요 점검 순서로 진행하고, 실제 프로젝트에서는 점검을 막는 보호기법만 필요한 만큼 우회한다.


학습 순서​

flowchart LR
A["1. 환경 구축"] --> B["2. 초기 탐색·정적 분석 기반"]
B --> C["3. 보호기법 식별·우회"]
C --> D["4. 주요 점검 항목"]
D --> E["5. 네이티브 분석 심화"]
E --> F["6. 결과 해석·증적 정리"]

1. 실습 기반​

순서문서완료 기준
1Android 환경 구축 또는 iOS 환경 구축단말 연결, 프록시 기준선, 분석 대상 확보
2초기 정보 탐색 루틴기준 정보, 실행·프록시 기준선, 주요 파일과 보호기법 분기 정리
3정적 분석APK/IPA 구조, 설정, 주요 클래스와 호출 지점 파악
4Frida 후킹 스크립트attach/spawn, 클래스 탐색, 인자·반환값 관찰

Android와 iOS 환경 구축 문서는 합치지 않는다. 필요한 단말 준비, 인증서 신뢰, 앱 추출 방식과 트러블슈팅이 서로 다르기 때문이다.

2. 보호·우회​

현재 막힘먼저 볼 문서
HTTPS 요청이 앱에서만 보이지 않음SSL Pinning 우회
루팅·탈옥 안내 후 앱이 종료됨루팅 탐지 우회, 탈옥 탐지 우회
Frida attach/spawn 직후 종료됨디버거/Frida 탐지 우회
수정·재서명한 앱이 실행되지 않음앱 위변조 / 재패키징 점검

학습할 때는 각 보호기법을 모두 실습한다. 실제 프로젝트에서는 정적 분석과 기준선 관찰로 적용 여부를 먼저 확인하고, 본 점검을 막는 보호기법만 제한적으로 우회한다.

3. 고객사 주요 점검​

영역AndroidiOS / 공통
데이터 저장Android 데이터 저장소iOS 데이터 저장소
통신인증서 검증 및 평문 통신SSL Pinning 우회
플랫폼 연동Export된 컴포넌트, Deep Link / IntentDeep Link / Intent, WebView
인증·암호인증 및 세션, 로컬 인증암호화 키 관리
코드·프라이버시코드·의존성 품질개인정보 흐름·노출

4. 네이티브 심화​

기본 점검과 Java·Kotlin·Objective-C·Swift 계층의 분석으로 원인을 찾지 못했을 때 IDA Pro 네이티브 분석을 연다. JNI 함수, 자체 .so, iOS Framework, Native 파서·암호 루틴처럼 네이티브 계층에 진입해야 하는 대상을 마지막 심화 단계로 둔다.


MASVS 문서 매핑​

OWASP MASTG 2.x는 MASVS Control → MASWE Weakness → MASTG Test 관계로 테스트 근거를 연결한다. 아래 표는 문서 탐색용 상위 매핑이며, 세부 MASWE/MASTG ID는 각 문서를 정리할 때 검증해 추가한다.

MASVS 카테고리설명관련 페이지
MASVS-STORAGE안전한 데이터 저장data-storage-android, data-storage-ios
MASVS-CRYPTO암호화 키 관리crypto-keys
MASVS-AUTH인증 및 세션 관리auth-mobile, local-auth-bypass
MASVS-NETWORK안전한 네트워크 통신ssl-pinning-bypass, certificate-validation
MASVS-PLATFORM플랫폼 보안 메커니즘 사용webview-issues, deeplink-intent, exported-components
MASVS-CODE안전한 코드 작성static-analysis, code-quality
MASVS-RESILIENCE무결성·분석 저항성root-detection-bypass, jailbreak-detection-bypass, anti-debug-bypass, app-tampering
MASVS-PRIVACY개인정보 보호privacy-leakage
분석 기반환경·도구 준비setup-android, setup-ios, initial-analysis-routine, static-analysis, frida-scripts

작업 전 확인​

검증 항목AndroidiOS
대상 기록단말 모델, Android/API, ABI, 앱 버전단말 모델·SoC, iOS, 앱 버전, 탈옥 여부
단말 인식adb devices가 device 상태USB 페어링 후 Frida 또는 idevice_id로 확인
프록시 기준선브라우저 HTTP/HTTPS가 Burp에 보임Safari HTTP/HTTPS가 Burp에 보임
후킹 준비적용 환경이면 frida-ps -U 성공탈옥 또는 debuggable 환경이면 frida-ps -U 성공
분석 대상base/split APK 경로와 추출 방법 확인고객 제공 IPA 또는 승인된 추출 방법 확인

브라우저 기준선은 정상인데 점검 대상 앱만 실패하면 환경 문제로 단정하지 않는다. Pinning, 루팅·탈옥 탐지, Frida 탐지 여부를 해당 보호·우회 문서에서 확인한다.


참고자료​

공식 및 테스트 가이드​

도구 프로젝트​