보안공학연구회

Similar documents
02( ) CSTV11-22.hwp

±èÇö¿í Ãâ·Â

05( ) CPLV12-04.hwp

°í¼®ÁÖ Ãâ·Â

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

DBPIA-NURIMEDIA

인문사회과학기술융합학회

< FBEC8B3BBB9AE2E6169>

6.24-9년 6월

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

#Ȳ¿ë¼®

untitled

PowerPoint 프레젠테이션

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

Output file

10 이지훈KICS hwp

DBPIA-NURIMEDIA

09È«¼®¿µ 5~152s

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

06_ÀÌÀçÈÆ¿Ü0926

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

歯목차45호.PDF

< FC1A4BAB8B9FDC7D D325FC3D6C1BEBABB2E687770>

04-다시_고속철도61~80p

<332EC0E5B3B2B0E62E687770>

Microsoft PowerPoint - XP Style

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

Microsoft Word - KSR2016S168

Microsoft PowerPoint - G3-2-박재우.pptx

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

À¯Çõ Ãâ·Â


À±½Â¿í Ãâ·Â

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D39C8A35F B3E C0AFB8C1B1E2BCFA20B5BFC7E2>

ESET Mobile Security for Android

<31325FB1E8B0E6BCBA2E687770>

11¹Ú´ö±Ô

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

UDP Flooding Attack 공격과 방어

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

½Éº´È¿ Ãâ·Â

Microsoft Word - KSR2012A021.doc

DBPIA-NURIMEDIA

보안공학연구회

歯3이화진

<31362DB1E8C7FDBFF82DC0FABFB9BBEA20B5B6B8B3BFB5C8ADC0C720B1B8C0FC20B8B6C4C9C6C32E687770>

○ 제2조 정의에서 기간통신역무의 정의와 EU의 전자커뮤니케이션서비스 정의의 차이점은

,.,..,....,, Abstract The importance of integrated design which tries to i

<30312DC1A4BAB8C5EBBDC5C7E0C1A4B9D7C1A4C3A52DC1A4BFB5C3B62E687770>

rv 브로슈어 국문

09오충원(613~623)

歯1.PDF

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

커뮤니케이션트랜드앤인사이트(견본)

강의지침서 작성 양식

우리들이 일반적으로 기호

ÀÌÀç¿ë Ãâ·Â

<30322DC8ABBBEFBFAD2E687770>

슬라이드 제목 없음

Voice Portal using Oracle 9i AS Wireless

디지털포렌식학회 논문양식

DBPIA-NURIMEDIA


歯김한석.PDF

Microsoft Word - ICT Report

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

1. 서론 1-1 연구 배경과 목적 1-2 연구 방법과 범위 2. 클라우드 게임 서비스 2-1 클라우드 게임 서비스의 정의 2-2 클라우드 게임 서비스의 특징 2-3 클라우드 게임 서비스의 시장 현황 2-4 클라우드 게임 서비스 사례 연구 2-5 클라우드 게임 서비스에


2011 <C560><B274><C5BC><B9AC><D3EC><D2B8> <CD5C><C885>.pdf

12È«±â¼±¿Ü339~370

Special Theme _ 스마트폰 정보보호 스마트폰은 기존 PC에서 가지고 있던 위협과 모바일 기기의 위협을 모두 포함하고 있다. 다시 말하면, 다양 한 기능이 추가된 만큼 기존 PC에서 나타났던 많은 위 협들이 그대로 상속되며, 신규 서비스 부가로 인해 신 규 위

04서종철fig.6(121~131)ok

4G LTE 97% VERIZON 4G LTE LTE(Long Term Evolution). Verizon 4G LTE 3G 10..,,,.. verizonwireless.koreansite. us.com/4g-lte. The MORE Everything 2, The

위해 사용된 기법에 대해 소개하고자 한다. 시각화와 자료구조를 동시에 활용하는 프로그램이 가지는 한계와 이를 극복하기 위한 시도들을 살펴봄으로서 소셜네트워크의 분석을 위한 접근 방안을 고찰해 보고자 한다. 2장에서는 실험에 사용된 인터넷 커뮤니티인 MLBPark 게시판

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

¹Ìµå¹Ì3Â÷Àμâ

Analysis of objective and error source of ski technical championship Jin Su Seok 1, Seoung ki Kang 1 *, Jae Hyung Lee 1, & Won Il Son 2 1 yong in Univ

<30382E20B1C7BCF8C0E720C6EDC1FD5FC3D6C1BEBABB2E687770>

160322_ADOP 상품 소개서_1.0

<BDBAB8B6C6AEC6F95FBDC3C0E55FC8AEB4EB5FC0CCC1D6BFCF5F E687770>

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

