1. 개 요


최근 안드로이드용 악성 어플리케이션이 지속적으로 등장하고 있어 스마트폰의 보안 위협이 계속해서 증가되고 있다. 악성 어플리케이션 제작에는 최근 정상 어플리케이션에 악의적인 기능을 추가하는 "재패키징" 기법이 가장 널리 사용되고 있으며, 최근에는 이러한 재피키징 기법에 새로운 악성 APK 파일을 내부에 포함하는 "2중 패키징 기법"을 사용하는 사례가 속속 발견되고 있다. 이번 시간에는 중국 QQ게임을 재패키징하고 내부에 2중 패키징 기법을 사용한 형태의 악성 어플리케이션을 살펴보고 해당 기법을 사용하는 악성 어플리케이션에 대한 대비책을 마련하는 시간을 가져보도록 하자.

[[주의]2중 패키징된 안드로이드용 악성 어플리케이션 등장]
http://erteam.nprotect.com/163

2. 유포 경로 및 감염 증상

■ 정상 어플리케이션을 재패키징한 형태의 악성 어플리케이션

정상 어플리케이션에 악의적인 기능을 추가해 재패키징하는 형태의 악성 어플리케이션은 안드로이드 마켓, 블랙 마켓, 3rd party 마켓 등 넓은 유포 경로를 가질 수 있는 것이 특징이다.
  

 
해당 악성 어플리케이션은 설치 시 아래와 같은 권한 요구 화면을 보여주게 된다.

 

※ 코드에 포함된 권한 부분

  - android:name="android.permission.ACCESS_NETWORK_STATE"
    -> WiFi "ON" 체크 등 네트워크 통신에 관한 권한
  - android:name="android.permission.INTERNET"
    -> 외부 인터넷 사이트와 통신을 수행하기 위한 권한
  - android:name="android.permission.VIBRATE"
    -> 휴대폰 진동 제어 설정 권한
  

위 그림과 같은 권한 요구 과정을 거친 후 설치를 완료하면 아래의 그림과 같은 "QQ Game"의 메인화면을 볼 수 있다.


해당 악성 어플리케이션은 설치 완료 후 아래와 같은 아이콘을 사용하고 있으며, 사용중인 아이콘은 정상 어플리케이션의 아이콘과 같다.
  

<QQ 게임 아이콘>

설치가 완료되면 해당 어플리케이션은 내부의 코드를 이용해 추가적인 악성 APK 파일 설치를 위한 일련의 작업 과정을 거친다. 작업 과정에 사용될 추가적인 악성 APK 파일은 최초에 설치된 "QQ Game"의 APK 파일에 포함되어 있으며, 파일명 등은 아래의 그림을 참고 할 수 있도록 하자.


위 그림에는 두개의 적색 박스가 있으며, 각각의 파일은 APK, ELF(busybox는 압축된 형태의 파일) 파일이다. APK 파일의 경우 추가적인 악성 기능이 포함된 악성 어플리케이션이며, ELF 파일은 루팅 구문 구동을 위해 악용할 수 있는 리눅스 기반의 파일로 이해하면 쉬울 것이다.

위 설명에서 또 다른 악성 어플리케이션에 대한 설치를 위해 추가적인 작업 과정이 필요하며 위 그림은 그 과정에서 사용될 수 있는 파일이라 설명했다. 이제 해당 악성 어플리케이션에 대해 좀 더 세밀히 알아 보도록 하자.

설치된 악성 어플리케이션 내부에는 아래의 그림과 같이 리소스 부분을 따로 모아 선언해 놓은 부분이 있다.


위 그림의 "rageagainstthecage" 파일은 루팅을 위한 파일이며, 자세한 설명은 다음 부분에서 설명하도록 하겠다. 위 리소스를 참조하여 해당 악성 어플리케이션은 아래의 코드를 통해 "anserverb" 파일의 파일명을 "xxx.apk"로 바꾸게 된다.


또한, "xxx.apk" 파일의 설치를 위해 아래의 코드를 통해 앞전에서 미리 설명하였던 "추가적인 작업 과정"을 수행하게 된다. 여기까지 살펴보았다면 "추가적인 작업 과정"에 대해 어느정도 유추해 볼 수 있을것이다. 

