Endpoint Protection

 View Only

클라우드에서 직접 맞춤형 피싱 페이지를 제공하는 Android 뱅킹 트로이 목마 

Oct 22, 2015 09:01 AM

android-fake-login-header.jpg

시만텍은 유연한 사회공학적 수법을 구사하면서 다양한 사용자로부터 뱅킹 인증 정보를 훔쳐내는 새로운 Android 보안 위협을 발견했습니다. Android.Fakelogin은 특정 앱으로 위장하지 않고 디바이스에서 실행 중인 뱅킹 앱을 식별한 다음 해당 사용자 인터페이스에 맞춤형 사기성 로그인 페이지를 오버레이(overlay)합니다. 이를 위해 원격 C&C(Command-and-Control) 서버에서 호스팅되는 클라우드 기반 논리에 액세스하여 표시할 정확한 피싱 페이지를 결정합니다. 이 악성 코드는 Google Play에서 제공하는 정상적인 앱을 노리지만 Fakelogin을 다운로드하는 앱은 Google Play에 없습니다.

이 악성 코드는 탐지 및 리버스 엔지니어링이 어렵도록 은폐 기술과 난독화 수법도 사용합니다. 이러한 모든 기능 때문에 Android.Fakelogin은 모바일 디바이스에 매우 위협적입니다.

Android.Fakelogin 작동 방식
Android.Fakelogin은 현재 러시아어 사용자를 표적으로 하지만 최신 Android 업데이트인 Marshmallow에는 영향을 주지 않습니다. 이 트로이 목마는 Android 디바이스를 노리는 다운로더 악성 코드에서 페이로드 형태로 다운로드됩니다. 사기성 앱(이 경우에는 게임)의 형태를 띠는 다운로더 악성 코드는 감염된 디바이스에서 다른 악성 코드의 다운로드 및 설치를 시도합니다. 그렇게 설치된 악성 코드가 기본 SMS 앱을 대체하는 것처럼 위장하면서 스스로를 디바이스 관리자로 등록하려 합니다. 또한 이 보안 위협은 아이콘을 숨겨 사용자가 쉽게 찾아내거나 삭제하지 못하도록 합니다.

figure1_administratorsms.png
그림 1. Android.Fakelogin 디바이스 관리자 권한 확보(왼쪽) 기본 SMS 대체(오른쪽) 시도합니다.

트로이 목마가 이 권한을 얻으면 아래 이미지에 표시된 것과 같은 데이터 유출을 개시할 수 있습니다.

android-fake-login-diagram.jpg


그림 2. Android.Fakelogin C&C 서버의 클라우드 기반 논리를 활용하여 감염된 디바이스의 로그인 인증 정보를 훔쳐냅니다.

이 트로이 목마는 먼저 C&C 서버에서 애플리케이션 패키지 이름 목록을 다운로드하여 기본 설정 파일에 저장합니다. 보안 위협은 이를 참조하여 컨텐트 인젝션의 표적으로 삼을 정상적인 뱅킹 앱을 결정할 수 있습니다.

figure3_C2_server_response_set_injects_list.png
그림 3. Android.Fakelogin 디바이스에 있는 기본 설정 파일에 표적으로 삼을 뱅킹 목록을 저장합니다.

그런 다음 악성 코드는 현재 디바이스에서 실행 중인 앱의 이름을 쿼리합니다. 이 앱이 목록에 있을 경우 C&C 서버로 해당 앱의 패키지 이름을 보냅니다. 그러면 서버는 타겟 앱의 모양을 흉내 낸 피싱 페이지를 보내줍니다. 이러한 클라우드 기반 방식의 유연성 덕분에 표적이 된 은행에서 모바일 뱅킹 앱의 디자인을 바꿀 때마다 악성 코드를 업데이트할 필요가 없습니다.

이제 악성 코드는 WebView를 사용하여 실행 중인 앱의 인터페이스 위에 이 맞춤형 피싱 페이지를 표시합니다. 사용자가 이 사기성 페이지를 통해 로그인을 시도하면 로그인 인증 정보가 곧바로 공격자의 C&C 서버로 전송됩니다.

figure4_examplelogin.png
그림 4. Android.Fakelogin 실행 중인 정상적인 위에 표시하는 피싱 페이지의

Android.Fakelogin이 피싱 전술에서만 차원 높은 기능을 제공하는 것은 아닙니다. 이 악성 코드가 일단 디바이스를 감염시키면 사용자가 별도로 악성 코드를 실행할 필요가 없으므로 이 트로이 목마를 찾아내기 어렵습니다. 게다가 난독화 수법과 원격 위치에서 표적 앱을 확보하는 방식때문에 리버스 엔지니어링도 여의치 않습니다.

진화 가능성: 2FA 코드가 다음 표적이 것인가?
Android.Fakelogin은 이러한 피싱 방법으로 유연성과 확장성을 두루 갖춘 보안 위협입니다. 공격자가 C&C 서버에 끊임없이 다른 사기성 뱅킹 페이지를 추가할 수 있으며, 이것은 그 어떤 뱅킹 앱으로 위장한 새로운 악성 코드 변종을 사용하여 디바이스를 감염시키는 것보다 훨씬 용이한 방법입니다. 또한 이 보안 위협이 현재는 뱅킹 앱에 주력하고 있지만 기타 온라인 서비스, 소셜 네트워크 등을 겨냥한 새로운 패키지 목록을 다운로드할 수도 있습니다.

이 악성 코드는 이중 인증(2FA)을 피하는 목적으로도 사용 가능합니다. 공격자가 먼저 일반적인 사기성 페이지를 통해 뱅킹 로그인 인증 정보를 얻습니다. 그런 다음 공격자는 사용자의 모바일 디바이스 또는 이메일 주소로 전송된 2FA 코드를 요청하는 또 다른 피싱 페이지를 통해 보호받는 계정에 대한 액세스 권한을 갖게 될 수 있습니다.

완화 조치
앱 개발자는 사용자 로그인 후 적용할 별도의 권한 부여 단계를 추가하여 이러한 유형의 보안 위협으로부터 사용자를 보호해야 합니다. 이를테면 사용자가 뱅킹 앱에서 어떤 거래를 승인하거나 소셜 네트워킹 앱에서 중요 계정 정보를 수정하기 전에 사용자 재인증 메시지가 나타나야 합니다.

시만텍은 사용자가 이 보안 위협으로부터 디바이스를 보호할 수 있도록 아래와 같은 조치를 취하도록 권장합니다.

  • 디바이스에 Android.Fakelogin 기능을 차단하는 Android 6.0 Marshmallow가 제공되면 이를 설치하십시오.
  • Symantec Mobility, Norton Mobile Security와 같은 통합 보안 솔루션을 사용하여 모바일 보안 위협을 차단하십시오.
  • 소프트웨어를 최신 버전으로 유지하십시오.
  • 신뢰할 수 있는 출처의 앱만 설치하십시오.
  • 앱에서 요청하는 권한에 각별히 주의하십시오.

보호
시만텍 및 노턴 제품은 이 보안 위협을 Android.Fakelogin으로 탐지합니다

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads

Tags and Keywords

Related Entries and Links

No Related Resource entered.