정진명 남재원 떠오르고 있다. 배달앱서비스는 소비자가 배달 앱서비스를 이용하여 배달음식점을 찾고 음식 을 주문하며, 대금을 결제까지 할 수 있는 서비 스를 말한다. 배달앱서비스는 간편한 음식 주문 과 바로결제 서비스를 바탕으로 전 연령층에서 빠르게 보급되고 있는 반면,

정보기술응용학회 발표

Buy one get one with discount promotional strategy

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

pdf 16..

한국성인에서초기황반변성질환과 연관된위험요인연구

Analyses the Contents of Points per a Game and the Difference among Weight Categories after the Revision of Greco-Roman Style Wrestling Rules Han-bong

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

08원재호( )

1 : (Sunmin Lee et al.: Design and Implementation of Indoor Location Recognition System based on Fingerprint and Random Forest)., [1][2]. GPS(Global P

45호_N스크린 추진과정과 주체별 서비스 전략 분석.hwp

???? 1

03±èÀçÈÖ¾ÈÁ¤ÅÂ

슬라이드 1

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

Microsoft Word - KSR2014S042

Transcription:

보안공학연구논문지 (Journal of Security Engineering), 제 10권 제 2호 2013년 4월 효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 전 철 1), 장준혁 2), 김봉재 3), 정진만 4), 조유근 5) A Robust Permission-Based Malicious Application Filtering Scheme for Effective Android Application Reviews Cheol Jeon 1), Joonhyouk Jang 2), Bongjae Kim 3), Jinman Jung 4), Yookun Cho 5) 요 약 안드로이드 플랫폼의 인기가 높아짐에 따라 안드로이드 마켓에 등록되는 애플리케이션의 수 또한 빠르게 증가하고 있다. 따라서 나날이 새롭게 등록되는 수많은 애플리케이션 중 악성 애플리케이션을 여과해내는 작업은 시간과 비용이 많이 드는 일이다. 이 문제를 다루기 위해 여러 퍼미션 기반 필터링 기법들이 제안되었고 이러한 기법들은 애플리케이션 검수시간을 상당히 단축시켰다. 그러나 이러한 필 터링기법은 협력 공격(collusion attack)을 통해 충분히 우회가 가능하다. 따라서 본 논문에서는 협력 공격까지 탐지할 수 있는 견고한 퍼미션 기반 필터링 기법을 제안한다. ClamAV[14]를 이용한 실험을 통해 기존에 제안된 기법보다 더 많은 악성 애플리케이션을 탐지 할 수 있음을 확인하였고 애플리케 이션 검수 시간도 기존 퍼미션 기반 필터링 기법과 비슷한 수준으로 줄일 수 있음을 확인하였다. 핵심어 : 모바일, 안드로이드, 보안, 퍼미션 기반 필터링 Abstract As the popularity of Android platform grows, the number of applications registered to market place also increases rapidly. Therefore, the work that classifies malicious applications from the set of newly registered applications every day is time-consuming and expensive. In order to address this problem, several permission-based filtering schemes have been proposed. As a result, the permission-based filtering schemes contribute significantly to reducing the time to review the applications. However, these filtering schemes can be defeated by collusion attacks. Therefore, we propose a robust permission-based filtering schemes that can detect collusion attacks. Through experiments using ClamAV, we verified that our proposed scheme can detect more malicious applications than the existing permission-based filtering schemes. Moreover, our scheme can reduce review time to the similar level of that of the existing permission-based filtering schemes. Keywords : Mobile, Android, Security, Permission-Based Filtering 접수일(2013년02월24일), 심사의뢰일(2013년02월25일), 심사완료일(1차:2013년03월04일, 2차:2013년03월18일) 게재일(2013년04월30일) 1 151-744 서울특별시 관악구 관악로 1, 서울대학교 컴퓨터공학부. email: cjeon@os.snu.ac.kr 2 151-744 서울특별시 관악구 관악로 1, 서울대학교 컴퓨터공학부. email: jhjang@os.snu.ac.kr 3 151-744 서울특별시 관악구 관악로 1, 서울대학교 컴퓨터공학부. email: bjkim@os.snu.ac.kr 4 151-744 서울특별시 관악구 관악로 1, 서울대학교 컴퓨터공학부. email: jmjung@os.snu.ac.kr 5 (교신저자) 151-744 서울특별시 관악구 관악로 1, 서울대학교 컴퓨터공학부. email: ykcho@os.snu.ac.kr * 본 연구는 문화체육관광부 및 한국저작권위원회의 2012년도 저작권 기술개발사업의 연구결과로 수행되었음 187

