본문 바로가기
악성코드 정보

스마트폰을 좀비화시키는 DroidKungFu 악성코드 등장.

by 알 수 없는 사용자 2011. 6. 7.
1. 개 요

안드로이드폰을 강제루팅 후 권한을 탈취하여 좀비화시키는 악성코드가 또 다시 발견되었다.
해당 악성코드는 'DroidKungFu' 라 불리며,  이전 DroidDream 악성코드와 유사한 패턴을 갖고 있지만 좀 더 정교한 코드와 복잡한 기능을 수행함으로서 악성코드가 계속 진화하고 있다는 것을 증명하고 있다.
본 포스트를 통해 악성코드가 어떻게 진화하였는지 알아보자.


2. 분 석

  1. 유포 경로
    'DroidKungFu' 악성코드는 정상 앱을 리패키징(re-package) 하여 유포되며, 중국 내 몇몇의 App Market 과 forum 들에서 유포되었다.


                                                                그림. 악성 어플

  2. 정보 수집
    해당 악성코드가 설치되면, 먼저 doSearchReport() -> updateInfo() 함수를 통해 스마트폰의 다양한 정보들을 수집 후 특정 서버로 전송한다.

                                                             그림. dosearchReport


                                                             그림. updateinfo


    이 과정에서 탈취되는 정보와 유출 경로는 다음과 같다

    - 탈취 정보

    imei
    ostype
    osapi
    model
    SDKVersion
    SDcard info
    internal Memory Size
    Net operator
    phone number
    running service



  3. Rooting
    정보 수집 후 악성앱은 사용자의 폰에 대해 getPermission() 함수를 통해 루팅을 시도한다.
    이때 이용되는 exploit 코드는 "RageAgainstTheCage" 라는 exploit 으로 DroidDream 때 사용되었던 코드와 동일한 코드로 Android 2.2 이하의 버전에서는 위 exploit 에 노출될 수 있다.


                                                           그림. getPermisson

    해당 익스플로잇은 '/assets/ratc' 파일로 AES 알고리즘을 사용하여 암호화되어 있는데, 악성앱 실행시 복호화되어 실행되어 진다.
    복호화에 사용되는 Key 값은 아래와 같다.


                                                           그림. 암호key

  4. Installing more malware
    rooting 이 성공하면 cplegacyres() 함수를 통해 'assets' 에 저장되어 있던 다른 악성 앱을 설치하게 되는데, 이 악성앱은 구글의 'Google Search' 앱을 위장하고 있다.


                                                              그림. cplegacyres

     

     정상앱의 경우 어플리케이션 이름은 'Google Serach' 이지만 해당 악성앱은 'Google SSearch' 라는 이름을 사용하고 있어 육안으로 구분이 가능하다.


                                                          그림. Google SSearch

    설치되는 악성 'Google SSearch' 는 서비스 형태로 System 권한을 받아 동작하며, 사용자폰을 원격통제(좀비화)하는 기능을 수행한다.
    이 때 사용되는 Command 는 아래와 같다.

    - C&C 커맨드 목록

    execHomepage : 지정된 homepage 를 연다
    execInstall : 지정된 url 의 안드로이드 패키지(앱) 파일을 다운받고 설치한다
    execStartApp : 지정된 안드로이드 앱을 실행시킨다.
    execOpenUrl : 지정된 url 을 연다
    execDelete : 지정된 file 을 삭제한다.


                                                                 그림. commands

3. 마치며


해당 악성코드는 V3 mobile 에서 아래와 같이 진단하고 있다.

엔진버전: 2011.06.07.00

Android-Exploit/Rootor.I
Android-Exploit/Rootor.K



                                                                 그림. 진단화면

아래의 수칙을 지켜 자신의 스마트폰이 악성코드에 감염되는 것을 예방하도록 하자.

1. 애플리케이션을 설치하거나 이상한 파일을 다운로드한 경우에는 반드시 악성코드 검사를 한다.
2. 게임 등 애플리케이션을 다운로드할 때는 신중하게 다른 사람이 올린 평판 정보를 먼저 확인한다.
3. 브라우저나 애플리케이션으로 인터넷에 연결 시 이메일이나 문자 메시지에 있는 URL은 신중하게 클릭한다.
4. PC로부터 파일을 전송 받을 경우 악성코드 여부를 꼭 확인한다.
5. 백신의 패치 여부를 확인해서 최신 백신 엔진을 유지한다.
6. 스마트폰의 잠금 기능[암호 설정]을 이용해서 다른 사용자의 접근을 막는다. 잠금 기능에 사용한 비밀번호를 수시로 변경한다.
7. 블루투스 기능 등 무선기능은 필요할 때만 켜놓는다.
8. ID, 패스워드 등을 스마트폰에 저장하지 않는다.
9. 백업을 주기적으로 받아서 분실 시 정보의 공백이 생기지 않도록 한다.
10. 임의로 개조하거나 복사방지 등을 풀어서 사용하지 않는다.

 
The credit of discovering this malware goes to Dr. Xuxian Jiang and his research team at North Carolina State University.

댓글