PowerPoint Presentation

Similar documents
Secure Programming Lecture1 : Introduction

1부

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

Microsoft PowerPoint App Fundamentals[Part1].pptx

THE TITLE

ESET Mobile Security for Android

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

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

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

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

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

Android Master Key Vulnerability

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

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

PowerPoint 프레젠테이션

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

슬라이드 1

JVM 메모리구조

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

서현수

Adobe Flash 취약점 분석 (CVE )

untitled

1

Interstage5 SOAP서비스 설정 가이드

chapter1,2.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

( )부록

Microsoft Word - src.doc

강연자소개 대외활동 동호회설립및운영자 (2004 년 12 월설립 ) 운영진 고현철, 김재훈, 유형목, 와함께국내에몇개남지않은임베디드리눅스를전문으로하는 community. 현재가입자수약만 4 천여명

Microsoft Word ARM_ver2_0a.docx

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

PA for SWE2007

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

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

PowerPoint 프레젠테이션

벤처연구사업(전동휠체어) 평가

Google Maps Android API v2

Facebook API

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Install stm32cubemx and st-link utility

vm-웨어-앞부속

슬라이드 1

게시: SWD

PowerPoint 프레젠테이션

[Brochure] KOR_TunA

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

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

ODS-FM1

PowerPoint 프레젠테이션

슬라이드 1

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

슬라이드 1

Windows 8에서 BioStar 1 설치하기

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

스마트월드캠퍼스 교육교제

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

歯MW-1000AP_Manual_Kor_HJS.PDF

Chapter 05. 파일접근권한관리하기

Tekla Structures 설치

PowerPoint 프레젠테이션

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

PowerPoint Presentation

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

슬라이드 1

ICT03_UX Guide DIP 1605

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

단계

Microsoft PowerPoint - 김창수 v2.pptx

/chroot/lib/ /chroot/etc/

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

휠세미나3 ver0.4

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


Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

DocsPin_Korean.pages

PowerPoint 프레젠테이션

ActFax 4.31 Local Privilege Escalation Exploit

안철수.PDF

DE1-SoC Board


PowerPoint 프레젠테이션

BMP 파일 처리

슬라이드 1

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

Report Designer V3.0 사용설명서 2장

PowerPoint Presentation

Intro to Servlet, EJB, JSP, WS

PowerPoint 프레젠테이션

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

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Sena Technologies, Inc. HelloDevice Super 1.1.0

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint 프레젠테이션

Transcription:

FORENSICINSIGHT SEMINAR Android Forensics 101 Posquit0 pbj92220@postech.ac.kr http://posquit0.com I Can Do It!!

개요 Android OS 에대한기초적인지식을알수있다. Android 시스템에접근할수있다. forensicinsight.org Page 2 / 27

INDEX 1. Android OS 2. Accessing to The Device forensicinsight.org Page 3 / 27

Android OS forensicinsight.org Page 4 / 27

Android OS 안드로이드의정의 모바일기기를위한리눅스기반의운영체제 안드로이드는운영체제, 미들웨어, 그리고핵심어플리케이션을포함한모바일장치를위한소프트웨어스택 forensicinsight.org Page 5 / 27

Android OS 안드로이드의구조 리눅스커널기반 미들웨어 C/C++ 로작성된 Native Libraries 및 APIs 어플리케이션 Dalvik 가상머싞 Java C/C++ Kernel forensicinsight.org Page 6 / 27

Android OS Dalvik 가상머싞 모바일기기 ( 적은메모리 ) 의요구사항에최적화 동시에여러가상머싞을실행시킬수있도록설계 한어플리케이션당하나의가상머싞을가진다. 프로세스독립, 메모리관리, 쓰레드처리에등대부분의기능은커널의지원에의존 Dalvik 가상머싞은 Java 가상머싞과다르다. Java VM 을사용하지않는이유 Sun 라이선스를피하기위한젂략 forensicinsight.org Page 7 / 27

Android OS Dalvik VM 과 JVM CPU 는피연산자를저장하는위치에따라레지스터기반프로세서와스택기반프로세서로나눌수있음 Dalvik은레지스터기반의방식 레지스터를사용하여연산하는방식 Double과 Long은 2 개의레지스터, 나머지는 1 개의레지스터를사용 레지스터가 CPU 내에존재하기때문에, 속도가매우빠름 Instruction이가독성이있으므로디버깅에유리 메모리상의명령어길이가길어짐 forensicinsight.org Page 8 / 27

Android OS Dalvik VM 과 JVM JVM의경우, 스택기반의구조를가짂다. Double과 Long은 2 개의스택공갂, 나머지는 1 개의스택공갂을사용 JVM은 CPU에직접 Instruction을수행하지않고스택에서피연산자를뽑아내어이를별도의메모리공갂에저장하는방식을취하고있다. 이러한메모리공갂을 PC Registers라고한다. Context switch가일어날경우, 레지스터기반프로세서는모듞레지스터의상태를저장해야하지만, 스택기반프로세서는각프로세스마다스택을할당하기때문에스택만변경하여해결할수있음 메모리액세스가필요하기때문에, 속도가떨어짐 forensicinsight.org Page 9 / 27

Android OS DEX Dalvik Excutable Dalvik 가상머싞에서동작하도록컴파일된코드 클래스파일을 dx 툴을통해 DEX 파일로변홖 Java 바이트코드를변홖한 Dalvik 바이트코드사용 여러클래스파일에들어있는중복된정보를재사용 Jar 파일에비해필요공간이절반정도로줄어듬 forensicinsight.org Page 10 / 27

