보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

실제 사례로 살펴본 스미싱(smishing) 공격기법

2019.12.02

20,778

 



1. 개요

 

피싱(phishing)은 전자우편이나 메신저 등의 특정 매체를 사용해서 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장함으로써, 사용자 개인정보를 부정하게 얻으려는 social engineering의 한 종류를 말한다

이번 호에서는 공격자가 실제 발송했던 국내 택배회사를 사칭한 스미싱(smishing)을 분석하였으며, 이를 토대로 스미싱 공격 기법에 대하여 알아보고자 한다.

 

스미싱(smishing)은 문자메시지(SMS)와 피싱(phishing)의 합성어로 사용자의 관심을 유도하기 위한 내용으로 문자메시지를 보내 피싱사이트, 악성 앱 다운 등을 통하여 사용자의 중요정보를 탈취하는 사기수법을 말한다

대표적인 유형으로는 택배회사, 청첩장, 공공기관 등을 사칭하며 특히 명절에 택배회사를 사칭한 스미싱 사례가 급증한다.


 

 

[그림 1] 스미싱 관련 기사(출처:보안뉴스)

 

 

1) 스미싱(smishing) 공격기법

 

 

 

 

 

 

2. 국내 택배회사를 사칭한 스미싱 공격기법 분석

 

1) 스미싱 문자메시지

 

공격자는 국내 특정 택배회사를 사칭하여 악성링크가 포함된 문자메시지를 불특정 다수에게 전송한다.

문 링크는 URL Shortening Service를 사용하여 실제 URL을 노출시키지 않는다.


 

 

[그림 2] 스미싱 문자메시지

 

 URL Shortening Service 월드 와이드 웹 상에서 긴 URL을 짧게 만들어 주는 기술로서 사용자는 직접 접속하기 전까지 실제 URL의 주소를 알 수 없어 피싱사이트 접속 등의 위험이 존재한다.

 

본문 링크를 클릭하면 국내 택배회사를 사칭한 피싱사이트가 나타난다

사용자가 입력한 휴대폰 번호는 공격자에게 전송되며 페이지에 존재하는 배송 조회, 일반 예약 등의 기능을 사용하면 실제 회사의 링크로 리다이렉트 되도록 구성되어 있다.

 

 

 

[그림 3] 피싱사이트 접속 화면(: 피싱사이트 화면, : 정상사이트 화면)

 

 

2) 악성앱 분석

 

본 보고서는 실제 공격자가 발송했던 링크 내 존재하는 app.apk 파일에 대하여 분석하였으며 아래 [그림 4]는 악성 행위에 대한 구성도이다.

 

 

[그림 4] app.apk 악성행위 구성도

 

 

app.apk 파일에 대한 분석을 통해 식별된 침해 지표는 다음과 같다.

 

 

[1] 침해 지표 정보

 

분석된 파일의 원격 명령 서버 주소는 외부에서 수집됨으로 달라질 수 있음

 

피싱사이트 내에 사용자의 계정을 탈취하려는 특별한 기능은 존재하지 않는다. 다만 해당 사이트에는 사용자 기기의 정보를 탈취하기 위한 목적으로 제작된 안드로이드 악성 앱이 존재한다.

 

 

 

[그림 5] 악성 앱 다운로드

 

해당 앱은 악성 행위를 수행하기 위하여 몇 가지 일련의 작업을 수행하기 위한 대화창을 팝업 한다. 사용자가 허용을 클릭하면 기본 SMS 앱을 자신으로 변경하여 연락처에 저장된 사용자들에게 메시지를 전송한다. 또한 백그라운드에서 앱이 실행되어 자신의 아이콘을 기기에 노출시키지 않기 때문에 모든 악성 행위에 대하여 사용자가 눈으로 이상 행위를 인지하기 어렵다.

 

 

 

[그림 6] 악성 앱 최초 설치 시 팝업되는 알림창

 

악성 앱의 권한은 정상적인 애플리케이션에서 사용하고 있는 위치, 카메라, 사진 등과 같은 시스템 권한뿐만 아니라 SMS 문자 읽기, 보내기, SD 카드 데이터 수정 및 삭제 등 정상 애플리케이션에서 제공하는 서비스와 무관한 다수의 시스템 권한을 요구하고 있다.

 

 

 

[그림 7] 악성 앱의 권한

 