효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 1. 서론 현재 안드로이드는 제조사와 사용자들에게 가장 인기 있는 스마트폰 플랫폼이 되었다. 시장 조 사기관 IDC에 따르면 안드로이드의 시장 점유율은 75%이다[1]. 이렇게 안드로이드의 인기가 증가 함에 따라 안드로이드의 보안 매커니즘의 취약점들이 부각되기 시작했고 이를 악용하여 폰 내부에 저장된 사용자 정보에 접근하여 개인정보를 유출하는 악성 애플리케이션의 수도 증가하였다. 통계 자료에 따르면 안드로이드의 악성코드의 수는 2011년과 2012년 사이에 400% 증가한 것을 알 수 있다[2]. 안드로이드 보안 매커니즘은 샌드박스(sandbox), 애플리케이션 서명, 그리고 퍼미션으로 나눌 수 있다. 샌드박스는 안드로이드 시스템에서 각 애플리케이션에 유일한 사용자 아이디(UID)와 그 룹 아이디(GID)를 할당함으로써 구현된다. 따라서 기본적으로 안드로이드의 모든 애플리케이션은 서로의 자원에 접근할 수 없으며 각각 독립된 프로세스에서 고립되어 실행된다. 애플리케이션 서 명은 저작권자를 애플리케이션에 명시하기 위해 사용된다. 안드로이드 시스템은 모든 애플리케이 션이 개발자의 인증서에 의해서 서명되어지도록 요구하며 서명되지 않은 애플리케이션의 설치는 허용하지 않는다. 퍼미션 시스템은 안드로이드의 샌드박스 매커니즘에 의해 제한된 능력을 갖는 애플리케이션이 시스템이나 다른 애플리케이션이 제공하는 기능이나 자원을 사용할 수 있도록 허 가한다. 퍼미션 시스템은 일반적으로 설치시간(install-time) 퍼미션 시스템과 사용시간(time-of-use) 퍼미 션 시스템으로 나누어진다[3]. 설치시간 퍼미션 시스템은 애플리케이션이 설치될 때 애플리케이션 이 요구하는 모든 퍼미션을 사용자에 보여준다. 이 퍼미션 시스템 안에서 사용자는 오직 모든 퍼 미션을 허가하여 설치를 허용하거나 모두 거절하여 설치를 거부할 수만 있다. 이러한 특성은 all-or-nothing decision[4]이라고 불린다. 따라서 실행 중에 할당된 퍼미션을 동적으로 회수(revoke) 하는 것이 불가능하며 오직 애플리케이션의 삭제를 통해 회수 할 수 있다. 반면에 사용시간 퍼미 션 시스템에서 애플리케이션들은 실행 중에 필요한 퍼미션을 요청한다. 따라서 사용자는 동적으로 퍼미션을 허용하거나 거부 할 수 있다. 현존하는 여러 스마트폰 플랫폼들이 적용한 퍼미션 시스템 을 살펴보면 ios는 사용시간 퍼미션을 사용하고 있으며 안드로이드는 설치시간 퍼미션 시스템을 사용한다. 따라서 안드로이드는 설치시간 퍼미션 시스템이 가지는 특징을 그대로 따른다. 설치시간(install-time) 퍼미션 시스템의 대표적인 단점은 coarse-grain 퍼미션 문제와 all-or-nothing decision 문제가 있다. 하나의 퍼미션은 특정 시스템 API들의 집합을 나타낸다. 다루 는 집합의 크기에 따라서 그 집합의 크기가 작을 경우 fine-grain 퍼미션이라 하고 반대로 클 경우 coarse-grain 퍼미션이라고 한다. fine-grain 퍼미션은 다루는 API 집합의 크기가 작아 그것을 사용 하는 개발자의 부담이 크지만 필요 이상의 기능을 애플리케이션에 허가할 가능성이 적다는 장점을 갖는다. 반면에 coarse-grain 퍼미션의 경우에는 개발자의 부담은 적지만 필요 이상의 기능을 애플 188