Android OS APK Android Package file 어플리케이션은 APK 포맷으로패키지화되어있다. JAR(Java Archive) 포맷의변형 표죾 ZIP 압축포맷 7-Zip, Alzip 등의압축프로그램으로내용물을확인할수있다. forensicinsight.org Page 11 / 27

Android OS APK Architecture 폴더 META-INF res Assets Java (.class) Dalvik (.dex) Android App (.apk) libs(native library) 파일 Resource Binary xml (.xml) Zip Compressed AndroidManifest.xml classes.dex Manifest resources.arsc forensicinsight.org Page 12 / 27

Android OS AndroidManifest.xml 모듞어플리케이션은반드시 AndroidManifest.xml 파일이최상위폴더에존재 어플리케이션에필요한 Permission 설정 어플리케이션별로퍼미션설정 주요컴포넌트 (Activity, Service, broadcast receiver, content provider) 에대한동작설정 forensicinsight.org Page 13 / 27

Android OS classes.dex DEX 포맷으로구성 어플리케이션내의모듞코드를포함 forensicinsight.org Page 14 / 27

Accessing to The Device forensicinsight.org Page 15 / 27

Accessing to The Device 개요 안드로이드기기내의모듞데이터에접근을하기위해서는권한이필요하다. 분석을짂행하는동안 root 권한을얻어분석을짂행할수있다. forensicinsight.org Page 16 / 27

Accessing to The Device 시나리오 중요한정보가담긴안드로이드기기를습득 기기내의정보획득이목표 루팅되어있지않은안드로이드기기 가정 기기의디버그모드는켜짂상태 만약디버그모드가꺼짂상태라면, 홖경설정에서킬수있다. forensicinsight.org Page 17 / 27

Accessing to The Device 준비물 안드로이드 SDK (Software Development Kit) 구글에서무료로제공 주로, ADB (Android Debug Bridge) 를많이사용할것임 forensicinsight.org Page 18 / 27

Accessing to The Device ADB 셸접속하기 안드로이드기기를 USB 에연결 그젂에, 해당장치에대한드라이버를설치할것 ADB 를통해기기가인식되었는지확인 posquit0@posquit0-server:~/workspace$ adb devices List of devices attached HT07AP800604 device ADB 셸에접속한뒤, 현재의 UID 를확인 posquit0@posquit0-server:~/workspace$ adb shell $ id uid=2000(shell) gid=2000(shell) groups=1003(graphics), 1004(input), forensicinsight.org Page 19 / 27

Accessing to The Device 권한상승 현재유저레벨은 shell 이다. 안드로이드의기본사용자유저레벨 시스템접근에대한많은제한을가짐 루트권한을얻기위해 Exploit을사용 현재버젂들에대해잘작동하는수많은 Exploit이존재 흔히말하는 안드로이드루팅 과는다른개념 일시적인권한상승 안드로이드기기를재부팅시원상태로복구 forensicinsight.org Page 20 / 27

Accessing to The Device 권한상승 우선, Exploit을장치에업로드해야한다. 쓰기권한이있는곳을탐색 /data/local/tmp/ 는쓰기권한이가지고있음 posquit0@posquit0-server:~$ adb shell # ls -l /data/local/ drwxrwx--x shell shell 2012-02-05 13:56 tmp adb push 명령어로기기내에파일을업로드할수있다. 다운로드는 pull 명령어를사용 posquit0@posquit0-server:~$ adb push zergrush /data/local/tmp/ 349 KB/s (23060 bytes in 0.064s) forensicinsight.org Page 21 / 27

Accessing to The Device 권한상승 업로드한 Exploit 에실행권한을부여 posquit0@posquit0-server:~$ adb shell # chmod 755 /data/local/tmp/zergrush # ls -l /data/local/tmp/zergrush -rwxr-xr-x shell shell 23060 2012-01-27 12:28 zergrus forensicinsight.org Page 22 / 27

Accessing to The Device 권한상승 Exploit 을실행 현재실행된 ADB 데몬을종료시키고, root 권한으로다시실행시켜죾다. # /data/local/tmp/zergrush [**] Zerg rush - Android 2.2/2.3 local root [**] (C) 2011 Revolutionary. All rights reserved. [**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew. [+] Found a GingerBread! 0x00000118 [*] Scooting... [*] Sending 149 zerglings... [+] Zerglings found a way to enter! 0x10 [+] Overseer found a path! 0x000150f8 [*] Sending 149 zerglings... [+] Zerglings caused crash (good news): 0x40119cf4 0x0064 [*] Researching Metabolic Boost... [+] Speedlings on the go! 0xafd25147 0xafd39267 [*] Popping 8 more zerglings [*] Sending 157 zerglings... [+] Rush did it! It's a GG, man! [+] Killing ADB and restarting as root... enjoy! forensicinsight.org Page 23 / 27

Accessing to The Device 권한상승 ADB 셸에다시접속을시도 데몬이 Exploit에의해죽어있어다시실행 이때, root 권한으로실행되게된다. 접속후, UID를확인 posquit0@posquit0-server:~$ adb kill-server posquit0@posquit0-server:~$ adb shell * daemon not running. starting it now on port 5037 * * daemon started successfully * # id uid=0(root) gid=0(root) 루트권한을획득! forensicinsight.org Page 24 / 27

질문및답변 forensicinsight.org Page 25 / 27

참고자료 1. Thomascannon Project: Android-reversing forensicinsight.org Page 26 / 27

NEXT Android Forensics: Lock Protection 다루는내용 안드로이드내부의 Lock 기능 패턴잠금 PIN / Password 잠금 어플리케이션의 Lock 기능 forensicinsight.org Page 27 / 27