상세 컨텐츠

본문 제목

Trojan.Android.HiddenAds 악성코드 분석 보고서

악성코드 분석 리포트

by 알약(Alyac) 2019. 6. 21. 08:22

본문


안녕하세요? 이스트시큐리티 시큐리티대응센터(이하 ESRC)입니다.


Android의 공식 마켓인 구글 플레이 스토어를 통한 악성 앱 유포가 빈번하게 일어나고 있습니다. 물론 구글에서도 안전한 앱스토어 환경을 조성하기 위해 노력을 기울이지만 수많은 앱들이 등록되다 보니 제대로 걸러지지 않는 경우가 생깁니다. 더불어 공격을 수행하는 악성 앱 제작자들도 앱스토어에 공격 앱을 등록하기 위해 노력하며 마켓의 앱 등록 절차상 허점 등의 취약점을 적극 활용합니다. 


악성 앱 제작자들이 공식 마켓에 악성 앱을 등록하려는 이유는 파급효과가 크기 때문입니다. 일단 마켓에 앱이 등록되면 수많은 잠재 피해자에게 악성 앱이 노출되는 점과 다운로드 수가 많아질수록 확산 속도도 빨라지는 장점이 있기 때문입니다. 이런 이유로 구글 플레이 스토어에는 스파이웨어, SMS 탈취, 애드웨어 등의 악성 앱이 지속적으로 등록되어 유포되고 있습니다.


본 분석 보고서에서는 최근 구글 플레이 스토어를 통해 유포된 악성 애드웨어 앱인 'Trojan.Android.HiddenAds'를 상세 분석하고자 합니다.


악성코드 상세 분석


1. 애드웨어

애드웨어는 소프트웨어를 무료로 제공하는 대신 광고로 수익을 내는 소프트웨어입니다. 따라서 모든 애드웨어가 악성 앱은 아닙니다. 


악성 애드웨어 앱은 광고만 제공하는 것이 아니라 피해자의 사생활 정보를 탈취하거나 피해자가 원하지 않는 앱들을 강제로 설치하기도 하며 과도한 광고로 스마트폰의 사용을 불편하게 만들기도 합니다. 이런 악성 애드웨어 앱이 구글 플레이 스토어를 통해 심심치 않게 유포되고 있으며 그 수는 갈수록 증가하는 추세입니다. 최근에도 공격적인 광고 행위를 하는 악성 애드웨어 앱이 구글 플레이 스토어에서 발견되어 이슈가 되었습니다. 이 악성 애드웨어 앱이 이슈가 되었던 이유는 다운로드 된 횟수도 많았지만 스토어에 등록된 개수도 많았기 때문입니다.


[그림 1] 구글 플레이 스토어를 통한 악성 애드웨어 앱 유포



2. Trojan.Android.HiddenAds

Trojan.Android.HiddenAds는 광고를 통한 수익 극대화가 목적이기에 앱이 적극적으로 광고를 수행하도록 제작되어 있습니다. 악성 앱이 설치되면 광고 라이브러리를 초기화하며 이 과정에서 공격적인 광고를 수행할 수 있는 준비를 하게 됩니다. 이때 주요하게 사용하는 광고 라이브러리가 TSSDK라는 광고 라이브러리이며 공격적인 광고를 수행합니다. 악성 앱의 주요 악성 행위는 “Game Center”라는 Icon을 설치하고 지속적으로 전면광고를 노출시켜 사용자를 불편하게 만듭니다.


[그림 2] Game Center 아이콘 설치



전면광고 노출은 다음과 같은 상황에서 노출되며 광고 내용은 “hxxp://nx.h5games.top”라는 웹게임을 서비스하는 Game Center 사이트이며 다양한 게임 광고와 설치 유도를 합니다.


<광고 페이지 오픈 조건>

디스플레이 ON

Wifi 연결

블루투스 연결 (on / off)

전원 연결

home 키 클릭


악성 앱 설치 후 전면광고가 노출되면 설치된 악성 앱의 Icon을 숨깁니다. 이는 피해자의 악성 앱 제거를 어렵게 하고 실제 전면 광고를 누가 수행하는지도 알기 어렵게 합니다. 


다음 그림은 Game Center 접속 화면입니다.


[그림 3] Game Center 접속 화면


악성 앱에서 생성되는 광고 창에는 Game Center의 화면이 노출되도록 되어 있으나 테스트 시 빈 화면만 노출되어 브라우저를 통해 접속한 화면입니다.


3. 상세 코드분석

Trojan.Android.HiddenAds의 주요 악성코드는 “Game Center” Icon 설치와 공격적이 광고를 수행하는 코드들입니다. 


다음 그림은 악성 앱 실행 시 엔트리 코드 수행 전 광고 모듈 초기화를 수행하는 코드입니다.


[그림 4] 광고 모듈 초기화 코드


광고 모듈 초기화 후 광고를 노출 시킬 타이밍에 해당하는 각종 리시버를 등록합니다.



[그림 5] 각종 리시버 등록


사용자가 스마트폰의 옵션 등을 조작하거나 디스플레이를 켜게 될 경우 광고 화면을 보도록 해 놓았습니다. 


이후 앱의 엔트리 코드에서 “Game Center” Icon을 설치합니다.


[그림 6] Game Center Icon 설치


Game Center Icon 설치 이후 전면 광고가 노출되면 악성 앱의 Icon을 숨깁니다. 다음 그림은 악성 앱의 Icon을 숨기는 코드입니다. 


[그림 7] 악성 앱 Icon 숨김 코드


다음 그림은 전면광고 노출 시 수행 되는 코드입니다.


[그림 8] Game Center Icon 클릭 시 수행 코드


결론


애드웨어는 원래 나쁜 의도로 만들어진 소프트웨어는 아닙니다. 그러나 공격자들이 애드웨어를 활용하기 시작하며 애드웨어를 통한 피해는 지속적으로 발생하고 있습니다. 작게는 시스템 사용에 불편을 주는 정도지만 심한 경우에는 중요 개인 정보를 탈취하여 금전적인 손실을 입히는 경우도 있습니다. 


본 분석 보고서의 애드웨어는 광고 수익을 목적으로 본래의 앱 기능은 제대로 동작하지도 않을뿐더러 특정 시점에는 악성 앱의 Icon을 감추어 버려 앱을 제거하기 어렵게 만듭니다. 이런 사실을 모르는 피해자들은 지속적으로 광고에 노출되어 스마트폰 사용에 불편을 겪게 됩니다.


Trojan.Android.HiddenAds는 안드로이드의 공식 마켓인 구글 플레이 스토어를 통해 유포되었기에 피해자들이 문제 있는 악성 앱으로 인식하기 매우 어렵습니다. 따라서 이런 악성 앱들을 예방하기 위해서는 신뢰할 수 있는 백신의 사용이 필수이며 백신 애플리케이션을 항상 최신 업데이트 버전으로 유지해야 합니다. 더불어, 악성 앱에 감염되지 않기 위해 출처가 불명확한 URL과 파일은 실행하지 않아야 합니다.



현재 알약 M에서는 해당 악성 앱을 'Trojan.Android.HiddenAds' 탐지 명으로 진단하고 있습니다.

관련글 더보기

댓글 영역