보안공학연구논문지 (Journal of Security Engineering), 제 10권 제 2호 2013년 4월 리케이션에 부여할 가능성이 높다. 특히 사용자의 개인정보 접근을 다루는 퍼미션이 coarse-grain 하다면 해당 퍼미션을 사용하는 애플리케이션은 필요 이상의 권한을 가지게 되며 사용자는 해당 퍼미션을 사용하는 애플리케이션의 정확한 의도를 파악하기 어렵게 된다. 예를 들어 안드로이드 애플리케이션은 READ_PHONE_STATE 퍼미션만 할당 받으면 기본적인 장치정보 뿐만 아니라 민 감한(sensitive) 사용자 정보인 폰 번호, 유심(USIM)정보 등과 같은 중요한 폰 정보에 접근할 수 있 다. 따라서 애플리케이션이 이러한 coarse-grain 퍼미션을 요청할 경우 사용자는 그 사용 목적을 정확히 판단하기 어렵다. 또한 설치시간 퍼미션 시스템의 all-or-nothing decision 특성으로 인하여 사용자는 요청된 퍼미션의 일부만을 선택적으로 허용할 수 없고 오직 요구된 퍼미션을 모두 허가 하여 설치가 되도록 하거나 설치를 거부할 수밖에 없다. 안드로이드 퍼미션 시스템에 대한 전문적 인 이해와 지식이 없는 대부분의 사용자들은 원하는 기능을 사용하기 위해 설치를 허가하는 경우 가 많다. 설치시간(install-time) 퍼미션 시스템의 장점은 사용자 동의(user consent), 종심방어 (defense-in-depth), review triaging이 있다[3]. 첫째로, 애플리케이션에서 요구하는 모든 퍼미션은 사용자 동의가 있어야지만 사용이 가능하다. 만약 악의적인 행위가 의심이 될 경우 사용자는 요구 된 퍼미션의 사용을 거부할 수 있다. 둘째로, 설치된 애플리케이션의 취약점의 영향은 해당 애플리 케이션에 허가된 퍼미션으로 한정된다. 마지막으로 애플리케이션을 검수하는 시간을 줄이는데 도 움을 준다. 애플리케이션 검수자(reviewer)는 위험한(dangerous) 퍼미션을 사용하는 애플리케이션 만을 집중적으로 분석하면 되기 때문이다. Review triaging의 장점을 이용하여 애플리케이션 검수시간을 줄이기 위한 여러 연구들이 진행 되었다[5][6]. DroidRanger[6]는 마켓에 등록되는 애플리케이션에서 정상 애플리케이션과 악성 애플 리케이션을 빠르게 분류하기 위해 퍼미션 기반 분석을 수행한다. Kirin[5]은 하나의 위험 퍼미션만 으로는 악성 애플리케이션 인지 판단하기 어렵기 때문에 설치 시에 퍼미션 조합을 분석하여 악의 적인 행위를 할 가능성에 대하여 좀 더 풍부한 정보를 사용자에게 제공해준다. 실례로, FakePlayer[7]는 할증 요금 번호(premium rate number)로 사용자 동의 없이 문자 메시지 보내 결 과적으로 해커의 계좌로 돈이 전달되도록 만든다. 이러한 종류의 악성 애플리케이션들은 문자 메 시지를 보내고 수신된 문자 메시지를 감시하여 결제정보를 알리는 메시지를 삭제해야 하기 때문에 공통적으로 SEND_SMS와 RECEIVE_SMS 퍼미션을 요구한다. 따라서 악성 애플리케이션들이 주로 사용하는 퍼미션의 조합을 찾아내는 것은 정상 애플리케이션과 악성 애플리케이션을 분류하는데 도움을 주어 coarse-grain 퍼미션에 따른 판단 문제를 해결하는데 도움을 줄 수 있다. 하지만 이러 한 퍼미션 기반의 애플리케이션 분류기법은 하나의 목적을 달성하기 위해 기능을 분리하여 협력적 으로 동작하는 애플리케이션을 탐지할 수 없다. 따라서 악성 애플리케이션 개발자가 협력적으로 동작하는 애플리케이션을 개발한다면 퍼미션 기반 필터링 기법을 우회할 수 있다. 본 논문에서는 기존 퍼미션 기반 필터링 기법을 강화하여 협력적으로 동작하는 악성 애플리케 이션까지 탐지할 수 있는 향상된 퍼미션 기반 필터링 기법을 제안한다. 189

효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 2. 관련연구 2.1 퍼미션 시스템 퍼미션 시스템은 바라보는 관점에 따라서 크게 2가지 형태로 분류되어진다. 하나는 퍼미션이 허 가되는 시점에 따라서 설치시간(install-time) 시스템과 사용시간(time-of-use)으로 나누는 것이고 또 다른 하나는 해당 퍼미션이 관리하는 기능의 수준에 따라서 시스템 수준(system-level) 퍼미션과 애플리케이션 수준 퍼미션으로 나누는 것이다. Felt[3]는 설치시간 퍼미션 시스템과 사용시간 퍼미션 시스템에 대해서 설명을 하고 설치시간 퍼 미션 시스템을 적용한 안드로이드와 크롬(Chrome) 브라우저에 대한 실험을 통해 퍼미션 시스템의 효과를 증명하였다. Stowaway[8]는 애플리케이션을 분석하여 애플리케이션이 요구한 권한이 다루 고 있는 API와 실제 사용 중인 API를 비교하였다. 그 결과 940개의 애플리케이션 중 1/3이상의 애플리케이션이 필요이상의 권한을 요구한다는 사실을 파악하였다. Burns[12]는 애플리케이션 수준 퍼미션의 사용을 분석하였고 퍼미션을 정의하는 것 대신에 인텐 트 필터(intent filter)를 사용하는 것과 같은 개발자들의 실수를 지적하였다. 2.2 퍼미션 기반 필터링 Kirin[5]에서는 그림 1과 같이 애플리케이션이 설치될 때 해당 애플리케이션이 요구하는 퍼미션 의 조합을 검사하여 그 위험을 사용자에게 알리는 시스템을 제안하였다. [그림 1] Kirin 구조 [Fig. 1] The structure of Kirin DroidRanger[6]는 그림 2와 같이 정상 애플리케이션과 악성 애플리케이션을 빠르고 정확하게 분 류할 수 있는 기법을 제안하였다. DroidRanger에서는 1차 필터링 기법으로 퍼미션 기반 필터링을 수행한다. 190

