Agent Smith 악성코드, 정상 앱을 악성으로 바꾼다

안드로이드 앱 변조

Agent Smith 악성코드는 안드로이드 기기에 설치된 여러 정상 앱에 악성코드를 삽입한다. 다른 앱 변조는 안드로이드 운영체제 차원에서 권한 제한과 디지털 서명 검증 등 보호 수단으로 차단된다. 그러나 Agent Smith는 Janus(야누스)를 비롯한 여러 취약점을 이용해 이를 돌파한다.

결국 피해자의 어떠한 승인이나 상호작용 없이, 기존 앱이 악성 앱으로 바뀐다. 아이콘이 바탕화면에서 숨겨지므로 눈치챌 수도 없다. 안드로이드 v7 이상의 최신 버전에서도 작동한다.

현재는 무단 광고 표시로 돈을 버는 데 주력하고 있지만, 개인정보 탈취 등 심각한 악성코드를 삽입하는 데 사용할 수도 있다.

여러 취약점 악용

스미스 요원의 공격은 3단계로 이루어진다. 1단계는 dropper(downloader)이다. 이것은 게임, 유틸리티, 성인물 등 유용한 앱으로 가장하여 주로 제3자 앱 스토어에서 유통된다. 피해자가 속아서 설치하면, WhatsApp, MXplayer, ShareIt 등 표적으로 삼은 앱이 설치돼 있는지 확인한다.

2단계는 스미스 요원이 기기에 침투하는 과정이다. 드로퍼는 암호화돼 숨겨져 있던 스미스 요원을 .apk 파일로 복호화하고 설치한다. 이 apk 파일은 Google Updater 등 기만적인 이름을 사용한다. 이때 기기의 여러 취약점을 이용하여 피해자의 어떤 상호작용도 필요치 않다. 바탕화면에 아이콘도 생기지 않는다.

3단계는 스미스 요원의 본격적인 활동기다. 스미스 요원은 표적 앱에 악성코드를 삽입하는 업데이트를 수행한다. 이것은 원래 금지된 것이지만, 여러 취약점을 악용하여 피해자 몰래 조용히 수행한다.

MITD(Man-In-The-Disk) attack

Check Point의 보고서(참2)는 이용된 취약점들을 일일이 열거하지는 않았다. Janus 취약점(CVE-2017-13156)만을 직접 언급했을 뿐이다.

최신 안드로이드 버전은 보안이 강화되어 취약점 악용이 쉽지는 않다. 스미스 요원은 이런 공격이 여의치 않을 경우에는 최후 수단으로 MITD(Man-In-The-Disk) 공격을 한다. 이는 운영체제의 보호 밖에 있는 외부 저장소를 공격하는 것으로, 앱 자체가 취약해야 가능하다(관1). 스미스는 ShareIt, Xender 등의 앱을 이용한다.


관련 자료
  1. 포트나이트 앱, 악성코드 설치에 이용될 수 있다

참고 자료
  1. “Agent Smith”: The New Virus to Hit Mobile Devices
  2. Agent Smith: A New Species of Mobile Malware
  3. Janus 취약점(CVE-2017-13156) 발견, 서명에 영향 없이 안드로이드 app 수정 가능

댓글

이 블로그의 인기 게시물

마이크로소프트 4K 무선 디스플레이 어댑터(MS WDA 3) 리뷰

와이파이(Wi-Fi) 보안 설정

엑셀 필터 상태에서 복사와 잘라내기