<4D F736F F D B1E2C8B9BDC3B8AEC1EE2DC0FCBFB5C0E7>

Similar documents
Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Secure Programming Lecture1 : Introduction

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

1부

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

Android Master Key Vulnerability

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

THE TITLE

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

Secure Programming Lecture1 : Introduction

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

PowerPoint Presentation

PowerPoint Template

PowerPoint Presentation

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

서현수

*2008년1월호진짜

[Brochure] KOR_TunA

untitled

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

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

Windows 8에서 BioStar 1 설치하기

4S 1차년도 평가 발표자료

<4D F736F F D204954B1E2C8B9BDC3B8AEC1EE5FB0FBC1F82E646F63>

SBR-100S User Manual

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

모바일 안드로이드 아키텍처

Microsoft Word - 문필주.doc

PowerPoint Template

1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로

SIGIL 완벽입문

wtu05_ÃÖÁ¾

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

슬라이드 1

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. 제품 개요 AhnLab Policy Center 4.6 for Windows(이하 TOE)는 관리대상 클라이언트 시스템에 설치된 안랩의 안티바이러스 제품인 V3 제품군에 대해 보안정책 설정 및 모니터링 등의 기능을 제공하여 관리대상 클라이언트 시스템에 설치된 V3

Microsoft PowerPoint - 권장 사양

<41736D6C6F D20B9AEBCADBEE7BDC42E687770>

Install stm32cubemx and st-link utility

ICT03_UX Guide DIP 1605

ISP and CodeVisionAVR C Compiler.hwp

DDoS 공격, 게임계정유출해커, 비트코인등가상화폐노린다 - 13 년 10 월부터 DDoS, 원격제어, 게임계정유출하더니최근암호화폐채굴 - 개요지난 13 년 10 월,Microsoft 社의인터넷익스플로러취약점 (CVE ) 을통해유포되는악성코드가 DDoS

Microsoft PowerPoint App Fundamentals[Part2].pptx

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

PowerPoint 프레젠테이션

월간 CONTENTS 3 EXPERT COLUMN 영화 오블리비언과 C&C 서버 4 PRODUCT ISSUE 안랩, 새로워진 'V3 모바일 시큐리티' 출시 고도화되는 모바일 위협, 해답은? 6 SPECIAL REPORT 유포 방법에서 예방까지 모바일 랜

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

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

Studuino소프트웨어 설치

Contents I. 취약점점검소개 II. III. IV. 점검프로세스분석 취약점점검방법 기타

Microsoft PowerPoint - 김창수 v2.pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

5th-KOR-SANGFOR NGAF(CC)

52 l /08


H3250_Wi-Fi_E.book

Microsoft Word - 안드로이드_개발_매뉴얼1.docx

Microsoft Word - src.doc

ESET Mobile Security for Android

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

슬라이드 제목 없음

vRealize Automation용 VMware Remote Console - VMware