보안공학연구논문지 (Journal of Security Engineering), 제 10권 제 2호 2013년 4월 [그림 2] DroidRanger 동작과정 [Fig. 2] The review process of DroidRanger 2.3 데이터 흐름 분석 퍼미션에 대한 잘못된 이해와 사용은 전화번호, GPS 위치정보와 같은 민감한(sensitive) 정보가 다른 애플리케이션 컴포넌트로 흘러갈 수 있는 가능성을 만들기 때문에 데이터 흐름을 추적하는 연구도 진행되었다. ScanDroid[9]는 최초의 안드로이드 애플리케이션 분석 툴이다. 애플리케이션의 매니페스트 (manifest)파일을 분석하여 애플리케이션 간의 데이터 흐름을 정적으로 분석하였다. 데이터 흐름 분석은 컨텐트 프로바이더(content provider)를 중심으로 이루어졌고 인텐트, 엑티비티(activity), 그리고 서비스와 같은 컴포넌트를 통해 데이터의 이동이 일어날 수 있다는 문제를 제기하였다. ComDroid[10]는 ScanDroid에서 다루지 않았던 인텐트를 중심으로 한 데이터 흐름을 분석하였다. 3. 악성 애플리케이션의 퍼미션 사용 분석 안드로이드에서 정의된 퍼미션들은 normal, dangerous, signature, signature or system 이렇게 4 가지 범주로 분류될 수 있다. 대부분의 퍼미션들은 normal, dangerous 범주 안에 속한다. normal 퍼미션의 경우는 설치 시 사용자에게 묻지 않고 자동적으로 할당된다. 반면에 dangerous 퍼미션일 경우에는 설치 시에 사용자에게 허가를 요청하게 된다. 그 이유는 해당 퍼미션을 얻을 경우 사용 자 정보에 접근을 하거나 시스템 무결성을 해칠 수 있기 때문이다. 따라서 대부분의 안드로이드 악성 어플리케이션은 주소록, GPS, IMEI(International Mobile Equipment Identity)등과 같은 민감 한(sensitive) 정보에 접근하기 위해 dangerous 퍼미션들을 요구하는 경향이 있다. 따라서 악성 애 플리케이션들이 요구하는 퍼미션의 종류와 빈도를 분석하여 선호하는 퍼미션을 찾는 일은 의미 있 는 일이다. 그리고 dangerous 퍼미션을 많이 사용 할수록 악성 애플리케이션일 가능성이 높아지기 때문이다. 추가적으로 악성 애플리케이션에서 자주 사용하는 퍼미션의 조합을 분석한다면 애플리 191

효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 케이션의 동작에 대한 더 많은 힌트를 얻을 수 있다. 이렇게 분석된 위험 퍼미션과 퍼미션 조합 정보는 애플리케이션이 설치될 때 좀 더 상세한 정보를 사용자에게 알려줄 수 있을 뿐만 아니라 마켓에서의 애플리케이션 검수 시간을 줄이는데 도움을 줄 수 있다. [그림 3] 퍼미션 사용빈도 [Fig. 3] The usage frequency of permissions Android Malware Genome Project[11]로부터 배포받은 1260개의 악성 애플리케이션 샘플을 대 상으로 퍼미션의 사용빈도와 조합을 분석하였다. 실험을 통해 총 116개의 퍼미션이 사용됨을 확인 하였다. 그림 3은 악성 애플리케이션에서 자주 사용되는 퍼미션 30개를 사용빈도가 높은 순으로 나열한 것이다. 그림 3의 분석결과에 따르면 악성 애플리케이션에서 많이 사용되는 퍼미션은 INTERNET이다. INTERNET 퍼미션을 획득한 애플리케이션은 외부와의 통신을 아무런 제약 없이 수행할 수 있다. 실험을 통해 대부분의 악성 애플리케이션은 외부와 통신을 필요로 한다는 사실을 알 수 있다. 그리고 기존에 존재하는 악성 프로그램의 사례를 보았을 때 외부의 명령을 받아서 동 작하거나 폰 내부에서 수집한 정보를 외부로 유출하는 두 가지 형태의 악성 행위를 추측할 수 있 다. 그 다음으로 많이 사용되는 퍼미션인 READ_PHONE_STATE는 장치정보, 폰 번호와 같은 민 감한 정보를 접근할 수 있도록 허용한다. 이를 통해 대부분의 악성 애플리케이션은 폰 정보를 수 집한다는 것을 알 수 있다. 앞서 살펴본 INTERNET과 READ_PHONE_STATE 퍼미션을 요구하는 애플리케이션은 충분히 폰의 민감한 정보를 수집하고 외부로 유출할 수 있는 가능성이 있다. 따라 서 악성 애플리케이션들의 퍼미션 조합을 분석하여 수집한 정보는 애플리케이션의 악성행위를 예 측 하는데 도움을 줄 수 있으며 추가적으로 애플리케이션이 설치될 때 애플리케이션의 행위에 대 한 좀 더 상세한 정보를 사용자에게 제공하여 설치를 허용할지 아니면 취소할지에 대한 판단에 도 192

