I. 모바일악성코드동향 1. 스마트폰과모바일악성코드우리일상에서스마트폰을사용하는시간이점차증가하고있다. 모바일단말즉, 스마트폰의성능은점차 PC의성능에가까워지고있다. 스마트폰을이용하여인터넷뱅킹, 웹검색, 게임등다양한서비스를제공받을수있다. 또한가족과친구들의전화번호, 자신의신용

Similar documents
SBR-100S User Manual

취약점분석보고서 Simple Web Server 2.2 rc2 Remote Buffer Overflow Exploit RedAlert Team 안상환

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 2 - 유포지탐지 국가별현황 2 - 대량경유지가탐지된유포지 TOP 악성코드유형별비율 4 - 악성코드취약점유형별비율 4 - 악성코드수집및분석결과 5 - 경유지탐지 업종별비율 9 3. 악성코

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환

목 차 1. 개 요 배경 요약 정보 대상시스템 원리 공격 기법 및 기본 개념 Heap Spray Font 공 격..

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

*2008년1월호진짜

Observational Determinism for Concurrent Program Security

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

TTA Journal No.157_서체변경.indd

Windows 8에서 BioStar 1 설치하기

untitled

목차 1. 개요 배경 파일정보 상세분석 SMB 취약점공격흐름 특징적인행위 대응

** 5 개이발생한주요소프트웨어별취약점세 EDB 번호취약점종류공격난이도공격위험도취약점이름소프트웨어이름

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

#WI DNS DDoS 공격악성코드분석

개인정보보호의 이해 및 안전한 관리 - 개인PC 및 스마트폰 개인정보보호-

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

[Blank Page] i

<32BDBAB8B6C6AEC6F9B1DDC0B6B0C5B7A13130B0E8B8EDBEC8B3BBBCAD2E687770>

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

보안공학연구회

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Adobe Flash 취약점 분석 (CVE )

Microsoft Word - ICT Report

3장

EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

[Brochure] KOR_TunA

Frama-C/JESSIS 사용법 소개

User Guide

Microsoft PowerPoint - chap01-C언어개요.pptx

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

<4D F736F F D B3E220C1D6B8F1C7D8BEDFC7CFB4C220B5F0B9D9C0CCBDBA5FB1E8BCAEB1E25FBFCFB7E12E646F6378>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

마켓온_제품소개서_ key

KIDI_W_BRIEF(제1호)_본문.hwp

월간악성코드은닉사이트탐지 동향보고서 9 월 침해대응단사이버침해대응본부

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

NX1000_Ver1.1

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

SIGIL 완벽입문

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

hlogin2

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction

PowerPoint Template

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

PowerPoint 프레젠테이션

개인정보보호의 이해 및 안전한 관리 - 개인PC 및 스마트폰 개인정보보호-

서현수

Microsoft Word - Static analysis of Shellcode.doc

Web Scraper in 30 Minutes 강철

Android Master Key Vulnerability

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

PowerPoint Template

C# Programming Guide - Types

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 악성코드유포지현황 3 - 유포지탐지현황 3 - 대량경유지가탐지된유포지 TOP 악성코드취약점및취약한 S/W 악용현황 5 - 악성코드유형별비율 6 - 위협 IP/ 도메인현황 7 2

