분석 정보/모바일 분석 정보

[주의]안드로이드 진저브레드 취약점을 악용한 악성 애플리케이션

TACHYON & ISARC 2011. 8. 23. 20:05
1. 개 요


최근 악성 애플리케이션 중 루팅을 시도 하는 종류가 여럿 발견되었으나 그간 안드로이드 SDK 2.2버전 이상에서는 정상적으로 루팅 동작이 수행되는 종류는 없었다. 이러한 와중에 진저브레드(안드로이드 SDK 2.3버전)의 취약점을 이용한 악성 애플리케이션이 해외에서 출현하여 사용자들의 각별한 주의가 요망되고 있다. 해당 악성 애플리케이션은 중국의 사용자들을 타겟으로 제작되었으나, 진저브레드의 취약점이 노출된 만큼 변종 악성파일의 출현 가능성이 높고, 잉카인터넷 대응팀은 변종도 10여종 발견을 한 상태이다.

  

2. 유포 경로 및 감염 증상

해당 악성 애플리케이션은 정상 애플리케이션에 대한 재패키징 형태이다. 구글 안드로이드 마켓을 통해서는 유포가 이루어지고 있지 않으것으로 파악되었으며, 각종 블랙마켓, 3rd Party 마켓 등을 위주로 유포되고 있는 것이 확인되었다.

해당 악성 애플리케이션을 다운로드 받은 후 설치를 시도하면 아래와 같은 권한 요구 화면을 출력한다.


※ 전체 권한

- android:name="android.permission.READ_PHONE_STATE"

- android:name="android.permission.READ_LOGS"

- android:name="android.permission.DELETE_CACHE_FILES"

- android:name="android.permission.ACCESS_CACHE_FILESYSTEM"

- android:name="android.permission.WRITE_SECURE_SETTINGS"

- android:name="android.permission.ACCESS_NETWORK_STATE"

- android:name="android.permission.INTERNET"

- android:name="android.permission.WRITE_EXTERNAL_STORAGE"

- android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"

- android:name="android.permission.READ_OWNER_DATA"

- android:name="android.permission.WRITE_OWNER_DATA"

- android:name="android.permission.WRITE_SETTINGS"

- android:name="com.android.launcher.permission.INSTALL_SHORTCUT"

- android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"

- android:name="android.permission.RECEIVE_BOOT_COMPLETED"

- android:name="android.permission.RESTART_PACKAGES"

설치가 모두 완료되면 아래의 그림과 같은 실행 아이콘이 생기며, 실행 시 해외 유명 연예인들의 사진을 보여준다. 월페이퍼 기능은 없으며, 사진중에는 국내 유명 연예인의 사진도 다수 포함되어 있다.
  

◆ 실행 아이콘 (변종의 경우 아이콘의 화면이 다르다.) 

 


해당 악성 애플리케이션은 다양한 종류의 변종이 존재하며, 모두 위와 같은 2가지 종류의 아이콘을 사용한다.

◆ 실행 화면 (유명 연예인들의 사진들을 보여주는 애플리케이션이다.)


  

■ 상세 분석

해당 악성 애플리케이션의 감염 증상은 아래와 같이 요약해 볼 수 있다.

※ 감염 증상

1. IMEI/IMSI 등의 기기정보, 전화번호, /proc/cpuinfo를 통한 프로세스, CPU타입, 모델, 제조사 등의 정보 수집

2. 수집한 정보의 외부 유출

3. 루팅을 위한 SDK 버전 정보 획득

4. 루트권한 획득

5. 추가적인 apk 파일 다운로드 및 설치 시도
  

◆ 정보 수집 코드

우선 설치가 완료되면 한개의 리시버(GameBootReceiver)와 함께 정상을 포함한 다수의 Activity가 등록되며, 아래의 일부 코드들을 통해 스마트폰에 대한 기기정보 외 다수의 정보를 수집 후 외부로 유출할 수 있다.


◆ 진저브레드 취약점을 통한 루트 권한 획득

