[Hot Issue] 모바일 악성 앱의 금전적 수익 모델
뱅쿤과 심플로커 집중 분석
요즘 유포되는 악성코드의 대부분은 금전적 이득을 목적으로 제작된다. 모바일 악성코드도 예외는 아니다. 모바일 악성코드는 소액결제를 노린 ‘체스트(chest)’, 금융 정보를 노린 ‘뱅쿤(bankun)’ 등과 같이 악성코드 제작자가 빠르게 움직여야 가능한 능동적 수익 모델과 랜섬웨어와 같이 감염된 사용자가 해결을 위해 입금을 하게되는 수동적인 모델이 있다. 이 글에서는 이 두 가지에 속하는 금융 정보 탈취형 악성코드와 랜섬웨어에 대해 살펴보자.
금융 정보 탈취형 악성코드
지난 5년간 금융 정보 탈취를 목적으로 제작된 파밍 공격에 의한 피해신고는 4,846건에 달했고, 피해액은 232억 6600만 원에 이른다는 통계가 발표되었다. 2014년 국정감사 제출 자료를 보면, 공인인증서 유출은 해마다 기하급수적으로 늘어나고 있는 추세며, 이 때문에 발생한 직•간접적 피해액은 통계 금액을 훨씬 웃돌 것으로 예상된다.
[표 1] 공인인증서 유출 통계 출처: 2014년 국감 제출 자료
[표 1]에서 알 수 있듯이 금융 정보를 노린 악성코드는 끊임없이 발견되고 있다. 스마트폰의 대중화로 PC에서 뿐만 아니라 모바일에서도 금융 정보를 탈취하는 악성 앱이 급격히 증가했고, 최근 금융 관련 사고가 증가하면서 사람들의 관심이 집중되고 있다. 대부분의 스마트폰 사용자는 ‘스미싱’이 무엇인지 설명하지 않아도 알고 있을 정도이다. 그만큼 피해가 생활에 밀접하게 다가와 있음을 방증하는 것이다.
실제 스미싱 기법을 이용하여 스마트폰의 금융 정보 및 공인인증서를 탈취하는 악성 앱을 살펴보겠다.
악성 앱 배포자는 사회공학기법을 이용하여 항상 최신 이슈 사항을 스미싱에 적용한다. [그림 1]과 같이 ‘아이폰6 이벤트’로 가장한 메시지를 이용하여 사용자의 접속을 유도한다. 메시지에 포함된 링크로 접근하면, 악성 앱(apk)이 업로드된 페이지로 연결된다. 해당 앱을 다운로드하여 설치하면, 크롬 아이콘으로 위장한 것을 알 수 있다.
[그림 1] 스미싱을 통한 악성 앱 설치 과정
악성 앱을 설치하면 크롬으로 위장한 아이콘이 생성된다. 해당 앱을 실행하면 아이콘은 사라지고, 휴대폰 관리자 활성화를 요구한다.
[그림 2] 악성 앱의 아이콘 및 휴대폰 관지자 활성화
악성 앱의 Classes.dex에는 직접적으로 악의적인 코드를 넣지 않았다. 대신 p.dex 파일을 로드하여 악의적인 코드를 실행한다.
[그림 3] classes.dex 코드
p.dex 파일은 악성 앱(apk) 파일의 ‘assets’에 존재한다.
[그림 4] 악성 앱 구조
p.dex의 주요 기능은 아래와 같다.
스마트폰에 설치된 뱅킹 앱 정보 수집 → 정상 뱅킹 앱 제거 유도 → (제거된 정상 앱을 사칭한) 악성 뱅킹 앱 설치 유도
악성 앱은 “새로운 버전이 출시되었습니다”라는 메시지와 함께 [그림 5]와 같이 기존에 설치된 정상 앱을 제거하도록 유도한다.
[그림 5] 정상 앱 제거 과정
이 악성 앱은 아래 패키지명과 일치하는 앱이 설치되어 있는지 확인하고, 제거하도록 유도한다.
[표 2] 타깃 뱅킹 앱 리스트
스마트폰에 설치된 정상 뱅킹 앱을 제거하고, 제거한 정상 앱으로 위장한 악성 앱을 아래 [표 3]과 같은 패키지명으로 설치한다.
[표 3] 타깃 뱅킹 앱을 사칭한 악성 앱 리스트
은행별 다운로드 되는 링크는 아래의 코드 조합으로 이루어진다.
[그림 6] 타깃 뱅킹 앱 리스트 & 추가 악성 앱 다운로드 코드
은행별로 코드를 조합하면 아래 [표 4]와 같은 주소에서 악성 앱을 다운로드 하게 된다.
[표 4] 추가로 다운로드하는 악성 뱅킹 앱
실제로 정상 앱이 제거되고, 악성 앱이 설치되는 과정은 [그림 7]과 같다.
[그림 7] 정상 앱 제거 및 정상 앱으로 위장한 악성 앱 설치 과정
악성 앱이 설치되면, 스마트폰의 공인인증서 및 금융 정보를 탈취한다.
[그림 8] 악성 앱에 의한 금융정보 탈취
이러한 악성 앱은 분석가의 분석시간을 오래 걸리게 하는 방법을 사용하거나, 자신이 만든 서버의 생명주기를 연장하기 위한 수단으로 코드를 난독화 한다. 이 악성 앱에서는 탈취한 정보를 전송하는 서버 주소를 파악하기 어렵게 난독화 하였다. 이 악성 앱이 사용한 방법은 [그림 9]와 같다. [그림 9]의 코드는 3개의 클래스에 나뉘어 있는 코드들이다. 이 3개의 코드를 조합하고 계산해야만 접근하는 주소를 알 수 있다.
[그림 9] 서버 주소의 난독화
이 3개의 코드를 조합하고 계산 방법은 간단하다.
우선, 1.class의 ”012017006020095093~중략~012010001016016027010088” 값을 3.class 의 xor 함수 계산과 2.class 의 값을 조합하면, 접근하는 페이지의 주소를 알 수 있다. 값을 계산하면 아래와 같은 주소를 얻을 수 있다.
[표 5] XOR + 코드 조합의 계산 결과
계산된 값(주소)으로 접근하여 IP 주소를 받아온다.
[그림 10] 계산된 값(주소)으로 접속 - QQ블로그의 IP 주소 반환
XXX!.XXX!XXX!XXX! 와 같은 형식의 IP주소를 받아오면, 치환 코드를 이용해 문자열을 변환하고, XOR 계산을 통해 얻은 값과 조합하여 또 다른 주소를 반환한다.
[그림 11] IP 주소의 치환 및 XOR 과정
주소를 계산하는 과정을 정리하면, 문자열 → XOR 계산 + 코드 조합 → QQ블로그 접속 → IP주소 획득(가변) → IP 주소 치환 + 문자열 XOR + 코드 조합 → 서버 주소 완성 → 탈취한 금융 정보를 전송한다.
이러한 과정을 거쳐 최종적으로 [표 6]의 서버 주소로 탈취한 정보를 전송한다.
[표 6] 악성 앱에 의해 탈취된 정보를 수집하는 서버 주소
하지만 위에서 살펴본 것처럼 서버 주소는 제작자에 의하여 수시로 변경이 가능하도록 설계되었다. 이 분석 정보를 작성하는 중간에도 주소가 변경된 것으로 보아, 제작자는 활발히 활동하는 것으로 추정된다.
QQ 블로그를 이용한 악성코드는 윈도 기반의 뱅키(banki)류 에서 호스트(hosts) 파일을 변조할 때 자주 이용되는 방식이었다. 윈도에서 사용하는 악성코드의 배포 방법과 정보 수집 방식들을 모바일에서 적용하는 사례가 증가하고 있다.
모바일 랜섬웨어
두 번째로, 모바일 랜섬웨어에 대해 상세히 알아 보겠다. 국내의 경우에는 대부분의 문서 작업 등을 PC에서 하고 있기 때문에 PC(Windows) 기반의 랜섬웨어 보다 상대적으로 위협적이진 않을 수 있다. 아직까지 국내에서는 모바일 랜섬웨어의 피해는 크지 않은것으로 보이지만, 사람의 몸값을 요구하는 소위 ‘몸캠 피싱’이라는 사건이 심심찮게 발생하고 있다. 이러한 몸캠 피싱에 사용된 악성 앱은 일종의 랜섬웨어라고 볼 수도 있다.
과거 ASEC 블로그를 통하여 안드로이드 랜섬웨어인 안드로이드 디펜더(Android Defender)에 대해 다룬 적이 있다. 해당 악성 앱은 허위 감염 내용으로 금전적 이득을 취하려는 내용이었다.
ASEC Blog : http://asec.ahnlab.com/974 (안드로이드 랜섬웨어)
이번에는 심플로커(SimpleLocker)라고 불리는 랜섬웨어에 대하여 살펴보겠다. 해당 악성 앱은 스마트 폰의 파일을 암호화하고 이를 통하여 금전적 이득을 취하려고 한다. 이런 모습은 윈도 기반의 랜섬웨어와 유사하다. 이 악성 앱은 지난해 5월경부터 꾸준히 발견되고 있다.
악성 앱이 사용한 아이콘을 비교하기 위해 몇 개의 아이콘을 확인해봤다. 안드로이드, iGO, 플래시 플레이어의 아이콘을 사용함으로써 사용자를 속이기 위한 것으로 보인다.
[그림 12] 랜섬웨어의 아이콘
위의 악성 앱(iGO아이콘)을 설치하는 과정에서 아래와 같은 권한과 휴대폰 관리자 권한을 요구한다. 앱을 설치하면 4PDA(iGO) 러시아 페이지를 보여준다.
[그림 13] 심플로커(SimpleLocker) 설치
휴대폰 관리자를 활성화 할 경우 보여지는 페이지의 소스는 [그림 14]와 같다.
[그림 14] 4PDA 페이지 로딩 소스
악성 앱의 패키지명은 com.simplelocker 이며, 안드로이드 4.2 버전에 맞춰서 제작되었다.
[표 7] 악성 앱 안드로이드 제작 버전
[그림 15] 악성 앱의 권한 정보
악성 앱 설치 후에는 스마트폰의 디바이스 정보(IMEI)를 전송한다.
[그림 16] 디바이스 정보 전송
실제 전송되는 패킷을 살펴보면 [그림 17]과 같다.
[그림 17] 디바이스 정보 전송 패킷
이후 스마트폰에 저장된 문서, 이미지, 동영상 파일을 ‘jddlasssadxc322323sf074hr’ 키 값으로 암호화한다.
또한, 암호화한 파일의 끝에 ‘.enc’ 확장자를 추가하여 저장하며, 원본 파일은 삭제한다. 암호화 대상 파일은 ‘jpeg’, ‘jpg’, ‘png’, ‘bmp’, ‘gif’, ‘pdf’, ‘doc’, ‘docx’, ‘txt’, ‘avi’, ‘mkv’, ‘3gp’, ‘mp4’ 이다.
[그림 18] 암호화 대상 파일 리스트
암호화된 파일은 아래 그림과 같이 확장자가 추가되었다. 일반적으로 이미지(사진) 파일은 갤러리 앱으로 보게 되는데, [그림 19]와 같이 암호화된 경우에는 사진 목록에서 확인할 수 없다.
[그림 19] 암호화된 파일
추가적으로 플래시 플레이어(Flash Player) 아이콘으로 위장하고 com.common.weather 패키지명을 사용하는 랜섬웨어 악성 앱의 증상을 살펴보겠다. 스마트폰의 기기모델명, IMEI, 전화번호, 통신사, 국가 정보를 가져와 첫 화면에 표시하고, 불법 저작권 및 관리법 위반에 해당하므로 벌금을 내지 않을 경우 2~8년 동안 자유를 박탈하겠다고 협박한다.
[그림 20] 랜섬웨어 악성 앱 설치 화면
설명이 장황하지만, 랜섬웨어에 자주 등장하는 단어들이 보인다. ‘FBI’, ‘pornography’, ‘card with $500’ 요약하자면 잠긴 스마트폰을 풀고, 파일을 복호화 하고 싶으면 500 달러를 입금하고, 입금이 확인되면 미국 재무부에서 24시간 안에 차단을 해제해 주겠다는 내용이다.
|
"To unlock your device and avoid legal persecution to the maximum extent of the law, you are obligated to pay a fine of $500. Acceptable payment must be made through GreenDot MoneyPak. Load a MoneyPak card with $500 and enter the code below. MoneyPak cards can be found in most stores, gas stations and paypoints." (중략)
"As soon as the money arrives to the U.S. Department of the Treasury, your device will be unblocked in 24 hours." |
[그림 21] FBI 를 사칭한 협박과 금전 요구
화면 중간에 스마트폰 사용자가 보이도록 카메라를 설정했다. 그리고 자신을 범죄자처럼 묘사했다.
|
"Your camera is used for gathering additional information for investigation. All the footage will be added to a criminal case." |
대부분 랜섬웨어에 감염된 스마트폰은 사용자의 제어를 불가능하게 만든다. 다른 앱의 실행은 물론, 악성 앱 삭제를 할 수 없도록 여러 가지 방법을 사용한다. 이런 경우에는 스마트 폰을 ‘안전모드’로 부팅하여 ‘기기 관리자(휴대폰 관리자)’를 비활성화하여 삭제하면 된다.
제조사 별로 안전모드에 접근하는 방법은 다양하다. 사용자가 많은 2개 제조사의 안전모드 부팅 방법은 아래와 같다.
LG : 전원버튼 → ‘전원끄기’ 메뉴를 길게 누르고 있으면 안전모드 부팅 메시지가 보인다.
삼성 : 리부팅 시 통신사 로고가 화면에 보이면 ‘메뉴’ 버튼에 불이 들어오는데 이때 ‘메뉴’버튼을 길게 누르고 있으면 안전모드로 부팅 된다.
기기관리자 권한을 획득한 악성 앱을 삭제하려면 아래의 순서로 조치하면 된다.
안전모드로 부팅 후, [설정] – [기기관리자(휴대폰 관리자)] 메뉴에서 악성 앱을 비활성화(체크해제)해준다.
다음으로 애플리케이션 목록에서 해당 앱을 제거하면 된다.
[그림 22] 기기관리자(휴대폰 관리자) 악성 앱의 권한(체크해제) 및 제거
요즘은 간단한 작업이나 인터넷을 이용할 경우, PC보다 스마트폰을 이용하는 경우가 많다. 스마트폰 가입자의 증가와 더불어 악성 앱 역시 증가하고 있다. 따라서 보다 안전하게 스마트폰을 사용하려면 공식 마켓에서 앱을 다운로드하여 설치하는 것이 상대적으로 안전하다. 하지만 공식 마켓에도 악성 앱이 등록되어 있을 수 있어 평판 정보를 확인하고 설치하는 습관을 지녀야 한다. 무심코 문자에 포함된 URL을 클릭하다 보면 악성 앱이 설치될 수 있기 때문에 안전성이 확인되지 않은 URL 및 앱은 설치하지 않도록 주의해야 한다.
또한, 모바일 전용 보안 앱(V3 모바일 등)이나 스미싱 탐지 앱(안랩 안전한 문자)을 설치하고, 자동 업데이트 설정으로 항상 최신 엔진을 유지하여 더욱 안전한 스마트폰 환경을 만들어야 한다. @
- AhnLabASEC 대응팀 이도현 선임연구원