Microsoft PowerPoint - 김창수 v2.pptx

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

Secure Programming Lecture1 : Introduction

Microsoft PowerPoint - TUNA_Board_Tutorial.pptx

슬라이드 1

Chap 8 호스트시스템개발환경구성및 안드로이드개발환경구축

서현수

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

RK1 Board User Manual_ docx

PowerPoint 프레젠테이션

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

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

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

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

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

Secure Programming Lecture1 : Introduction

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

Tizen

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

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

Microsoft PowerPoint App Fundamentals[Part1].pptx

THE TITLE

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

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

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

2007백서-001-특집

(291)본문7

01....b

00목차

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

슬라이드 1

양정규 라온시큐리티

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

Microsoft PowerPoint - Mobile SW Platform And Service Talk pptx

PowerPoint Presentation

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

e-spider_제품표준제안서_160516

PowerPoint 프레젠테이션

쿠폰형_상품소개서

歯mp3사용설명서

untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

The Pocket Guide to TCP/IP Sockets: C Version

[Brochure] KOR_TunA

Ä¡¿ì³»ÁöÃÖÁ¾

SBR-100S User Manual

Mango220 Android How to compile and Transfer image to Target

PowerPoint 프레젠테이션

슬라이드 1

ScanDal/Privacy 안드로이드앱의 개인정보누출을잡아내는 정적분석기 서울대학교프로그래밍연구실김진영윤용호이광근

임베디드디바이스개발시커널로리눅스를많이사용하는데, 그때그커널과함께리눅스명령어도필요하게된다. 모든명령어를지원하기위해서는다수의개별적인패키지들이필요하다. 한프로젝트에서그많은명령어를한번에지원해준다면자원제약적인임베디드환경에서공간효율성이극대화될것이다. 상대적으로경량화된리눅스명령어세

PA for SWE2007

한백전자교육사업부 AndroX Studio 로배우는임베디드프로그래밍 - 한백전자 - 본문서의저작권은 한백전자에있으며, 허락없이무단복제및전제를불허합니다.

2/21

untitled

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint 프레젠테이션

J2EE & Web Services iSeminar

디지털 공학


자식농사웹완

chungo_story_2013.pdf

*중1부

2

Çѱ¹ÀÇ ¼º°øº¥Ã³µµÅ¥

...._



전반부-pdf

표1.4출력

003-p.ps

<4D F736F F F696E74202D20312E20B0E6C1A6C0FCB8C15F3136B3E2C7CFB9DDB1E25F325FC6ED28C0BA292E >

_

12월월간보고서내지편집3

중앙도서관소식지겨울내지33

에너지포커스 2007년 가을호


01_당선자공약_서울

인권문예대회_작품집4-2




목차

A°ø¸ðÀü ³»Áö1-¼öÁ¤

±¹³»°æÁ¦ º¹»ç1

¿¡³ÊÁö ÀÚ¿ø-Âü°í ³»Áö.PDF

전반부-pdf

뉴스레터6호

Microsoft PowerPoint 하반기 크레딧 전망_V3.pptx

50차 본문 최종

³»Áöc03âš

fsb9¿ù³»ÁöÃÖÁ¾Ãâ

¾ç¼º-¾÷¹«Æí¶÷-³»¿ëÃà¼Ò4

전도대회자료집

< DBAB4B9ABC3BB5FBAB9B9ABB0FCB8AEB8C5B4BABEF32D33B1C72E706466>

표1~4

<3344C7C1B8B0C6C320BFE4BEE02D E706466>

µ¶ÀÏÅëÀÏÁý1~2Æíq36£02Ð


양성내지b72뼈訪?303逞

Transcription:

Android Malicious Application Filtering System 세인트시큐리티김창수 kcs5287@stsc.com www.codeengn.com 2013 CodeEngn Conference 08

Contents Intro Android Malicious Application Malicious Application Analysis Automation System

Intro

01 Smartphone

02 Android VS ios

03 Android Architecture

Chapter 1 Android Malicious Application

01 Malware Trend

02 Infection Route

02 Infection Route 블랙마켓 크랙된어플리케이션으로사용자를유인 해커는자신의코드를어플리케이션에숨기고배포 인터넷카페및블로그 블랙마켓과비슷한수법 SMS 쿠폰및할인등의문자메시지로특정앱을다운받도록함 구글마켓 비교적허술한구글마켓의어플리케이션등록절차를이용 뒤늦게삭제조치되는경우가있으나, 그전에는피해가발생

03 Purpose 개인정보수집 금융정보탈취 소액결제를통한이득 봇넷 Just For Fun

04 Smishing SMS 를통해문자메시지를가로채는악성어플리케이션을다운로드받게한후, 소액결제를통한이득을획득하는방법

04 Smishing 소액결제업체 SMS 수집서버 배포서버 4. 8. 타겟인증번호기기의입력전화번호로소액결제요청 5. 인증번호전송 7. 인증번호확인 3. 악성앱다운로드및설치 6. 악성앱에의해인증번호가포함된 SMS 가서버에전송됨 2. URL 링크를통해악성앱배포서버에접근 1. URL 링크가포함된 SMS 전송 해커 타겟