"추가적인 작업 과정"은 바로 루팅을 위한 작업을 말한다. 아래의 코드를 통해 루팅 관련 작업 및 "xxx.apk"파일에 대한 설치를 진행하므로 참고할 수 있도록 하자.
  


◆ 압축 해제, 루팅 관련 작업, 추가적인 APK 파일 설치 관련 코드


☞ 위 그림에서 "SMSApp.apk"파일과 "xxx.apk"파일로 파일명이 변경되는 "anserverb"파일은 자체 코드내의 리소스 값이 같다. 따라서 동일한 파일임을 알 수 있다.



물론 위 그림에서 설명한 루팅 관련 작업은 "안드로이드 SDK 버전이 2.2 이하 버전"일 경우에만 정상적으로 동작 할 수 있으니 이점 참고할 수 있도록 하자.

여기 까지 설명한 모든 부분이 모두 충족되었다면 "xxx.apk"파일이 자동으로 설치되겠지만 이 경우 2중 패키지 파일에 대한 설명 글을 통해 설명했다시피 권한 요구 관련 화면은 출력되지 못한다.

■ 악성 어플리케이션 내부에 포함된 또 다른 추가적인 악성 어플리케이션
  

아래의 그림은 추가적으로 설치되는 악성 어플리케이션에 대한 권한 요구 화면이니 참고할 수 있도록 하자.


※ 코드에 포함된 권한 부분

  - android:name="android.permission.WRITE_SMS"
    -> SMS 등의 메시지를 작성하기 위한 권한
  - android:name="android.permission.RECEIVE_BOOT_COMPLETED"
    -> 휴대폰 부팅 후 어플리케이션의 자동 실행을 위한 권한
  - android:name="android.permission.VIBRATE"
    -> 휴대폰 진동 제어 설정을 위한 권한
  - android:name="android.permission.READ_SMS"
    -> SMS 등의 메시지를 읽기 위한 권한
  - android:name="android.permission.RECEIVE_SMS"
    -> SMS 등의 메시지 수신을 받아오기 위한 권한
  - android:name="android.permission.SEND_SMS"
    -> SMS 등의 메시지 송신을 위한 권한
  - android:name="android.permission.READ_PHONE_STATE"
    -> 휴대폰 단말기 정보 획득을 위한 권한
  - android:name="android.permission.DISABLE_KEYGUARD"
    -> 휴대폰의 Lock 상태인 KEYGUARD를 Disable 하기 위한 권한
  - android:name="android.permission.READ_CONTACTS"
    -> 주소록 등을 읽기 위한 권한
  - android:name="android.permission.WRITE_CONTACTS"
    -> 주소록 등을 쓰기 위한 권한
  - android:name="android.permission.INTERNET"
    -> 외부 인터넷 사이트와 통신을 수행하기 위한 권한
  - android:name="android.permission.ACCESS_NETWORK_STATE"
    -> 네트워크 상태 접근을 위한 권한
  - android:name="android.permission.CALL_PHONE"
    -> 전화 걸기 등 통화 관련 제어를 위한 권한
  - android:name="android.permission.WAKE_LOCK"
    -> Device Power 설정을 위한 권한
  - android:name="android.permission.RESTART_PACKAGES"
    -> 패키지에 대한 종료/재시작 등을 위한 권한
  - android:name="android.permission.WRITE_APN_SETTINGS"
    -> 네트워크 연결 등에 필요한 APN 설정 권한
  

추가적인 악성 어플리케이션의 경우 설치가 완료된 후 아래의 코드 등을 통해 SMS 수집 및 송신, 주소록 등의 정보 탈취, 단말기 정보 탈취, 실행중인 어플리케이션에 대한 정보 획득 및 특정 어플리케이션에 대한 실행 방해 동작 등의 악성 동작을 할 수 있다.

클릭하실 경우 확대된 화면을 보실 수 있습니다.


위에서 설명한 해당 악성 어플리케이션은 설치 후 별도의 아이콘을 가지고 있지 않는다. 다만, "응용프로그램 관리" 부분을 살펴보면 아래의 그림과 같이 어느 정도 구별이 가능하니 참고할 수 있도록 하자.


