Notes / Mobile Security

모바일 앱 모의진단 진단항목·절차

모바일 앱 모의진단에서 정보 노출·데이터 변조·위변조 탐지·통신 보호 같은 표준 진단항목을 어떤 순서와 방법으로 확인하는지, 항목별 진단 절차를 정리합니다.

모바일 앱 모의진단은 정해진 진단항목(정보 노출·데이터 변조·위변조 탐지·통신 보호)을 하나씩 확인하는 작업이다. 각 항목마다 “어디를 보고, 무엇으로, 어떻게 확인하는가”가 정해져 있다. 이 노트는 항목별 진단 절차를 한눈에 모은 지도다.

개념

진단은 대체로 다음 네 묶음으로 나뉘고, 환경 구축 → 정적 분석 → 동적 분석 순으로 각 항목을 본다.

  • 정보 노출: 단말 저장소·메모리·로그·백그라운드 스냅샷·소스에 민감정보가 남는가.
  • 데이터 변조: 요청/응답을 바꿔 권한 상승·인증 우회·검증 우회가 되는가.
  • 위변조·역공학 탐지: 루팅/탈옥·디버거·무결성·난독화 보호가 제대로 걸려 있고, 우회되는가.
  • 통신 보호: 평문 통신·약한 TLS·SSL 피닝 우회 가능성.
flowchart LR
  A[환경 구축<br/>프록시·Frida] --> B[정적 분석<br/>디컴파일·문자열]
  B --> C[동적 분석<br/>후킹·메모리·통신]
  C --> D[항목별 확인<br/>정보노출·변조·탐지·통신]

항목별 진단 절차

허가된 단말·앱에서만. <secret>·<pid>·<device-ip>는 실제 값으로.

정보 노출

# 단말 저장소 내 중요정보 (Android)
adb shell; cd /data/data/com.example.app; grep -rinoE '<secret>' *
# 단말 저장소 내 중요정보 (iOS)
#   /private/var/mobile/Containers/Data/Application/<UUID> 에서 grep

# 메모리 내 중요정보 (여러 번 덤프)
python fridump3.py -u -r <pid> -s   # 이후 dump 폴더 grep

# 디버그 로그
adb logcat --pid=<pid> -d > log.txt          # Android
#   iOS: Console.app 에서 앱명 필터 후 수집

# 백그라운드 스냅샷 (iOS): 민감화면 후 홈 이탈 → 전환기/캐시 스냅샷 확인
# 소스 내 하드코딩: 디컴파일 후 키·URL·서버주소 문자열 검색

데이터 변조

프록시(Burp)로 요청/응답 가로채기 → 값 변조:
  로그인 통신 변조로 관리자 전환 / 응답값(권한 플래그) 변조
  응답이 암호화면 키 확보 후 복호화하여 확인
클라이언트 검증(권한·문자열 비교)은 후킹/패치로 분기 우회
TCP(비HTTP) 통신은 투명 프록시·중계로 가로채 변조

위변조·역공학 탐지

루팅/탈옥 탐지 → 탐지 함수 후킹으로 '정상' 반환
디버거 탐지 → 플래그/ptrace 무력화 후 디버거 접속
무결성 검증 → 재패키징 후 분기 패치·재서명, 또는 검증 함수 후킹
난독화 → 심볼 복원·동적 추적으로 로직 파악

통신 보호

평문 통신 여부, TLS 설정(구버전·약한 cipher)
SSL 피닝 → 보편 우회 스크립트로 가로채기 성립
인증서 검증 우회 가능성(사용자 CA 신뢰 시 통과하는가)

참고 자료