최근 Palo Alto Networks 보안 업체를 통해 중국(China), 대만(Taiwan)을 중심으로 한 iOS 기기를 표적으로 한 YiSpecter 악성코드 유포 소식이 공개되었으며, 특히 탈옥 여부와 상관없이 감염이 성공적으로 이루어질 수 있다는 점에서 주의가 요구됩니다.
이번에 공개된 YiSpecter 악성코드는 2014년 11월 전후경부터 2015년 8월까지 23종의 변종이 VirusTotal 서비스에 업로드되었으며 백신 엔진에서는 거의 진단이 이루어지지 않은 상태였다고 합니다.
우선 탈옥하지 않은 iOS 기기에서도 감염이 이루어질 수 있음을 보여주는 기존의 WireLurker 악성코드가 사용하던 iOS 기업용 인증서(Enterprise Certificate)를 악용한 점은 공통점이 있으며, 연구 목적으로 논의되었던 Private APIs를 활용했다는 점에서 더욱 발전된 모습을 보이고 있습니다.
■ YiSpecter 악성코드 유포 방식
통신사(ISP) DNS 주소를 변조를 통한 트래픽 카로채기를 통해 사용자가 웹 브라우저를 이용하여 웹 사이트 접속시 악성 스크립트를 통해 무료 온라인 성인 비디오 감상을 위한 중국(China)에서 제작된 QVOD 플레이어 광고를 표시한 후 QVOD 플레이어를 대체할 수 있는 앱 설치를 유도하는 방식입니다.
실제로 이런 방식은 최근 국내에서도 쉽게 발견되고 있는 광고 배너 등을 통해 특정 스크립트 실행으로 알림창을 생성하여 특정 애플리케이션 설치를 유도하는 것과 유사하다고 할 수 있습니다.
두 번째 유포 방식으로는 Windows 운영 체제 환경에서 Lingdun Worm 바이러스에 감염된 경우 가짜 VeriSign 인증서를 추가하여 백신 진단을 우회하며 감염된 PC에서 QQ 메신저가 설치되어 있는 경우 연락처에 등록된 다른 사람에게 성인물과 관련된 이름으로 구성된 HTML 파일을 전송하여 해당 파일을 전송받은 사람이 파일을 오픈하게 만드는 사례가 있었다고 합니다.
수신된 HTML 파일을 오픈할 경우 User-Agent 값을 체크하여 Windows, Linux, Android, iOS, Windows Phone 환경에 따라 특정 웹 사이트로 연결되어 악성앱 설치를 유도하는 알림창이 생성될 수 있다고 합니다.
하지만 Lingdun Worm 바이러스 제작자와 YiSpecter 악성코드 제작자는 서로 다른 인증서, C&C 서버, 감염 목적이 다르다는 점에서 유포 방식만 활용한 것으로 판단되고 밝히고 있습니다.
세 번째 유포 방식은 앱 개발자들로부터 설치 건당 $0.3~$0.4 수준으로 돈을 받고 앱 다운로드를 지원하는 커뮤니티 또는 SNS을 YiSpecter 악성코드 제작자가 활용하였다고 합니다.
■ YiSpecter 악성코드 구성 및 기능
YiSpecter 악성코드는 메인앱(Main App)이 최초 설치된 후에는 "Beijing Yingmob Interaction Technology co, .ltd" 인증서를 사용하는 3종의 악성앱이 사용자 몰래 자동으로 설치되는 구조를 가지고 있습니다.
단, 최초 감염을 위해서는 탈옥 여부와 상관없이 2015년 4월 9일 패치된 iOS 8.3 버전보다 하위 버전에서만 감염이 성공적으로 이루어지는 제한이 존재합니다.
(1) 메인앱(Main App)
- HYQvod (번들 ID : weiying.Wvod)
- DaPian (번들 ID : weiying.DaPian)
확인된 메인앱은 성인 관련 온라인 비디오 감상 기능이 포함된 앱으로 위장하여 설치를 요구하며 "Changzhou Wangyi Information Technology Co., Ltd." 기업용 인증서를 사용하여 Apple 코드 리뷰 절차 우회를 할 수 있으며, 인증서는 이후 "Baiwochuangxiang Technology Co., Ltd."로 변경되었습니다.
성공적으로 설치된 앱은 "情涩播放器", "快播私密版", "快播0" 이름으로 아이콘이 표시될 수 있으며, Private APIs 호출을 통해 설치된 앱 실행을 유도하여 실행시 화면 상으로는 표시되지 않는 3종의 악성앱을 특정 C&C 서버(bb800.com)로부터 사용자 몰래 다운로드 및 설치합니다.
(2) NoIcon 악성앱 (표시 이름 : Passbook)
- NoIcon (번들 ID : com.weiying.hiddenIconLaunch)
메인앱(Main App)을 통해 사용자 몰래 설치된 NoIcon 악성앱은 HTTP 프로토콜을 이용한 C&C 서버와 통신을 통해 설치된 앱, 실행 중인 프로세스, 기기 UUID, Mac Address 기기 정보를 전송하며, iOS 기기에 설치된 Safari 웹 브라우저의 기본 검색 엔진, 북마크, 열린 페이지 설정값을 변경합니다.
또한 기존에 설치된 정상적인 앱을 삭제한 후 동일한 이름과 로고(Logo)를 가진 악성앱으로 바꿔치기할 수 있습니다.
(3) ADPage 악성앱 (표시 이름 : Cydia)
- ADPage (번들 ID : com.weiying.ad)
메인앱(Main App)을 통해 사용자 몰래 설치된 ADPage 악성앱은 설치된 앱을 모니터링하여 기존에 설치된 정상적인 애플리케이션이 실행시 자동으로 전체 화면 크기의 광고를 노출하도록 제작되어 있습니다.
(4) NoIconUpdate 악성앱 (표시 이름 : Game Center)
- NoIconUpdate (번들 ID : com.weiying.noiconupdate)
메인앱(Main App)을 통해 사용자 몰래 설치된 NoIconUpdate 악성앱은 주기적으로 C&C 서버와 통신을 시도하여 설치된 3종의 악성앱이 정상적으로 설치되어 있는지 체크하여 사용자에 의해 삭제된 경우 자동으로 재설치하는 방식으로 삭제를 방해합니다.
특히 문제는 NoIcon, ADPage, NolconUpdate 악성앱은 설치가 이루어진 환경에서 화면상에 아이콘을 숨김 처리하여 사용자가 iOS 기기에서 앱을 삭제할 수 없도록 한다는 점에서 iOS 모바일 백신이 존재하지 않는 현실적인 문제로 삭제가 매우 어려울 수 있습니다.
■ YiSpecter 악성코드 대응 방안
YiSpecter 악성코드를 발견하여 정보를 공개한 보안 업체에서는 다음과 같은 방식으로 대응을 권장하고 있습니다.
(a) "설정(Settings) → 일반(General) → 프로파일(Profiles)" 항목에 추가된 프로파일 중 알려지지 않았거나 신뢰할 수 없는 프로파일은 삭제를 하시기 바라며, 기본적으로 탈옥하지 않은 iOS 기기에서는 어떠한 프로파일도 추가되어 있지 않습니다.
(b) "情涩播放器 / 快播私密版 / 快播0" 이름으로 등로된 메인앱(Main App)이 설치되어 있는 경우는 삭제하시기 바랍니다.
(c) 감염된 iPhone, iPad 기기를 Windows, Mac OS X 운영 체제가 설치된 PC와 연결하여 Apple iTunes 또는 제3자가 제공하는 iOS 관리 도구(※ 예시 : iFunBox)를 이용하여 설치된 앱 중에서 App Store를 통해 설치하지 않은 Phone, Weather, Game Center, Passbook, Notes, Cydia 등의 앱을 찾아 삭제하시기 바랍니다. 참고로 YiSpecter 악성앱 감염으로 인해 시스템 앱과 동일한 이름 및 로고(Logo)를 사용하는 경우가 있지만 삭제하여도 정상적인 시스템 앱이 삭제되는 영향은 주지 않습니다.
YiSpecter 악성코드는 공식 App Store가 아닌 경로를 통해서도 탈옥하지 않은 iOS 기기를 성공적으로 감염시킬 수 있다는 것을 현실에서 보여주고 있으며, 최근에 이슈가 된 App Store를 통해 공식적으로 배포되는 앱도 XcodeGhost 악성코드에 감염되었다는 점을 감안한다면 iOS 모바일 운영 체제도 악성코드에 안전하다고 할 수 없다는 점을 명심하시기 바랍니다.
YiSpecter 악성코드는 최초 감염시 특정 iOS 모바일 운영 체제 버전 환경에서만 감염될 수 있지만 차후 최신 iOS 버전에서도 가능할 수 있으므로 iPhone, iPad 기기 사용자는 인터넷 이용시 알림창 생성을 통해 앱 설치를 유도할 경우에는 함부로 실행을 허용하는 일이 없도록 주의하시기 바랍니다.