MVT: iOS·Android 모바일 포렌식 및 스파이웨어 침해 흔적(IOC) 탐지 오픈소스 툴킷
국제앰네스티 시큐리티 랩의 오픈소스 모바일 포렌식 도구 MVT를 소개합니다. iOS와 Android 단말기 데이터를 STIX2 침해 지표(IOC)와 대조해 표적 스파이웨어 흔적을 분석하는 핵심 기능과 워크플로우를 정리했습니다.
국제앰네스티 시큐리티 랩(Amnesty International Security Lab)이 주도하는 오픈소스 모바일 포렌식 도구 MVT(Mobile Verification Toolkit)는 스마트폰을 겨냥한 고도화된 표적 스파이웨어의 침해 흔적을 탐지하고 분석하기 위한 핵심 분석 도구입니다. 2021년 7월 글로벌 탐사보도 프로젝트인 '페가수스 프로젝트(Pegasus Project)'와 함께 공개된 이후, 시민사회 활동가, 저널리스트, 보안 연구원 및 디지털 포렌식 수사관들이 모바일 기기의 잠재적 침해 징후를 식별하는 표준적인 공개 도구로 널리 활용되고 있습니다.

이미지 출처: mvt-project / Amnesty International Security Lab
MVT는 스마트폰 소유자의 명시적 동의(consensual forensic acquisition)를 전제로 단말기 백업 파일이나 진단 아티팩트를 수집하며, 국제앰네스티 및 글로벌 보안 연구 기관들이 공개한 STIX2 표준 포맷의 침해 지표(IOCs, Indicators of Compromise)와 추출 데이터를 대조하여 악성 활동의 흔적을 정밀 추적합니다.
페가수스 프로젝트에서 검증된 모바일 침해 흔적 분석 도구
MVT는 일반적인 상용 백신 프로그램처럼 백그라운드에서 실시간 보호를 수행하는 보안 소프트웨어가 아닙니다. 정밀 디지털 포렌식 분석을 목적으로 설계된 Python 기반 오픈소스 툴킷으로, 단말기 내부의 로우 레벨 데이터베이스와 시스템 로그를 사후 분석하여 감염 흔적을 추출하는 데 특화되어 있습니다.
2021년 페가수스 프로젝트 당시 NSO 그룹의 스파이웨어 침해 실태를 과학적으로 입증하는 과정에서 핵심적인 역할을 수행했으며, 현재도 국제앰네스티와 전 세계 오픈소스 기여자들에 의해 활발히 유지보수되고 있습니다. 최근에는 NoviSpy와 같은 다양한 고위험 표적 스파이웨어 캠페인을 조사하는 현장 가이드에서도 공식 검증 도구로 채택되어 모바일 보안 조사관들의 필수 유틸리티로 자리 잡았습니다.
iOS·Android 아키텍처별 포렌식 수집 및 STIX2 침해 지표(IOC) 대조
모바일 운영체제의 설계 차이로 인해 MVT는 플랫폼별로 분리된 전용 CLI 도구인 mvt-ios와 mvt-android를 제공합니다. 각 도구는 운영체제 구조에 맞추어 아티팩트를 추출하고 정규화합니다.
- iOS 포렌식 분석: 암호화된 iOS 백업 파일을 암호 해독하여 사파리 웹 브라우저 방문 기록, SMS 및 WhatsApp 메시지, 통화 내역, 시스템 분석 로그(Analytics Logs) 등 방대한 데이터베이스를 파싱합니다. 특히 표적 스파이웨어가 악성 링크가 포함된 SMS나 메시징 앱 취약점을 통해 유입되는 경우가 많으므로, 이러한 통신 기록의 타임스탬프와 도메인 조회가 집중적으로 이루어집니다.
- Android 포렌식 분석: 샌드박스와 백업 구조상 iOS에 비해 완전한 단일 데이터 소스를 확보하기 어려운 안드로이드 환경을 고려하여, ADB(Android Debug Bridge) 프로토콜을 통한 진단 정보 덤프와 설치된 애플리케이션 패키지 추출을 지원합니다. 또한 포렌식 데이터 수집기인 AndroidQF(Android Quick Forensics)로 획득한 아티팩트 패키지와 버그리포트(bugreport)를 정밀 검사하는 전용 모듈을 내장하고 있습니다.
- STIX2 기반 침해 지표 대조 및 타임라인 생성: 추출된 모든 레코드는 국제앰네스티 및 보안 연구 단체가 배포하는 STIX2 포맷의 알려진 악성 도메인, C2 서버 주소, 파일 해시 목록과 자동으로 대조됩니다. 분석이 완료되면 전체 추출 레코드 로그와 함께 악성 지표와 일치한 흔적만 별도로 분리된 JSON 파일로 출력되며, 침해 추정 시점을 중심으로 기기 내 이벤트를 재구성한 시간순 통합 타임라인이 생성됩니다.
실무 사용 워크플로우와 포렌식 해석 시 주의사항
MVT는 PyPI에 정식 배포된 패키지(mvt)로 제공되며, 환경 구성 후 명령줄 인터페이스를 통해 직접 조작할 수 있습니다. 안드로이드 단말기 조사를 예로 들면 다음과 같은 실무 명령어 파이프라인이 활용됩니다.
- 최신 침해 지표 다운로드:
mvt-android download-iocs명령을 실행해 국제앰네스티 저장소로부터 최신 STIX2 IOC 데이터베이스를 로컬 환경에 동기화합니다. - AndroidQF 아티팩트 검사: AndroidQF 도구로 사전에 수집한 기기 획득 폴더를 대상으로
mvt-android check-androidqf <path/to/acquisitionfolder>를 실행하여 악성 지표 대조를 수행합니다. - 버그리포트 정밀 분석: 단말기에서 추출된 시스템 버그리포트 아티팩트가 있는 경우
mvt-android check-bugreport <path/to/bugreport>를 통해 시스템 레벨 진단 기록을 조사합니다.
도구 활용 시 디지털 포렌식 분석가는 몇 가지 기술적 제약과 분석 원칙을 반드시 인지해야 합니다.
첫째, MVT는 명령줄 도구 사용법과 모바일 시스템 구조에 익숙한 보안 기술자 및 전문 조사관을 위해 제작된 도구입니다. 일반 사용자가 자가 진단(self-assessment) 목적으로 무분별하게 실행할 경우, 정상적인 시스템 진단 로그를 악성 행위로 오인하거나 전문적인 결과 해석에 실패할 위험이 큽니다.
둘째, 침해 지표(IOC) 대조 결과 악성 흔적이 검출되지 않았다고 해서 기기가 완전히 안전함을 보증하는 것은 아닙니다. 공개된 STIX2 IOC 목록은 이미 알려진 공격 인프라를 기반으로 하므로, 새로운 제로데이 취약점이나 미공개 표적 스파이웨어 캠페인은 탐지 범위 밖에 있을 수 있습니다.
셋째, 안드로이드 진단 로그(bugreport 파일 등)는 기기 제조사와 안드로이드 버전에 따라 데이터 형식과 구조가 상이할 수 있습니다. 이로 인해 가용한 진단 정보가 제한되어 잠재적 침해 여부를 선별하는 데 한계가 따를 수 있으므로, 단일 로그에만 의존하지 않고 AndroidQF 등 다각적인 아티팩트 수집 방식을 병행해야 합니다.