고도화된 탐지 회피 기술을 적용한 악성 앱 분석 보고서
1. 개요
Anti-Virus(AV) 제품을 회피하기 위해 악성 앱 제작자들은 점점 더 다양한 기법을 사용하고 있다.
과거에는 하나의 악성 앱에 모든 악성 행위를 구현하는 방식이 일반적이었지만, 최근에는 기능을 분리하여 추가로 다운로드하거나, 암호화된 파일을 복호화해 로드하는 형태의 앱이 발견되고 있다.
또한, 특정 조건이 충족될 때만 실행되도록 트리거를 설정하고, 그렇지 않으면 대기 상태를 유지하는 앱들도 다수 발견되고 있다.
이번에 발견한 앱은 이러한 최신 기법을 다수 적용한 사례로, 발견 당시에는 대부분의 AV 제품에서 탐지되지 않았다.
실제 악성 행위를 수행하는 앱은 강력한 패킹과 난독화가 적용되어 있으며, 사용자가 직접 간단한 연산을 수행하지 않으면 추가 악성 페이로드를 생성하는 구간까지 진입할 수 없도록 설계되어 있다.
또한, 앱 설치 시 활용되는 Package Installer를 커스터마이징하여 악성 앱을 보다 쉽게 설치하고 탐지하기 어렵게 만들었다.
이는 고도화된 전략으로 제작된 악성 앱임을 보여준다.
본 문서에서는 해당 앱에 적용된 패킹 및 난독화 구조와 악성 행위 프로세스를 소개하고, 실제 악성 행위를 수행하는 DEX 파일에 대한 분석 정보를 포함한다.
2. 분석
2.1. Malicious File Decryption and Drop Flow
악성 앱은 분석을 방해하고 탐지를 회피하기 위해 다단계 드롭 페이로드(Drop Payload) 기법을 활용한다.
실제로 개인정보 탈취 행위는 최종 단계의 Split APK에 구현되어 있으며, 그 외 주요 악성 행위는 ELF(.so) 파일의 네이티브 코드 영역에서 수행된다.
드롭 페이로드 중 일부는 코인 채굴을 위한 파일을 다운로드 및 실행하며, 시스템에서 제공하는 기본 Package Installer를 우회하기 위해 제작된 커스텀 패키지 인스톨러(Custom Package Installer)를 사용한다.
분석 대상 샘플의 드롭 파일 복호화 흐름은 [그림 1]과 같다.

그림 1. 악성 앱 실행 과정
2.2. Drop Reference File
악성 행위를 수행하는 드롭 파일(Drop File)은 assets 폴더 내에 암호화된 형태로 존재하며, 실제 Entry Point(EP)에 정의된 대다수의 함수는 네이티브 코드를 통해 실행된다.
그 중 Parent APK의 네이티브 코드 구현은 assets/818boyhzxe3twb63/cnhprgtf 경로의 암호화된 파일에 구현되어 있으며, 이를 복호화하기 위한 로직은 lib/arch*/libluxzulh.so 파일에 정의되어 있다.

그림 2. assets 폴더 내 암호화된 파일
2.3. 실행 화면
악성 앱은 Anti-Virus(AV) 탐지를 회피하기 위해 실행 즉시 악성 행위를 수행하지 않고 사용자에게 화면에 표시된 단어를 입력하도록 유도한다.

그림 3. 앱 실행 화면
입력한 단어가 일치하면, 앱 업데이트를 유도하는 가짜 구글 플레이 스토어 화면을 표시한다.

그림 4. 가짜 플레이스토어 화면