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

[주의]APK 암호화 기법을 도입한 스미싱 악성앱 출현

TACHYON & ISARC 2013. 10. 1. 17:09
1. APK 파일 ZIP Format Header 조작을 통한 암호화 방식 도입

잉카인터넷 대응팀은 2013년 10월 01일 오후 5시 58분 경부터 국내 불특정 다수의 안드로이드 스마트폰 이용자를 겨냥한 스미싱기법의 악성문자가 전파되는 정황을 포착하였다. 그런데 이 스미싱을 통해서 설치되는 악성앱(APK)파일은 기존의 스미싱용 악성앱 형태와 다르게 APK 앱 파일 자체가 암호화 기능으로 설정되어 있었다. 안드로이드의 APK 파일은 압축 포맷인 ZIP 형태를 가지고 있어 압축 프로그램을 통해서 쉽게 압축을 해제하고 분석할 수 있으나, 이번과 같이 암호화 기능이 설정된 경우 내부에 존재하는 "classes.dex" 파일에 쉽게 접근하기 어려워 분석방해 등의 어려움을 겪을 수 있다.

이 암호화 방식의 기법은 2013년 03월 25일 해외에서 이슈가 공개되었던 내용으로, ZIP 파일 포맷의 Header 값을 조작하여 마치 암호화된 것처럼 보이도록 만든 기법이다. 그런데 안드로이드 APK Manager 에서는 ZIP 포맷의 Encrypted File Flag Bit 값을 무시하고 설치를 시도하기 때문에 안드로이드 운영체제의 단말기에서 악성앱이 정상적으로 설치되는 것이고, 얼마든지 악용 가능한 일종의 보안 취약점으로 남용될 위험성이 존재한다.



2. 스미싱 갈수록 탐지우회를 위한 노력 중 

악성앱 설치를 위한 스미싱 문자 메시지는 아래와 같이 단 시간에 다량으로 뿌려졌고, 이를 발견 즉시 한국인터넷진흥원(KISA)과 스미싱 정보공유 협력을 운영 중인 SKT 등의 이동통신사에 신속하게 정보공유와 함께 차단조치가 이뤄졌다. (일부 * 표시)

55000원 결제완료/익월 요금합산청구/잔액확인 http://955.cc/****
55000원 결제완료/익월 요금합산청구/잔액확인 http://vo.to/***


이번 스미싱 문자메시지 앱은 스미싱 전용 원천 차단 솔루션인 "뭐야 이 문자" 이용자를 통해서도 다수의 차단신고가 동시다발적으로 접수되었고, 별도의 추가 업데이트 없이 사전탐지가 이루어졌다. 계속해서 변종형태가 제작되어 유포되고 있는 상황이므로, 안드로이드 스마트폰 이용자들은 구글 플레이 마켓에서 "뭐야 이 문자"를 검색해서 설치해 두면 유사한 스미싱 문자를 예방할 수 있다.

◈ "뭐야 이 문자" 무료 다운로드 URL (스미싱 원천 차단 기능제공)
☞ 
https://play.google.com/store/apps/details?id=com.nprotect.antismishing


3. 암호화 기법의 APK 파일 분석

스미싱을 통해서 전파된 악성앱은 955.cc 라는 특정 도메인을 통해서 클릭을 유도하였고, 다음(Daum) 사이트의 첨부기능을 통해서 전파되었다.

http://cfile235.uf.daum.net/attach/****5A4052487ED422**** (일부 * 표시)

다운로드되는 파일명은 "aaa.apk" 파일이며, 해당 파일을 압축 전문 프로그램으로 확인해 보면 암호화(* 표시) 압축 기능이 설정된 것을 확인해 볼 수 있다.


"aaa.apk" 파일의 코드 내부를 살펴보면 다음과 같이 ZIP Format Header 내용을 확인할 수 있고, Central Directory File Header의 처음 4바이트는 PKZip Signature 코드인 0x50, 0x4B, 0x01, 0x02 Hex 코드가 존재한다. 참고로 Local File Header 부분의 PKZip Signature 코드는 0x50, 0x4B, 0x03, 0x04 이다.


General Purpose Bit Flag:
Bit 00: encrypted file
Bit 01: compression option 
Bit 02: compression option 
Bit 03: data descriptor
Bit 04: enhanced deflation
Bit 05: compressed patched data
Bit 06: strong encryption
Bit 07-10: unused
Bit 11: language encoding
Bit 12: reserved
Bit 13: mask header values
Bit 14-15: reserved

00 00 => 2 바이트
00000000 00000000 => 16 비트

"aaa.apk" 파일 내부에 포함되어 있는 classes.dex 파일의 General Purpose Bit Flag 값은 아래와 같이 0x09, 0x08 이다.

09 08 => 00001001 00001000