Chapter 2 Malicious Application Analysis

01 Overview

02 AndroidManifest.xml 어플리케이션의큰틀을알수있음 패키지의이름, 권한정보, 액티비티및서비스의종류등을알아낼수있음 Apktool 을이용하여추출가능

02 AndroidManifest.xml

02 AndroidManifest.xml

03 Decompile APK 파일내의 dex 파일을 java 소스코드로변환 undx 와 dexdump, jd-gui 를이용 상세한분석이필요할때효과적 undx dexdump jd-gui dex jar java

04 ADB Android Debug Bridge 컴퓨터와안드로이드기기간의통신을도움 ADB

04 ADB shell : 안드로이드기기의 shell 에연결한다. install : 안드로이드기기에어플리케이션을설치한다. uninstall : 안드로이드기기에설치된어플리케이션을삭제한다. push : 안드로이드기기로파일을옮긴다. pull : 안드로이드기기에서파일을가져온다.

05 Logcat 단말에서발생하는로그를보여줌 어플리케이션개발시에디버깅툴로사용 로그의우선순위 Verbose < Debug < Info < Warning < Error < Fatal < Silent

05 Logcat

05 Logcat 어플리케이션로그이외에시스템이벤트를확인가능 adb logcat d events

06 TCP Dump ADB 를이용해 shell 로접속하여 TCP Dump 사용가능

07 Screenshot 내부의바이너리를이용하면다른조작없이스크린샷을찍을수있음 /system/bin/screencap

08 Kprintf 안드로이드커널소스를수정하거나커널함수를후킹하여커널메시지를출력토록함 adb shell cat /proc/kmsg

09 Kernel Modification 준비물 : Linux Machine, git-core, gnupg, sun-java6-jdk, flex, bison, gperf, libsdl-dev, libsd0- dev, libwxgtk2.6-dev, build-essential, zip, curl, libcurses5-dev, zlib1g-dev, x11proto-coredev, libreadline6-dev, libgl1-mesa-dev, tofrodos, libxml2-utils, xsltproc 기본적인안드로이드커널소스는 https://android.googlesource.com 에서받을수있음 휴대폰제조사별로각휴대폰에쓰인커널소스를공개 삼성전자 : http://opensource.samsung.com/ LG 전자 : http://www.lg.com/global/support/opensource/index HTC : http://htcdev.com/devcenter/downloads 팬택 : http://opensource.pantech.com/model/list.asp?category=mobile 모토로라 : http://sourceforge.net/motorola/

09 Kernel Modification Linux Machine 에소스코드다운로드 $ cd YOUR_DEV_DIRECTORY $ git clone https://android.googlesource.com/kernel/goldfish $ cd goldfish $ git branch -a $ git checkout t origin/android-goldfish-2.6.29 b goldfish 툴체인다운로드 $ cd YOUR_DEV_DIRECTORY $ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

09 Kernel Modification 컴파일 $ Make ARCH=arm CROSS_COMPILE={TOOL CHAIN DIRECTORY}/arm-eabi- distclean $ Make ARCH=arm CROSS_COMPILE={TOOL CHAIN DIRECTORY}/arm-eabi- goldfish-defconfig $ Make ARCH=arm CROSS_COMPILE={TOOL CHAIN DIRECTORY}/arm-eabi- zimage zimage 는 arch/arm/boot/zimage 에생성됨 emulator avd < 에뮬레이터이름 > -kernel < 빌드한 zimage>

10 Kernel Hooking Kprobes : 커널코드에원하는코드를동적으로추가할수있음 커널설정시 CONFIG_KPORBES 옵션을선택해야함 kprobe, jprobe, kretprobe 가포함됨

10 Kernel Hooking includes/linux/kprobes.h

10 Kernel Hooking kprobe_opcode_t *addr 커널함수의주소를직접입력하여후킹지점을설정 char *symbol_name 커널함수의이름을등록하여후킹지점을설정 kprobe_pre_handler_t pre_handler 후킹한함수가실행되기전에호출될함수를등록 kprobe_post_handler_t post_handler 후킹한함수가실행된후에호출될함수를등록

10 Kernel Hooking

10 Kernel Hooking Makefile 에소스추가후컴파일

10 Kernel Hooking Adb 를이용해모듈을기기로복사한후, insmod 명령을이용해커널모듈을설치 adb shell cat /proc/kmsg 를이용하면 printk 로출력되는내용을확인가능

10 Kernel Hooking jprobe 함수에전해지는파라미터를확인할수있음

10 Kernel Hooking kretprobe 함수의반환값을확인할수있음

Chapter 3 Automation System

01 Necessity 모든악성어플리케이션을일일이분석하기에는많은시간이필요함 24 시간감시가가능

02 System Component 정적분석 백신분석 행위분석

03 Procedure 1. 수집채널을통한샘플수집 2. 백신검사 3. 권한분석 4. API 추출 5. 행위분석

04 DEMO

Q & A

www.codeengn.com 2013 CodeEngn Conference 08 Thank You!