최근 금융 관련 사고가 증가하면서 사람들의 관심이 집중되고 있다. 모바일도 예외는 아니다. 대부분의 스마트폰 사용자는 '스미싱'이 무엇인지 설명하지 않아도 알고 있을 정도이다. 그만큼 피해가 생활에 밀접하게 다가와 있음을 방증하는 것이다.

 

악성코드 제작자는 각종 사회적 이슈를 이용하여, 악성코드를 배포하는데, 이번에는 '아이폰6' 소유 욕구를 자극하고 있었다. 안드로이드 기반의 스마트폰 사용자를 '아이폰6'로 유혹한다? 물론 실제로 아이폰6를 주는 것은 아니지만, 안드로이드 사용자가 아이폰으로 바꾼다면, 악성코드 제작 그룹은 이제 '스미싱' 을 어떻게 하겠다는 것일까?

 

서론은 여기까지 하고, 본론으로 들어가겠다.

 

'아이폰6 이벤트' 메시지에 포함된 링크로 접근하면, 악성 앱(apk)이 업로드된 페이지로 연결된다. 해당 앱을 다운로드 하여 설치하면, 크롬으로 위장한 아이콘을 볼 수 있다.


[그림 1] '스미싱'을 통한 악성 앱 설치 과정

 

악성 앱을 설치하면 크롬으로 위장한 아이콘이 생성된다. 해당 앱을 실행하면, 아이콘은 사라지고, 휴대폰 관리자 활성화를 요구한다.

 

[그림 2] 악성 앱의 아이콘 및 휴대폰 관지자 활성화

 

악성 앱의 Classes.dex 에는 직접적으로 악의적인 코드를 넣지 않았다. 대신 p.dex 파일을 로드하여 악의적인 코드를 실행한다.

 


[그림 3] classes.dex 코드

 

p.dex 파일은 악성 앱(apk) 파일의 'assets' 에 존재한다.

 


[그림 4] 악성 앱 구조

 

p.dex의 주요 기능은 아래와 같다.

 

스마트폰에 설치된 뱅킹 앱 정보 수집 => 정상 뱅킹 앱 제거 유도 => 제거된 정상 앱을 사칭한 악성 뱅킹 앱 설치 유도

 

악성 앱은 "새로운 버전이 출시되었습니다." 메시지와 함께 기존에 설치된 정상 앱을 제거하도록 유도한다.

 


[그림 5] 정상 앱 제거 과정

 

아래 패키지명과 일치하는 앱이 설치되어 있는지 확인하고, 제거하도록 유도한다.

 

"com.wooribank.pib.smart",

"com.kbstar.kbbank",

"com.ibk.neobanking",

"com.sc.danb.scbankapp",

"com.shinhan.sbanking",

"com.hanabank.ebk.channel.android.hananbank",

"nh.smart",

"com.epost.psf.sdsi",

"com.kftc.kjbsmb",

"com.smg.spbs"

[표 1] target 뱅킹 앱 리스트

 

스마트폰에 설치된 정상 뱅킹 앱을 제거를 유도하고, 제거한 정상 앱으로 위장한 악성 앱을 아래의 패키지명으로 설치하도록 유도한다.

 

"com.cash.apc.woori.kr.android.apd",

"com.kr.androids.kbstar.kbbankings.app",

"com.ibk.korea.kr.androids.ibkbanking",

"com.goog.sc.android.dadbdkr.scbankapp",

"com.android.google.shinhanbbk.kr.app",

"com.hana.google.kr.channel.korea.app",

"com.we.google.nhb.kr.bk.app",

"com.android.post.fsps.kr.wu.sdsi",

"com.kr.android.ftkc.kjb.kjbsmb.app",

"com.androids.kr.kf.androids.sm.spb"

[표 2] target 뱅킹 앱을 사칭한 악성 앱 리스트

 

은행별 다운로드 되는 링크는 아래의 코드 조합으로 이루어진다.

 


[그림 6] target 뱅킹 앱 리스트 & 추가 악성 앱 다운로드 코드

 

은행별로 코드를 조합하면 아래와 같은 주소에서 악성 앱을 다운로드 하게 된다.

 