3. 예방 조치 방법

해당 악성 어플리케이션의 경우 중국 사용자들을 대상으로 제작된 게임 어플리케이션이며, 국내에서는 아직 해당 어플리케이션 등으로 인한 피해 상황은 보고되지 않고 있다. 다만 스마트폰 어플리케이션의 특성상 국내에서도 이러한 해외 어플리케이션 설치가 자유로우며, 동일한 형태의 악성 어플리케이션 등장이 충분히 가능해 추가적인 피해 발생이 전무할 것이라고 단언할 수 없다. 또한, 이러한 재패키징 및 2중 패키징 기법을 사용한 악성 어플리케이션의 경우 사용자 몰래 스마트폰에 설치 등을 시도 할 수 있으므로 일반 사용자들은 아래의 "모바일 보안 관리 수칙"을 준수하는 등 스스로 관심과 주의를 기울이는 것이 안전한 스마트폰 사용을 위한 최선의 방법이라 할 수 있다.

※ 모바일 보안 관리 수칙

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

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

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

※ 잉카인터넷(시큐리티대응센터/대응팀)에서는 아래의 그림과 같이 모바일용 백신 "nProtect Mobile for Android" 를 통해 위와 같은 모바일용 악성 어플리케이션에 대한 진단/치료 기능을 제공하고 있으며, 다양한 보안 위협에 대비하기 위해 24시간 지속적인 대응체계를 유지하고 있다.


2011년 06월 06일 잉카인터넷 대응팀은  이외에도 약 8종의 새로운 안드로이드용 악성파일을 추가로 발견하여 업데이트를 완료한 상태이다.



저작자 표시
신고
Posted by nProtect
1. 개 요


최근 중국을 중심으로 한 해외에서 2중 패키징된 안드로이드용 모바일 악성 어플리케이션이 발견되어 사용자들의 주의를 요망하고 있다. 해당 악성 어플리케이션은 정상 파일 속에 악성 APK파일이 포함된 형태로 근래 발견된 사례가 없는 드믄 경우다. 감염될 경우 사용자가 모르는 사이 각종 정보를 탈취 당할 우가 있으니 이번글을 통해 해당 악성 어플리케이션에 대해 살펴보고 혹시 모를 피해에 대비할 수 있는 시간을 가져보도록 하자.


※ 2중 패키징의 의미 (APK : Android PacKage File)

 - 정상 APK 설치파일 내부에 악성 APK 파일이 포함되어 있는 형태.


2. 유포 경로 및 감염 증상

해당 악성 어플리케이션은 정상적인 어플리케이션에 악성 기능을 추가해 재패키징된 상태안드로이드 마켓, 블랙마켓, 3rd party 마켓 등을 통해 유포될 수 있다.

◆ 2중 패키징된 첫번째 APK 파일 다운로드 및 설치

위에서 설명한 유포 경로를 통해 다운로드가 가능한 APK파일은 분석 결과 휴대폰 배터리 잔량을 체크하는 정상 어플리케이션에 아래와 같은 권한 등의 악성 기능을 추가적으로 삽입한 형태이다. 아래의 그림과 함께 보면 권한 부분에 대한 이해가 더 쉬울 것이다.

                                                              <권한 부문> 

 

<설치 시 출력되는 권한 관련 부분>

"설치"를 누르고 진행을 하면 설치 과정이 종료된 후 아래의 그림과 같은 실행 화면을 볼 수 있다.
 

일부 모자이크 처리


이전 글에서 설명한 안드로이드용 모바일 악성 어플리케이션 처럼 많은 악성 어플리케이션들은 선정적인 이미지를 사용하는 경우가 많다. 설치 시 모든 언어가 중국어로 되어있는걸로 미루어보아 제작 출처는 중국으로 추정된다.

  

[선정적 제목의 Android용 모바일 악성 어플리케이션 유포 주의!]

http://erteam.nprotect.com/162
  

※ 다양한 형태의 안드로이드용 모바일 악성 어플리케이션에 의한 보안 위협

[스마트폰 보안 위협의 증대]
http://erteam.nprotect.com/149

[사용자 정보를 겨냥한 안드로이드 악성 앱 출현]
http://erteam.nprotect.com/123