보안공학연구논문지 (Journal of Security Engineering), 제 10권 제 2호 2013년 4월 움을 줄 수 있다. 표 1은 실험결과 악성 애플리케이션에서 많이 사용되는 퍼미션 조합 6개를 나타낸다. 표 1의 실 험 결과를 보았을 때 안드로이드 악성 애플리케이션은 주로 외부와의 통신 매체로 인터넷과 문자 메시지를 사용하며 폰 상태 정보와 위치 정보를 주로 수집함을 알 수 있다. [표 1] 악성 애플리케이션 퍼미션 조합 [Table 1] The permission combinations of malicious applications 퍼미션 조합 개수 INTERNET + READ_PHONE_STATE 1175 SEND_SMS + READ_PHONE_STATE 525 INTERNET + ACCESS_FINE_LOCATION + ACCESS_COARSE_LOCATION SEND_SMS + ACCESS_FINE_LOCATION + ACCESS_COARSE_LOCATION INTERNET + SEND_SMS + READ_PHONE_STATE INTERNET + SEND_SMS + ACCESS_FINE_LOCATION + ACCESS_COARSE_LOCATION 550 173 307 120 4. 기존 퍼미션 조합 기반 필터링 우회 시나리오 표 1을 통해서 보여지 듯이 대부분의 악성 애플리케이션들은 통신 매체를 관리하는 싱크(sink) 퍼미션과 민감한 정보에 접근할 수 있는 소스(source) 퍼미션으로 구성되어 있음을 알 수 있다. 따 라서 애플리케이션이 싱크 퍼미션과 소스 퍼미션의 조합으로 이루어져 있다면 악의적인 행위를 할 가능성이 높기 때문에 따로 분류하여 집중적으로 검수 할 필요가 있다. 하지만 이러한 퍼미션 조 합을 이용한 필터링은 협력적으로 동작하는 악성 애플리케이션을 탐지할 수 없다. 예를 들어, 폰 번호를 노출하려는 악성 애플리케이션을 작성할 때 INTERNET 퍼미션을 가지고 외부로 노출하는 기능을 담당하는 애플리케이션과 READ_PHONE_STATE 퍼미션을 가지고 폰 정보에 접근하는 애 플리케이션을 각각 개발하여 2개의 애플리케이션이 콘텐트 프로바이더(content provider)나 파일등 의 매개로 하여 폰 정보를 노출하도록 한다면 기존 퍼미션 기반 필터링을 우회할 수 있다. 이러한 공격 방식은 응용 수준 권한 상승(application-level privilege escalation) 공격 중 하나이며 협력 공 격(collusion attack)이라고 불린다[13]. 협력 공격은 민감한 정보에 접근할 수 있는 기능을 가진 소스(source) 애플리케이션과 외부와 통신 할 수 있는 기능을 가진 싱크(sink) 애플리케이션이 서로 긴밀하게 통신하면서 동작하게 함으 로써 이루어진다. 안드로이드 상에서 협력 공격은 두 가지 형태로 나타날 수 있다. 첫 번째 형태는 소스 애플리케이션이 직접 싱크 애플리케이션에 접근하여 정보를 전달하는 경우이다. 그림 4를 살 193

효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 펴보면 소스 애플리케이션은 전화번호, IMEI(International Mobile Equipment Identity), GPS와 같 은 민감한 정보를 싱크 애플리케이션의 콘텐트 프로바이더에 저장을 하고 싱크 애플리케이션은 주 기적으로 이를 확인하여 외부로 유출한다. 두 번째 형태는 소스와 싱크 애플리케이션이 기존에 설 치된 애플리케이션의 취약한 인터페이스나 시스템 인터페이스를 매개로하여 간접적으로 통신하는 경우이다. 그림 5에서 보여지 듯이 두 번째 형태의 공격은 최소 3개의 애플리케이션이 컴포넌트 통신을 하여 정보를 노출한다. 첫 번째 공격형태와 차이점은 소스 애플리케이션은 안드로이드 패 키지 매니저(PackageManager)를 통해 사용가능한 콘텐트 프로바이더 리스트를 받아 보안이 취약 한 콘텐트 프로바이더 찾거나 안드로이드 시스템에서 제공하는 전화번호부(contact), 브라우저 히스 토리와 같은 시스템 컨텐트 프로바이더를 중간 매개체로 이용하여 정보를 저장한다는 점이다. 따 라서 필터링을 할 때 애플리케이션 간의 관계까지 고려하여 협력 공격(collusion attack)의 가능성 을 확인해야 한다. [그림 4] 협력공격 시나리오 1 [Fig. 4] Collusion attack scenario 1 194 [그림 5] 협력공격 시나리오 2 [Fig. 5] Collusion attack scenario 2

