Project Detail
Mobile Malware Dynamic Analysis System
모바일 악성코드 동적 분석 자동화 시스템
MobSF, Frida, ADB를 활용해 모바일 악성 APK의 정적·동적 분석 과정을 자동화한 시스템입니다.
탐지 우회, DEX 복호화, 재패키징, 로그 수집을 하나의 분석 파이프라인으로 구성했습니다.
Overview
프로젝트 개요
문제 정의
모바일 악성 APK 분석은 정적 분석, 에뮬레이터 실행, 후킹, 로그 수집, 인텔리전스 조회 등 여러 도구와 절차가 분리되어 있어 반복 작업이 많습니다.
특히 난독화·패킹·탐지 로직이 적용된 APK는 단순 정적 분석만으로는 행위를 파악하기 어렵고, 동적 분석 환경 구성과 우회 과정이 함께 필요했습니다.
내 역할
팀 리더 / 동적 분석 자동화 / Frida 후킹 / 분석 파이프라인 구축
- MobSF API 기반 APK 정적 분석 리포트 생성 및 위험 권한 식별 자동화
- Frida 기반 런타임 후킹을 활용한 탐지 로직 우회 및 동적 행위 관찰
- APK → Repack → Emulator → Frida Hook → Log → Report 분석 흐름 자동화
- VirusTotal API 연동을 통해 악성코드 패밀리·라벨 정보 보강
Result Screens
실행 화면
※ 테스트 APK 샘플 분석 결과 기준
Core Implementation
핵심 구현
MobSF API 분석 자동화
MobSF API를 활용해 APK 업로드, 정적 분석, 권한 분석, 리포트 생성 과정을 자동화했습니다. 위험 권한과 앱 메타데이터를 분석 결과로 정리했습니다.
Frida 기반 런타임 후킹
Frida 스크립트를 이용해 런타임에서 탐지 로직과 보안 체크 흐름을 관찰하고, SSL Pinning, 디버거 체크, 루팅 탐지 등 우회가 필요한 지점을 분석했습니다.
ADB 기반 실행·로그 수집
ADB를 활용해 앱 설치, 권한 부여, Activity 실행, 화면 이동, 로그 수집 과정을 자동화했습니다. 이를 통해 반복적인 동적 분석 절차를 파이프라인화했습니다.
VirusTotal 인텔리전스 연동
VirusTotal API를 통해 APK 해시 기반 탐지 결과, 벤더별 진단명, 악성코드 패밀리·라벨 정보를 조회하고 분석 리포트에 보강했습니다.
Troubleshooting
트러블슈팅
정적 분석만으로는 실제 행위 파악이 제한되는 문제
문제
MobSF 정적 분석 결과로 권한, API 사용, 문자열, 위험 지표를 확인할 수 있었지만, 실제 실행 중 어떤 흐름으로 동작하는지는 정적 결과만으로 판단하기 어려웠습니다.
원인
악성 APK는 실행 시점에 동적으로 로직을 호출하거나, 탐지 우회 로직을 통과한 뒤에만 주요 행위가 드러나는 경우가 있었기 때문입니다.
해결
MobSF 정적 분석 결과를 기반으로 의심 지점을 선정하고, Frida 후킹과 ADB 실행 자동화를 결합해 런타임 행위를 함께 관찰했습니다.
결과
권한·문자열·API 기반의 정적 지표와 런타임 로그를 연결해 분석 근거를 보강할 수 있었습니다.
탐지 로직과 보안 체크로 인해 동적 분석이 막히는 문제
문제
일부 APK는 루팅 탐지, 디버거 체크, SSL Pinning 등으로 분석 환경을 감지하거나 네트워크 트래픽 관찰을 어렵게 만들었습니다.
원인
앱 내부에서 분석 환경을 탐지하거나 인증서 검증을 강제하는 로직이 실행되어, 일반적인 에뮬레이터 실행만으로는 주요 행위를 확인하기 어려웠습니다.
해결
Frida 스크립트를 활용해 디버거 체크, 루팅 탐지, SSL Pinning 관련 로직을 우회하고, HTTP(S) 프록시와 로그 수집 흐름을 함께 구성했습니다.
결과
분석 환경 탐지로 막히던 일부 동적 분석 흐름을 진행할 수 있었고, 네트워크 요청과 런타임 로그를 추가로 확인할 수 있었습니다.
분석 절차가 여러 도구로 분산되어 반복 작업이 많은 문제
문제
APK 분석 과정에서 MobSF, apktool, ADB, Frida, VirusTotal 조회가 각각 분리되어 있어 샘플을 바꿀 때마다 같은 절차를 반복해야 했습니다.
원인
정적 분석, 재패키징·재서명, 에뮬레이터 실행, 후킹, 로그 수집, 인텔리전스 조회가 하나의 실행 흐름으로 연결되어 있지 않았기 때문입니다.
해결
APK → Repack → Emulator → Frida Hook → Log → Report로 이어지는 6단계 분석 흐름을 구성하고, 주요 명령과 API 호출을 자동화했습니다.
결과
샘플별 반복 분석 절차를 줄이고, 정적 분석 결과와 동적 분석 로그, VirusTotal 인텔리전스를 하나의 리포트 흐름으로 정리할 수 있었습니다.
Tech Stack
사용 기술
주요 담당 기술
프로젝트 전체 스택
※ 분석 파이프라인과 샘플 검증 흐름은 팀 프로젝트 전체 기술 스택 기준입니다.