티스토리 뷰

Android의 "Toast"기능을 이용한 오버레이 공격에 의해, 감염 단말에 몰래 부정 앱을 설치하는

새로운 Android 악성 앱 "TOASTAMIGO (ANDROIDOS_TOASTAMIGO로 검출)"를 Google Play에서

확인했습니다.

TOASTAMIGO는 2017년 11월 6일 현재 100,000~500,000회 설치되어 있습니다.

이 악성 앱은 Android단말의 "사용자 보조 기능"을 악용하며, 광고의 클릭, 앱 설치, 삭제 방지에 의한

공격의 지속 등의 기능을 갖추고 있습니다.


오버레이 공격은 실행 중인 앱과 창 프로세스의 전면에, 화상이나 버튼 등의 가짜 Android의 View를

전면에 띄워 클릭을 유도하는 방법입니다.

Toast기능을 이용하는 오버레이 공격의 전형적인 시나리오는, 정식 앱의 사용 화면 위에 공격자가

표시한 윈도와 버튼을 사용자가 클릭한다는 것입니다.

이 방법은 다른 앱의 위에 통보를 표시하는 Toast의 취약성 "CVE-2017-0752"를 이용하는 것으로,

2017년 초에 "Proof-of-concept(PoC, 개념 증명)"가 공표되어 있었습니다.

 

 일본서버호스팅

 일본서버호스팅

 

그림 1 : Toast기능을 이용한 오버레이 공격의 시스템

 일본서버호스팅

 일본서버호스팅

 

그림 2 : Google Play에서 확인된 악성 앱

 일본서버호스팅

 

■ 감염 체인


역설적으로 TOASTAMIGO는 개인 식별 번호(PIN)에 의해서 단말을 보호하는 화면잠금 앱을 가장하고 있습니다.

설치에 있어서 이 악성 앱은 사용자 보조 권한이 필요하다고 통지합니다.

이는 사용자에 의한 권한 허가가 필요한 Android의 대책을 회피하는 잔꾀입니다.

권한 허가 후 TOASTAMIGO는 "앱의 분석 중"이라고 칭하는 화면을 표시합니다만, 그 배후는 액션이나

명령이 실행되고 있습니다.

이미 권한이 허가되고 있어 그 중에는 다른 악성 앱 설치도 포함됩니다

 

 일본서버호스팅

 

그림 3 : 악성 앱 실행시의 스크린 샷

 

 일본서버호스팅

■ 수법 분석
 일본서버호스팅

Android앱은 압축된 상태에서 Google Play에 공개됩니다.

TOASTAMIGO을 전개하면 표 4와 같습니다.

"com"아래에, TOASTAMIGO이라고 확인된 2가지 앱(그림 2)에 각각 대응하는 "amigo"와 "goami"라는

폴더를 확인할 수 있습니다.

이는 한쪽을 복사해서 다른 쪽을 작성한 것을 나타내던 흔적입니다.

즉, 2개의 TOASTAMIGO는 모두 같은 개발자에 의해서 작성되었을 것입니다.

 일본서버호스팅

 

 

그림 4 : TOASTAMIGO의 폴더 구성

 일본서버호스팅

 일본서버호스팅

Toast기능을 이용한 오버레이 공격은 화면에 "analyzing the unprotected apps.(보호되지 않은 앱을 분석 중)"로

표시하는 사이에 실행됩니다.

그림 5가 그 코드입니다.

표시되는 화면은 실제로는 Toast형식 창에서 이하의 설정에 의한 전 화면 표시되고 있습니다.

 

*v2.type의 값"2005"는 TYPE_TOAST를 의미
*v2.SystemUiVisibility의 값"1280"은 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN과 SYSTEM_UI_FLAG_LAYOUT_STABLE을 의미
*v2.flags의 값"1032"은 FLAG_FULLSCREEN과 FLAG_NOT_FOCUSABLE을 의미

 

 일본서버호스팅

 

그림 5 : Toast기능을 이용한 오버레이 공격을 위한 코드

 

 일본서버호스팅

오버레이 공격을 실행하는 기존의 악성 앱은 Android 6.0 Marshmallow 이후의 버전에서는

"draw on top(가장 전면에 표시)" 권한의 허가를 필요로 합니다.

단, Google Play에서 다운로드 되고 SYSTEM_ALERT_WINDOW권한이 허가된 앱에는 자동적으로 가장

전면에 표시하는 권한이 부여되고 있습니다.

그러나 Toast기능을 이용한 오버레이 공격은 특정 권한이나 조건을 필요로 하지 않기 때문에 취약성이

수정된 Android 8.0 Oreo보다 이전의 모든 버전에 영향을 주는 것이 확인됩니다.

 

 일본서버호스팅

■ 악성 작업의 실행
TOASTAMIGO의 코드를 해석하고 가독성 때문에 주요 기능의 일부에 이름을 붙였습니다.

함수"doBackgroudTask.getInstance(Context)this). doTask"는 백그라운드에 특정 태스크의 실행을

관리하고 다른 Android버전의 다양한 경고 대화 상자를 회피하도록 설계되어 있습니다.

 일본서버호스팅

 일본서버호스팅

 

그림 6 : TOASTAMIGO가 백그라운드로 작업을 실행하는 코드(빨간박스)

 일본서버호스팅

 

TOASTAMIGO는 단말기에서 삭제를 방지하는 것을 포함하여 Toast형 창 뒤에서 다음과 같은 기능을 수행합니다.

 

 

액션 명