http://******.****.net:6545/com.cash.apc.woori.kr.android.apd.apk

http://******.****.net:6545/com.kr.androids.kbstar.kbbankings.app.apk

http://******.****.net:6545/com.ibk.korea.kr.androids.ibkbanking.apk

http://******.****.net:6545/com.goog.sc.android.dadbdkr.scbankapp.apk

http://******.****.net:6545/com.android.google.shinhanbbk.kr.app.apk

http://******.****.net:6545/com.hana.google.kr.channel.korea.app.apk

http://******.****.net:6545/com.we.google.nhb.kr.bk.app.apk

http://******.****.net:6545/com.android.post.fsps.kr.wu.sdsi.apk

http://******.****.net:6545/com.kr.android.ftkc.kjb.kjbsmb.app.apk

http://******.****.net:6545/com.androids.kr.kf.androids.sm.spb.apk

[표 3] 추가로 다운로드하는 악성 뱅킹 앱

 

실제로 정상 앱이 제거되고, 악성 앱이 설치되는 과정은 아래와 같다.

 


[그림 7] 정상 앱 제거 및 정상 앱으로 위장한 악성 앱 설치 과정

 

악성 앱이 설치되면, 스마트폰의 공인인증서 및 금융 정보를 탈취한다.

 


[그림 8] 악성 앱에 의한 금융 정보 탈취

 

이러한 악성 앱들은 분석가의 분석시간을 오래 걸리게 하려는 방법으로 사용하거나, 자신이 만든 서버의 생명주기를 연장하기 위한 수단으로 코드를 난독화 한다. 이 악성 앱에서는 탈취한 정보를 전송하는 서버주소를 파악하기 어렵게 난독화 하였다. 사용한 방법을 살펴보면 아래와 같다. 아래 코드는 3개의 클래스에 나뉘어 있는 코드들이다. 이 3개의 코드를 조합하고 계산해야만 접근하는 주소를 알 수 있다.


[그림 9] 서버 주소의 난독화

 

계산 방법은 간단하다.

 

우선, 1.class의 "012017006020095000 ~중략~ 010001016016027010088" 값을 3.class 의 xor 함수 계산과 2.class 의 값을 조합하면, 접근하는 페이지의 주소를 알 수 있다. 값을 계산하면 아래와 같은 주소를 알 수 있다.

 

http://*.*****.com/profile?hostuin=28*****449

[표 4] XOR + 코드 조합의 계산 결과

 

해당 주소로 접근하여 IP주소를 받아온다.


[그림 10] QQ블로그의 IP주소

 

XXX!.XXX!XXX!XXX! 와 같은 형식의 IP주소를 받아오면, 치환 코드를 이용해 문자열을 변환하고, XOR 계산을 통해 얻은 값과 조합하여 또 다른 주소를 반환한다.

 


[그림 11] IP주소의 치환 및 XOR 과정

 

주소를 계산하는 과정을 정리하면, 문자열 => XOR 계산 + 코드 조합 => QQ블로그 접속 => IP주소 획득(가변) => IP주소 치환 + 문자열 XOR + 코드 조합 => 서버주소 완성 => 탈취한 금융 정보 전송!

 

이러한 과정을 거쳐 최종적으로 아래의 서버주소로 탈취한 정보를 전송한다.

 

126.**.***.**7/****/****/cers.php

[표 5] 악성 앱에 의해 탈취된 정보를 수집하는 서버주소

 

하지만 위에서 살펴본 것처럼 서버주소는 제작자에 의하여 수시로 변경이 가능하도록 설계되었다. 이 분석정보를 작성하는 중간에도 주소가 변경된 것으로 보아, 제작자는 활발히 활동하는 것으로 추정된다.

 

QQ 블로그를 이용한 악성코드는 Windows 기반의 banki 류 에서 hosts 파일을 변조할 때 자주 이용되는 방식이었다. Windows에서 사용하는 악성코드의 배포 방법과 정보 수집 방식들을 모바일에서 적용하는 사례가 증가하고 있다.

 

V3 제품에서는 아래와 같이 진단이 가능하다

 

<V3 제품군의 진단명>

 

 

 

 

 