보안공학연구논문지 (Journal of Security Engineering), 제 10권 제 2호 2013년 4월 5. 강화된 퍼미션 기반 필터링 기법 4장에서 살펴본 협력 애플리케이션을 이용한 권한상승 공격은 기존에 제안된 퍼미션 기반 필터 링 기법을 충분히 우회할 수 있음을 확인하였다. 따라서 본 논문에서 제안하는 필터링 기법은 기 존 필터링 기법에 더하여 권한 상승 공격을 할 가능성이 있는 협력 애플리케이션까지 탐지한다. 즉, 애플리케이션에서 요구하는 퍼미션들의 조합 뿐만 아니라 콘텐트 프로바이더를 중심으로한 애 플리케이션 간의 관계까지 검사한다. 제안된 기법에서는 분석된 관계정보를 저장하고 검색하기 위 해 애플리케이션-관계 그래프(Application-Relation Graph)를 생성한다. 애플리케이션 관계 그래프 는 빠른 접근과 갱신을 위해 메모리상에 캐쉬된 상태로 유지되며 주기적으로 데이터베이스에 저장 된다. 그리고 퍼미션을 사용하여 콘텐트 프로바이더를 보호하지 않은 애플리케이션은 중간 매개체 로 이용될 가능성이 높기 때문에 엄격하게 통제된다. 따라서 개발자는 반드시 퍼미션을 사용하여 콘텐트 프로바이더를 보호해야만 필터링 과정을 통과할 수 있다. 6. 실험결과 및 분석 AMD E-450 듀얼코어 CPU 1.65 GHz, 메모리 4GB의 시스템에 운영제체 ubuntu 12.04 64bit를 설치하여 실험을 진행 하였다. 실험은 악성 애플리케이션 500개와 정상 애플리케이션 500개를 대 상으로 진행하였다. 먼저 제안한 필터링 기법의 성능을 측정하였다. 성능을 비교하기 위해 아래의 3가지 경우로 나누어 실험을 진행하였다. ClamAV만을 사용 ClamAV + 기존 퍼미션기반 필터링 ClamAV + 제안된 퍼미션기반 필터링 그림 6에서 ClamAV[14]만을 가지고 1000개의 샘플에 대해서 검사를 수행하였을 때 388.304ms 시간이 소요되었다. 반면에 기존 퍼미션 기반 필터링(PBF)을 추가적으로 사용하였을 경우에는 342.787ms의 시간이 소요되었다. 그리고 본 논문에서 제안한 기법을 적용하였을 때 348.224ms가 소요되었다. 필터링 시간만을 가지고서 비교하였을 때는 제안 기법이 5.437ms가 더 소요되었다. 그 이유는 더 많은 악성 애플리케이션을 필터링 하였기 때문에 시간이 더 걸린 것이다. 다음으로 탐지율을 측정하였다. 성능 실험과 동일한 3가지 경우로 나누어 실험을 진행하였다. 그림 7은 그 실험 결과를 나타낸다. ClamAV만을 사용하였을 때는 탐지율이 68.6%이지만 기존 미 션 기반 필터링 기법을 사용하였을 때는 95.4%, 그리고 제안된 퍼미션 기반 필터링 기법을 사용하 였을 때는 98.4%의 악성 애플리케이션을 탐지 할 수 있었다. 제안기법이 탐지율이 가장 높은 이유 195

효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 는 기존 기법에서는 탐지할 수 없었던 협력 공격(collusion attack)의 위험성까지 찾아낼 수 있었기 때문이다. 탐지하지 못한 나머지 2%는 알려지지 않은 악성 애플리케이션이거나 협력 공격(collusion attack)을 할 때 콘텐트 프로바이더 이외에도 파일, 액티비티(activity)등의 다른 인터페이스를 이용 한다. 이 부분을 다루기 위해서는 static analysis를 통한 추가적인 분석을 수행할 필요가 있다. [그림 6] 성능측정 [Fig. 6] Performance measurement [그림 7] 탐지율 [Fig. 7] Detection rate 7. 결론 본 논문에서는 기존 퍼미션 기반 필터링 기법을 강화하여 협력 공격(collusion attack)까지 탐지 할 수 있는 퍼미션 기반 필터링 기법을 제안하였다. ClamAV를 이용한 실험 결과는 기존 퍼미션 기반 필터링 기법보다 본 논문에서 제안한 기법이 기존 기법과 비슷한 속도로 더 많은 악성 애플 리케이션을 분류할 수 있음을 확인하였다. 이 제안기법은 애플리케이션 마켓에서 새로 등록되어지 196