설명

com.photos.android.helper

특정"Android application package(APK)"의 다운로드

force_stop_MC

모바일 보안 앱의 강제 정지

bgAsprotectDialog

대화를 위한 액션의 준비

bgAutoInstallPage_4

사용자 보조를 통한 APK의 설치

Accessibility

다른 APK를 위해 사용자 보조를 실행

bgGpAutoProtect

제거의 방지

bgAsprotectDialogbgAsprotectPage_4

사용자 보조 창이 닫히지 않게 유지

 

 

TOASTAMIGO로 다운로드 및 설치된 악성 앱의 명칭은 "com.photos.android.helper"이며,

패키지 이름은 "com.vpn.free.migovpn"입니다.

TOASTAMIGO로 다운로드 되고, 광고 선택 기능을 갖춘 이 비리 앱을 "AMIGOCLICKER

(아미고 클리커)"("ANDROIDOS_AMIGOCLICKER"로 검출)이라 이름 지었습니다.

AMIGOCLICKER은 앱의 목록에는 나타나지 않고 대신 사용자 보조 서비스 목록에 추가됩니다.

 일본서버호스팅

 

 

그림 7 : 감염 단말의 유저 보조 서비스 목록에 표시된 AMIGOCLICKER

 일본서버호스팅

 일본서버호스팅

AMIGOCLICKER는 등록된 수신기에 의해서 자동적으로 실행됩니다.

또, 그림처럼 TOASTAMIGO에서 AMIGOCLICKER의 변환 서비스를 불러내는 것도 실행 가능합니다.

 일본서버호스팅

 

 

그림 8 : 변환된 AMIGOCLICKER서비스

 

 일본서버호스팅

그림 9 : AMIGOCLICKER의 서비스를 호출하는 AMIGOCLICKER의 코드

 

 일본서버호스팅

AMIGOCLICKER도 압축되어 있습니다.

변환된 AMIGOCLICKER의 주요 서비스에 대해서 해석했습니다.

우선 이 악성 앱은 원격 서버에 접속함으로써 최신 제어 정보를 취득합니다.

다음에 단말의 네트워크 접속에 응답하고 프록시를 제공합니다.

이에 따라 지역에 따라서는 접속할 수 없는 Facebook과 Google광고 표시 서비스"Admob" 같은

서비스 접속을 보조합니다.

아래 표는 AMIGOCLICKER의 주요 기능의 일람입니다.

TOASTAMIGO와 공통하는 기능도 몇가지 확인할 수 있습니다.

 

 일본서버호스팅

 

액션 명

설명

force_stop

모바일 보안 앱의 강제 종료

open_device_manager

삭제을 막기 위해서 단말 관리 기능을 시작

bgDeviceDeactivate

단말 관리 기능을 무효화를 방지

bgGpAutoProtect

삭제에 대한 방어

autoUninstall_setting

특정 패키지를 제거

bgAsprotectDialog

사용자 보조 권한 허가를 유지

bgAsprotectPage_4

사용자 보조 권한 허가를 유지

bgAutoCancelDialog

시스템 경고 대화 상자에서 취소 버튼을 클릭

bgAutoUninstallOnDesktop

시스템 경고 대화 상자에서 삭제 버튼을 클릭

bgAutoSureDialog

특정 시스템 대화 상자 받는 경우 버튼을 클릭

collect_gp_account

대상 Google계정 정보를 수집

bg_auto_click_fb

가져온 Facebook광고를 클릭

gp_search_input_aso action1

검색어를 입력하고 Google Play로 검색

gp_search_input_aso action2

해당 앱을 Google Play에서 5개 별로 평가

 

 

■ 피해 예방


이번에 확인된 악성 앱은 다양한 기능을 갖추고 있어 비교적 드문 공격 방법과 맞물려서 확실한

위협이 되고 있습니다.

추가 사이버 공격 때문에 수정되는 것도 충분히 예상됩니다.

사용자 보조 기능을 악용하는 TOASTAMIGO및 AMIGOCLICKER는 사실상 어떤 공격에서도

실행할 수 있어 원격 서버로부터의 명령을 수신할 때 자신을 갱신할 수도 있습니다.

 

Google은 이미 이 공격의 침입 경로가 Toast기능의 오버레이 표시에 대해서, 2017년 9월의 Android의

보안에 관한 공개 정보로 갱신 프로그램을 발표하고 있습니다.

Android단말의 이용자는 갱신 프로그램을 적용하세요.

특히 직장 "Bring Your Own Device(BYOD)"프로그램에서 기기를 이용할 경우 더 중요한 것은 모바일

단말을 지키는 실용적인 보안 대책을 실시하는 것입니다.

단, Android OS에는 단편화의 문제가 있습니다.

Pixel과 Nexus단말에서는 정기적인 업데이트가 있지만, 다른 단말에서는 갱신 프로그램의 적용 상태의

확인이 필요합니다.

사용자는 이용하고 있는 Android단말의 제조원에서 업데이트의 대응 상황을 확인하세요.

 

이번 사례에 대해서 Google에 통보되었고, 문제의 앱은 이미 Google Play에서 삭제되었습니다.

"침입의 흔적(Indicators of Compromise, IoC)"에 대해서는 여기를 참조하세요.

 일본서버호스팅

 

출처 : 마이크로트랜드 블로그

 

  일본서버호스팅

 일본서버호스팅 

  일본서버호스팅

 

 일본서버호스팅

 일본서버호스팅

 

댓글
댓글쓰기 폼