2019.11.26

신종 안드로이드 뱅킹 트로이목마, 오버레이 공격이 여전히 유효함을 입증

Lucian Constantin | CSO
연구원들이 지난 몇 개월 동안 빠른 속도로 발전 중인 안드로이드 트로이 목마를 예의주시하고 있다. 이 트로이목마는 오버레이 공격을 사용해 뱅킹 및 기타 애플리케이션 사용자로부터 로그인 인증 정보와 결제 카드 정보를 훔친다. 
 
ⓒ IDG

긴프(Ginp)라는 트로이목마가 처음 발견된 시점은 2019년 10월이지만, 네덜란드 사이버보안 업체 스렛패브릭(ThreatFabric)에 따르면, 늦어도 6월부터는 활동을 시작했다. 긴프는 지난 5개월 동안 많은 부분이 개선됐는데 이 가운데에는 과거의 상용 뱅킹 트로이목마 아누비스(Anubis)에서 가져온 기능도 몇 가지 포함된다.


진화하는 위협, 긴프

긴프는 구글 플레이 베리피케이터(Google Play Verificator)라는 이름의 앱으로 위장한, 새롭게 만들어진 트로이 목마이며 디바이스에서 송수신되는 SMS 메시지를 훔친다. 8월에 나온 최근 버전에는 다른 열린 애플리케이션 위에 창을 표시하는 방식의 오버레이 공격이 추가됐다.

초기에는 구글 플레이, 페이스북, 왓츠앱, 크롬, 스카이프, 인스타그램, 트위터와 같은 인기있는 앱을 열 때 사용자에게 결제 카드 정보를 묻는 범용 오버레이 창을 사용했지만 이후 버전에는 탐지를 더 어렵게 하는 페이로드 난독화와 함께 대상 앱 목록에 스냅챗, 바이버가 추가되고 특정 뱅킹 앱을 위한 전용 오버레이도 추가됐다.

이달 초에 나온 최신 버전에서는 많은 부분이 바뀌었다. 제작자들은 올해 초에 유출된 다른 안드로이드 트로이목마인 아누비스의 코드를 복사해 오버레이 공격을 강화했다. 이제 공격 대상 앱이 스페인 은행 7개를 포함해 24개이며, 각 앱에 맞는 고유한 오버레이가 지휘 서버로부터 동적으로 로드된다. 이전의 범용 오버레이 방식도 여전히 사용되지만 대상은 구글 플레이에 한정되고 다른 소셜 및 유틸리티 앱에는 더 이상 범용 오버레이가 사용되지 않는다.

2019년 11월 버전은 공격 수법이 소셜 앱 사용자를 무작위로 노리는 방식에서 온라인 뱅킹 고객을 특정해 노리는 방식으로 바뀌었다. 지금은 스페인 은행에 공격 초점을 맞추고 있지만 공격자들이 다른 뱅킹 앱을 위한 오버레이를 제작하면 주 대상은 바뀔 수 있다.

스렛패브릭 연구진은 최근 발행한 보고서에서 “실제 공격 목표는 스페인 뱅킹 애플리케이션이지만 주입 요청에 사용된 경로를 보면 오버레이 경로에 표적 금융 기관의 국가 코드가 포함되어 있다. 이는 공격 행위자들이 향후 다른 국가와 지역의 애플리케이션으로 목표를 확장할 계획을 갖고 있음을 시사한다”고 전했다.


계속되는 오버레이 공격

안드로이드 악성코드는 오래 전부터 전체 화면 오버레이 공격을 사용해 인증 정보를 훔쳐왔다. 트로이목마는 공격 대상 애플리케이션의 정상적인 로그인 화면과 똑같이 만든 오버레이를 통해 로그아웃된 것처럼 사용자를 속여 인증 정보를 다시 입력하도록 하거나, 개인 및 금융 정보 제공을 포함한 여러 인증 단계를 거치도록 한다.

긴프를 비롯한 악성 앱은 이와 같은 공격을 실행하기 위해 디바이스에 스스로를 접근성 서비스로 등록하는데, 이를 위해서는 사용자의 승인이 필요하다. 따라서 사용자는 앱에 접근성 권한을 부여할 때 각별히 유의해야 한다.

