악성 앱 제작 및 유포 도구의 다양화 동향 보고서
1. 개요
안드로이드 OS를 탑재한 스마트폰이 증가하면서 사용자의 편의를 위한 다양한 앱이 출시되고 있다.
출시된 앱의 경우 대다수 기존 앱 개발 방식으로 제작되지만, 앱 개발에 어려움을 느끼는 사람을 위해 UI 및 기능 구현을 보조하는 다양한 도구가 출시되고 있다.
Sketchware의 경우 앱 개발 시 어려움을 느끼는 사람들을 위해 공개된 도구로 간편하게 앱 제작을 하도록 도와주는 도구이다.
Sketchware는 Drag&Drop을 통해 간단한 기능의 앱을 제작할 수 있는데, 악성 앱 제작자도 이를 활용해 단순한 악성 행위를 수행하는 앱을 개발한 사례가 발견되었다.
일반적으로 악성 앱을 유포하기 위해 주로 사회공학적 기법인 SMS 또는 소셜 미디어를 통해 사전에 제작한 피싱 사이트 접속 및 악성 앱 설치를 유도한다.
하지만, Anti-Virus(AV) 제품의 탐지 성능 향상 및 스마트폰 사용자의 보안 인식 강화로 인해 실제 단말기 내 설치까지 도달하는 사례가 줄고 있다.
공격자는 구글 플레이 스토어 외에도 서드파티 스토어, 웹 사이트 등 다양한 형태로 유포해도, 피해자가 앱 다운로드 후 단말기에 설치하는 경우 경고 알림이 발생하기 때문에 이 또한 유포자가 원하는 단계인 단말기 감염까지 도달하지 못하고 있다. 이로 인해, 악성 앱 유포자는 경고 알림은 무시하고 “외부 앱 설치 허용”을 앱 설치를 하도록 유도하지만, 이 또한 쉽게 이루어지지 않고 있다.
공격자는 이와 같은 문제를 해결하기 위해 PWA(Progressive Web Apps) 기반으로 개발된 WebAPK를 활용해 피싱 사이트 또는 악성 앱 유포 사이트로 연결하는 사례가 발견되었다.
손쉽게 앱을 작성할 수 있는 도구인 Sketchware Pro의 특징과 이를 활용해 제작한 악성 앱 유형에 대해 소개하고, 구글이 기존 PWA 앱의 단점을 보완하기 위해 개발한 WebAPK의 특징과 이를 활용한 악성 앱 유포 및 피싱 사이트 접속 유도 방법에 대해 소개한다.
2. 앱 제작 도구
2.1. Sketchware
Sketchware는 BESOME이라는 스타트업에서 개발한 도구로, 스마트폰 앱으로 Scratch처럼 블록 형식으로 된 앱 기능을 Drag&Drop을 통해 간단하게 앱을 개발하고 안드로이드 단말기에 설치할 수 있는 APK 형태의 앱으로 생성할 수 있도록 도와주는 도구이다.

그림 1. Sketchware 실행 화면
2.2. Sketchware Pro
Sketchware 개발사가 경영 문제 및 다른 서비스 개발로 인해 Sketchware 업데이트를 중지하면서 여러 개발자들이 오픈 소스로 Sketchware와 유사한 형태로 앱을 제작할 수 있는 Sketchware Pro를 개발하고 배포했다.
Sketchware Pro 또한 전작과 동일하게 쉽고 빠르게 앱을 개발하고 배포할 수 있다고 명시하고 있다.

그림 2. Sketchware Pro 공식 홈페이지

그림 3. Sketchware Pro 실행 화면
3. 앱 유포 도구
3.1. PWA
PWA란 프로그레시브 웹 앱(Progressive Web App)의 줄임말로, 모바일 단말기에서 네이티브 앱 기능을 제공하는 웹 앱이다.
PWA 사용 시 사용자는 앱을 별도로 설치하거나 업데이트 할 필요 없이 웹 브라우저를 통해 사용할 수 있다는 장점이 존재한다.
PWA로 제작된 웹 애플리케이션의 대표적인 특징은 다음과 같다.
1. 설치 가능(Installable) & 자동 업데이트(Auto Update)
2. 오프라인 제공(Offline Support)
3. 반응형 디자인(Responsive Design)
4. 빠른 성능(Fast Performance)
5. 푸시 알람(Push Notifications)
3.2. WebAPK
PWA가 브라우저 기반으로 동작한다는 한계를 해결하기 위해 구글에서 개발한 기능이다.
WebAPK는 구글 크롬 앱을 통해 PWA를 네이티브 APK 형태로 생성해 안드로이드 런처에 통합하고, 독립적인 앱처럼 실행한다.
WebAPK로 제작된 앱의 대표적인 특징은 다음과 같다.
1. 네이티브 앱처럼 설치(Installable as Native APK)
2. 브라우저 독립성(Browser Independence)
3. 저용량 설치
3. Sketchware APK 악성 앱
Sketchware Pro로 제작된 앱의 경우 쉽게 앱을 제작할 수 있다는 장점으로 인해, 악성 앱 제작자는 간단한 악성 행위를 수행하는 앱을 제작 시 자주 활용한다.
Sketchware Pro를 활용해 제작한 앱 중 자주 발견되는 악성 앱 유형은 다음과 같다.
1. 파일 삭제 (SDcard, Sys)
2. RAT (Remote Access Trojan)
3. 게임 시스템 조작
4. 불필요한 앱
4. 악성 앱 진화 및 유포 전략 예측
Sketchware Pro로 제작된 악성 앱이 어떤 형태로 고도화해 발견될지 예상하고, WebAPK를 유포 수단으로 활용할 수 있는 방법에 대해 소개한다.
4.1. Sketchware Pro로 제작한 악성 앱
Sketchware Pro로 제작된 앱의 경우 앱 개발 경험이 없는 사람도 쉽게 UI를 구성하고 기능을 구현할 수 있다.
기존 앱 개발 방식이 아니기 때문에 고도화된 악성 행위 구현은 어렵지만, Android Studio에서 개발을 계속 진행할 수 있도록 프로젝트 추출 기능을 제공하기 때문에 현재 유포되는 악성 앱 유형처럼 등장할 가능성이 높을 것으로 예상된다.
4.2. WebAPK를 활용한 유포 방법
현재까지 국내에서 WebAPK를 활용해 피싱 사이트에 접속하거나 악성 앱 유포 사이트로 접속하는 사례는 발견되지 않았지만, 최근 해외에서는 특정 은행을 타깃으로 PWA와 WebAPK를 활용한 사례가 존재한다.
대다수의 스마트폰 사용자는 앱 설치에 대한 거부감이 다수 존재하는데, WebAPK를 활용한 공격을 하기 위해서는 첫 번째 피싱 사이트 또는 악성 앱 유포사이트 접속을 수행하는 WebAPK 설치, 두 번째 실제 악성행위를 수행하는 앱 설치와 같은 두 번의 절차를 걸쳐야 하기 번거로움 때문에 활용하지 않는다.
하지만, 사기 문자 및 악성 앱 등의 탐지가 점점 고도화되면서 이를 회피하기 위해 유포자는 다양한 기술을 활용할 수도 있으며, 이 중 WebAPK와 사회공학적 기법을 활용해 악성 앱 설치 또는 피싱 사이트 접속을 유도하는 기법을 사용할 것으로 예상된다.