동아시아 은행앱 접근성 남용 탐지를 위한 가상화 기반 침투시험
초록
본 연구는 동·동남아시아 은행 모바일 앱을 대상으로 가상화·후킹 기법을 이용한 FjordPhantom 악성코드의 접근성 서비스 남용 공격 가능성을 평가한다. 83개 앱(누적 다운로드 4억 500만)을 정적 분석(APKiD)과 자동화된 가상화 침투시험으로 검증한 결과, 전체의 43 %가 취약했으며 국가별로는 싱가포르·인도네시아·태국에서 57 % 이상이 vulnerable하였다. 안티‑VM, 안티‑디스어셈블리 등 하드닝 조치가 일부 효과를 보였지만, 다수 앱은 여전히 위협에 노출돼 있다. 논문은 현재 방어 메커니즘의 한계와 향후 가상화·후킹 탐지·보강 방안을 제시한다.
상세 분석
이 논문은 Android 은행 앱이 접근성 서비스(Accessibility Service)를 악용당하는 시나리오를 구체적으로 제시하고, 이를 방어하기 위한 기존 보안 메커니즘의 실효성을 실증적으로 검증한다. FjordPhantom은 두 단계로 동작한다. 첫 번째 단계에서는 사용자를 속여 악성 컴포넌트를 설치하고, 가상화 컨테이너 안에서 대상 앱을 로드한다. 여기서 핵심은 앱 자체를 변조하지 않고, 호스트 앱이 제공하는 프로세스 ID와 메모리 공간을 공유함으로써 안드로이드 샌드박스를 우회한다는 점이다. 두 번째 단계에서는 Java API 훅킹 프레임워크를 이용해 접근성 서비스 탐지 로직을 런타임에 가로채고, 악성 접근성 서비스를 활성화한다. 이를 통해 키로깅, 화면 스크래핑, 자동 클릭 등 다양한 공격이 가능해진다.
연구팀은 7개 국가(싱가포르, 인도네시아, 태국, 홍콩, 말레이시아, 일본, 한국)에서 83개의 은행 앱을 선정하였다. 정적 분석에는 APKiD를 사용해 RASP(패커, 프로텍터, 오브퓨케이터)와 하드닝(안티‑VM, 안티‑디버깅, 안티‑디스어셈블리) 여부를 자동 검출하였다. 결과는 대부분의 앱이 안티‑VM을 적용했지만, 이는 FjordPhantom이 자체 가상화 환경을 구축함으로써 무력화될 수 있음을 보여준다. 반면, 안티‑디스어셈블리는 적용된 앱의 78 %가 공격에 저항하는 등 정적 코드 보호가 일정 부분 효과적임을 확인했다.
자동화된 침투시험 파이프라인은 (1) Google Play에서 대상 앱을 다운로드, (2) ADB로 추출, (3) FjordPhantom‑랩핑을 적용한 가상화 APK 재패키징, (4) 원본 앱과 가상화 앱을 각각 실행해 30초 동안 프로세스 ID 변동 여부와 크래시 여부를 모니터링한다. 원본은 정상 실행되지만 가상화 버전이 크래시 없이 동작하면 해당 앱은 접근성 남용에 취약한 것으로 판단한다. 이 방식은 실제 사용자 데이터에 접근하지 않으며, 로컬 디바이스에서만 실행돼 윤리적·법적 위험을 최소화한다.
실험 결과, 전체 앱 중 36개(43 %)가 취약했으며, 이는 누적 다운로드 2억 2500만 명에 해당한다. 국가별로는 싱가포르(75 %), 인도네시아(57.9 %), 태국(57.1 %)에서 높은 취약률을 보였고, 일본(15.4 %)과 한국(12.5 %)은 상대적으로 방어가 강했다. 하드닝 조치 수와 취약성 사이에는 역상관 관계가 있었으며, 하드닝이 전혀 없는 두 앱은 예외적으로 저항성을 보였다. 이는 맞춤형 보안 로직이 존재할 가능성을 시사한다.
논문은 현재 안드로이드 보안 프레임워크(SafetyNet, Play Services)와 RASP 솔루션이 접근성 서비스 탐지를 완전히 차단하지 못한다는 점을 강조한다. 향후 연구 과제로는 (1) 가상화·후킹 탐지를 위한 런타임 무결성 검사, (2) 접근성 서비스 활성화 시 사용자에게 강제적인 다중 인증을 요구하는 UI/UX 설계, (3) 은행 앱 개발 단계에서 접근성 권한 최소화와 권한 검증 로직 강화, (4) 구글 플레이 스토어 차원에서 가상화 기반 악성 앱을 자동 식별·제거하는 메커니즘 도입 등을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기