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

[자료]FastRacing 게임 어플리케이션 재패키징을 통해 스마트폰 정보 유출

TACHYON & ISARC 2011. 7. 6. 17:58
1. 개 요


최근 안드로이드에 대한 보안 위협이 연일 이슈인 가운데 정상 어플리케이션에 악성 코드를 포함해 재패키징한 형태의 악성 어플리케이션이 지속적으로 출현하고 있어 사용자들의 각별한 주의가 요망되고 있다. 해당 악성 어플리케이션은 특정 정상 게임 어플리케이션에 악성 코드를 포함 후 재패키징하여 다양한 정보 등을 탈취해 외부로 유출할 수 있는 만큼 안드로이드 기반의 OS가 탑재된 스마트폰 사용자들은 이번 글을 참고하여 최근 이슈가 되고 있는 스마트폰 보안 위협에 대해 좀 더 관심과 주의를 기울일 수 있도록 하자.
 

[[자료]Hello Kitty 바탕화면 어플로 위장된 안드로이드 악성 파일]
http://erteam.nprotect.com/171

[주의] 중국 안드로이드 게임으로 위장한 악성 어플 발견
http://erteam.nprotect.com/165

[주의]중국 안드로이드 QQ 게임으로 위장한 악성 어플 발견
http://erteam.nprotect.com/165

2. 유포 경로 및 감염 증상

해당 악성 어플리케이션은 "FastRacing" 이라는 안드로이드 게임에 악성 코드를 포함해 재패키징한 형태이며, SDK 1.6 버전 이상을 최소 동작 요구 조건으로 가지고 있다.

설치되면 크게 아래와 같은 악의적인 동작을 수행 할 수 있다.

※ 수행 가능한 악성 동작

 - 단말기 정보 수집
 - 발신/수신 통화 목록 수집
 - SMS 관련 정보 수집(읽기 등)
 - 수집된 정보가 저장된 .txt형태의 로그 파일을 외부 사이트에 전송 시도
 - SMS 송신
 - 사용자 모르게 통화 시도
 - 어플리케이션 설치/삭제
 - 봇 기능 수행
 - 위치 정보 접근


위와 같은 악성 어플리케이션의 경우 블랙마켓, 3rd pary 마켓 등을 중심으로 유포가 이루어질 수 있으며, 설치 시 아래와 같은 권한 요구 화면을 보여주게 된다.


※ AndroidManifest.xml에 포함된 권한 설명

- android:name="android.permission.INTERNET"
 -> 외부 인터넷 사이트와 통신을 수행하기 위한 권한
- android:name="android.permission.VIBRATE"
 -> 휴대폰 진동 제어 관련 권한
- android:name="android.permission.ACCESS_NETWORK_STATE"
 -> 네트워크 통신에 대한 권한
- android:name="android.permission.READ_PHONE_STATE"
 -> 스마트폰 단말기 정보 획득을 위한 권한
- android:name="com.android.vending.BILLING"
 -> 폰빌(휴대폰 결제 등)과 관련한 권한
- android:name="android.permission.WRITE_EXTERNAL_STORAGE"
 -> SDcard 등에 정보 저장을 위한 권한
- android:name="android.permission.ACCESS_COARSE_LOCATION"
 -> 개략적인 위치정보(Cell-ID, WiFi)에 접근을 허용하기 위한 권한
- android:name="android.permission.ACCESS_FINE_LOCATION"
 -> 상세한 위치정보(GPS)에 접근을 허용하기 위한 권한
- android:name="android.permission.RECEIVE_SMS"
 -> SMS 수신 관련 권한
- android:name="android.permission.SEND_SMS"
 -> SMS 송신 관련 권한
- android:name="android.permission.READ_SMS"
 -> SMS 읽기 관련 권한
- android:name="android.permission.CALL_PHONE"
 -> 통화 관련 권한
- android:name="android.permission.PROCESS_OUTGOING_CALLS"
 -> 발신 접근 권한
- android:name="android.permission.DELETE_PACKAGES"
 -> 어플리케이션 삭제 관련 권한
- android:name="android.permission.INSTALL_PACKAGES"
 -> 어플리케이션 설치 관련 권한
- android:name="android.permission.RECEIVE_BOOT_COMPLETED"
 -> 재부팅 후 자동 실행 등 백그라운드 동작을 위한 권한


설치가 완료되면 아래의 그림과 같이 정상적으로 게임이 실행되어 일반 사용자들은 자신들의 스마트폰에 대한 악성 어플리케이션 감염 여부를 육안상으로 판별하기 어렵다.

 

■ 백그라운드 상태에서 수행되는 악성 동작 정밀 분석

설치가 완료됨과 함께 해당 악성 어플리케이션은 아래의 설명들과 같이 다양한 악성 동작을 수행하게 된다.