저작자 표시 비영리 변경 금지
신고
Posted by DH, L@@

 

 요즘 스마트폰을 이용하는 사람은 어느곳에서나 쉽게 찾아 볼 수 있게 되었다. 스마트폰의 편리하고 다양한 기능이 많은 사람들을 스마트폰 유저로 만든 것이 아닐까? 이러한 스마트폰의 다양한 기능을 이용하다 보면, 폰에는 자연스럽게 많은 정보들이 쌓이게 된다. 편리하고 유용한 스마트폰이지만, 쌓이는 정보가 많을 수록 주의해야하는 점도 많아지게 되었다. 스마트폰의 정보를 탈취하는 대표적인 악성앱은 "스미싱"의 형태로 유포되는 "BANKUN" 이다. BANKUN 의 의미는 Bank Uninstall 의 줄임말이다. 의미 그대로 정상적인 은행앱의 삭제를 유도하고, 악성앱의 설치를 시도하는 악성코드 이다. 이러한 유형의 악성코드를 살펴보고, 감염되지 않도록 예방하는 방법에 대해 살펴보자.

 

 아래 그림은 안랩의 "안전한 문자"앱에서 최근 유행하는 스미싱의 유형을 알려주는 화면이다. 이러한 기능을 통해 유행하는 스미싱에 대하여 사전에 인지하고, 설치하지 않도록 주의하자.

[그림 1] 안랩 "안전한 문자" 스미싱 알림 기능

 

 돌잔치를 가장한 스미싱은 과거에도 유행 했었지만, 최근에 다시 유행하고 있다. 최근 트렌드 알림 "돌잔치 초대장"이 얼마나 많이 악용되고 있는지 확인해 보자.

 

[그림 2] 최근 트렌드중 "돌잔치 초대장"

 

 "돌잔치 초대장"으로 유포중인 악성앱중에 하나를 살펴보자. 문자메시지의 링크를 클릭하면, 아래와 같은 악성앱을 다운로드 받게된다. 패키지명은 com.sdwiurse 이고, 앱의 이름은 googl app stoy 이다.

 

[그림 3] 악성앱 권한(좌) / 설치 후 아이콘(우)

 

[그림 4] 악성 앱의 권한정보

 

 권한정보를 살펴보면 메시지, 주소록, 저장소, 전화통화 등에 접근이 가능하다. 이것은 해당 내용을 수집할 가능성이 있다고 짐작 할 수 있다.(물론 정상앱에서도 사용할 수 있는 권한이다.) 악성앱이 설치되면 스마트폰에 설치되어 있는 은행앱이 무엇인지 확인하여, 그 은행에 해당하는 금융정보 탈취를 시도한다.

 

[그림 5] 스마트폰에 설치된 앱 체크리스트

 

 악성 앱을 실행하면 아래와 같은 과정이 진행된다. 사용자를 속이기 위해 "공지사항"과 같은 내용을 사용하며, 가짜 이미지를 이용해 백신이 동작중인 것처럼 위장하기도 한다.

 

[그림 6] 악성 앱 설치 화면

 

이후 사용자의 금융정보를 탈취하기 위해 공인인증서와 개인정보를 수집한다.

아래는 스마트폰 기기정보와 사용자가 입력하는 정보를 탈취하는 코드중 일부이다.

[그림 7] 정보 수집 코드


 

사용자의 이름, 주민번호, 계좌번호, 비밀번호, 보안카드 번호와 같은 개인 정보의 입력을 유도하고 있다.

  

[그림 8] 금융정보 입력 창


 

위와 같은 정보탈취 뿐만 아니라 추가적인 악성 앱의 설치를 시도한다.

  

[그림 9] 추가 악성앱 설치 유도

 


악성 앱에 의하여 수집된 기기정보, 공인인증서, 금융정보는 메일서비스를 이용하여 특정 메일주소로 발송 한다.

[그림 10] 메일 서비스를 이용한 정보 탈취

 


탈취된 정보는 악성코드 제작자의 메일로 전송되며, 그 정보는 아래와 같다. 

[그림 11] 악성코드 제작자의 메일함

 