국내 택배회사에서 제공 중인 정상적인 앱의 경우 설치 시 별도의 특수 권한을 요청하지 않는다. 악성 앱의 경우 오디오 녹음, SD 카드 데이터 접근, 메시지 보내기, 연락처 접근 등의 비정상적인 권한들을 요구하고 있다.

 

 

 

[그림 8] 권한 비교(: 정상 앱, : 악성 앱)

 

파일은 구조가 간단하게 되어있으며 주요 악성 행위를 하는 소스코드는 앱 설치 파일 내에 dex파일 형태로 저장되어 있다. 앱이 실행될 때 저장된 코드를 동적으로 로딩하여 구동되도록 구현되어 있다.

 

 

[그림 9] 암호화 되어 있는 주요 소스코드

 

앱이 정상적으로 실행되면 공격자가 설정한 특정 SNS 계정 페이지에 접속하여 원격 명령 서버 주소를 받아온다. 해당 페이지에는 암호화된 String 값이 존재한다

원격 명령 서버 주소가 변경되더라도 공격자는 앱을 수정하지 않고 SNS 계정 페이지의 String 값만 변경하면 추가 공격이 가능하다.

 

 

 

[그림 10] 특정 SNS 계정 페이지에 접근하는 소스코드

 

공격자가 설정한 SNS 계정 페이지에 접속한 결과 암호화된 원격 명령 서버 주소의 String 값이 확인된다. 이를 가져와 복호화하여 해당 주소로 Reverse Connection이 연결된다.

 

 

 

[그림 11] SNS 계정 페이지에 저장되어 있는 String

 

이외에도 공격자는 여러 SNS 계정을 사용하여 원격 명령 서버 주소를 배포하고 있다. 만약 특정 SNS 계정이 존재하지 않거나 오류가 발생하면 다른 계정에 접속하여 정보를 받아온다.

 

 

 

[그림 12] 공격자의 SNS 추가 계정

 

특정 SNS 계정 페이지 주소에 대하여 평판 분석 결과 악성 사이트로 탐지된 이력이 발견되었다. 이를 미루어 보아 분석 앱은 20197월 경 이전부터 배포되었을 것으로 추측된다.

 

 

[그림 13] SNS 계정 악성사이트 등록 

출처: support.clean-mx.com/clean-mx/viruses.php?domain=instagram.com&sort=id%20DESC

 

 

SNS 계정에서 원격 명령 서버 주소를 성공적으로 받아오면 Websocket을 연결한다. 분석 시점에는 원격 명령 서버가 운영되고 있지 않았으나, 지속적으로 연결이 이루어지도록 패킷이 전송된다.

 

 

 

[그림 14] 원격 명령 서버 접속시도

 

국내 서비스 중인 특정 앱의 사용자 정보를 탈취하기 위한 소스코드가 존재하며, 감염된 기기에 설치되어 있는 금융, 일부 모바일 게임 앱이 설치된 디렉터리에 접근하여 정보를 수집한다.

 

 

 

[그림 15] 감염 기기의 특정 앱 접근

 

공격자는 사용자 기기에 탈취된 정보를 수집하기 위한 메일 계정을 앱 소스코드 내에 하드코딩 해놓았으며 Outlook 메일서버의 SMTP 프로토콜을 이용하여 메일을 전송한다.

 

 

 

[그림 16] 특정 메일 주소로 메일 전송

 

 

 

[그림 17] Wireshark로 수집된 메일 전송 패킷

 

사용자 기기에 저장된 SMS 메시지를 수집하며, 연락처 앱과 SIM에 저장된 연락처 목록을 수집하여 문자메시지를 전송한다.

 

 

 

[그림 18] SIM 카드에 저장된 연락처 수집

 

 

 

[그림 19] 연락처에서 번호 수집 및 SMS 전송

 

특이점으로 Chrome 브라우저의 새로운 버전 다운로드를 유도하면서 사용자 Google 계정을 탈취하는 소스코드가 존재한다

구글 계정의 이상이 있습니다등의 메시지를 통하여 사용자의 이름과 생년월일을 입력받는 문자들이 확인된다.

 

 

 

[그림 20] 구글 계정 탈취를 위한 문자열

 

해당 문자는 다국어 지원을 위하여 다양한 국가의 문자를 지원하도록 설정되어 있다. 각 나라의 언어로 번역되어 작성된 문자열은 총 26개이다.

 

 

 