[새로운 안드로이드용 모바일 Trojan "ADRD" 출현 보고에 따른 주의 필요]
http://erteam.nprotect.com/122

[사용자 정보를 겨냥한 안드로이드용 악성파일 Geinimi 주의]
http://erteam.nprotect.com/98

[스마트폰 GPS 기능은 양날의 칼과 같다]
http://erteam.nprotect.com/25

[안드로이드용 모바일 악성프로그램 FakePlayer 변종 해외 등장!]
http://erteam.nprotect.com/18


일반 사용자들의 경우 해당 어플리케이션 설치 후 위와 같은 실행 화면에 대한 확인만 가능하나 실제로는 사용자 몰래 "특정 코드에 의해 감염 휴대폰에 대한 특정 조건 체크""패키지 인스톨 관련 코드를 진행"하게 된다.

◆ 2중 패키징된 두번째 APK 파일(첫번째 APK 파일 내부에 포함) 설치

첫번째로 설치된 악성 어플리케이션은 추가적인 조건이 갖춰질 경우 설치 권한 등의 코드에 의해 내부에 포함된 두번째 APK파일 설치를 시도하는 것으로 추정되고 있다.

※ 추가적인 조건

 - 루팅 시도 (안드로이드 2.2 이후 버전부터는 불가능)
 - 루팅 여부 확인


위에서 설명한 추가적인 조건은 아래와 같은 코드를 통해 구현되어 있다.


감염된 스마트폰이 어떠한 방식으로든 루팅 된다면 내부에 포함되어 있는 두번째 APK파일이 설치되지만 기본 설치 시 확인할 수 있었던 권한 부분은 이 경우 출력되지 않는다.

내부에 포함된 두번째 APK파일에 대한 권한 부분을 아래의 그림과 같이 첨부하니 참고할 수 있도록 하자.
 

클릭하실 경우 확대된 이미지를 확인하실 수 있습니다.

<권한 부분>

<설치 시 출력되는 권한 관련 부분>


내부에 포함되어 있는 두번째 APK파일은 설치가 완료 되어도 특별한 실행 화면 등은 존재하지 않는다. 다만, 위의 권한 부분을 보면 알 수 있듯이 사용자 몰래 "SMS, MMS 등의 메시지 송/수신"이 가능하며 이로인한 이용 과금 발생 등을 유발할 수 있다. 또한, "휴대폰의 위치 정보 및 통화 기록 등의 단말기 정보가 유출"될 수 있으며, "휴대폰 부팅시 자동으로 악성 어플리케이션이 실행"될 수 있다.

 

3. 예방 조치 방법

위에서 설명한 안드로이드용 모바일 악성 어플리케이션은 별도의 다운로드 없이 내부에 포함된 추가 패키지 설치를 시도하는 아주 드문 경우의 케이스라 할 수 있다. 이러한 악성 어플리케이션 또한, 기존과 마찬가지로 사용자 스스로 하기의 "모바일 보안 관리 수칙"을 준수하는 등 각자 관심을 가지고 주의를 기울이는 것이 안전을 위한 최선의 방법이라 할 수 있겠다.

※ 모바일 보안 관리 수칙

1. 안드로이드 운영체제에 대한 최신 보안 패치 필수 진행.

2. 신뢰할 수 있는 보안 업체에서 제공하는 모바일 백신을 최신 엔진 및 패턴 버전으로 업데이트하여 실시간 보안 감시 기능을 항상 "ON" 상태로 유지해 사용할 수 있도록 한다.
 
3. 어플리케이션 다운로드 시 항상 여러 사용자를 통해 검증된 어플리케이션을 선별적으로 다운로드 하는 습관을 가질 수 있도록 한다.


※ 잉카인터넷(시큐리티대응센터/대응팀)에서는 아래의 그림과 같이 모바일용 백신 "nProtect Mobile for Android" 를 통해 위와 같은 모바일용 악성 어플리케이션에 대한 진단/치료 기능을 제공하고 있으며, 다양한 보안 위협에 대비하기 위해 24시간 지속적인 대응체계를 유지하고 있다.

 



 

저작자 표시
신고
Posted by nProtect