메일의 첨부파일에는 공인인증서와 금융정보가 압축되어 있다.

[그림 12] 금융정보 및 공인인증서

 

 [그림 8]에서 입력한 금융정보(이름, 계좌번호, 비밀번호, 패스워드, 보안카드 일련번호, 공인인증서 암호, 주민번호)는 아래와 같이 전송한다.

[그림 13] 사용자가 입력한 금융정보

 

 요즘은 PC 보다 스마트폰을 이용하는 경우가 많아졌다. (2014년 7월 기준 스마트폰 가입자: 39,348,621명, 출처: 지식경제부 IT통계포털) 가입자의 증가와 더불어 악성 앱 역시 증가했다. 앱은 공식 마켓에서 다운로드 받아 설치하는 것이 상대적으로 안전하다. 하지만, 공식 마켓에도 악성 앱이 등록되어 있을 수 있어 평판 정보를 확인하고 설치하는 습관을 가져야 한다. 무심코 문자에 포함된 URL을 클릭하다 보면 악성 앱이 설치될 수도 있기 때문에 안전성이 확인되지 않은 URL에 접근하여 앱을 설치 하지 않도록 주의해야 한다. 또한 모바일 전용 보안 앱(V3 모바일 등)이나 스미싱 탐지 앱(안랩 안전한 문자 등)을 설치하고, 자동 업데이트 설정으로 항상 최신 엔진을 유지하여 보다 안전한 스마트폰 환경을 만들어야 한다.

 

 

V3 제품에서는 아래와 같이 진단이 가능하다

 

<V3 제품군의 진단명>

Android-Trojan/Bankun

 

신고
Posted by DH, L@@

 

안드로이드 폰 사용자들을 타깃으로 금융 관련 정보를 탈취하려는 Bankun 악성 앱의 변종이 발견되었다. 기존에 발견되었던 방식보다 더욱더 진화한 형태로 점점 그 방식이 정교해지고 있어 사용자들의 주의가 필요하다.

 

앱 설치 시에 아래와 같이 아이콘 모양은 'Play 스토어' 아이콘과 같으나 정상 앱 이름의 경우 'Play 스토어' 인 반면 악성 앱은 'Google App Store' 인 것을 확인할 수 있다.

 

[그림 1] 악성 앱 아이콘 모양

 

악성 앱 실행 시에는 설치파일이 손상되었다는 오류와 함께 아래와 같은 팝업 메시지를 보게 된다.

 

[그림 2] 앱 실행 시, 팝업되는 메시지

 

위 그림에서 '확인'이나 '취소' 버튼을 터치 시에 앱의 아이콘은 보이지 않게 되며, 앱이 서비스로 실행되게 된다. 아래 그림은 앱 정보 화면이며, 앱이 삭제된 후에도 서비스로 등록되어 실행되고 있는 것을 확인할 수 있다.

[그림 3] 악성 앱 실행 정보

 

해당 앱은 서비스로 실행되면서, 사용자의 스마트폰에 어떤 뱅킹 앱이 설치가 되어있는지 확인 후, 그 앱에 맞는 악성 앱을 다운로드 한다. 이후 정상 앱을 삭제하고 다운로드된 악성 앱을 설치하도록 시도한다.

 

 [그림 4] 악성 뱅킹 앱을 다운로드 받는 코드 (일부)

 

악성 앱이 다운로드 되어 실행되면 기존에 유포되었던 금융사 피싱 앱과는 달리 V3 mobile PLUS 실행을 가장하고 금융감독원을 사칭한 팝업 메시지를 띄운다.

 


 
[그림 5] 다운로드 된 뱅킹 실행 시, 보이는 화면

 

확인을 터치 시, 아래와 같이 실제로 사용자의 공인증서를 확인할 수 있으며 이는 기존에 발견되었던 피싱 앱과는 달리 정상 앱과 매우 유사한 형태임을 확인할 수 있다.

 

 [그림 6] 공인인증서 암호 요구 화면

 