해당 악성 애플리케이션은 이미 알려진 Gingerbreak 루팅 기법을 이용해 아래의 일부 코드와 같이 진저브레드의 취약점을 통한 루트 권한 획득 시도를 할 수 있다.


해당 악성 애플리케이션은 루트 권한을 얻기 위해 악성 애플리케이션 내부 패키지에 포함된 "gbfm.png"파일을 이용한다. 해당 파일은 확장명을 "png" 형태로 위장한 ELF 파일이며, 이러한 ELF 파일을 통한 쉘 명령으로 비로소 루트 권한 획득이 가능해질 수 있는 것이다.

추가적으로 "gbmf.png" 파일은 "GingerBreak For Me"의 약어로 추정된다고 알려졌다.

◆ 추가적인 apk 파일 다운로드 시도

해당 악성 애플리케이션은 외부 C&C 서버와의 연결을 통해 아래의 일부 코드와 같이 외부에서 특정 apk파일을 다운로드 받을 수 있으며, 진저브레드 취약점을 통해 획득한 루트권한으로 루트 쉘 명령에 의한 추가 패키지 설치를 시도할 수 있다.

※ 추가적인 apk 파일 다운로드 URL

-
http://apk.(생략)/apk/(년월일)/19225910801.apk
  

3. 예방 조치 방법

진저브레드의 취약점이 노출되면서 향후 지속적으로 루트 권한을 훔칠 수 있는 악성 애플리케이션의 출현 빈도가 높아질 수 있다. 이러한 악성 애플리케이션에 감염될 경우 사용자의 스마트폰에서는 원치 않는 다양한 악의적인 기능이 동작될 수 있다.

악성 애플리케이션이 스마트폰의 루트 권한을 획득한다면 어떠한 추가적인 피해가 발생할지 짐작하기 어렵다. 때문에 이러한 스마트폰 보안 위협으로부터 안전하기 위해서는 아래와 같은 "스마트폰 보안 관리 수칙"을 준수하는 등 사용자 스스로의 관심과 주의가 무엇보다 중요하다고 할 수 있다.

※ 스마트폰 보안 관리 수칙

1. 신뢰할 수 있는 보안 업체에서 제공하는 모바일 백신을 최신 엔진 및 패턴 버전으로 업데이트하여 실시간 보안 감시 기능을 항상 "ON" 상태로 유지해 사용할 수 있도록 한다.

2. 어플리케이션 다운로드 시 항상 여러 사용자를 통해 검증된 어플리케이션을 선별적으로 다운로드 하는 습관을 가질 수 있도록 한다.

3. 다운로드한 어플리케이션은 항상 모바일 백신으로 검사한 후 사용 및 설치 하도록 한다.

4. 스마트폰을 통해 의심스럽거나 알려지지 않은 사이트 방문을 자제한다.

5. 발신처가 불분명한 MMS 등의 메시지, 이메일 등의 열람을 자제한다.

6. 스마트폰에는 항상 비밀번호 설정을 해두고 사용하도록 한다.

7. 블루투스와 같은 무선 인터페이스는 사용시에만 켜두도록 한다.

8. 중요한 정보 등의 경우 휴대폰에 저장해 두지 않는다.

9. 루팅과 탈옥 등 스마트폰 플랫폼의 임의적 구조 변경을 자제한다.


※ 잉카인터넷(시큐리티대응센터/대응팀)에서는 24시간 지속적인 대응체계 가동 및 "nProtect Mobile for Android" 를 통해 다양한 모바일 보안 위협에 대응하고 있다.

◆ 진단 현황

- Trojan-Spy/Android.GingerMaster.A
- Trojan-Spy/Android.GingerMaster.B
- Trojan-Spy/Android.GingerMaster.C
- Trojan-Spy/Android.GingerMaster.D
- Trojan-Spy/Android.GingerMaster.E
- Trojan-Spy/Android.GingerMaster.F
- Trojan-Spy/Android.GingerMaster.G
- Trojan-Spy/Android.GingerMaster.H
- Trojan-Spy/Android.GingerMaster.I
- Trojan-Spy/Android.GingerMaster.J
- Trojan-Spy/Android.GingerMaster.K