인텔 x86 계열에서는 하위 바이트의 값이 메모리상에 먼저 표시되는 Little Endian 방식을 사용하므로 다음과 같이 변경된다. 그렇기 때문에 00 비트의 암호화 설정 플래그 값이 1로 설정되는 것이다.
 
08 09 => 0(15) 0(14) 0(13) 0(12) 1(11) 0(10) 0(09) 0(08) 0(07) 0(06) 0(05) 0(04) 1(03) 0(02) 0(01) 1(00) 


이 가운데 "classes.dex" 파일의 General Purpose Bit Flag 값을 0x09 내용에서 0x08 값으로 변경하고 저장하면 "aaa.apk" 파일의 classes.dex 파일의 암호화가 해제(* 표시 제거)된 것을 확인할 수 있다. 그외 다른 파일들도 Header 에서 해당 값을 변경하면 모두 압축을 해제할 수 있다.


악성앱은 암호화되어 있지만 안드로이드 스마트폰 단말기 등에서는 다음과 같이 정상적으로 설치되고, 스마트폰에 저장되어 있는 개인정보 탈취, 휴대폰 소액결제사기, 스마트뱅킹 위장 악성앱 설치 등 악의적인 사이버 범죄행위를 수행할 수 있게 된다.


이번 악성앱 역시 기기관리자 실행을 유도하여 이용자가 추후 악성앱 확인 및 삭제를 어렵게 방해한다. 따라서 이용자는 절대로 이런 기기관리자 기능을 실행하지 않는 것이 중요하다.


악성앱에 감염되면 해외의 특정 명령제어(C&C)서버로 접속하여 추가의 악성앱 설치 시도 등을 시도한다.



해당 악성앱 내부와 명령제어서버 웹 사이트는 중국어로 구성되어 있고, 현재는 한국인터넷진흥원(KISA) 등의 조치로 국내에서 접속이 차단된 상태이다.


아래 화면은 실제 공격자 서버에 등록되고 있는 스미싱 정보들로 많은 스마트폰 이용자들의 정보가 실시간으로 유출되고, 소액결제사기 등의 피해를 입고 있다.


4. 스미싱 예방법 및 대응책


스미싱 악성앱은 지속적으로 변종이 발견되고 있으며, 이용자들은 스미싱 원천 차단제품인 "뭐야 이 문자" 와 nProtect Mobile for Android 제품을 이용해서 사전 탐지 및 치료가 가능하다. 더불어 설치된 직후 신속하게 삭제하면 피해를 최소화할 수 있지만, 피해를 사전에 예방하기 위해서 해당 이동통신사에 소액결제서비스 자체를 중단요청해 두는 것도 좋은 예방법이다.


안드로이드 기반 악성앱(APK)이 설치되었을 경우에는 신속하게 삭제조치하면 피해를 최소화할 수 있다. 다만, 설치 아이콘을 숨기는 경우나 정상앱처럼 리패키징하여 위장하는 경우, 추가 악성앱을 몰래 다운로드하여 설치하는 경우도 발견되고 있으므로, nProtect Mobile for Android 제품으로 전체검사를 수시로 수행해 보는 것이 좋다.

만약 단축 URL 주소를 포함한 의심스러운 문자메시지를 수신할 경우 해당 화면을 캡처하여 잉카인터넷 대응팀(erteam@inca.co.kr)으로 첨부해서 신고하면 악성 사기문자 여부를 분석하여 신속하게 결과를 통보해 주고있다.

점차적으로 유포 및 감염에 있어 지능화 되어 가는 안드로이드 악성 앱들을 일반 사용자들은 손쉽게 파악하기 힘들 수 있으므로 안전한 스마트폰 사용을 위해서는 아래와 같은 "스마트폰 보안 관리 수칙"을 준수하는 등 사용자 스스로 관심과 주의를 기울이는 것이 최선의 방법이라 할 수 있겠다.

※ 스마트폰 보안 관리 수칙

01. nProtect Mobile for Android 모바일 백신을 최신엔진 및 패턴 버전으로 업데이트하여 실시간 보안 감시 기능을 항상 "ON" 상태로 유지해 사용할 수 있도록 한다.

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

03. 문자메시지(SMS)로 받은 쿠폰이나 이벤트, 특정 프로그램으로 소개하는 단축 URL 주소로 악성앱이 배포되는 경우가 많으므로, 추가 앱이 설치되지 않도록 각별히 주의한다.

04. 스마트폰을 통해 의심스럽거나 알려지지 않은 사이트 방문 또는 QR 코드 이용시 각별히 주의한다.

05. 발신처가 불분명한 SMS 등의 메시지, 이메일 등의 열람을 자제하고, 소액결제서비스를 이용하지 않는 경우 해당 이동통신사에 차단을 요청해 둔다.

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

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

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

09. 루팅 등 스마트폰 플랫폼의 임의적 구조 변경을 자제하고, 알 수 없는 출처의 앱이 설치되지 않도록 설정한다.