국내 스미싱 중 가장 공격빈도가 높은 Trojan.Android.SmsSpy 분석
스미싱(Smishing) 공격은 공격&유포 빈도가 몇년 전보다 절대수치가 줄긴 했지만, 여전히 모바일 환경에서는 가장 큰 위협이 되는 공격기법입니다. 특히 한국을 대상으로 하는 스미싱 공격의 경우, 매년 활발하게 이뤄지고 있으며 올 해 역시 마찬가지입니다.
2019년 상반기동안 월별로 수집된 스미싱 악성앱들 중 악성앱별 비율을 확인해보면 다음과 같습니다.
[그림 1] 2019년 상반기에 수집된 스미싱 악성앱별 비율
ESRC에서는 2019년 상반기 및 최근까지 국내에서 발견되는 스미싱 공격 악성앱 중 가장 높은 비중을 차지하고 있는 Trojan.Android.SmsSpy에 대해 분석해보았습니다.
Trojan.Android.SmsSpy가 유포되는 전체 과정을 간단히 도식화해 보면 다음과 같습니다.
[그림 2] Trojan.Android.SmsSpy 유포과정
Trojan.Android.SmsSpy는 악성앱이 백신을 서비스하는 보안업체에 수집되는 것을 방지 하기 위해 피해자 확인과정을 거치며 공격 대상일 경우 유포 되도록 하고 있습니다. 피해자 확인 방법은 비교적 간단합니다. 스미싱 문자를 받은 피해자가 악성 url에 접근하면 그림 3와 같은 택배회사의 웹페이지로 위장한 공격자가 컨트롤하는 웹페이지를 노출 시키며 피해자 본인의 핸드폰 번호를 요구합니다. 이때 피해자가 입력한 핸드폰 번호가 공격자의 DB에 존재하면 악성앱을 피해자에게 전달 합니다.
[그림 3] 택배회사의 웹페이지로 위장한 공격자가 컨트롤하는 웹페이지
[그림 4] 공격자가 내려준 악성앱을 실행했을 때 피해자 스마트폰에서 보이는 화면
피해자가 전달 받은 악성앱은 택배회사앱 icon을 사용하여 피해자의 의심을 줄이기 위해 노력합니다. 피해자가 악성앱을 설치하면 악성앱은 그림 4와 같이 제대로 동작하지 않고 자신의 icon을 숨겨 버립니다. 스마트폰에 능숙하지 않은 피해자는 앱이 제대로 설치 되지 않았다라고 여기게 되어 아무런 조치를 취하지 않지만 악성앱은 백그라운드에서 동작하며 이후 원격에서 내려지는 공격자의 임의 명령을 그대로 수행하게 됩니다.
또한, 피해자의 전화번호를 탈취하여 공격자의 C&C서버에 등록하게 됩니다. 그리고 공격자의 명령을 본격적으로 수행하기 위해 주기적으로 C&C서버로 접속하여 명령을 대기하며, 공격자의 명령이 떨어지면 이를 그대로 피해자 스마트폰에서 수행합니다. 접속을 시도하는 C&C서버 주소 정보는 앱 내에 하드코딩 되어 있습니다.
[그림 5] 피해자 전화번호 C&C서버 등록 및 C&C서버 접속 및 명령저장 코드
공격자가 내리는 명령의 종류는 SMS 차단과 통화 차단, 그리고 피해자 스마트폰에 저장된 연락처 탈취 등이 있습니다. 다음 그림들은 공격자가 내리는 명령을 처리하는 관련 코드 내용입니다.
[그림 6] SMS 차단 관련 코드
[그림 7] 통화 차단 관련 코드
[그림 8] 연락처 탈취 관련 코드
공격자들은 간단한 구조로 구성된 이 악성앱을 이용하여 꾸준하게 피해자의 정보를 탈취하고 추가적으로 금전적 이득을 취합니다. 새로운 공격 대상은 피해자에게서 탈취한 연락처 정보에서 찾을 수 있기 때문에, 한번의 감염으로도 피해자는 쉽게 확산될 수 있습니다. 즉 투자대비 효과가 좋은 공격 방법인 것입니다.
이번에 분석한 Trojan.Android.SmsSpy 악성앱은 꾸준히 유포되고 있는 악성앱 입니다. 코드의 변화가 많지 않지만 쉽게 추적할 수 없는 유포방법, 즉 공격에 활용된 단축URL등만으로는 스미싱 공격을 직접 SMS를 통해 받은 피해자 본인이 아닌 이상 제3자가 악성앱 수집을 하기 어렵게 하는 유포방법을 사용하고 있습니다.
이 공격 방식은 악성앱이 수집되고 분석되는 것을 최대한 회피하거나 지연시키는 방식이기 때문에, 발견하기도 쉽지 않을 뿐더러 근절되기도 어려운 공격 입니다. 따라서 이런 악성앱에 대응하기 위해서는 사용자의 보안의식 재고가 필요하며 알약M과 같은 신뢰 할 수 있는 백신의 사용이 필요합니다. 또한, 문자나 SNS의 링크 연결 시 그리고 앱 설치 시에도 한번 더 주의하는 자세가 필요합니다.
현재 알약M에서는 해당 앱을 "Trojan.Android.SmsSpy" 탐지명으로 진단하고 있습니다.