위 악성 앱 역시 스미싱 형태로 유포되고 있으며, 금융사 피싱 앱은 일반 사용자들이 정상 앱과 구분을 할 수 없을 정도로 정교화되어 가고 있다. 이에 사용자는 문자내용에 포함된 링크가 존재할 경우 접속에 주의해야만 하며, 사전에 V3 모바일 백신과 같은 믿을 수 있는 제품을 사용하여 감염되지 않도록 주의하는 것이 중요하다.

 

해당 악성코드는 V3 Mobile 제품을 통해 진단 및 치료가 가능하다.

 

<V3 제품군의 진단명>

 

Android-Downloader/Bankun

  

신고
Posted by DH, L@@

 

최근 bankun 악성 앱의 변형이 발견되었다. 기존 bankun 앱은 ASEC '금융사 피싱앱 주의(1)'에서 그 분석 정보를 확인할 수 있다. 이번에 발견된 변형의 경우에는 기존 앱보다 지능화되었고 실제 감염된 사례도 보고되고 있어 사용자들의 각별한 주의를 요구한다.

 

과거에 발견된 금융사 피싱앱과 비교하여 변경된 점은 아래와 같다.

 

- 아이콘 및 패키지 변화

[그림 1] 아이콘 및 앱 이름

 

[그림 2] 패키지 및 클래스의 변화

 

기존에는 앱 이름에 패키지 이름이 있었던 반면, 최근 발견된 앱 에서는 앱 이름이 보이지 않는다. 또한, 비교적 간단하게 작성되었던 기존의 클래스들에 비해 최근 발견된 앱에서는 Receiver, services 등의 클래스가 추가됨이 확인된다.

 

- 권한 및 기기 관리자 등록

[그림 3] 앱 실행 시, 나타나는 기기 관리자 등록 화면

 

앱을 실행했을 시, 아이콘은 사라지고 사용자는 위의 화면과 같이 해당 앱을 기기 관리자 등록 여부를 묻는 화면을 볼 수 있다.

 

- 서비스 및 리시버 이용

[그림 4] 악성 앱이 서비스 동작하는 화면

 

[그림 3]에서 사용자가 Activate 버튼을 누르면 악성 앱은 서비스로 동작하기 시작한다. 또한 앱 디컴파일 시, 아래 [그림 5] 와 같이 Receive 코드를 확인할 수 있다. 해당 코드를 확인해 보면 사용자가 문자 수신을 하거나 전원을 On/Off 하는 등의 행위를 했을 시, 피싱앱 추가 설치를 유도한다는 사실도 확인할 수 있다.

 

[그림 5] Receiver 코드

 

- 알림(Notification) 사용

[그림 6] 문자 수신 시, 새로운 업데이트를 알리는 화면

 

리시버에 의해 사용자가 임의의 문자를 수신했을 때는 위 그림과 같이 "새로운 업데이트가 있습니다." 라는 알림이 뜬다. 이는 구글플레이나 다른 앱들이 업데이트되는 방식과 매우 유사하여 사용자가 의심하지 않고 또 다른 악성 피싱앱 설치를 하게 된다.

- 설치된 피싱앱

[그림 7] 파일 생성 정보

 

악성앱이 띄운 알림에 따라 업데이트를 누르면, 사용자는 기존의 앱 삭제 여부를 묻는 팝업창과 피싱앱 설치 화면을 보게 된다. 이 과정에서 사용자는 단순히 앱 업데이트 과정으로 착각할 수 있으며, 설치 과정에서 정상적인 ** 앱이 설치 되어 있는 사용자라면 ** 피싱 앱이 설치가 되고, ##은행 앱이 설치 되어 있을 때는 ##은행 피싱 앱이 설치된다. 다만, 과거에 발견되었던 앱에서는 8개의 금융기업 피싱앱이 존재하였으나 최근 발견된 앱에서는 **은행, **, **은행 피싱 앱만 존재하였다.

 

[그림 8] 악성앱 안에 존재하는 피싱앱

앞에서도 언급했듯이, 최근 감염된 사례들이 접수되고 있고 금융과 관련된 악성 앱인 만큼 그 피해가 커질 수 있어 사용자들의 각별한 주의를 요구한다. 피해를 예방하기 위해 V3 Mobile과 같은 백신으로 주기적으로 검사하는 습관이 필요하며 특히 의심스러운 앱은 다운로드 하지 않도록 하는 것이 무엇보다 중요하다.