` 동향보고서 1. 악성코드은닉동향요약 3 2. 홈페이지은닉형악성코드통계 악성코드유포지현황 6 - 유포지탐지현황 6 - 대량경유지가탐지된유포지 TOP 악성코드취약점및취약한 S/W 악용현황 8 - 악성코드유형별비율 9 - 위협 IP 및도메인현황 10

유포지탐지동향

설명 Description 상세정보 네이버에서운영하는서비스중하나인쥬니어네이버 ( 이하쥬니버 ) 에서는쥬니버서비스와 관련하여도움을주기위한 [ 그림 1] 과같은플래시애플리케이션이서비스되고있다.[2] [ 그림 1] 쥬니어네이버에서서비스중인쥬니버도우미플래시애플리케이션 해당플래

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

슬라이드 1

슬라이드 1

52 l /08

AutoCAD® WS

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft Word - FunctionCall

취약점분석보고서 = MS =

Deok9_Exploit Technique

PowerPoint Presentation

WebRTC 플러그인이 필요없는 웹폰 새로운 순수 VoIP 클라이언트 기반의 최신 WebRTC 기술은 기존 레가시 자바 클라이언트를 대체합니다. 새로운 클라이언트는 윈도우/리눅스/Mac 에서 사용가능하며 Chrome, Firefox 및 오페라 브라우저에서는 바로 사용이

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

슬라이드 1

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

인터넷 비즈니스의 필수 요소, 트랜잭션 시큐리티 서비스 인터넷 비즈니스는 기업 영리 활동에 있어서 부가적인 서비스가 아닌 사업을 영위해 가는데 중요한 역할을 하고 있습니다. 특히, 인터넷 쇼핑몰, 인터 넷 뱅킹, 사이버 트레이딩, 전자정부서비스, 온라인 게임, 인터넷

5th-KOR-SANGFOR NGAF(CC)

RHEV 2.2 인증서 만료 확인 및 갱신

< F33BFF920C0CEC5CDB3DD20C4A7C7D8BBE7B0ED20B5BFC7E220B9D720BAD0BCAEBFF9BAB828C3D6C1BEBABB292E687770>

2012_6th_CodeEngn_[x82]_모바일_스마트_플랫폼_원격_로컬_취약점_공격_분석.ppt [호환 모드]

슬라이드 1

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

슬라이드 1

Computer Security Chapter 08. Format String 김동진 1 Secure Software Lab.

<4D F736F F D204954B1E2C8B9BDC3B8AEC1EE5FB0FBC1F82E646F63>

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과


ESET Mobile Security for Android

vRealize Automation용 VMware Remote Console - VMware

SSL VPN 운영 지침서

Install stm32cubemx and st-link utility

!K_InDesginCS_NFH

스마트폰 애플리케이션 시장 동향 및 전망 그림 1. 스마트폰 플랫폼 빅6 스마트폰들이 출시되기 시작하여 현재는 팜의 웹OS를 탑재한 스마트폰을 제외하고는 모두 국내 시장에도 출 시된 상황이다. 이들 스마트폰 플랫폼이 처해있는 상황 과 애플리케이션 시장에 대해 살펴보자.

Transcription:

4 웹페이지취약점을통한 모바일악성코드유포방식분석 김병익 한국인터넷진흥원연구개발팀주임연구원 최근스마트폰의보급이활발히이루어지고있으며일상에서대다수의사람들이스마트폰을이용하여다양한활동을하고있다. 요즘보급되고있는스마트폰들의성능은거의 PC 수준에다다르고있다. 스마트폰은단순한전화통화기능을넘어각종게임, 채팅, 인터넷서핑, 인터넷뱅킹등다양한서비스를제공하고있다. 하지만스마트폰은사용하는애플리케이션의취약점, 운영체제의취약점, 모바일웹사이트를통한취약점등보안문제가발생하고있지만, 대부분의스마트폰사용자들은이러한사실을중요하게생각하지않고있다. 따라서, 본기고서에서는보안취약점이많이보고된안드로이드운영체제를이용하여현재존재하는보안취약점중일부를확인하며이를통해실현가능한공격시나리오를점검해본다. < 목차 > Ⅰ. 모바일악성코드동향 / 64 1. 스마트폰과모바일악성코드 / 64 2. 모바일악성코드의급증 / 64 3. 모바일악성코드유포 / 65 Ⅱ. 모바일웹기반악성코드유포분석 / 66 1. 스마트폰웹보안취약점을통한악성코드유포 / 66 2. 스마트폰기반 Drive-by Download 공격동향 / 67 Ⅲ. 모바일웹기반취약점공격분석 / 72 1. 과거스마트플랫폼보안취약점사례 / 72 2. 과거구글안드로이드 OS 취약점 / 73 3. 안드로이드스마트폰취약점공격 / 74 Ⅳ. 모바일웹기반악성코드유포공격시나리오 / 80 1. 취약점공격의대상이되는모바일웹브라우저의종류 / 80 2. 모바일웹브라우저대상보안취약점공격시나리오 / 82 Ⅴ. 분석결과및향후연구방향 / 83 Internet & Security Focus 2013 1 월호 63

I. 모바일악성코드동향 1. 스마트폰과모바일악성코드우리일상에서스마트폰을사용하는시간이점차증가하고있다. 모바일단말즉, 스마트폰의성능은점차 PC의성능에가까워지고있다. 스마트폰을이용하여인터넷뱅킹, 웹검색, 게임등다양한서비스를제공받을수있다. 또한가족과친구들의전화번호, 자신의신용카드정보, 공인인증서등많은개인정보를스마트폰에저장하여사용하고있다. 스마트폰은간단한조작으로여러가지서비스를받을수있도록도와주고있다. 우리들이스마트폰에서사용하고있는정보들은기존 PC에서사용또는저장하고있는정보보다민감하고파급력이큰정보들이다. 우리생활에서스마트폰이차지하는비중이커짐에따라이러한스마트폰에존재하는정보들에대한보안이절실히필요하게되었다. 스마트폰분실로인한정보유출을제외하고스마트폰에존재하는모바일악성코드로인해중요정보유출이가장클것이다. 하지만대부분의스마트폰사용자들은이러한모바일악성코드를탐지하기위한모바일백신설치를하고있지않는것으로조사되었다. 지난 2012 년 5월과 6월, 안랩에서는전국 20여개대학의대학생 200 여명을대상으로모바일백신프로그램사용비율을조사한바있다. 이조사에따르면응답자중약 22% 만이모바일백신프로그램을사용하고있는것으로조사되었다. PC 사용에서의백신을설치비율은 87% 로응답하여스마트폰보안이매우취약한것을알수있다. 또한 제9회한국침해사고대응협의회 (CONCERT) 정회원워크샵 에서는스마트폰의 OS 취약점을이용하여모바일백신을우회, 스마트폰에저장되어있는문자메시지와주소록탈취, 위치정보전송, 통화녹음등모바일악성코드를이용한공격을시연하였다. 이처럼스마트폰은우리의가장중요하고민감한정보를가지고있지만그정보를지키기위한노력은아직부족한현실이다. 2. 모바일악성코드의급증러시아보안업체인카스퍼스키랩에서발표한 2012 년보안위협통계분석보고서 내용중단연눈에들어오는것은모바일악성코드의폭발적으로증가일것이다. 특히안드로이드단말을대상으로유포되는모바일악성코드는전체수집된모바일악성코드중약 99% 이상이라고밝히고있다. 보고서에따르면 2011 년 1월에약 8개의신종안드로이드악성코드가수집되었으며 2011 년월평균약 800 여개의모바일악성코드샘플이수집되었다. 하지만 2012 년에는 2011 년대비약 8배인월평균 6,300 여개의모바일악성코드를수집하였다고한다. 이들모바일악성코드들은대부분스마트폰단말의 OS 취약점, 설치되어있는어플리케이션의취약점을이용하여악의적인행동을하고있다고말한다. 64 Internet & Security Focus 2013 1 월호

[ 그림 1] 안드로이드대상모바일악성코드증가추세 ( 카스퍼스키랩 ) 또한미국보안솔루션업체인맥아피에서도 2012 년도의신종모바일악성코드수집비율이 2011 년대비약 7 배증가하였다고발표하고있다. 특히안드로이드 OS 를대상으로발견되는 모바일악성코드는전체모바일악성코드중약 80% 를차지한다고밝히고있다. [ 그림 2] 모바일플랫폼별악성코드비율 ( 맥아피 ) 3. 모바일악성코드유포앞서살펴본것과같이대부분의모바일악성코드들은안드로이드단말을중심으로유포되고있다. 안드로이드단말은애플의 ios 단말과달리다양한방식으로어플리케이션을받아설치할수있다. 대부분의국내안드로이드단말사용자들은통신사의어플리케이션마켓이나구글의플레이스토어를통해어플리케이션을다운로드하고있다. 이러한어플리케이션마켓을통해악의적인행위를하는어플리케이션, 즉모바일악성코드들이유통되고있다. 이러한모바일악성코드들은개인정보탈취는물론국제전화발신, 문자메시지요금과다발생등의악의적행위를한다. 어플리케이션마켓이외인터넷웹페이지접속을통해모바일악성코드가유포되고있다. 어플리케이션마켓을통해유포되고있는악성코드와는달리단순한인터넷웹페이지를 Internet & Security Focus 2013 1 월호 65

모바일단말로방문하는경우에도악성코드에감염될수있다. 이렇게사용자의의도와다르게 단순웹페이지방문을통해악성코드가유포되고유포된악성코드가 PC 또는모바일단말에서동작하도록유도하는공격기법을 Drive-by Download 공격기법 라고한다. 모바일단말을이용하여친구의 SNS 게시물에존재하는단축 URL 클릭, 문자메시지내부의 URL 클릭또는모바일검색포털에서의검색결과확인등의일상적인행동이모바일악성코드를설치하는행동이될수있다. 인터넷보안업체인룩아웃의 2012 모바일보안보고서 를통해이러한 Drive-by Download 공격이점차증가할것이라고보고하고있다. 또한맥아피에서도이러한공격이증가하고있는추세라고이야기하고있다. Drive-by Download 공격은모바일단말이취약점을가지고있으며모바일악성코드를유포하는웹사이트가취약점을가지고있어야공격이성공하게된다. 하지만많은사람들이스마트폰을사용하고있으며이러한스마트폰으로웹검색, SNS 사용등이증가하고있어앞으로 Drive-by Download 공격이증가할것으로예측된다. 본기고서에서는이러한모바일단말의플렛폼취약점및모바일웹기반의취약점분석을기술한다. 그리고이러한취약점을통해발생할수있는 Drive-by Download 공격 에대하여알아보며실제발생가능한공격시나리오를확인한다. II. 모바일웹기반악성코드유포분석 1. 스마트폰웹보안취약점을통한악성코드유포점차 PC 수준으로스마트폰의사양이발전함에따라다양한모바일웹기반서비스가제공되고있다. 이렇게이전의 PC 수준의사용자경험을그대로체험할수있는모바일웹기반서비스제공에따라기존의 PC 웹브라우저를대상의위협과동일한보안위협들이발생할것으로예상된다. 뿐만아니라스마트폰과같은무선플랫폼의특성및보안기능미비로침해사고가발생할수있는다양한보안취약점들이존재하기때문에보안적인측면에서더많은사항을고려해야될필요성이있다. 그동안의스마트폰보안이슈들을크게구분해보면단말기의 OS 취약점으로인한관리자권한획득, 악성코드를통한개인정보유출, 모바일웹브라우저취약점으로인한단말기원격공격등이대표적이라할수있다. 먼저, 모바일웹브라우저의취약점의경우에는웹브라우저의구성요소 (webkit library 및 adobe flash player 와같은 3rd party 제품군 ) 에 66 Internet & Security Focus 2013 1 월호

내제되어있는소프트웨어보안결함으로인해공격자의악의적인악성코드가다운로드되어 설치되는보안사고가발생할수있다. 이러한악성코드의설치로인해모바일단말기가장악당하거나제어당할경우일명좀비폰이되어추가적인공격을수행하게될가능성이높다. 모바일단말기 OS 취약점의경우에는커널이나디바이스드라이버, 응용어플리케이션구현전반에내제되어있는소프트웨어보안결함으로인해공격자가단말기의관리자권한을획득하는보안사고가발생할수있다. 2. 스마트폰기반 Drive-by Download 공격동향스마트플랫폼의취약점으로인한보안위협은해외를통해꾸준하게발표되고있으며항시온라인상태를유지하는모바일스마트플랫폼의특성상침해사고위협과그비중이나날이증가하는추세이다. 이전의안드로이드스마트플랫폼보안은어플리케이션관점에지나치게집중되어있는데그이유는현재까지사용자의부주의로인해설치되는악성어플리케이션으로인한보안침해사고가주를이루고있기때문이다. 반면정작심각한보안문제점은스마트플랫폼에존재하는취약점으로인한보안위협이다. 일례로구글의안드로이드스마트폰은기존의리눅스운영체제커널을그대로사용하고있기때문에기존에존재했던잠재적인보안취약점을그대로내포하고있다. 한가지더심각한사실은보안업데이트가가능한 PC와는달리스마트폰의경우에는보안업데이트와같은서비스가존재하지않는다는점이다. 때문에스마트폰의경우에는펌웨어업그레이드를진행해야만취약점을제거할수있기때문에여러모로정기적인보안업데이트가어렵다는근본적인문제점이존재하고있다. 이러한내용은구글의 patch lifecycle 정책을살펴보면더정확하게파악할수있다. [ 그림 3] 안드로이드 Patch Life Cycle Internet & Security Focus 2013 1 월호 67

우선 [ 그림 3] 을살펴보면취약점이발표된후사용자가펌웨어업그레이드패치를받아 진행하기전까지의패치사이클을그림으로나타낸것이다. A부터 C까지의과정은일반소프트웨어취약점이발견되었을때의과정과동일한것을볼수있다. 반면 D부터 G까지의과정은안드로이드소프트웨어에서취약점이발견되었을때의과정이라고볼수있다. D는구글의패치가처음으로릴리즈된시점이고 E는제조사의패치가발표된시점, F는통신사의패치가발표된시점이다. 마지막으로 G는사용자가펌웨어업그레이드를통해패치를진행하는시점이되겠다. 여기서문제는통신사나제조사가비용문제로인해업그레이드를제공하지않거나누락되는경우가발생하다는점이다. 실제사례로미국의제조사가패치를발표하였으나통신사인 AT&T 사가패치를진행하지않아 E부터 F 사이에 3개월간의공백기간이생긴전력이있다. 다음 [ 그림4] 는구글이신제품을릴리즈했을때제조사가해당제품을적용하는데까지총소요된시간을나타낸그림이다. OS Version 2.2(Froyo) 2.1(Eclair) Google Motorola Droid Google Droid X HTC Legend HTC Hero Samsung Moment Motorola Droid Htc Evo Motorola Cliq my Touch 3G Xpreia X10 Samsung Captivate my Touch 3G Samsung Fascinate 1/10 2/10 3/10 4/10 5/10 6/10 7/10 8/10 9/10 10/10 11/10 12/10 1/11 2/11 3/11 4/11 Time Figure 2: Android version timeline: Google [3] and Manufacturer releases of Android 2.1[25,29,30,43] and 2.2[36] [ 그림 4] Version timeline 에대한자료 위그림을살펴보면신제품릴리즈후가장빠르게적용된기간이 2달정도소요된것이고나머지제조사들은그이상의시간이소요되는것을볼수있다. 여기서심각한사실은 2.2 버전이릴리즈되었음에도 2.1 버전만제공하는제조사가두곳이상있었다는점이다. 이와같이긴패치사이클을고려할때사용자가펌웨어업그레이드진행을통해취약점을패치하기이전에원격공격이이루어질가능성이매우높다고볼수있다. [ 그림 5] 모바일스마트폰기반 Drive-by Download 공격구조 68 Internet & Security Focus 2013 1 월호

모바일스마트플랫폼내에서이루어지는 Drive-by Download 공격 역시기존 win32 클라이언트 PC를대상으로했던공격기법과마찬가지로사용자가모르게임의의악성코드를다운로드받아자동으로실행시키는원격공격형태를갖는다. 대표적인취약점으로는만료된 포인터역참조취약점, use-after-free 취약점 등이있으며이를대상으로안드로이드나아이폰용아키텍처에맞는 Heap spraying 공격을시도하게된다. 이렇게스마트폰내에서 Drive-by Download 공격코드가실행되어피해를입게되면인터넷을이용중인스마트폰의웹브라우저사용자권한으로악성코드가실행되며대부분의경우에는공격자가 jailbreak 후에관리자권한을획득하거나루팅을시도하는추가적인악성코드를다운로드받아실행하게된다. 안드로이드스마트폰에서 Drive-by Download 공격에해당하는취약점사례로는 CVE- 2010-1119, CVE-2010-1807, CVE-2010-1813, CVE-2011-0611 취약점 1) 등이있으며관련주제를다룬여러가지논문과보고서들이해외에공개된상태이다. levitator gingerbreak >exploid zergrush CVE-2011-0611 >CVE-2010-1813 >CVE-2010-1807 >CVE-2010-1119 danger line android-root psneuter zimperilch >killinginthe >rageagainst nameof thecase x86 callgate bug null ptr de-reference netlink access bug Kernel memory leak, corruption bug ashmem memoty access bug RLIMIT-NPROC setuid bug Use-after-free local bug Use-after-free remote bug (heap spraying attack) method [ 그림 6] 공격성공률에따른취약점보안위협위험도 실제공격성공률에따른취약점보안위협의위험도를분류해보면위그림과같이원격취약점보안위협이가장높고커널공격을통한로컬공격, 라이브러리공격, 어플리케이션공격순을차지하고있는것을볼수있다. 공격성공률에따른위험도내에서상위로분류된 Drive-by Download 원격취약점대부분은추가적으로로컬권한상승을위한 rooting 공격코드를다운로드하여단말기의관리자권한으로상승하는추가적인공격과정을수행하게된다. 1) CVE(Common Vulnerabilites and Exposures) : 보안취약성과기타정보보안노출사항을기록한규격화된 목록이며보안취약성데이터베이스와보안도구를통한데이터공유를용이하게하기위해정의한것. Internet & Security Focus 2013 1 월호 69

과거에는스택이나힙기반오버플로우, 포맷스트링공격과같은정형화된공격위협이주를 이루었다면최근에는비정형화된공격위협들이주를이루고있는모습을볼수있다. 최근스마트플랫폼의취약점으로인한보안위협유형을살펴보면상대적으로 use-after-free, 포인터역참조 와같은프로그래밍결함이대부분인것을알수있다. 또한현재까지안드로이드상에서 buffer overflow와같은유형의취약점을악용하는 exploit 이발견되지않은상태인데이는 DEP(NX 기술 ) 과 ASLR 보호기술이적용된 execshield 커널의등장으로인해공격성공률이현저히줄어든탓으로도볼수있다. 현재까지모바일스마트플랫폼 OS를대상으로공개된보안취약점이많이발표된편은아니지만, 논문과컨퍼런스발표를통해기존 PC의공격과유사한여러가지공격이가능하다는점이시연되었다. 위그림은스마트폰을좀비화시키는 DDoS Botnet이설치되었을때네트워크공격을 [ 그림 7] 스마트폰기반분산서비스거부공략시나리오 수행하는구조로써 Drive-by Download 공격에의해설치된악성코드가 C&C 의명령에의해동작하는모습을도식화한것이다. 공격자가 C&C 서버를통해사용자의스마트폰에명령을내릴경우 3G 기지국망을통한대규모 DDoS 공격이수행될수있는데여기서사용자는요금이과금되는 1차적인금전적피해를입을수있고통신사는 DDoS 공격영향에따른기지국서비스장애로인한 2차피해를입게될것이다. III. 모바일웹기반취약점공격분석 1. 과거스마트플랫폼보안취약점사례현재를기준으로모바일스마트플랫폼 OS 환경에서공개된웹브라우저어플리케이션취약점을대상으로한공격코드 (exploit) 는거의존재하지않는다. 최근들어급속하게발전을이루고있는안드로이드, iphone OS 등의경우웹브라우저내에서 Drive-by Download 70 Internet & Security Focus 2013 1 월호

공격을시도할수있는취약점이몇가지존재하지만실제이로인한공식적인피해사례는 발생하지않은상태이다. 따라서본절에서는발견된취약점의개수와공격코드가상대적으로많은안드로이드 운영체제에존재하는보안취약점을예를들어설명할것이다. < 표 1> 스마트플랫폼보안취약점사례 OS 취약점이름취약버전 안드로이드 구글안드로이드 GIF Image vulnerability SDK m5-rc15 library 구글 구글안드로이드 mp3 decoding vulnerability OpenCore 2.0 2. 과거구글안드로이드 OS 취약점 (1) 구글안드로이드 GIF Image 취약점공격해당취약점은구글안드로이드 OS 상에서 GIF 포맷의이미지를처리할때발생하는보안결함으로 G I F 포맷이미지를처리하는 l i b s g l.s o 라이브러리내에포함된 GIFImageDecoder::onDecode() 함수를호출하는데이미지크기에대한경계값검증루틴이제대로이루어지지않아힙메모리공간을덮어씌우는힙오버플로우취약점이발생하게된다. 해당공격이성공하면원격공격자가안드로이드시스템내부에서임의의명령을실행할수있게된다. 해당취약점은 2008 년 3월에발견되었으며구글안드로이드 SDK m3-rc37a 버전과전버전에포함된함수에서발견되었다. BMP와 PNG 포맷이미지를처리할때도동일한취약점이발생하고있으며이후취약점패치가적용된구글안드로이드 SDK m5-rc15 버전의함수에서는취약점이발생하지않는다. (2) OpenCore 2.0 mp3 decoding 오버플로우취약점공격해당취약점은 PacketVideo에의해제작된멀티미디어서브시스템인 OpenCore에서발생하는보안결함으로 OpenCore 는안드로이드 OS에기본으로탑재되어사용되고있다. MP3 포맷의파일을디코딩하는과정에서힙메모리영역에데이터를쓰는과정을거치는데이때적당한경계값체크가이루어지지않아취약점이발생하게된다. 해당공격이성공하면원격공격자가안드로이드시스템내부에서임의의명령을실행할수있게된다. 해당취약점은 2009 년 1월에 OpenCore 2.0 버전에서발견되었으며 CVE-2009-0475 를통해취약점에대한패치가공개되었다. Internet & Security Focus 2013 1 월호 71

3. 안드로이드스마트폰취약점공격 안드로이드스마트폰이가지고있는취약점을공격하는방식은다양하다. 하지만본기고서에서는웹기반악성코드유포와관련된 Drive-by Download 공격을살펴보고있기때문에가장많이사용되는 Heap spray 공격에대해알아본다. 안드로이드스마트폰에존재하는취약점의경우기존 win32 PC를대상으로한 Heap spray 공격방법과차이점이존재한다. 우선기존 win32 PC를대상으로하는 Heap spray 공격의경우다양한종류의 Drive-by Download 공격코드가존재하지만안드로이드스마트폰의경우다음 3가지 (CVE-2010-1119, CVE-2010-1807, CVE-2010-1759) 취약점이인터넷상에주로공개된상태이다. 뿐만아니라안드로이드의경우리눅스커널을기반으로동작하기때문에 Intel 기반의 Windows 운영체제내에서시도되었던공격방법과여러가지차이점이존재한다. (1) 안드로이드 Linux 환경에서의 Heap spraying 공격시차이점먼저첫번째로가장큰차이점은 CPU 프로세서가다르다는점인데 Windows의경우대부분 Intel x86 CPU 환경에서동작하고있다. 반면스마트폰의경우대부분 ARM CPU 환경에서동작하므로공격자가공격을성공시키기위해서는 ARM 아키텍처용으로 shellcode 를재작성해야하는등의차이점이존재한다. 뿐만아니라기존 win32 PC와달리커널내에 exec-shield 와같은메모리해킹방지를위한보안메커니즘이기본으로적용된다는차이점을가지고있다. 이는일반적인 win32 PC를대상으로한 Drive-by Download 공격보다공격의성공률을현저하게낮추는효과를가지고있다. 두번째로스마트폰의경우에는일반적인 PC 대상공격과달리하드웨어기기사양에따라메모리공간상에제약이존재하기때문에범용적인공격코드가작성되기어려운환경적인특징이존재한다는점이다. 스마트폰의메모리공간제약은공격자가공격을성공시키기위해힙메모리공간에많은양의공격코드를할당시키는행위를방지할수있다. 너무많은양의힙메모리가할당되면스마트폰의메모리매니저는메모리를고갈시키는해당프로세스를종료시켜여분의메모리공간을확보하게된다. 따라서공격자는적은양의힙메모리를할당하면서도범용적으로공격코드를실행시킬수있도록페이로드구조를재설계해야한다. 마지막으로취약점을트리거하거나 shellcode를힙메모리상에주입할때스마트폰화면상에해당내용이출력되도록공격코드를재구성해야한다는차이점이있다. PC와달리스마트폰에서발생하는공격은실제화면에서동작이이루어져야공격이발생하게되며악성코드유포또는개인정보탈취등의공격이이루어진다. 72 Internet & Security Focus 2013 1 월호

(2) 안드로이드 Linux 환경에서의 Heap spraying 공격분석 안드로이드 Linux 환경에서의 Heap spraying 공격기법역시앞서 win32 환경의 Heap spraying 공격기법과유사하게힙메모리에코드를반복적으로주입하는공격과정을거친다. 최초의안드로이드스마트폰용원격취약점공격코드는 webkit library 의 parsefloat 함수설계결함을공격하는 exploit 이다. 해당공격코드는 MJ Keith 에의해 2010 년 11월 5일에발표되었으며 CVE-2010-1807 으로명명되었다. 이후 webkit library 의취약점을공격하는 CVE-2010-1119 exploit 이 2011 년 3월 14일에발표되었고최근 2012 년 2월 CVE-2010-1759 취약점에대한 exploit 이신규로발표되기도했다. ARM 칩기반 Linux 환경의 Heap spraying 공격기법은 Intel x86 공격기법과마찬가지로 b, bl, blx 인스트럭션이호출한비정상적인메모리영역까지공격자가실행하고자하는공격코드를반복적으로주입하는공격과정을통해존재하지않았던페이지를힙메모리구역으로만든다. 이후쉘코드를실행하는단계를거쳐공격을시도하는데해당공격기법은웹브라우저가자바스크립트사용을허가하고있을때시도할수있으며그외의제품을공격시에도플러그인사용을수락하고있을때만공격이가능하다. 즉, Javascript 및 flash actionscript 를통해힙제어가가능한웹브라우저나 adobe 제품군등을대상으로공격이가능한특징을가진다. 물론 PC 대상공격과마찬가지로모든조건의공격이가능한것은아니며비정상적인메모리주소는반드시브라우저나어플리케이션이할당할수있는메모리범위인상위힙메모리영역에위치하고있어야한다. 또한프로세스가이미점유중인메모리영역 ( 각종 library, odex, apk) 이나커널메모리영역의주소 (0xc0000000 이상의주소 ) 를가질경우공격이불가능하다는제약사항이존재한다. Linux 기반 Heap spraying 공격의경우스마트플랫폼의특성상디버깅이어렵다는문제점이존재한다. win32 PC 기반 Heap spraying 공격의경우훌륭한분석도구가많아공격자들이공격코드를작성하기어렵지않지만, Linux의경우 CUI 기반의디버거를이용해야하는환경상특징때문에런타임분석이어렵다는단점이존재한다. 안드로이드스마트폰내에서어플리케이션취약점공격시시도할수있는디버깅방법은대표적으로 3가지가있다. 먼저첫번째로 proc 디렉터리내에 maps 파일을읽어브라우저의메모리현황을파악하는것인데해당방법을통해할당된힙메모리의크기를쉽게파악할수있다. [ 그림 8] 실행가능한상태로맵핑된 heap 메모리영역 Internet & Security Focus 2013 1 월호 73

두번째로어플리케이션이남기는오류로그를확인할수있는 logcat 명령을이용하는 것이다. 해당명령은시스템전체로그메시지내용을파일로저장하지않고메모리상에출력하는특징이있는데어플리케이션에예외가발생하여변화가있을때시그널정보를받아볼수있다. 일반적으로개발자들이많이쓰는도구로 windows 기반 DDMS 도구가있는데결과를받아보려면스마트폰을 PC와연결시켜서동작된결과를받아볼수있다. < 표 2> logcat 명령을통한실행결과분석 I/DEBUG (1196): pid: 7068, tid: 7091 >>> com. 안드로이드.browser <<< I/DEBUG (1196): signal 11 (SIGSEGV), fault addr 11223384 I/DEBUG (1196): r0 11223344 r1 00000079 r2 00792c60 r3 fffffffe I/DEBUG (1196): r4 11223344 r5 00792c60 r6 47722768 r7 00000000 I/DEBUG (1196): r8 47722da8 r9 43631ed8 10 43631ec0 fp 002f1c80 I/DEBUG (1196): ip aa04cde0 sp 477226d8 lr aa00e0c7 pc aa02b4fa cpsr 60000030 마지막으로 gdb와 objdump 도구를이용하는방법이있는데해당도구들은안드로이드네이티브개발도구인 ndk를설치하여얻을수있다. 안드로이드스마트폰의경우런타임분석이어려운환경이므로동적분석보다는주로정적분석의용도로사용되며 gdb를스마트폰에올려디버깅을하는방법또는원격포트를열어 windows 기반 PC에서디버깅을진행하는방법등이존재한다. [ 그림 9] gdb, objdump 명령을통한바이너리분석과정 여기서 Linux 기반 Heap spraying 공격시주의할점은종래 win32 PC에서사용하던 Intel x86 shellcode와는별개로 ARM 아키텍처를지원하는 shellcode가필요하다는점이다. 안드로이드스마트폰을사용중인 Linux 커널내에서는총두종류의어플리케이션바이너리인터페이스를지원하는데하나는 O(old), 또다른하나는 E(embeded) 를의미하고있다. 때문에공격하고자하는시스템이어떤 ABI를사용하느냐에따라 shellcode를다르게코딩해야하는특징이있다. 대부분해외에서생산된안드로이드기기들의경우 EABI 호출방식을사용중이기때문에 shellcode 작성시반드시 EABI 시스템콜호출방식을사용하도록코딩해야한다. 반면, 국내에서생산된갤럭시기기의경우에는 OABI 호출방식을사용하고있기때문에 OABI 시스템콜호출방식을사용하는 shellcode 를따로작성해주어야한다. 74 Internet & Security Focus 2013 1 월호

#define NR_OABI_SYSCALL_BASE 0x900000 < 표 3> OABI, EABI 방식에따라호출시작주소가변경되는모습 #if defined( thumb ) defined( ARM_EABI ) #define NR_SYSCALL_BASE 0 #else #define NR_SYSCALL_BASE NR_OABI_SYSCALL_BASE #endif ef000000 svc 0x00000000 # base address of EABI is 0 ef900000 svc 0x00900000 # base address of OABI is 0x900000 NOP 코드는다음과같이다음인스트럭션코드를실행하는명령을반복하거나 NOP 역할 외에도코드가주소로도어드레싱이가능한경우입력되는코드자체를다용도로활용하여 공격의성공률을높일수있다. < 표 4> ARM 프로세서기반 NOP 코드목록 #1: var scode2 = unescape("\u5005\ue1a0"); // normal NOP sled #2: var nop = unescape("\u33bc\u0057"); // LDREQH R3,[R7],-0x3C (addressing) #3: var nop = unescape("\u33bc\u0079"); // LDRHTEQ r3, [r9], -0x3C (addressing) #4: var nop = unescape( \u33bc\u009b ); // LDRHEQ r3, [r11], r12 (addressing) (3) 안드로이드 Linux 환경에서의 Heap spraying 공격사례가장먼저알려진안드로이드기반의공격취약점은 webkit library 의 parsefloat 함수설계결함을공격하는 exploit이다. 해당공격코드는 MJ Keith에의해 2010 년 11월 5일에발표되었으며 CVE-2010-1807 으로명명되었다. 이후 webkit library 의취약점을공격하는 CVE-2010-1119 exploit 이 MJ Keith 에의해 2011 년 3월 14일에발표되었고최근 2012 년 2월 CVE-2010-1759 취약점에대한 exploit 역시 MJ Keith 에의해신규로발표되었다. 이밖에도외부에공개되지않은비공개공격코드가존재하는데 Jose A. Vazquez에의해발표되었던 webkit library 취약점과 adobe flash player 내에존재하는메모리변조취약점등이대표적이라할수있다. 안드로이드스마트폰역시기존 win32 PC와동일하게메모리손상이후변경되는주소위치에 shellcode를삽입하는형태의 Heap spraying 공격이가능하다. Internet & Security Focus 2013 1 월호 75

1) CVE-2010-1119 webkit library use-after-free 원격취약점사례 해당 CVE-2010-1119 취약점은 2010 년 6월 7일, Ralf Philipp Weinmann 와 Vincenzo Iozzo 가발견한취약점으로써 2011 년 3월 14일, exploit-db 웹사이트를통해공격코드가공개되면서널리알려지게되었다. 해당취약점은안드로이드 OS 2.0, 2.1, 2.1.1 버전에탑재된웹브라우저내부처리엔진인 webkit library에존재하는 use-after-free 취약점으로써정식패치가적용된안드로이드 OS 2.2 프로요버전으로업데이트하여문제점을해결할수있다. 해당취약점의근본적인원인은참조를만든특정태그요소를제거한후제거되어더이상존재하지않는개체에포함된텍스트데이터를요청할때발생한다. 이는유효하지않는잘못된포인터를참조하여 webkit library 모듈에서메모리붕괴를일으키게되므로브라우저가 crash되는현상이발생하게된다. 결과적으로 PC 레지스터주소값을변경시킬수있으므로공격자가프로그램의흐름을제어할수있게만든다. < 표 5> CVE-2010-1119 webkit library use-after-free 취약점예제 <HTML> <HEAD> <SCRIPT> function test() { var nodes=document.getelementbyid("target").getattributenode("id").childnodes; // 텍스트영역태그아래있는행의자식노드를참조 document.getelementbyid("target").getattributenode("id").removechild(nodes[0]); // 요소를제거 // 이후 Heap garbage collector 호출 settimeout(function(){for(var i=0;i<0x10000;i++){var s=new String(unescape("XXXX"));} nodes[0].textcontent},0); // 더이상존재하지않는개체에포함된텍스트를요청 } </SCRIPT> </HEAD> <BODY onload=test()> <P id=target></p> </BODY> </HTML> 76 Internet & Security Focus 2013 1 월호

위코드를살펴보면 getelementbyid() 함수를이용하여 target 엘리먼트의속성값을찾고 해당어튜리뷰트노드값인하위노드를 nodes 에할당하는것을볼수있다. 이때 removechild 함수를통해 nodes 변수를릴리즈시킨후 ( 요소제거 ) 이미릴리즈된 nodes 변수의속성값에접근하면더이상존재하지않는개체에포함된텍스트를요청하게되므로 use-after-free 취약점이발생하게된다. 다음은 logcat 명령으로살펴본결과이다. < 표 6> use-after-free 취약점유발후 logcat 명령결과 I/DEBUG (11018): Build fingerprint: 'MOTO_SKT/sholest/sholest/sholes:2.0.1/STSKT_... I/DEBUG (11018): pid: 11339, tid: 11350 >>> com. 안드로이드.browser <<< I/DEBUG (11018): signal 11 (SIGSEGV), fault addr 585858ac I/DEBUG (11018): r0 00512ca0 r1 00512ca0 r2 58585858 r3 76e35a6d I/DEBUG (11018): r4 00512ca0 r5 4359bb40 r6 481c9048 r7 477223e0 I/DEBUG (11018): r8 47722da8 r9 43631f1c 10 43631f04 fp 002f4790 I/DEBUG (11018): ip 0000003f sp 47722158 lr aa049c0b pc aa04bf6c cpsr 40000030 I/DEBUG (11018): I/DEBUG (11018): I/DEBUG (11018): I/DEBUG (11018): I/DEBUG (11018): #00 pc 0004bf6c /system/lib/libwebcore.so #01 pc 001af42e /system/lib/libwebcore.so #02 pc 0000ba4c /system/lib/libwebcore.so #03 pc 001ce21a /system/lib/libwebcore.so #04 pc 001d6d68 /system/lib/libwebcore.so 위와같이 logcat 명령을통해 r2 레지스터 2) 값으로공격자가힙에뿌린값이들어오는것을 볼수있다. 마지막 PC 레지스터지점을살펴보면취약점이발생하기직전의코드를살펴볼수 있다. 다음은 objdump 명령을통해취약점이발생하기직전의코드를살펴본결과이다. < 표 7> use-after-free 취약점이유발되는지점분석결과 4bf62: 6038 str r0, [r7, #0] 4bf64: 607b str r3, [r7, #4] 4bf66: e07a b.n 4c05e <JNI_OnLoad+0x40916> 4bf68: 6822 ldr r2, [r4, #0] 4bf6a: 4620 mov r0, r4 4bf6c: 6d51 ldr r1, [r2, #84] 4bf6e: 4788 blx r1 4bf70: 3801 subs r0, #1 4bf72: 280b cmp r0, #11 2) Intel 레지스터명 (EAX, EBA, ECA 등 ) 과달리 ARM 에서는데이터레지스터로 R0, R1~R15 가있으며특히 R13, R14, R15 는특수한목적으로사용된다. Internet & Security Focus 2013 1 월호 77

위 objdump 명령결과를살펴보면 r2 레지스터를기준으로 r1 레지스터값을얻은후분기가 이루어지는것을볼수있는데공격자가 shellcode 를힙메모리내에충분하게 spraying 한후해당주소를지정해주면공격코드가호출된다. 앞서설명한바와같이 shellcode 를힙메모리공간에주입하기위해 NOP 코드와 shellcode 가담겨있는변수를브라우저에출력시켜야한다. 또한, 공격자는 shellcode가모두주입된이후에취약점을유발시키기위해 settimeout() 함수등을이용할수있다. 결과적으로다음과같은힙메모리구조를구성하여공격을시도하게된다. 0x00600060 0x00580058 = 0xe1a05005 + shellcode = 0x00600060 CVE-2010-1119 case 0x00640000 NOP + shellcode NOP + shellcode NOP + shellcode 0x00600060 0x00600060 0x00600060 0x00580058 0x00580058 [ 그림 10] CVE-2010-1119 취약점공갹을위한힙메모리구성 [ 그림 11] 취약점이유발된모습 힙메모리구조를살펴보면취약점발생시 0x00580058 주소를참조하여 0x00600060 주소값을얻고다시해당주소에있는 shellcode 를호출하는구조로동작하는것을볼수있다. 다음화면은공격코드실행시취약점에의해웹브라우저가강제종료되는모습이다. 위화면과같이공격코드를실행하는 HTML 페이지를로딩하면힙메모리의 0x00580058 메모리주소의근처는 r2 레지스터가로드할 0x00600060 값이할당된다. 힙메모리공간인 0x650000~0x900000 주소영역에는 NOP 코드와 shellcode 가비교적높은밀도로삽입되어있으므로취약점유발직후해당메모리주소를가리키고있는 r1 레지스터가호출되면공격자의 shellcode 가실행된다. 해당공격코드에의해리버스커넥션쉘이실행된화면은다음과같다. 78 Internet & Security Focus 2013 1 월호

[ 그림 12] Shellcode 가실행되어클라이언트의 2222 번포트로접속성공한화면 [ 그림 13] 클라이언트의 netstat 화면 Internet & Security Focus 2013 1 월호 79

IV. 모바일웹기반악성코드유포공격시나리오 1. 취약점공격의대상이되는모바일웹브라우저의종류모바일용웹사이트에접속할때사용되는소프트웨어의일종인모바일웹브라우저의경우종래 PC 웹클라이언트를기반으로설계되어있다. 모바일웹브라우저구현에필수적구성요소인 webkit library 의경우브라우저엔진의한종류로 iphone 의 Safari 웹브라우저및구글안드로이드웹브라우저내에내장되어있다. 일반적으로브라우저는보통 Web Browser 와 Wap Browser 로분류되는데이를둘다지원하는브라우저를 Full Browser 라부르고있다. 모바일웹브라우저의종류는다음과같다. Openwave: surfer browser (full browser) Firefox: Fennec (Nokia N80) Teleca: Teleca Obigo Access: Netfront Browser Opera: Symbian & Windows Mobile Safari: iphone Polaris: Infraware ( 국내 SKT/LGT OZ 서비스등에탑재되는브라우저 ) KUN KTF 브라우저 : 엑스로드 ( 구지오텔 ) 해당브라우저들이사용중인브라우저엔진은다음과같다. Trident: Internet Explorer 4~8 Tasman: Mac 용 Internet Explorer Gecko: Mozilla Firefox 등 Webkit: iphone Safari, 안드로이드 Browser Presto: Opera, 닌텐도 DS KHTML: Konqueror 다음은이러한정보유형을살펴볼수있는모바일기기용웹브라우저사용자에이전트 목록의일부이다. 80 Internet & Security Focus 2013 1 월호

< 표 8> 모바일기기용웹브라우저사용자에이전트목록 어플리케이션 le iphone Safari 웹브라우저 : 어플리케이션 le iphone: Mozilla/5.0 (iphone; U; CPU iphone OS 3_0 like Mac OS X; en-us) 어플리케이션 lewebkit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3 어플리케이션 le ipad: Mozilla/5.0 (ipad; U; CPU OS 3_2 like Mac OS X; en-us) 어플리케이션 lewebkit/531.21.10 (KHTML, lkie Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 BlackBerry 웹브라우저 : BlackBerry 9700 Bold: BlackBerry9700/5.0.0.423 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/100 구글안드로이드웹브라우저 : Nexus One: Mozilla/5.0 (Linux; U; 안드로이드 2.1-update1; en-us; Nexus One Build/ERE27) 어플리케이션 lewebkit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 LG 웹브라우저 : LG VX9100: LGE-VX9100/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0 LG G922: LG-G922 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1 Motorola 웹브라우저 : Motorola Motoroi(XT720) V2.01: Mozilla/5.0 (Linux; U; 안드로이드 2.0.1; ko-kr; XT720 Build/STSKT_N_79.11.31R) 어플리케이션 lewebkit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 Motorola CLIQ: Mozilla/5.0 (Linux; U; 안드로이드 1.5; en-us; MB200 Build/CUPCAKE) 어플리케이션 lewebkit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mob Samsung 웹브라우저 : Samsung i7500 Galaxy: Mozilla/5.0 (Linux; U; 안드로이드 1.5; de-de; Galaxy Build/CUPCAKE) 어플리케이션 lewebkit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 Nokia 웹브라우저 : Nokia N97-3: Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-3/21.2.045; Profile/MIDP-2.1 Configuration/CLDC-1.1;) 어플리케이션 lewebkit/525 (KHTML, like Gecko) BrowserNG/7.1.4 Internet & Security Focus 2013 1 월호 81

2. 모바일웹브라우저대상보안취약점공격시나리오 이와같이다양한모바일용웹브라우저에내제된보안취약점은다양한공격시나리오를가지고있다. 만일공격자에의해 aaa.malware.com 메인웹페이지가변조되어악성코드를 Drive-by Download 할수있는 iframe 공격코드가삽입되었다면사용자는모바일기기를통해해당웹페이지를접속할때마다자동으로악성코드를다운로드받아실행하는보안문제가발생하게된다. 모바일웹브라우저를대상으로한 Drive-by Download 공격의경우반드시 javascript 를사용할수있어야동작하기때문에사용자가웹브라우저설정내에서 javascript 실행에체크를해제하였다면브라우저공격이불가능하다. 또한 adobe flash 와같은플러그인제품에서발생하는취약점의경우에는사용자가플러그인사용에체크를해제하는것만으로도공격을방지할수있다. 이렇게사용자가직접적으로웹브라우저를통해악성코드가삽입된웹페이지에접속하는것외에도간접적인웹브라우저접속을유도하여공격할수있는몇가지시나리오가존재하는데대표적으로 QR 코드를이용한 Drive-by Download 공격시나리오와 SMS/MMS 문자메시지전송을통해 URL 로접속을유도하는공격시나리오가존재한다. (1) QR 코드를이용한 Drive-by Download 공격시나리오증강현실의일종인 QR 코드는가상현실기술중하나로필요한정보를가상으로보완해주는기술이다. Quick Response 의약자로빠른디코딩이가능하고바코드에비해대용량, 고밀도, 오류정정기등이있는 2차원구조의기호로이루어져있다. [ 그림 14] QR 코드사용예제 QR코드는누구나손쉽게정보를담아전달할수있는기능을제공하기때문에공격자에의해악성어플리케이션이나공격코드유포시악용될수있다. QR코드이용자는촬영시사용되는바코드가신뢰할수있는정상적인정보를담고있는지공격자에의한악의적인정보를담고있는지판단할기준이없으므로공격수행시에도사용자가공격여부를확인하기어려운문제점이존재하고있다. 이렇게 QR 코드를이용한 Drive-by Download 공격은앞절의웹브라우저대상 Drive-by Download 공격과유사한시나리오를가지고있으나다음과같은추가적인공격시나리오를갖는다. 82 Internet & Security Focus 2013 1 월호

(2) 짧은 URL 링크를통한 Drive-by Download 공격시나리오 짧은 URL 링크를통한 Drive-by Download 공격시나리오는클라이언트스마트폰이별다른의심없이웹브라우저를통해공격자가설치한웹페이지에접속할수있도록유도하는방법중하나이다. 공격시짧게만들어진 URL 을웹으로통해배포하거나 SMS/MMS 문자메시지전송을통해배포하는과정을거치게되는데다음과같은공격시나리오를갖는다. [ 그림 15] 짧은 URL 생성예제 V. 분석결과및향후연구방향 본기고서에서는안드로이드기반의스마트폰이가지고있는취약점을알아보았으며이들을악용하여실현가능한공격에대하여살펴보았다. 안드로이드기반의스마트폰에대한공격설명이있었지만취약점을가지고있는모든운영체제또는어플리케이션을사용하는경우동일한위협에노출된다. 특히 ios 기반의스마트폰역시취약점을가지고있으며이취약점을악용한공격이충분히발생함을인지해야한다. 스마트폰의플랫폼취약점과더불어기존 PC 기반에서발생하는공격기법중 Drive-by Download 공격이모바일단말에서도이루어질수있음을확인하였다. 단순한브라우저방문만으로악성코드에감염되며감염된단말에서는개인정보와같은민감한정보를유출할수있다. 특히, 해커의입장에서스마트폰은 PC와달리개인사생활정보, 카드정보, 연락처, 메시지등정보가 PC보다많이보관되어있어매력적인공격대상이된다. 또한, QR 코드및짧은 URL 등을이용한모바일악성코드시나리오는 Drive-by Download 공격으로발생할수있는가능성을알아보았다. 기존 PC에서발생가능한모든공격들이모바일환경에최적화되어발생할수있다. 또한 HTML5가모바일웹사이트에서많이사용되고있으나아직까지보안이완벽하지않아추가적인악성코드유포경로로악용될수있다. 현재이러한스마트폰의취약점을악용하여공격하는사례들이급증하고있다. 하지만아직까지알려지지않은악성앱및모바일악성코드등이더있을것으로보인다. Internet & Security Focus 2013 1 월호 83

이러한모바일악성코드에서부터우리의스마트폰을보호하기위해서는사용자들은모바일 백신프로그램을설치하여의심되는어플리케이션은사용하지않도록노력해야된다. 그리고 PC에서처럼주기적으로모바일백신을사용하여모바일악성코드를지속적으로확인할필요가있다. 이와더불어모바일어플리케이션설치시설치되는어플리케이션이가지는권한을자세히확인할필요성이있다. 이렇게모바일어플리케이션으로유포되는악성코드들은약간의주의만기울이면보다안전하게스마트폰을사용할수있다. 하지만본기고서에서확인한 Drive-by Download 방식으로유포되는모바일악성코드를막기위해서는보다근본적인해결책이있어야될것이다. 모바일운영체제의취약점이발견되는즉시해당취약점을수정한버전을제공하여야한다. 앞서살펴본것과같이모바일운영체제의취약점이공개된후상당시간이흘러야수정된버전의운영체제가제공된다. 이러한시간차이를줄여모바일악성코드가활동및설치되지못하도록해야된다. 그리고 PC의운영체제업데이트는강제성을부여하고있지만모바일단말의경우사용자자율에맡기고있다. 대부분의사용자들은새로운버전의모바일운영체제를사용하지않고사용에익숙한기존의운영체제를계속사용하고있다. 모바일운영체제변경에따른데이터손실, 인터페이스변경등에대한막연한걱정이주된원인중에하나이다. 또한 PC에서는자동적이며손쉬운방식으로운영체제업데이트가진행되나모바일단말에서는복잡한절차를거쳐서진행된다. 이러한요소들때문에우리의스마트폰들은점점보안에취약해지고있다. 이러한문제점을해결하기위해서는모바일운영체제강제업데이트설정지원등의정책적노력이필요할것으로보이며스마트폰구입시모바일백신설치권장, SMS/MMS에포함되어있는 URL 클릭주의등의사항을반드시공지하도록노력해야된다. 또한모바일웹사이트를주기적으로점검하여모바일악성코드를유포여부를점검할수있는시스템을구축하여야한다. 그리고이렇게탐지된모바일악성코드샘플에대한분석시스템이구축되어야한다. 이렇게분석된정보는빠르게모바일백신업체에제공되어백신개발에도움이되도록해야한다. 이러한일련의과정이자동화되어구축된다면신종모바일악성코드에대한대응이빨라질것이며발생되는모바일악성코드피해를줄일수있을것으로보인다. 84 Internet & Security Focus 2013 1 월호

참고문헌 모바일운영체제기반의악성코드대응기법연구, 충남대학교산학협력단 [101122_ 모바일 _ 운영체제 _ 기반의 _ 악성코드 _ 대응기법 _ 연구 _ 최종보고서.pdf] 스마트폰기반악성코드수집, 분석플랫폼개발을위한연구, 한국인터넷진흥원 http://www.kisa.or.kr/jsp/common/librarydown.jsp?folder=017631 스마트폰보안위협및대응기술, 강동호외 6명스마트환경에서의모바일게임트렌드및지원방향, 한국콘텐츠진흥원 [ivovatltyo3c.pdf] 안드로이드구조와원리, Linux Kernel Source 분석스터디이백안드로이드애플리케이션교육자료, 안드로이드 Basic 안드로이드기반모바일운영체제보안기능분석, 서울시립대학교산학협력단 [KISA_WP_2010_0011.pdf] ActiveX Vulnerability, 김우현, 2005.11. ActiveX Control and Web 어플리케이션 lication Security, 이상규, 2006.11. ActiveX 취약점에대한이해와보안, 한승훈, 2007.05. Heap Feng Shui in Javascript by Alexander Sotirov, Blackhat Europe, 2007 Heap spraying,wikipedia : http://en.wikipedia.org/wiki/heap_spraying McAfee Threats Report: Second Quarter 2012, McAfee, 2012.9 State of Mobile Security 2012, LookOut, 2012.9 The overall statistics for 2012, Kaspersky Security Bulletin 2012. KasperskyLab Internet & Security Focus 2013 1 월호 85