안드로이드 접근성 서비스 API는 원래 시각, 청각 및 기타 장애를 가진 사용자를 위해 고안된 기능으로, 접근성 권한을 가진 앱이 폰에서 예를 들어 다른 애플리케이션 열기와 같은 사용자의 동작을 관찰하고 이러한 애플리케이션의 창을 검사하도록 허용한다. 공격자 관점에서 사용자가 특정 앱을 열 때 언제, 어느 오버레이를 주입할지 결정하려면 이 권한이 필요하다.

접근성 권한을 획득하면 긴프는 이 권한을 이용, 사용자 개입 없이 스스로에게 전화 걸기, 메시지 보내기 기능과 같은 추가 권한을 부여한다.

긴프의 오버레이는 애플리케이션별로 2단계로 이뤄진다. 먼저 피해자에게 대상 앱의 로그인 인증 정보를 입력하도록 요청하고, 그 다음 두 번째 오버레이를 사용해 검증을 위해서라며 결제 카드 정보 입력을 요청한다. 사용자가 요청된 정보를 입력하면 트로이 목마에 의해 앱이 화이트리스트에 오르며 더 이상 이 과정이 반복되지 않는다.

구글은 오버레이 공격을 차단하기 위해 주입된 창을 더 명확하게 표시하고 주입된 창의 동작에 필요한 권한을 조정하고 제한하는 등 그동안 여러 조치를 취했다. 그러나 구글로서는 보안과 사용 편의성 사이에서 균형을 맞출 수밖에 없다.

예를 들어 오버레이를 그리기 위해 필요한 권한 중 하나인 SYSTEM_ALERT_WINDOW는 페이스북 메신저에 사용되는 채팅 헤드 버블과 같은 정상적인 용도로 사용된다. 2019년 9월 출시된 안드로이드 Q(안드로이드 10)에서 이 권한은 사이드로딩된 앱의 경우 30초 동안만, 구글 플레이를 통해 설치된 앱의 경우 시스템이 재부팅될 때까지 활성 상태로 유지된다.

안드로이드 개발팀은 이후 안드로이드 버전에서 이 기능을 완전히 폐기할 계획이다. 그러나 안드로이드 생태계의 버전 단편화 상황을 감안하면 상당수 디바이스가 안드로이드 Q 이상 버전으로 업데이트되지 않는다고 봐야 한다. 따라서 오버레이 공격은 범죄자들 사이에서 계속 인기있는 공격으로 유지될 가능성이 높다.


앱을 사이드로딩하지 말 것

안드로이드 사용자는 자신의 국가에 플레이 스토어가 제공되는 경우 구글 플레이의 애플리케이션만 설치해야 한다. 많은 안드로이드 트로이목마는 스팸 이메일과 가짜 웹 기반 알림을 통해 전파되며 사용자의 사이드로딩(신뢰할 수 없는 출처의 앱을 차단하는 기본 보안 설정을 수동으로 비활성화한 다음 앱을 설치하는 방법)을 요구한다.

물론 구글 플레이 역시 악성코드로부터 완전히 자유롭지는 않다. 공격자들이 종종 구글의 검사 및 검증 과정을 우회하는 방법을 발견하기 때문이다. 따라서 앱을 설치하기 전에 앱 평점, 사용자 리뷰, 스토어에 해당 앱이 존재한 기간 등을 꼼꼼하게 살펴보는 것이 중요하다. 부가적인 보호 계층을 제공하고 구글 플레이가 놓친 악성코드를 탐지할 수도 있는 안드로이드용 안티악성코드 제품을 사용하는 것도 좋은 방법이다.

스렛패브릭 연구진은 “긴프의 기능은 오버레이 공격, SMS 장악과 연락처 수집 등 대부분의 다른 안드로이드 뱅킹 트로이목마와 동일하다. 대체로 일반적인 기능을 갖고 있지만 향후 업데이트를 통해 확장될 것으로 예상된다. 아누비스 트로이목마의 코드 중 일부가 이미 긴프에서 재사용된 만큼 백커넥트 프록시, 화면 스트리밍, 원격 액세스 트로이목마와 같은 새로운 기능 역시 추가될 가능성이 높다”고 전했다. editor@itworld.co.kr 


