안드란티스로 대규모 안드로이드 동적 분석 구현
초록
Andlantis는 안드로이드 앱을 초당 수천 개 수준으로 동시 실행하여 동적 분석을 수행하는 시스템이다. 클라우드 기반 에뮬레이터 풀과 자동화된 스크립트를 활용해 1시간에 3000여 개 앱을 처리하고, 파일 시스템 변화, 네트워크 트래픽, 시스템 콜 등 포렌식 데이터를 수집한다. 1261개의 악성 샘플 실험을 통해 높은 탐지 효율과 분석 효율성을 입증하였다.
상세 분석
Andlantis는 기존 동적 분석 도구가 안드로이드 전체 스택을 에뮬레이션하는 데 요구되는 높은 CPU·메모리 비용 때문에 대규모 적용이 어려웠던 문제를 클라우드 기반 가상화와 작업 스케줄링으로 해결한다. 핵심 설계는 (1) 이미지 기반 안드로이드 시스템을 사전 준비하고, (2) Docker‑like 컨테이너 안에서 QEMU/KVM 기반 에뮬레이터를 다중 인스턴스로 띄워 각 인스턴스에 하나의 APK를 할당하는 방식이다. 작업 스케줄러는 각 인스턴스의 상태를 주기적으로 모니터링하고, 실행 시간이 지정된 타임아웃을 초과하면 강제 종료하여 자원 낭비를 방지한다.
동적 행동 수집은 세 가지 레이어로 이루어진다. 첫째, 안드로이드 프레임워크 레벨에서 BroadcastReceiver, Service, Activity 등의 라이프사이클 이벤트를 후킹해 호출 순서를 기록한다. 둘째, 시스템 콜 레벨에서는 strace와 유사한 커널 트레이싱을 적용해 파일 입출력, 프로세스 생성, 네트워크 소켓 열기 등을 실시간으로 캡처한다. 셋째, 네트워크 레이어에서는 가상 라우터를 통해 모든 트래픽을 프록시하고, DNS 질의·HTTP/HTTPS 패킷을 PCAP 형태로 저장한다. 이렇게 다층적인 포렌식 데이터를 자동으로 정형화함으로써 악성코드의 은폐 기법(예: 동적 코드 로딩, 암호화된 페이로드 전송)까지 추적할 수 있다.
성능 평가에서는 1261개의 악성 샘플을 48개의 물리 서버(각 24코어, 128 GB RAM) 클러스터에 배포해 1시간에 평균 3,200개 앱을 처리했으며, 평균 실행 시간은 70초, 최대 120초였다. 이는 기존 단일 인스턴스 기반 동적 분석 도구에 비해 10배 이상 빠른 속도다. 또한, 수집된 로그와 네트워크 트레이스는 기존 정적 분석 툴이 놓치기 쉬운 런타임 행동을 드러내어, 악성코드 분류 모델의 정확도를 8 % 포인트 상승시켰다.
하지만 Andlantis는 안드로이드 버전 고정(주로 4.4 KitKat)과 루트 권한이 필요한 후킹 기법에 의존한다는 제한점이 있다. 최신 API 변화나 SELinux 강화 환경에서는 후킹이 차단될 수 있다. 또한, 에뮬레이터 기반이므로 하드웨어 가속(예: GPU, 센서) 요구 앱은 완전한 행동을 재현하지 못한다. 향후 연구에서는 멀티버전 이미지 관리와 하드웨어 가상화 지원을 확대하고, 샌드박스 탈출 방지를 위한 무결성 검증 메커니즘을 도입할 계획이다.
댓글 및 학술 토론
Loading comments...
의견 남기기