<V3 제품군의 진단명>

 

Android-Trojan/Bankun

 

신고
Posted by DH, L@@

 

국내 스마트폰 사용자들을 타깃으로 유포되고 있는 악성앱 들이 점차 증가하고 있는 가운데 금융사를 위장한 피싱앱도 종종 발견된다. 스미싱으로 유포되는 악성 앱들은 휴대폰의 소액결제를 통해 금전적인 이득을 취하려는 목적이 대부분인 반면 금융 피싱앱은 보안카드 및 사용자의 금융관련 정보를 모두 탈취하려는 의도로 그 피해가 커질 수 있어 주의를 요한다.

 

최근 발견된 금융사 피싱앱은 금융사 관련 피싱사이트를 통해 배포되는 것으로 추정되며, 설치 시에는 아래와 같이 Google Play Store 아이콘 모양으로 설치가 된다.

 

[그림 1] 앱 설치 시 아이콘

 

앱 설치 시, 어떠한 퍼미션도 요구하지 않았으며 아래 그림과 같이 AndroidManifest.xml 파일 확인 시, 사용자에게 퍼미션을 요구하지 않는 것으로 확인된다.

 

[그림 2] AndroidManifest.xml 파일 내용

Apk 파일 압축 해제 시에 아래와 같이 assets 폴더에 별도로 8개의 apk가 존재하는 것이 확인된다.

 

[그림 3] 압축 해제 시 /assets 폴더

 

또한 classes.dex 파일을 디컴파일 하여 패키지 구조를 보면 아래와 같다.

 

[그림 4] 패키지 정보

 

앱 제작자가 작성한 com.google.bankun 패키지 안의 MainActivity 클래스를 보면 총 6개의 함수가 확인되며, onCreate 를 제외한 나머지 함수들은 제작자가 작성한 함수로 함수들 각각의 기능은 아래 표와 같다.

 

함수명

기능

onCreate

처음 시작되는 EntryPoint 함수

installZxingApk

Apk 인스톨 기능을 하는 함수

isAvilible

뱅킹앱 설치 여부를 체크하는 함수

chmodApk

권한 변경 기능을 하는 함수

getRootAhth

Root 권한을 확인하기 위한 함수

uninstallApk

Apk 언인스톨 기능을 하는 함수

[표 1] 제작자가 작성한 함수들에 대한 각각의 기능

위 함수들의 흐름은 아래 그림과 같이 뱅킹앱 설치 여부 및 루팅 여부 확인 후, 각 조건에 맞게 assets 폴더 안에 있는 1~8.apk 파일을 설치하는 것으로 확인된다. 설치되는 앱들 중, 8.apk 파일을 살펴보면 금융사 앱을 위장한 앱으로 사용자들에게 이름 및 계좌정보 등을 입력 받는 피싱앱으로 확인된다.

 8.apk 파일 외에 추가로 다른 앱들이 발견 되어도 금융사들의 이름만 다를 뿐 그 기능은 유사한 것으로 확인되며, 각 앱들이 위장하고 있는 금융사들은 아래 표와 같다.

    

APK

은행명

1.apk

**은행

2.apk

**은행

3.apk

**은행

4.apk

**

5.apk

**은행

6.apk

** **은행

7.apk

**은행

8.apk

*****

[표 2] 금융사를 위장한 앱 목록

아래 그림은 1.apk (**은행) 앱의 캡처화면으로 8.apk (*** **) 과 이미지만 다를 뿐 그 방식이 유사하다는 것을 알 수 있다.

 [그림 5] 1.apk 앱

 

위와 같은 피싱앱 외에도 국내에서는 주로 스미싱 메시지를 통해 많은 악성 앱들이 유포되므로 사용자들은 V3 Mobile 과 같은 백신으로 주기적으로 검사해보는 습관이 필요하다.

 

해당 악성코드는 V3 Mobile 제품을 통해 진단 및 치료가 가능하다.

 

<V3 제품군의 진단명>

 

Android-Trojan/Bankun

 

신고
Posted by DH, L@@