2019.11.26

신종 안드로이드 뱅킹 트로이목마, 오버레이 공격이 여전히 유효함을 입증

Lucian Constantin | CSO
연구원들이 지난 몇 개월 동안 빠른 속도로 발전 중인 안드로이드 트로이 목마를 예의주시하고 있다. 이 트로이목마는 오버레이 공격을 사용해 뱅킹 및 기타 애플리케이션 사용자로부터 로그인 인증 정보와 결제 카드 정보를 훔친다. 
 
ⓒ IDG

긴프(Ginp)라는 트로이목마가 처음 발견된 시점은 2019년 10월이지만, 네덜란드 사이버보안 업체 스렛패브릭(ThreatFabric)에 따르면, 늦어도 6월부터는 활동을 시작했다. 긴프는 지난 5개월 동안 많은 부분이 개선됐는데 이 가운데에는 과거의 상용 뱅킹 트로이목마 아누비스(Anubis)에서 가져온 기능도 몇 가지 포함된다.


진화하는 위협, 긴프

긴프는 구글 플레이 베리피케이터(Google Play Verificator)라는 이름의 앱으로 위장한, 새롭게 만들어진 트로이 목마이며 디바이스에서 송수신되는 SMS 메시지를 훔친다. 8월에 나온 최근 버전에는 다른 열린 애플리케이션 위에 창을 표시하는 방식의 오버레이 공격이 추가됐다.

초기에는 구글 플레이, 페이스북, 왓츠앱, 크롬, 스카이프, 인스타그램, 트위터와 같은 인기있는 앱을 열 때 사용자에게 결제 카드 정보를 묻는 범용 오버레이 창을 사용했지만 이후 버전에는 탐지를 더 어렵게 하는 페이로드 난독화와 함께 대상 앱 목록에 스냅챗, 바이버가 추가되고 특정 뱅킹 앱을 위한 전용 오버레이도 추가됐다.

이달 초에 나온 최신 버전에서는 많은 부분이 바뀌었다. 제작자들은 올해 초에 유출된 다른 안드로이드 트로이목마인 아누비스의 코드를 복사해 오버레이 공격을 강화했다. 이제 공격 대상 앱이 스페인 은행 7개를 포함해 24개이며, 각 앱에 맞는 고유한 오버레이가 지휘 서버로부터 동적으로 로드된다. 이전의 범용 오버레이 방식도 여전히 사용되지만 대상은 구글 플레이에 한정되고 다른 소셜 및 유틸리티 앱에는 더 이상 범용 오버레이가 사용되지 않는다.

2019년 11월 버전은 공격 수법이 소셜 앱 사용자를 무작위로 노리는 방식에서 온라인 뱅킹 고객을 특정해 노리는 방식으로 바뀌었다. 지금은 스페인 은행에 공격 초점을 맞추고 있지만 공격자들이 다른 뱅킹 앱을 위한 오버레이를 제작하면 주 대상은 바뀔 수 있다.

스렛패브릭 연구진은 최근 발행한 보고서에서 “실제 공격 목표는 스페인 뱅킹 애플리케이션이지만 주입 요청에 사용된 경로를 보면 오버레이 경로에 표적 금융 기관의 국가 코드가 포함되어 있다. 이는 공격 행위자들이 향후 다른 국가와 지역의 애플리케이션으로 목표를 확장할 계획을 갖고 있음을 시사한다”고 전했다.


계속되는 오버레이 공격

안드로이드 악성코드는 오래 전부터 전체 화면 오버레이 공격을 사용해 인증 정보를 훔쳐왔다. 트로이목마는 공격 대상 애플리케이션의 정상적인 로그인 화면과 똑같이 만든 오버레이를 통해 로그아웃된 것처럼 사용자를 속여 인증 정보를 다시 입력하도록 하거나, 개인 및 금융 정보 제공을 포함한 여러 인증 단계를 거치도록 한다.

긴프를 비롯한 악성 앱은 이와 같은 공격을 실행하기 위해 디바이스에 스스로를 접근성 서비스로 등록하는데, 이를 위해서는 사용자의 승인이 필요하다. 따라서 사용자는 앱에 접근성 권한을 부여할 때 각별히 유의해야 한다.