[그림 21] 번역된 문자열 1

 

 

 

[그림 22] 번역된 문자열 2

 

 

 

3. 스미싱 피해 예방법

 

1) 출처가 불분명한 문자메시지 주의

 

공격자는 본문 내 링크 클릭을 유도하기 위해 지인, 택배회사, 공공 기관 등을 사칭한다. 아래 사진은 일반적인 스미싱의 문자메시지 형태이며, 사용자의 클릭을 유도하는 링크가 포함되어 있다

알 수 없는 번호 등 출처가 불분명한 문자메시지를 수신받은 경우 본문에 포함된 링크 클릭은 금지한다. 지인에게서 온 문자메시지 일지라도 링크가 포함된 경우는 클릭 전에 한번 더 확인하는 것이 필요하다.

 

 

 

[그림 23] 스미싱 문자 예시

 

안드로이드의 기본 메시지 앱의 경우 모든 링크 접속 허용 설정 기능이 존재한다. 이를 해제 함으로써 사용자가 본문 링크를 클릭 시 알림창을 팝업하여 클릭한 URL 링크를 한번 더 확인할 수 있도록 하는 기능을 제공한다.

 

 

 

[그림 24] 모든 링크 접속 허용 기능

 

 

2) 모바일 백신 앱 설치

 

모바일 악성코드는 매년 상당한 규모로 증가하고 있다. 안드로이드의 경우 다양한 백신 앱들이 존재한다. 이들은 실시간으로 사용자 기기에 다운로드되는 파일들을 검사하며 스마트폰에 설치된 앱 들을 점검하여 악성 행위를 탐지한다. 스팸 차단 앱의 경우 실시간으로 사용자들의 제보를 통해 업데이트되기 때문에 스미싱 피해 예방에 효과적인 방안이 된다.

 

 

3) 알 수 없는 출처의 앱 설치 제한

 

문자메시지에 포함되어 있는 인터넷 주소(URL)를 단순히 클릭을 한다고 해서 악성코드에 감염되는 것은 아니다. 하지만 사용자의 부주의로 인하여 악성 APK 앱을 다운로드한 후 설치하게 되면 기기가 감염된다. 앱을 꼭 설치해야 하는 경우 인터넷에서 다운로드하는 경로가 아닌 정식 앱 스토어에서 해당 앱 이름을 검색 후 다운로드하는 것을 권고한다.

 

 

 

[그림 25] 출처를 알 수 없는 앱 설치 기능

 

안드로이드 경우 출처를 알 수 없는 앱의 설치를 허용하는 기능이 존재한다. 또한 설치된 앱의 개별로 허용 여부 체크가 가능하다. 이메일, 웹 브라우저. 파일 등의 앱의 권한을 제거하여 악성 앱 설치가 가능한 경로에서 APK 파일이 다운되더라도 설치가 불가능하도록 할 수 있다.

 

Android 8.0 이전 버전은 출처를 알 수 없는 앱의 설치를 허용할 경우 모든 앱에서 적용됨

 

 

4. 결론

 

과거 스미싱 공격의 기법은 사람들의 공짜 심리를 노려 무료, 할인 쿠폰 등의 형태로 배포되었으나 현재는 특정 기관을 사칭하거나, 명절 또는 계절 등의 시기에 따른 메시지 발송, 앱 설치 유도 등 수법이 점점 더 지능적이며 다양해졌다.

이번 호에서 분석한 악성 앱은 감염된 기기에 존재하는 지인에게 자동으로 메시지를 전송하여 추가 피해를 유도한다

현재 공격자들은 불특정 다수에게 단순 메시지를 전송하는 것이 아닌 특정 사용자에 대한 이해관계를 파악 후 지인을 사칭하여 메시지를 보내는 방향으로 진화하고 있다.

 

아래 [2]는 지인을 사칭하여 스미싱 메시지가 탐지된 통계를 나타내며 20197월을 기준으로 전년도 대비 2배가 넘는 수치가 탐지되었다

문자메시지에 포함된 링크를 클릭하지 않는 것은 스미싱 공격에 대한 피해를 예방하기에 가장 간단하면서 좋은 방법이다.

 

 

 

[2] 스미싱 탐지 현황 통계(출처: 과학기술정보통신부, 한국인터넷진흥원)