[대출금융 위장 스미싱] Trojan.Android.KRBanker 분석 보고서
스미싱을 통해 주로 유포되는 KRBanker 악성앱이 '간편 대출 이용안내' 키워드를 활용하여 꾸준하게 사용자들을 현혹시키고 있어 주의가 필요합니다. 스미싱 내용에는 실제 존재하는 금융기관의 이름을 활용하며, 사용자로 하여금 의심을 하지 않도록 스미싱 내 URL을 클릭 시, 실제처럼 꾸며진 가짜 은행 사이트로 접속하게 하여 공격자가 원하는 악성 앱을 사용자가 다운로드하도록 유도하고 있습니다.
■ KRBanker 스미싱 악성앱 상세 분석
은행을 사칭하는 스미싱 공격의 특징은 링크로 접속 시 은행의 대출 관련 내용으로 꾸며진 가짜 웹 페이지를 노출시킨다는 점입니다. 때마침 피해자가 대출에 관심이 있다면 악성앱을 다운로드해 설치하게 되며 공격자는 설치된 악성 앱을 통해 피해자의 개인정보를 탈취하여 2차 공격인 보이스피싱을 수행합니다.
다음 그림은 뱅킹 스미싱 공격의 흐름을 도식화한 내용입니다.
[그림 1] 뱅킹 스미싱 공격 흐름도
피해자가 문자의 링크를 누르면 특정 은행을 사칭하여 만들어진 가짜 은행 사이트를 보게 됩니다. 사이트는 다음 그림과 같이 비교적 정교하게 제작되어 사용자 입장에서는 스미싱 공격임을 알기 어렵습니다.
[그림 2] 가짜 뱅킹 사이트
그림의 사이트를 살펴보면 정상적인 은행 사이트로 꾸며져 있습니다. 공격자들은 피해자가 은행 사이트로 오인하도록 사이트를 제작하였으며 이에 속은 피해자는 악성앱 다운로드 버튼을 클릭하게 됩니다. 버튼 클릭 시 다음 그림과 같이 “영문은행명.apk” 파일이 다운로드됩니다.
[그림 3] 악성 앱 다운로드
피해자가 은행명으로 된 악성앱 파일을 클릭하고 설치를 진행하면 다음과 같은 화면을 보게 됩니다.
[그림 4] 악성 앱 설치 화면
설치되는 악성앱은 다음 그림들과 같이 대출 상품을 소개하며, 추가적으로 대출 신청이나 상담사를 소개하는 내용 구성을 사용자에게 보여줍니다. 이런 구성은 뱅킹 스미싱으로 유포되는 악성앱에 공통적으로 적용되어 있으며 심지어 상담사 소개 내용이나 대출 사례 내용도 거의 동일하게 구성되어 있습니다.
[그림 5] 악성 앱의 콘텐츠
악성앱은 대출을 받기 위한 절차와 상담사 그리고 대출 성공 사례 등을 콘텐츠로 제공하여 피해자가 대출 상담을 받도록 유도합니다. 다음 그림은 대출 상담을 받기 위해 사용자가 개인정보를 입력하도록 유도하는 화면입니다.
[그림 6] 개인정보 입력 화면
피해자가 대출 상담을 위해 개인정보를 입력한 후 신청하기 버튼을 클릭하면 접수가 완료되었다는 알림 창이 뜨게 됩니다. 그러나 악성앱은 입력한 개인정보의 검증은 진행하지 않습니다.
따라서 아무런 입력이 없어도 신청하기 버튼을 클릭하면 마찬가지로 접수가 완료되었다는 알림 창이 뜨게 됩니다.
악성앱은 이런 일련의 과정을 거쳐 피해자에게 2차 공격을 가하는 데이터를 수집합니다. 피해자가 앱을 둘러보는 동안 악성앱은 피해자의 개인정보를 탈취합니다.
다음은 악성앱이 수행하는 악성 행위들의 코드를 살펴보도록 하겠습니다.
주요 악성 행위는 다음과 같습니다.
- 기기 정보 탈취
- SMS 탈취
- 연락처 탈취
- 통화기록 탈취
- 공격자 명령 수행
- 설치 앱 리스트 탈취
- 수신 전화 차단
- 발신 전화 포워드
- 위치 정보 탈취
- 도청 (마이크 녹음)
- 사진 촬영
다음 그림은 기기 정보를 탈취하는 코드의 일부입니다.
[그림 7] 기기 정보 탈취 코드
다음은 공격자의 명령을 수행하는 코드의 일부입니다.
[그림 8] 공격자 명령 처리 코드
위 코드에서는 다음의 표에서 보이는 명령들을 처리합니다.
[표 1] 공격자 명령어 코드
각 명령어들을 수행하는 코드들은 다음과 같습니다.
피해자의 스마트폰을 감시하며 촬영한 사진, 오디오 녹음 파일 등을 업로드하는 코드의 일부입니다.
[그림 9] 수집 데이터 업로드 코드
다음은 연락처를 탈취하는 코드의 일부입니다.
[그림 10] 연락처 탈취 코드
다음은 통화기록을 탈취하는 코드의 일부입니다.
[그림 11] 통화 기록 탈취 코드
통화 기록 탈취 코드를 살펴보면 중국어가 보이며 해석해 보면 통화 기록 수집 방법을 선택적으로 한다는 것을 알 수 있습니다. 즉, 통화 기록이 누적될 때 마지막 통화 기록만 C2로 전송할지 아니면 기존의 기록이 포함된 모든 통화 기록을 수집할지 여부를 결정하는 내용입니다.
다음은 SMS를 탈취하는 코드의 일부입니다.
[그림 12] SMS 탈취 코드
다음은 설치 앱 리스트를 탈취하는 코드의 일부입니다.
[그림 13] 설치 앱 리스트 탈취 코드
다음 그림은 사진을 촬영하는 코드의 일부입니다.
[그림 14] 사진 촬영 코드
공격자는 명령을 통해 피해자의 전/후면 카메라를 활용하여 사진을 촬영한 후 C2 서버로 전송할 수 있습니다. 다음 그림은 도청을 수행하는 코드의 일부입니다.
[그림 15] 도청 코드
다음 그림은 위치정보를 탈취하는 코드의 일부입니다.
[그림 16] 위치 정보 탈취 코드
피해자 스마트폰을 도청기로 활용합니다. 스마트폰의 마이크로 입력되는 소리는 모두 녹음됩니다.
이후 소개되는 코드들은 공격자의 명령 없이도 실행되는 기본적인 악성 행위 코드입니다.
다음은 수신 전화 차단 코드의 일부입니다.
[그림 17] 수신 전화 차단 코드
다음은 발신 전화를 포워드 하여 가로채는 코드의 일부입니다.
[그림 18] 발신 전화를 가로채는 코드
악성앱은 피해자가 대출 상담을 위해 악성앱 내에 존재하는 콜센터 번호로 전화를 시도할 경우 이를 인지하여 공격자에게 연결을 유도합니다. 포워드 대상은 저축은행, 카드사 등이며 악성앱이 가지고 있는 전화번호 리스트를 참조하여 이를 인지하게 됩니다. 이때 112와 같은 신고 전화도 가로채기 대상으로 포함됩니다.
다음 그림은 악성 앱이 가지고 있는 각 금융 회사 전화번호 리스트의 일부입니다.
[그림 19] 하드 코딩된 금융 회사 전화번호 리스트의 일부
■ 결론
금융사를 사칭한 스미싱 문자는 악성앱이 설치되면 피해자에게 대출을 미끼로 접근합니다. 만약 피해자가 대출이 필요한 상황이라면 공격자의 감언이설에 속아 금전적 피해를 입는 상황으로까지 발전할 수도 있습니다.
이에 ESRC에서는 금융사 사칭 스미싱과 악성앱 탐지를 위해 지속적인 노력을 진행하고 있습니다.
그러나 무엇보다 사전 예방이 가장 중요하기에 스마트폰을 사용하시는 분들은 스스로 보안 의식을 고취시킬 필요가 있으며 스미싱에 대한 경각심을 가져야 합니다.
스미싱의 예방 방법은 비교적 간단합니다. 문자 내의 URL 링크를 클릭하지 않거나 다운로드한 악성앱을 설치하지 않으면 됩니다. 또한 알약M과 같이 신뢰할 수 있는 백신 앱을 설치하여 사용하는 것도 피해를 예방하는 데 도움이 됩니다.
스미싱 공격에 대한 예방 및 악성앱 감염 시 대응 방안을 간단히 소개드립니다.
※ 스미싱 문자 예방
1) 출처가 불분명한 문자를 수신한 경우 문자 내의 링크 클릭 자제
2) 링크를 클릭하기 전 정상 사이트의 도메인과 일치하는지 확인
3) 휴대폰 번호, 아이디, 비밀번호 등의 정보는 신뢰된 사이트에서만 입력
※ 악성앱 감염시 대응
1) 악성앱을 다운로드만 하였을 경우 파일 삭제 후 신뢰할 수 있는 백신 앱으로 검사 수행
2) 악성앱을 설치하였을 경우 신뢰할 수 있는 백신 앱으로 검사 및 악성앱 삭제
3) 백신 앱이 악성앱을 탐지하지 못했을 경우
A. 백신 앱의 신고하기 기능을 사용하여 신고
B. 수동으로 악성앱 삭제
[그림 20] 악성 앱 탐지 화면
알약M에서는 해당 악성앱에 대해 Trojan.Android.KRBanker / Trojan.Android.CNC.GenericK 로 탐지/대응하고 있습니다.