PowerPoint Template

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

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

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

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Ⅰ. 스마트폰에대한보안위협현황 1. 국내스마트폰이용현황 2009 년 11월 28일아이폰의국내정식출시를시작으로스마트폰의보급과그이용이빠르게늘어나기시작하여 2012 년 8월에이르러서는국내스마트폰이용자가 3,000 만명을넘어서게되었다. 방송통신위원회의무선통신서비스현황자료 (

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

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

PowerPoint 프레젠테이션

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

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

슬라이드 1

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Frama-C/JESSIS 사용법 소개

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

Cloud Friendly System Architecture

F120L(JB)_UG_V1.0_ indd

Office 365 사용자 가이드

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

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

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

<4D F736F F D B1E2C8B9BDC3B8AEC1EE2DB9DAB5BFB1D4>

iOS5_1±³

유포지탐지동향

View Licenses and Services (customer)

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

슬라이드 1

슬라이드 1

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Transcription:

ICT 기획시리즈 ICT 기획시리즈 정보보안 모바일애플리케이션취약점분석 전영재에스알센터대표 master@nanum.info 우한승, 유상준, 최화재 1. 서론 2. 최근모바일악성코드동향 3. 안드로이드애플리케이션분석환경 4. 안드로이드애플리케이션취약점 5. 결론 1. 서론스마트폰을비롯한각종다양한모바일기기들에대한보급및사용률이국내외적으로매우크게증가하면서모바일기기에대한취약점및악성코드로인한보안위협이크게이슈화가되고있는것이현실이다. 이에따라모바일환경에대한보안분야가지속적으로주목받고있으며, 이로인해모바일운영체제및애플리케이션에대한취약점분석을위한다양한기술들에대해서연구가활발히진행되고있다. 세계적인보안회사 F-Secure 가발표한자료에따르면, 2014 년 1 분기 277 개의새로운보안위협중 99% 이상 (275 개 ) 이안드로이드플랫폼에서발생하였으며, 각각한개위협만이 iphone 과심비안플랫폼에서발생하였다 [1]. 그러나 ios 플랫폼에서악성코드가전혀발생하지않은것은아니며, 2012 년애플사정식애플리케이션스토어에서사용자의주소록을탈취하는 Find and Call 악성애플리케이션이유포되었으며, 최근 ios 플랫폼을사용하고있는아이폰및아이패드가탈옥되지않은상태에서도악성애플리케이션이설치되어이메일, 문자등정보유출이가능한취약점이발견되기도하였다. ios 는폐쇄적인정책을따름으로써 OS 를분석하고, 이에따른보안취약점을찾아사전에대응하기에는많은어려움이따르며마찬가지로악성코드가동작하기에도어려운환경을가지 * 본내용과관련된사항은한국인터넷진흥원 (KISA) 주관 최정예사이버보안인력 (K-Shield) 인증생연구반의산출물로서자세한내용은에스알센터전영재대표 ( 02-3275-0118) 에게문의하시기바랍니다. ** 본내용은필자의주관적인의견이며 IITP 의공식적인입장이아님을밝힙니다. 13

주간기술동향 2015. 5. 13. 고있다. 악성코드를제작하는해커들또한악성코드를제작하기에는어려운점이많은것이사실이다. 하지만애플사의보안매커니즘을우회하는다양한탈옥방법이등장함으로써 OS 를비롯한기기의모든정보에접근할수있게되었으며, 악성코드가동작하기에는충분한환경이갖추어지게되었다 [2]. 이에본고에서는모바일악성코드동향, 애플리케이션분석환경구축과애플리케이션취약점분석에관한내용에대해살펴보고자한다. 2. 최근모바일악성코드동향 2004 년최초의모바일악성코드 Cabir 출현이후, 미미하지만꾸준하게증가해오던모바일악성코드의수치가 2011 년하반기를기점으로증가폭이폭발적으로상승하기시작하였다 [3],[4]. 이처럼증가폭이커지게된이유에는스마트기기의보급률증가, 급격한보급에따른이용자들의부실한관리, 스마트폰보안의식의부재도영향을끼쳤다 [5], [6]. 그러나가장크게영향을미친것은안드로이드기기의등장과더불어안드로이드기기의보급률증가, 그리고안드로이드의가장큰특징인 개방성 을꼽을수있다. 국내에서도모바일악성코드의증가추세또한위의상황과비슷하며 2015 년에도경이적인증가추세는계속될것으로보인다. 최근 Ahnlab 에서발표한모바일악성코드동향에의하면 2014 년 1~3 분기의모바일악성코드의발생건수는약 107 만건으로, 2013 년악성코드누적발생건수인 92 만건에비해약 17% 증가한수치이다 [7]. < 자료 >: Kaspersky, Mobile Malware Evolution. Part 5. ( 그림 1) 모바일위협의증가수치 14 www.iitp.kr

ICT 기획시리즈 정보보안 모바일악성코드의유형은크게단말기장애유발형, 배터리소모형, 과금유발형, 정보유출형, 크로스플랫폼형등이있으며 [5], 이러한유형들은다시공격의목적이 돈 에있는가에따라금전적과비금전적인목적 2 가지로분류할수있다. 초기에는주로금전적인목적보다비금전적인목적이었으나, PC 환경의악성코드와함께점차악성코드의목적이금전적인목적으로변형되었다. 해외에서는금전목적의악성코드중에서부동의 1 위를차지하고있는유형이 Trojan- SMS 이다. 이유형의악성코드는안드로이드스마트폰이본격적으로시장에출시될때인 2009 년에이미심비안, 윈도모바일, 아이폰등의기기에서발견되기시작한악성코드이다 [8]. 이후안드로이드스마트폰의시장점유율이급증하기시작하면서악성코드제작자들은 Trojan-SMS 제작에집중하기시작했다. Kaspersky 가발표한 Mobile Malware Evolution 시리즈와 Kaspersky Security Bulletin 시리즈를살펴보면, Trojan-SMS 계열이전체모바일악성코드중에서차지하는비율이 2010 년에는 44.2%[4], 2011 년 36.59%[4], 2012 년에는계열군을모두합하면 56.9%[9], 2013 년 33.5%[10], 2014 년 23.8%[11] 로 4 년동안항상선두에있다. 국내에서도 SMS 관련된악성코드는기하급수적으로늘어나고있다. 그러나국내환경에서는생소한 Premium rate SMS 서비스탓인지러시아와동일한방식의 Trojan- SMS 는확산되지않았다. 다만, 2012 년 11 월국내에처음으로금전피해사례가발생하게된 Chest 로알려진악성코드에의해 Trojan-SMS 와비슷한유형의공격이주목받게되었다 [12],[13]. 이악성코드는소액결제시스템을노리는악성코드로써 SMS 를통해다른애플리케이션으로위장한악성코드를불특정다수에게배포한다. 악성코드는감염된단말기의개인정보를수집하여악성코드제작자에게전송을하고, 악성코드제작자는수집한개인정보를이용하여소액결제를진행하게된다. 이때사용자의단말기로전송되는결제인증문자를악성코드가중간에가로채어악성코드제작자에게전달함으로써결제가이루어지는방식이다 [12],[13]. Ahnlab 이발표한 2014 년 3 분기스미싱악성코드통계발표 를살펴보면, 국내에서가장주시해야할부분은스미싱관련악성코드이다. 2012 년에발견된스미싱악성코드의총수는 29 개에불과하였다. 그러나약 2 년이지난 2014 년 3 분기에발견된스미싱악성코드의수만 2,850 개가발견되었다 [14]. 2014 년 3 분기에발견된개수는 2012 년 1 분 15

주간기술동향 2015. 5. 13. < 표 1> 2014 년 3 분기스미싱악성코드통계발표 구분 2012 년 2013 년 2014 년 1 분기 5 504 2,062 2 분기 0 851 2,873 3 분기 5 2,011 2,850 4 분기 19 1,840 - 계 29 5,206 7,785 < 자료 >: Ahnlab 기에발견된 5 개에비해약 570 배나증가하였다. 결론적으로최근안드로이드기기사용의증가등으로인해모바일악성코드의수도크게증가하고있음을알수있다. 3. 안드로이드애플리케이션분석환경안드로이드애플리케이션은자바로개발되며 APK(Android Package) 라는패키지형태로배포가이루어진다. APK 파일은 ZIP 파일포맷의압축파일로서애플리케이션의권한과설정정보를가지고있는 AndroidManifest.xml 파일, 실제실행과직접적인관련이있는 DEX 파일, 이미지등의정보를담고있는리소스파일등으로구성되어있다. 안드로이드 classes.dex 파일은애플리케이션설치시 /data/dalvik-cache 경로에 data@app@ 패키지명 -1.apk@classes.dex 로보관이되며달빅가상머신에의해서실행이된다. 안드로이드에서는 JVM 이아닌달빅가상머신이사용된다. 이로인해 JAR 가아닌 DEX 라는새로운포맷을사용한다. < 표 2> APK 파일구조설명 구분 Assets META-INF res Android Manifest classes.dex resources.asrc < 자료 >: http://wikipedia.org 설명 Asset Manager 를통해검색할수있는애플리케이션의정보를포함하는디렉토리애플리케이션에대한전자서명과파일들의해시값등을포함하는디렉토리 resources.asrc 에서제외된정보를포함하는디렉토리 애플리케이션의이름, 버전, 액세스권한, 라이브러리파일, 추가적인 Manifest 파일에대한정보를가진파일, 이진파일이라텍스트에디터로볼수없고 AXMLPrinter2, Androguard 와같은프로그램을사용하여복호화하면볼수있음 안드로이드달빅가상머신에의해실행되는실행파일 이진 XML 과같이미리컴파일된리스스를포함하는파일 16 www.iitp.kr

ICT 기획시리즈 정보보안 < 표 3> 안드로이드플랫폼구조설명 구분 Applications Application Framework Libraries Android Runtime 설명 사용자들이일반적으로 APK 파일을설치해서사용하는애플리케이션이위치하는레이어로서전화, 문자, 연락처, 웹브라우저등기본적인애플리케이션들도여기에포함됨 Application Framework 에서제공하는 API 를사용해대부분의애플리케이션을개발하고있음 C/C++ 라이브러리의집합들로상위계층인 Application Framework 을통해서개발자들에게접근이허용됨 Android Runtime 은 Java 언어의핵심라이브러리 (Core Libraries) 와달빅가상머신으로구성되어있으며, 이달빅가상머신에의해애플리케이션들이실행됨 이름대로리눅스커널로서프로세스관리, 메모리관리, 네트워크스택등핵심시스템서 Linux Kernel 비스를포함하고있음 < 자료 >: http://source.android.com 안드로이드애플리케이션은 Applications and Framework Layer 에위치하며, 하부 레이어에서제공하는라이브러리함수들을사용하여애플리케이션들이개발되고있다. 이 러한개발을보다쉽게지원해주기위해제공되는것이바로안드로이드 SDK(Software Development Kit) 이다. 안드로이드애플리케이션은 ( 그림 2) 와같이 Activity, Service, Content Provider, Broadcast Receiver 등의특정기능을수행하는컴포넌트로이루어져있다. - Activity: 사용자에게보여주는인터페이스로메뉴나버튼을클릭하는것과같이특 정액션에의해전환되는화면으로서외부에서호출하는것이가능한데, 애플리케이 션 A 가권한만된다면애플리케이션 B 의 Activity 를부르는게가능한다. - Service: 모바일화면에보이지않고 Background 에서돌아가며실행되는것 으로서사용자가음악을들으며다른애 플리케이션을사용할수있는것이나사 용자에게보이진않으나네트워크를통 해데이터를전송하는것을의미한다. - Content Provider: 애플리케이션간의 데이터를공유하기위한하나의방법으 로서정보를얻어오거나권한이허용된 다면해당정보를조작할수도있다. 대 < 자료 >: http://www.androidtechies.com ( 그림 2) 안드로이드애플리케이션구성요소 17

주간기술동향 2015. 5. 13. 표적으로안드로이드시스템에서는사용자연락처정보에접근할수있는콘텐츠프로바이더를제공하는데, 적절한권한을가지고있는애플리케이션은이콘텐츠프로바이더에접근해사용자연락처정보를읽거나쓰는등의권한을수행할수있다. - Broadcast Receiver: 애플리케이션사용중시스템으로부터또는다른애플리케이션으로부터메시지를받아야할경우사용되는컴포넌트로서애플리케이션이다른애플리케이션이나시스템에알리고싶은상태또는메시지가있을때브로드캐스트를하는것도가능하다. 예를들면, 배터리부족, 화면꺼짐, 문자메시지수신, 전화수신, 파일다운로드완료등과같은알림수신이이에해당한다. 안드로이드애플리케이션에대한취약점을분석하기위한방법은크게정적분석과동적분석방법 2 가지로구분할수있다. 정적분석은프로그램을실행하지않고분석하는방법으로대부분의경우소스코드의형태를가지고분석을수행하지만컴파일된코드를가지고분석하는경우도있다. 그러나소스코드가없는애플리케이션그자체를분석하기위해서는목적코드를소스코드의형태로변환하는작업이기본적으로필요하게되며, 이러한전반적인과정을디컴파일이라고부르기도한다. 안드로이드애플리케이션의경우설치및실행파일인 APK 파일로부터디컴파일을통해정적분석을위한최종자바소스코드를추출할수있다. 자바언어로만들어져있는애플리케이션의경우바이트코드 (bytecode) 를쓰는설계특성상디컴파일과정도 C/C++ 등의언어에비해서는쉬운편이다. 자바소스코드가컴파일되면바이트코드로변환되게되는데, 이바이트코드의경우, 우리가잘알고있는어셈블리코드보다한결눈에잘들어오며, 이해하기도보다쉽게되어있기에소스코드레벨이아닌바이트코드레벨에서도정적분석이가능한수준이라고이야기할수있다. 물론, 디컴파일을수행하여만들어진소스코드의경우원본과 100% 동일한소스코드를얻어내는건불가능하지만, 실제원본소소코드에아주가깝게만들어지기때문에목적코드또는바이트코드를직접분석하는것보다분석속도를엄청나게높여줄수있는것이다. 디컴파일된소스코드를보게되면주석도없을뿐더러변수명, 함수명등도임의로변경되어있는경우가허다하다. 이렇게되는이유는컴파일러에의해실행파일로만들어질때최적화등으로인해코드중복이나코드재배치가일어나기때문에이러한현상이발생되는것이다. 18 www.iitp.kr

ICT 기획시리즈 정보보안 애플리케이션을분석하는또하나의방법이바로동적분석방법이다. 동적분석은실제애플리케이션을실행하면서분석하는방법으로실행과정에서발생되는다양한로그를비롯하여 CPU, 메모리, 네트워크상태등을종합적으로분석하며, 네트워크에서오고가는패킷을캡처하여분석하기도한다. 또한애플리케이션이사용하는파일이나데이터베이스또한분석대상에포함된다. 동적분석을위해서는애플리케이션을실행하기위한플랫폼이필요하다. 우선적으로실제디바이스를사용할수도있으며, 그렇지않은경우가상디바이스를사용할수도있다. 특히나악성애플리케이션을분석하는경우에는대체로가상디바이스를사용하는것이가장일반적이라고이야기할수있다. 가상디바이스에는여러가지종류가있으나안드로이드애플리케이션을분석하는데사용하기에편리한가상디바이스는구글안드로이드에서제공하는 SDK 및최근공식버전으로발표된안드로이드스튜디오에포함되어있는 AVD(Android Virtual Device) 와 GENYMOBILE 이란회사에서만든제니모션가상디바이스가일반적으로가장많이사용되고있다. AVD 는다양한환경을애뮬레이션할수있게해주고설치및운영이매우편리하다는장점을가지고있다. 그렇기때문에모바일악성애플리케이션분석에주로사용되고있다. 그러나실제안드로이드디바이스에비해속도가매우느리며, 3G/4G 환경이제공되지않는등실제환경과동일하지않다는단점이있다. 그렇기때문에실제분석환경에서는 AVD 와실제디바이스단말기를병행하여분석하는것이일반적이라할수있다. 실제안드로이드단말기를이용하여분석환경을구축하는것으로분석 PC 와안드로이드단말기를 USB 를통해연결하고, ADB(Android Debug Bridge) 를통해분석하는방법이다. 4. 안드로이드애플리케이션취약점분석안드로이드에서취약점은크게 2 가지로생각해볼수있다. 하나는개발자가애플리케이션을개발하면서보안을고려하지않은잘못된애플리케이션개발로인한취약점이고, 또다른하나는사용자로부터입력받는값에대한검증부재로인한취약점이라할수있다. 물론이두가지모두개발자가잘고려하여개발해야할사항이기는하다. 이러한경우공격자에의해익스플로잇 (Exploit) 을당할수있는부분이발생할가능성이매우높다. 여기서는안드로이드애플리케이션의공격노출 (Attack Surface) 에대해살펴보고, 해당 19

주간기술동향 2015. 5. 13. 공격포인트가취약한지여부를분석하는방법및도구들에대해서알아보고자한다. 안드로이드애플리케이션은필요한권한을 AndroidManifest.xml 파일에명시하고있다. 문자발송, 위치정보확인, 주소록접근등애플리케이션이구동되는데필요한권한을설정하게되어있으며, 사용자가애플리케이션설치시에필요한권한이표시된다. 필요이상의권한이주어지면애플리케이션이공격자에의해익스플로잇될경우악용될가능성이높기때문이다. 예를들어, 애플리케이션에문자메시지발송권한이있는데공격자가이애플리케이션에원격코드실행취약점을발견했을경우, 해당애플리케이션을공격해문자메시지를보내는것이가능해진다. 또한 APK 파일을추출해서애플리케이션에악성행위를하는코드를추가하여재배포하는리패키징공격을수행하는경우라면정상적인애플리케이션에권한이많이부여되어있을경우, 악성행위에필요한권한을추가적으로넣지않아도되므로공격에악용하기가매우쉽게된다. 이처럼여러방식으로악용될수있는소지가있으므로권한에대한점검이무엇보다중요한요소중의하나이다. 널리알려진바처럼자바는설계특성상쉽게디컴파일이가능하다. 안드로이드역시유사한설계에기반하고있으므로일단 DEX 파일만얻을수있으면자바소스코드수준으로디컴파일하는것이가능하다. 소스코드분석을통해애플리케이션의로직 ( 클라이언트로직, 서버와의프로토콜등 ) 을파악할수있고민감한정보가하드코딩되어있을경우이를얻을수있는등여러가지로공격자에의해악용당할가능성이매우크다. 또한소스코드분석을통해익스플로잇이가능한취약점이찾아질경우애플리케이션이공격당할수도있다. 설계상디컴파일을막기는어렵기때문에보안성을향상시키기위해서는소스코드점검을통해노출되더라도상관없는데이터와코드만남아있도록하고취약한부분들이없는지체크하는작업이필요하다. 또한디컴파일이되더라도분석을어렵게하기위해소스코드난독화를적용하는방법도있다. 민감한데이터노출과관련된취약점의대부분은개발자가애플리케이션을개발할때보안에대해충분히고려하지않을경우발생할수있는취약점으로, 애플리케이션설정파일이나로그파일에암호화없이하드코딩되어있는주요정보, 서버와통신시주요정보에대한비암호화등이해당된다. QL 데이터베이스에주요한정보를암호화하지않고그냥저장한다거나암복호화키를환경설정파일안에그대로저장하는등과같이보안을고려하지않고개발하는경우에이러한취약점이발생될수있기에이에대한점검이반 20 www.iitp.kr

ICT 기획시리즈 정보보안 드시필요하다. 이러한부분을점검하기위해만들어진특별한자동화된도구는없으며주로디컴파일에의한소스코드분석, 애뮬레이터등을이용하여실행후파일점검, Shark for root 같은패킷스니핑도구를이용한패킷분석등수동점검에의존하는경향이크다. 안드로이드애플리케이션은독립적인액티비티 (Activity) 들로이루어져서 A 라는애플리케이션이허용만한다면 B 라는애플리케이션에서 A 라는애플리케이션의액티비티를마음대로불러서사용할수있다. 예를들어, 이메일애플리케이션은새로운메일을보고, 쓰는액티비티등으로이루어져있으며, 카메라애플리케이션에서사진공유를위해 A 라는애플리케이션의메일을쓰는액티비티를이용할수있다. 이런작업은인텐트를통해이루어지게되며, 이때 Integer 나 String 같은값들이파라미터로사용되게되고, 이값을검증하지않을경우여기서취약점이발생할수있다. 서비스구성요소의경우, 사용자에게직접보이지않기때문에사용자입장에서는애플리케이션이실행되었는지여부를인지하기가상당히어렵다. 이러한특징을이용하여 CPU 또는메모리를과다하게사용하거나, 배터리를빨리소모하는등의 DoS(Denial of Service) 공격이가능하다. 또한악성애플리케이션의경우액티비티를포함하지않을경우메뉴상에아이콘이나타나지않기때문에사용자의입장에서는애플리케이션이설치되었는지조차도모를수있다. 악성기능을포함한애플리케이션에서는이러한특징을최대한활용하고있는경우가대부분이다. 최근에는설치된이후최초로실행하게되면, 그이후에는메뉴에서아이콘이사라지고백그라운드에서서비스형태로실행되는악성애플리케이션들이많이등장하고있는데, 이러한현상은바로안드로이드애플리케이션구성요소들이가지고있는이러한특징을최대한가장잘이용하고있기때문이라고이야기할수있다. 안드로이드는기본적으로보안을고려해서모든애플리케이션에대한실행을각각의샌드박스를이용하여실행하므로다른애플리케이션의자원에쉽게접근할수없는구조로되어있다. 그러나경우에따라서는애플리케이션상호간에자원을공유할필요성이존재하며, 이러한것을해결하기위해콘텐츠프로바이더를사용하면다른애플리케이션의정보에쉽게접근할수있게된다. 그러나이렇게다른애플리케이션의자원에대한접근이가능하다는것이취약점으로나타날수있다. 콘텐츠프로바이더가애플리케이션으로부터의요청에대해권한점검을하지만콘텐츠프로바이더가적용된애플리케이션이 21

주간기술동향 2015. 5. 13. 사용하는메모리영역에는다른애플리케이션들이쉽게접근이가능하기때문에권한점검등을우회하여메모리영역의데이터를변경하는등의공격을수행할수있다. 위에언급된몇가지내용중에서는안드로이드애플리케이션의취약점이라기보다는안드로이드시스템의구조적인문제라사실상고려대상은아니지만여기서는함께살펴보았다. 현재이런취약점을분석하고점검하기위한 Intent Fuzzer, Drozer 등다양한도구들이존재한다. Intent Fuzzer 는 Fuzzing 도구로모든종류의 Components 에동작하며, 랜덤한입력값을생성해서컴포넌트들에인텐트를보내크래시가일어나는지를검증할수있는도구다. 크래시가발생할경우추가적인분석이필요하다. Intent Fuzzer 가 Fuzzing 도구라면 Drozer 는인텐트점검, Content Provider SQL Injection 점검등을가능하게해주는 Android Security Assessment 도구로서 MWRInfosecurity 에서개발되었으며, 과거에는 Mercury 라는이름이었는데 2013 년에 Drozer 로바뀌었다. 추가적으로 Drozer 는익스플로잇을도와주는 exploit, shellcode, payload 와같은기능도가지고있다. 5. 결론본고에서는최근모바일악성애플리케이션에대한전반적인자료조사를통해현재까지모바일악성애플리케이션들이어떻게변화해왔는지를살펴보았으며, 향후예상되는악성애플리케이션들의형태도어느정도예상해볼수있는기회가되었다. 또한안드로이드애플리케이션에대한전반적구조를살펴볼수있었으며, 안드로이드애플리케이션취약점을분석하기위한환경에대해간략히알아보았다. 안드로이드환경에서어떤취약점들을가질수있는지, 그리고이를분석하기위한방법과도구들에대해서살펴보았다. Intent Fuzzer 나 Drozer 등을이용한보다심도있는취약점점검부분과실제애플리케이션을대상으로한 case study 를진행하지는못하였으나, 디컴파일을통한소스코드분석, 권한체크, 민감한데이터분석, 인텐트조작등여러취약점분석포인트들을살펴보았으며, 이런부분에대한점검을통해애플리케이션이취약한지를분석하고, 이를보완하여보다안전한프로그램을만들수있었으면하는바램이다. 현재안드로이드환경하의여러측면에서취약점을점검하기위한다양한연구들이학계에서진행되고있으며, 이런연구들에대한조사및분석, 그리고 Intent Fuzzer, Drozer 등과같은도구들을이용한심도있는분석이향후연구과제가될수있다. 22 www.iitp.kr

ICT 기획시리즈 정보보안 < 참고문헌 > [1] Q1 2014 Mobile Threat Report,http://www.f-secure.com/weblog/archives/00002699.html [2] 오진석, ios 탈옥을통한개인정보유출에관한연구, 충남대학교학위논문 ( 석사 ), 2013. 2. [3] Mobile Malware Evolution: An Overview Part 1, Kaspersky, http://securelist.com/analysis/malware-evolution-monthly/36109/mobile-malware-evolutionan-overview-part-1/ [4] Mobile Malware Evolution: Part 5, Kaspersky, http://securelist.com/analysis/malware-evolutionmonthly/36485/mobile-malware-evolution-part-5/ [5] 스마트폰보안위협및대응전략, KISA, http://www.tta.or.kr/data/reportdown.jsp?news_num=2717 [6] 스마트폰보급률 22% 돌파, 태블릿도급성장, 이버즈 (ebuzz), http://www.ebuzz.co.kr/news/article.html?id=20131216800017 [7] ASEC Report Vol.57, Ahnlab, 2014. 9, http://download.ahnlab.com/asecreport/asec_report_vol.57_kor.pdf [8] Mobile Malware Evolution: An Overview Part 4, Kaspersky, http://securelist.com/largeslider/36350/mobile-malware-evolution-an-overview-part-4/ [9] Mobile Malware Evolution: Part 6, Kaspersky, http://securelist.com/analysis/publications/36996/mobile-malware-evolution-part-6/ [10] Mobile Malware Evolution: 2013, Kaspersky, http://securelist.com/analysis/kasperskysecurity-bulletin/58335/mobile-malware-evolution-2013/ [11] Kaspersky Security Bulletin 2014 Overall statistics for 2014, Kaspersky, https://securelist.com/files/2014/12/kaspersky-security-bulletin-2014.-overall-statisticsfor-2014.pdf [12] 스마트폰소액결제악성코드주의!!, Ahnlab, 2013. 1. 11, http://asec.ahnlab.com/899 [13] 국내모바일환경에서의신규취약점발굴및분석방안연구, 한국인터넷진흥원, 2012. [14] 조정원ㆍ박병욱ㆍ남대현ㆍ김형범, 안드로이드모바일악성코드와모의해킹진단, 에이콘출판사, 2014. 5. 23