▶ 단말기 정보 수집

아래의 그림은 주요 키값 등의 조건에 따라  스마트폰 단말기의 IMEI, IMSI 등의 정보를 수집할 수 있는 코드의 일부분이다.


▶ 발신/수신 통화 목록 수집

아래의 그림은 악성 어플리케이션이 스마트폰 내의 발신/수신된 번호를 수집하는 과정을 보여주는 코드의 일부분이다.


위 그림에서 빨간색 선 부분의 권한을 기반으로 발신/수신 번호를 수집하여 "zjphonecall.txt" 파일에 모두 저장한다. 수신 번호의 경우 관련된 다른 Bean 클래스 단위와의 조건 여하에 따라 통화 목록을 저장하게 된다.

▶ SMS 관련 정보 수집

아래의 그림은 SMS 정보 수집과 관련한 코드의 일부분 이다.


SMS 발신자 번호, 수신 후 표시 번호, 본문 내용 등이 모두 수집되어 "zjsms.txt"파일에 저장된다.

▶ 수집된 정보가 저장된 .txt 형태의 로그 파일을 외부 사이트에 전송

아래의 그림은 수집된 SMS, 통화목록 등의 정보가 저장된 파일을 특정 사이트로 전송하기 위한 코드의 일부분 이다.

 

그림을 클릭하시면 확대된 화면을 보실 수 있습니다.


왼쪽 상단의 그림에서 빨간색 박스 부분은 수집된 정보가 저장된 파일이 존재하는 절대 경로이며, 파란색 박스 부분은 수집된 정보가 저장된 파일이 업로드될 URL 경로 이다. 해당 경로는 각 레퍼런스 값들이 합쳐져 생성된다.

▶ SMS 송신

아래의 그림은 수집된 SMS 정보들을 백그라운드 상태에서 송신하기 위한 코드의 일부분 이다.


▶ 사용자 모르게 통화 시도

아래의 그림은 악성 어플리케이션이 사용자 몰래 통화를 시도하는 부분과 관련한 코드의 일부분 이다.


위 그림의 파란색 박스 부분에서 사용자 몰래 통화를 시도하기 위한 레퍼런스를 참조 후 빨간색 박스 부분을 통해 통화 관련 기능을 구현하고 있다.

▶ 어플리케이션 삭제/설치

아래의 그림은 특정 어플리케이션에 대한 삭제 및 설치를 진행할 수 있는 코드의 일부분 이다.


특정 어플리케이션에 대한 삭제 및 설치를 진행함에 있어 기존의 악성 어플리케이션들과 다르게 별도의 루팅 기능이 존재하지 않는 것이 특징이다. 이부분은 내부에 로그 파일을 생성하는 부분도 마찬가지 이다.

▶ 봇 기능 수행

봇 기능은 DDoS 당시 많이 알려진 좀비 PC 개념을 생각하면 이해하기 쉽다. 명령을 내릴 수 있는 C&C(Command and Control)서버로 부터 특정 명령을 전달받아 해당 명령을 실행하는 것을 의미하는데 해당 악성 어플리케이션은 Receiver로 등록되는 Bean 객체가  BroadcastReceiver 상속 받아 봇 기능을 수행하게 된다. 이때,  BroadcastReceiver를 상속받아 수행하는 세부 기능들이 있는데 바로 위에서 설명한 "수집된 모든 정보를 로그로 저장해 외부 사이트에 전송, SMS 송신, 사용자 모르게 통화 시도, 어플리케이션 설치/삭제" 4가지의 악성 기능들이 그것이다.

또한, 해당 악성 기능들은 사용자 몰래 동작하기 위해 Service 클래스를 상속받아 동작하게 된다.

▶ 위치 정보 접근

아래의 그림은 위치 정보 접근과 관련한 코드의 일부분 이다.


위 그림의 빨간색 줄과 같은 권한과 클래스 등을 이용해 상세 위치 정보에 대한 접근이 가능하며, 봇 기능과 연계하여 악용될 가능성이 있다.

3. 예방 조치 방법

위와 같이 재패키징 형태를 취하는 악성 어플리케이션의 경우 일반 사용자들은 악성 여부를 육안 상으로 판별하기가 매우 어려우며, 향후 지속적으로 출현해 보안 위협으로 작용할 가능성이 높다. 이러한 악성 어플리케이션으로 부터 안전한 스마트폰 사용을 위해서는 아래와 같은 "스마트폰 보안 관리 수칙"을 준수하는 등 사용자 스스로의 관심과 주의가 무엇보다 중요하다고 할 수 있다.

※ 스마트폰 보안 관리 수칙

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

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

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

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

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

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

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

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

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

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