보안공학연구논문지 (Journal of Security Engineering), 제 10권 제 2호 2013년 4월 는 애플리케이션 중에서 빠르고 정확하게 악성 애플리케이션을 분류할 필요가 있을 때 사용되어질 수 있으며 또한 안드로이드용 안티바이러스 소프트웨어 성능 향상을 위해 사용되어질 수도 있다. 그러나 false positive의 비율도 높을 수 있기 때문에 이를 줄이기 위한 추가 연구를 진행할 예정이 다. 참고문헌 [Reference] [1] IDC: Android Market Share Reached 75% Worldwide In Q3 2012. http://techcrunch.com/2012/11/02/idc-android-market-share-reached-75-worldwide-in-q3-2012/, (2012). [2] Malicious Mobile Threats Report 2010/2011. http://www.juniper.net/us/en/local/pdf/whitepapers/2000415-en.pdf, (2012). [3] A. P. Felt, K. Greenwood, and D. Wagner. The effectiveness of application permissions. in Proceedings of the USENIX Conference on Web Application Development, (2011). [4] M. Nauman, S. Khan, and X. Zhang. Apex: extending android permission model and enforcement with user-defined runtime constraints. in Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security, (2010). [5] W. Enck, M. Ongtang, and P. McDaniel. On lightweight mobile phone application certification. in Proceedings of the 16th ACM conference on Computer and communications security, (2009). [6] Y. Zhou, Z. Wang, W. Zhou, and X. Jiang. Hey, you, get off of my market: Detecting malicious apps in official and alternative Android markets. in Proceedings of the 19th Annual Network and Distributed System Security Symposium (NDSS), (2012). [7] First Google Android SMS Trojan Found, Researchers Report. http://www.eweek.com/c/a/security/first-google-android-sms-trojan-found-researchers-report-116059/, (2012). [8] A. P. Felt, E. Chin, S. Hanna, D. Song, and D. Wagner. Android permissions demystified. in Proceedings of the 18th ACM conference on Computer and communications security, (2011). [9] A. P. Fuchs, A. Chaudhuri, and J. S. Foster. SCanDroid: Automated security certification of Android applications. University of Maryland, (2009). [10] E. Chin, A. P. Felt, K. Greenwood, and D. Wagner. Analyzing inter-application communication in Android. in Proceedings of the 9th international conference on Mobile systems, applications, and services, (2011). [11] Android Malware Genome Project. http://www.malgenomeproject.org/. [12] J. Burns. Mobile application security on Android. Blackhat, (2009). [13] S. Bugiel, L. Davi, A. Dmitrienko, T. Fischer, and A. R. Sadeghi. XManDroid: A new Android evolution to mitigate privilege escalation attacks. Technical Report TR-2011-04, Technische Universität Darmstadt, (2011). [14] Clam AntiVirus. http://www.juniper.net/us/en/local/pdf/whitepapers/2000415-en.pdf, (2012). 197

효율적인 안드로이드 애플리케이션 검수를 위한 견고한 퍼미션 기반 악성 애플리케이션 여과 기법 저자 소개 전 철 (Cheol Jeon) 2011년 2월 : 명지대학교 컴퓨터공학과 학사 2011년 9월 ~ 현재 : 서울대학교 컴퓨터공학부 석사과정 관심분야 : 운영체제, 컴퓨터 보안, 임베디드 시스템 장준혁 (JoonHyouk Jang) 2009년 2월 : 서울대학교 컴퓨터공학부 학사 2010년 3월 ~ 현재 : 서울대학교 컴퓨터공학부 박사과정 관심분야 : 운영체제, 컴퓨터 보안, 임베디드 시스템 김봉재 (Bongjae Kim) 2008년 2월 : 광운대학교 컴퓨터공학부 학사 2008년 3월 ~ 현재 : 서울대학교 컴퓨터공학부 박사과정(수료) 관심분야 : 시스템 및 운영체제, 센서 운영 체제, 임베디드 시스템, 파일시스템 정진만 (Jinman Jung) 2008년 2월 : 서울대학교 컴퓨터공학부 학사 2008년 3월 ~ 현재 : 서울대학교 컴퓨터공학부 박사과정(수료) 관심분야 : 운영체제, 무선 네트워크, 임베디드 시스템, 시스템 보안 조유근 (Yookun Cho) 1971년 2월 : 서울대학교 학사 1978년 2월 : 미국 미네소타 대학교 컴퓨터 과학과 박사 1985년 : 미국 미네소타 대학교 방문교수 2001년 : 한국 정보과학회 회장 1979년 ~ 현재 : 서울대학교 컴퓨터공학부 교수 관심분야 : 운영체제, 알고리즘, 시스템 보안, 결함 허용 컴퓨팅 198