안드로이드 접근성 서비스 API는 원래 시각, 청각 및 기타 장애를 가진 사용자를 위해 고안된 기능으로, 접근성 권한을 가진 앱이 폰에서 예를 들어 다른 애플리케이션 열기와 같은 사용자의 동작을 관찰하고 이러한 애플리케이션의 창을 검사하도록 허용한다. 공격자 관점에서 사용자가 특정 앱을 열 때 언제, 어느 오버레이를 주입할지 결정하려면 이 권한이 필요하다.

접근성 권한을 획득하면 긴프는 이 권한을 이용, 사용자 개입 없이 스스로에게 전화 걸기, 메시지 보내기 기능과 같은 추가 권한을 부여한다.

긴프의 오버레이는 애플리케이션별로 2단계로 이뤄진다. 먼저 피해자에게 대상 앱의 로그인 인증 정보를 입력하도록 요청하고, 그 다음 두 번째 오버레이를 사용해 검증을 위해서라며 결제 카드 정보 입력을 요청한다. 사용자가 요청된 정보를 입력하면 트로이 목마에 의해 앱이 화이트리스트에 오르며 더 이상 이 과정이 반복되지 않는다.

구글은 오버레이 공격을 차단하기 위해 주입된 창을 더 명확하게 표시하고 주입된 창의 동작에 필요한 권한을 조정하고 제한하는 등 그동안 여러 조치를 취했다. 그러나 구글로서는 보안과 사용 편의성 사이에서 균형을 맞출 수밖에 없다.

예를 들어 오버레이를 그리기 위해 필요한 권한 중 하나인 SYSTEM_ALERT_WINDOW는 페이스북 메신저에 사용되는 채팅 헤드 버블과 같은 정상적인 용도로 사용된다. 2019년 9월 출시된 안드로이드 Q(안드로이드 10)에서 이 권한은 사이드로딩된 앱의 경우 30초 동안만, 구글 플레이를 통해 설치된 앱의 경우 시스템이 재부팅될 때까지 활성 상태로 유지된다.

안드로이드 개발팀은 이후 안드로이드 버전에서 이 기능을 완전히 폐기할 계획이다. 그러나 안드로이드 생태계의 버전 단편화 상황을 감안하면 상당수 디바이스가 안드로이드 Q 이상 버전으로 업데이트되지 않는다고 봐야 한다. 따라서 오버레이 공격은 범죄자들 사이에서 계속 인기있는 공격으로 유지될 가능성이 높다.


앱을 사이드로딩하지 말 것

안드로이드 사용자는 자신의 국가에 플레이 스토어가 제공되는 경우 구글 플레이의 애플리케이션만 설치해야 한다. 많은 안드로이드 트로이목마는 스팸 이메일과 가짜 웹 기반 알림을 통해 전파되며 사용자의 사이드로딩(신뢰할 수 없는 출처의 앱을 차단하는 기본 보안 설정을 수동으로 비활성화한 다음 앱을 설치하는 방법)을 요구한다.

물론 구글 플레이 역시 악성코드로부터 완전히 자유롭지는 않다. 공격자들이 종종 구글의 검사 및 검증 과정을 우회하는 방법을 발견하기 때문이다. 따라서 앱을 설치하기 전에 앱 평점, 사용자 리뷰, 스토어에 해당 앱이 존재한 기간 등을 꼼꼼하게 살펴보는 것이 중요하다. 부가적인 보호 계층을 제공하고 구글 플레이가 놓친 악성코드를 탐지할 수도 있는 안드로이드용 안티악성코드 제품을 사용하는 것도 좋은 방법이다.

스렛패브릭 연구진은 “긴프의 기능은 오버레이 공격, SMS 장악과 연락처 수집 등 대부분의 다른 안드로이드 뱅킹 트로이목마와 동일하다. 대체로 일반적인 기능을 갖고 있지만 향후 업데이트를 통해 확장될 것으로 예상된다. 아누비스 트로이목마의 코드 중 일부가 이미 긴프에서 재사용된 만큼 백커넥트 프록시, 화면 스트리밍, 원격 액세스 트로이목마와 같은 새로운 기능 역시 추가될 가능성이 높다”고 전했다. editor@itworld.co.kr 


X