SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
안드로이드 L-Preview 보안 아키텍처 및 설비 2014. 9. 29. kandroid.org 운영자 양정수 (yangjeongsoo@gmail.com)
0 
200 
400 
600 
800 
1000 
1200 
간단한 자기 소개 및 DEVIEW 발표를 하는 이유? 
DEVIEW : 이경민 & 양정수 
MinMax14th Android New Runtime : ART 
1.ART Overview 
2.ART AOT Compiler 
3.ART Loader 
4.ART Fast Memory Allocation 
5.ART Garbage Collector Improvement 
6.Android Developer Backstage Episode 10,11 Review
오늘 발표내용에서 담고자 하는 내용 요약 
몇 가지 경험에 대한 공유 
1.안드로이드 플랫폼 Porting : Kandroid ADP 
2.구글 GMS 분석 : MITM(Man In The Middle) Attack L-Preview 이전의 보안 설비 
1.보안 설비 히스토리 
2.메모리 취약성 개선 : Facebook LinearAlloc Issue & ASLR 
3.안드로이드 기본 보안모델 강화 : SELinux L-Preview의 신규 보안 설비 
1.Sandbox 모델의 변화 : Process Isolation 
2.Android Work : 삼성 KNOX란? 
3.Malware 자동 탐지 서비스 : 보안 서비스 결론 : 향후 안드로이드 보안의 미래는?
안드로이드 플랫폼 Porting 세 번의 서로 다른 경험 
2008년 10월 11일 
2009년 1월 12일 
2010년 12월 7일 
출처 
•http://www.kandroid.org/board/board.php?board=AndroidPorting&page=2&command=body&no=39 
•http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=22 
•http://www.kandroid.org/board/board.php?board=HTCDream&command=body&no=123
안드로이드 플랫폼 Porting Kandroid ADP(칸드로이드 개발자 폰)
안드로이드 플랫폼 Porting 
Kandroid ADP(칸드로이드 개발자 폰)
안드로이드 플랫폼 Porting Kandroid ADP 어떻게 만들었는가? Phone은 어떻게 만들어지는가? 
AOSP 
Linux 
HAL 
GMS 
AOSP Ref HAL 
AOSP 
Linux 
AOSP Ref HAL 
AOSP 
Linux 
HAL 
GMS 
GMS
1.구글에 공식 또는 비공식 요청한다. 
2.구글 또는 OHA 멤버사에서 비공식적으로 입수한다. 
3.실제 디바이스에서 추출한다. 
1.루팅(Rooting) 
2.cp /system/app/Gmail.odex . cp /system/app/Gmail.apk . baksmali -d ./framework -x Gmail.odex => ./out smali -o classes.dex out cp classes.dex zip -r -q Gmail.apk classes.dex 
안드로이드 플랫폼 Porting Kandroid ADP 어떻게 만들었는가? GMS는 어떻게 구할 수 있는가?
•구글은 왜 GMS를 포함한 에뮬레이터를 배포하지 않는가? 
•Smali/Baksmali 사용처는? 
•폰(Phone)이란 무엇인가? H/W가 없는 S/W 폰, 가능한가? 
안드로이드 플랫폼 Porting Kandroid ADP 작업에서 생길 몇 가지 질문
APPLICATIONS 
Browser 
IM 
SMS/MMS 
Dialer 
Alarm 
… 
Calendar 
Email 
Voice Dial 
Contacts 
APPLICATION FRAMEWORK 
Activity Manager 
Package Manager 
Window Manager 
Telephony Manager 
Content 
Provider 
Resource 
Manager 
View System 
Location Manager 
Notification Manager 
… 
LIBRARIES 
Surface Manager 
ANDROID RUNTIME 
Dalvik Virtual Machine 
Core Libraries 
LINUX KERNEL 
Display Driver 
Camera Driver 
Bluetooth Driver 
Shared Memory Driver 
Binder (IPC) 
Driver 
USB Driver 
Keypad Driver 
WiFi Driver 
Audio Driver 
Power Management 
OpenGL|ES 
SGL 
Media Framework 
FreeType 
Libc 
SQLite 
WebKit 
… 
GMS (Apps) 
Market 
Gmail 
Talk 
… 
GoogleServiceFramework 
Map lib 
voice 
구글 GMS 분석 구글 GMS란 무엇인가?
APPLICATIONS 
Browser 
IM 
SMS/MMS 
Dialer 
Alarm 
… 
Calendar 
Email 
Voice Dial 
Contacts 
APPLICATION FRAMEWORK 
Activity Manager 
Package Manager 
Window Manager 
Telephony Manager 
Content Provider 
Resource 
Manager 
View 
System 
Location Manager 
Notification Manager 
… 
LIBRARIES 
Surface Manager 
ANDROID RUNTIME 
Dalvik Virtual Machine 
Core Libraries 
LINUX KERNEL 
Display Driver 
Camera Driver 
Bluetooth Driver 
Shared Memory Driver 
Binder (IPC) Driver 
USB Driver 
Keypad Driver 
WiFi Driver 
Audio Driver 
Power Management 
OpenGL|ES 
SGL 
Media Framework 
FreeType 
Libc 
SQLite 
WebKit 
… 
GMS (Apps) 
Market 
Gmail 
Talk 
… 
GoogleServiceFramework 
Map lib 
voice 
구글 GMS 분석 구글 GMS란 무엇인가?
구글 GMS 분석 어떻게 분석할 것인가? 
정적(Static) 분석 
•Androidguard 
•Apktool 
•dex2jar 
•dexter 
•IDA Pro 
•jd-gui 
•Mobile Sandbox 
•Smali/Backsmali 
동적(Dynamic) 분석 
•Andrubis 
•Droidbox 
•DroidScope 
•Google Bouncer 
•Taintdroid 
난독화(Obfuscation) 
•Identifier renaming 
•Junk byte insertion 
•Obfuscation strings 
•Dynamic loading of code 
•Dynamic code modification 
•Callgraph Obfuscation 
•Manifest Obfuscation 
•ProGuard 
•DexGuard 
참조 : http://www.usmile.at/sites/default/files/publications/201306_obf_report_0.pdf
Package : GoogleServicesFramework.apk 
Process : com.google.android.gapps 
Activity : 39개 
ContentProvider : 4개 
Service : 8개 
Include Dalvik VM 
GSF Total Components : 60개 
Intent : Bundle of Informations 
•Explicit : Call Class 
•Implicit : IntentFilter : 26개 
 Action, Data, Category 
BroadcastReceiver : 9개 
permission-tree : 1개 
permission : 54개 
uses-permission : 55개 
android:permission : 2개 
android:readPermission : 4개 
android:writePermission : 4개 
path-permission : 1개 
android:grantUriPermissions : 1개 
구글 GMS 분석 무엇을 분석할 것인가?
GMS(Google Mobile Services) 
GSF (GoogleService Framework) 
mtalk.google.com 5228 
Google Cloud Server 
Google Account Server 
Android Device 
Google Services Google Mobile Services 
•Google Play 
•GCM 
? 
구글 GMS 분석 동적(Dynamic) 분석의 필요성-네트워킹 정보
fake 
fake mtalk. google. com 
MITM attack (Man In The Middle) at Internet 
TLS/SSL 
TLS/SSL 
Google Connection Server mtalk. google.com 
fake CA Server 
fake Cert 
Digital Signing 
Custom Android Image 
Packet Log 
Packet Report 
Custom Protocol Buffer Deserialzer 
구글 GMS 분석 동적(Dynamic) 분석 : 중간자(MITM) 공격 
2 
3 
1 
5 
4
구글 GMS 분석 동적(Dynamic) 분석 : 중간자(MITM) 공격 결과 
출처 : http://www.kandroid.org/mtalk
0 
50 
100 
150 
200 
250 
300 
350 
400 
450 
1 
7 
13 
19 
25 
31 
37 
43 
49 
55 
61 
67 
73 
79 
85 
91 
97 
103 
109 
115 
121 
127 
133 
139 
145 
151 
157 
163 
169 
175 
181 
187 
193 
199 
205 
211 
217 
223 
229 
235 
Heartbeat Data Traffic Threshold 
heartbeat 
구글 GMS 분석 동적(Dynamic) 분석 Heartbeat 기술의 동작 원리 이해
Device Info 
Device Info Register Client 
Device Info Register Server 
Google Service Framework 
Install apk into myPhone 
Google Play 
install asset request 
mtalk.google. com 
install asset response 
1 
3 
4 
5 
6 
1 
2 
2 
read device info 
구글 GMS 분석 동적(Dynamic) 분석 구글 플레이를 통한 앱 인스톨 메커니즘 이해
구글 GMS 분석 GMS 분석의 최종 결과와 몇 가지 질문들 
지금은 사라진 사이트 : Black Market(?) http://www.kandroid.org/market/ 구글은 왜 Heartbeat를 서버에서 제어하는가? 구글은 왜 앱 인스톨을 서버에서 제어하는가? 구글은 왜 GMS에 ProGuard를 사용하지 않는가?
오늘 발표내용에서 담고자 하는 내용 요약 
몇 가지 경험에 대한 공유 
1.안드로이드 플랫폼 Porting : Kandroid ADP 
2.구글 GMS 분석 : MITM(Man In The Middle) Attack L-Preview 이전의 보안 설비 
1.보안 설비 히스토리 
2.메모리 취약성 개선 : Facebook LinearAlloc Issue & ASLR 
3.안드로이드 기본 보안모델 강화 : SELinux L-Preview의 신규 보안 설비 
1.Sandbox 모델의 변화 : Process Isolation 
2.Android Work : 삼성 KNOX란? 
3.Malware 자동 탐지 서비스 : 보안 서비스 결론 : 향후 안드로이드 보안의 미래는?
2007 
2008 
2009 
2010 
2011 
2012 
2013 
2014 
2015 
최초 SDK 
M C D E F GH I J K 
L Developer Preview 이전의 보안 설비 
1.5 
•MM(SE) 
1)ProPolice to prevent stack buffer overruns (-fstack-protector) 
2)safe_iop to reduce integer overflows 
3)Extensions to OpenBSD dlmalloc to prevent double free() vulnerabilities and to prevent chunk consolidation attacks. Chunk consolidation attacks are a common way to exploit heap corruption. 
4)OpenBSD calloc to prevent integer overflows during memory allocation 2.2 
•User log-in authentication 
•Device Administration API : Remote wipe 
2.3 
•MM(SE) 
1)Format string vulnerability protections (-Wformat-security - Werror=format-security) 
2)Hardware-based No eXecute (NX) to prevent code execution on the stack and heap 
3)Linux mmap_min_addr to mitigate null pointer dereference privilege escalation (further enhanced in Android 4.1) 3.0 
•Pluggable DRM framework 
•Encrypted storage 
•Password security enhancements 
4.0 
•Secure management of credentials 
•VPN client API 
•Device policy management for camera 
•MM(SE) 
1)Address Space Layout Randomization (ASLR) to randomize key locations in memory 4.1 
•App Encryption 
•isolatedProcess 
•MM(SE) 
1)PIE (Position Independent Executable) support 
2)Read-only relocations / immediate binding (-Wl,-z,relro -Wl,-z,now) 
3)dmesg_restrict enabled (avoid leaking kernel addresses) 
4)kptr_restrict enabled (avoid leaking kernel addresses)
2007 
2008 
2009 
2010 
2011 
2012 
2013 
2014 
2015 
최초 SDK 
M C D E F GH I J K 
L Developer Preview 이전의 보안 설비 
4.2 
•Application Verification 
•More control of premium SMS 
•Always-on VPN 
•Certificate Pinning 
•Improved display of Android permissions 
•installd hardening 
•init script hardening 
•ContentProvider default configuration 
•Crytography 
•Security Fixes 
•MM(SE) 
1)FORTIFY_SOURCE for system code 
4.3 
•Android sandbox reinforced with SELinux 
•No setuid/setgid programs 
•ADB Authentication 
•Restrict Setuid from Android Apps 
•Capability bounding 
•AndroidKeyStore Provider 
•KeyChain isBoundKeyAlgorithm 
•NO_NEW_PRIVS 
•Relocation protections 
•Improved EntroyMixer 
•Security Fixes 
•MM(SE) 
1)FORTIFY_SOURCE enhancements 
4.4 
•Android sandbox reinforced with SELinux 
•Per User VPN 
•ECDSA Provider support in AndroidKeyStore 
•Device Monitoring Warnings 
•Certificate Pinning 
•Security Fixes 
•MM(SE) 
1)FORTIFY_SOURCE level 2
2007 
2008 
2009 
2010 
2011 
2012 
2013 
2014 
2015 
최초 SDK 
M C D E F GH I J K 
L Developer Preview 이전의 보안 설비 
1.기본적인 보안은 리눅스에 기반함 
•애플리케이션과 프로세스에 부여된 UID와 GID 
•프로세스는 Sandbox 역할을 함 
2.보다 섬세한 보안은 퍼미션에 기반함. 
•자체 서명된 인증서와 사용자 확인과정에 의함
L Developer Preview 이전의 보안 설비 
2007 
2008 
2009 
2010 
2011 
2012 
2013 
2014 
2015 
최초 SDK 
M C D E F GH I J K 
1.Memory Management Security Enhancements 
•코드 삽입 공격 / 코드 재사용 공격 / 코드 수정 공격 
•ROP(Return-Oriented Programming) 공격 
2.Security-Enhanced Linux 
•Rooting 이슈 해결방법 : 1) 루팅 차단 2) 루팅 무용화
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements How Facebook Hit The Dalvik Limit? 
참조 : 
•http://techcrunch.com/2013/03/04/facebook-google-dalvik/ 
•https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Facebook 해킹 이야기 : 방법
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Facebook 해킹 이야기 : 결과 
Facebook 07-04 03:28:39.958: I/dalvik-internals(5078): Successfully looked up JNI_GetCreatedJavaVMs 07-04 03:28:39.958: I/dalvik-internals(5078): Successfully looked up gDvm 07-04 03:28:39.958: E/dalvik-internals(5078): Failed to look up ladDumpProfiles 07-04 03:28:39.958: E/dalvik-internals(5078): Failed to look up ladResetProfiles 07-04 03:28:39.958: E/dalvik-internals(5078): Failed to look up ladPrintHeaderInfo 07-04 03:28:39.958: I/dalvik-internals(5078): gDvm has value 0x800aad38. Searching for vmList (initial offset in [704,1480]). 07-04 03:28:39.958: I/dalvik-internals(5078): Beginning search. Actual offset in [704,1444]. 07-04 03:28:39.958: I/dalvik-internals(5078): Found vmList at offset 744. 07-04 03:28:39.958: D/dalvik-internals(5078): Evaluating LinearAllocHdr candidate at 0x12418. 07-04 03:28:39.958: I/dalvik-internals(5078): Found LinearAllocHdr at expected offset from vmList. 
Fake Facebook 07-04 15:35:36.748: I/dalvik-internals(8465): Successfully looked up JNI_GetCreatedJavaVMs 07-04 15:35:36.748: I/dalvik-internals(8465): Successfully looked up gDvm 07-04 15:35:36.748: E/dalvik-internals(8465): Failed to look up ladDumpProfiles 07-04 15:35:36.748: E/dalvik-internals(8465): Failed to look up ladResetProfiles 07-04 15:35:36.748: E/dalvik-internals(8465): Failed to look up ladPrintHeaderInfo 07-04 15:35:36.748: I/dalvik-internals(8465): gDvm has value 0x800aad38. Searching for vmList (initial offset in [704,1480]). 07-04 15:35:36.748: I/dalvik-internals(8465): Beginning search. Actual offset in [704,1444]. 07-04 15:35:36.748: I/dalvik-internals(8465): Found vmList at offset 744. 07-04 15:35:36.748: D/dalvik-internals(8465): Evaluating LinearAllocHdr candidate at 0x12418. 07-04 15:35:36.748: I/dalvik-internals(8465): Found LinearAllocHdr at expected offset from vmList.
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Facebook 해킹 이야기 : No LinearAlloc Issue 
method_ids_size 
com.facebook.katana (2.0) files 
filesize 
48,476 
classes.dex 
5,686,680 
1,596 
./assets/pre-dexed-jars/jackson-core-2.0.5.dex.1.jar 
104,268 
5,864 
./assets/pre-dexed-jars/jackson-databind-2.0.5.dex.1.jar 
297,267 
205 
./assets/pre-dexed-jars/jackson-datatype-guava-2.0.4.dex.1.jar 
14,288 
14,551 
./assets/secondary-program-dex-jars/secondary-1.dex.jar 
601,815 
70,692 
6,704,318 
method_ids_size 
com.facebook.katana (3.3) files 
filesize 
17,720 
classes.dex 
2,495,944 
8,471 
./assets/secondary-program-dex-jars/secondary-3.dex.jar 
363,816 
43,710 
./assets/secondary-program-dex-jars/secondary-1.dex.jar 
2,016,576 
41,859 
./assets/secondary-program-dex-jars/secondary-2.dex.jar 
1,961,432 
573 
./assets/pre-dexed-jars/libphonenumber-5.2.dex.2.jar 
161,595 
112,333 
6,999,363
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Prelink & ASLR(Address Space Layout Randomization) 
출처 : http://wenke.gtisc.gatech.edu/papers/morula.pdf
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Prelink & ASLR(Address Space Layout Randomization) 
PIE 
Main 
Executable 
Heap 
Stack 
Shard 
Library 
NDK 
Library 
Linker 
4.0 
N 
N 
N 
N 
Y 
N 
N 
4.1 
Y 
Y 
Y 
Y 
Y 
Y 
Y 
Randomized per device boot
L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements 
Memory Errors: The Past, the Present, and the Future 
출처 : http://www.isg.rhul.ac.uk/sullivan/pubs/tr/technicalreport-ir-cs-73.pdf
L Developer Preview 이전의 보안 설비 Security-Enhanced Linux 
jsyang@jsyang-desktop:~/android-4.4_r1.2/frameworks/base/core/java/android/os$ ls *.java AsyncResult.java DropBoxManager.java Parcelable.java SELinux.java AsyncTask.java Environment.java ParcelableParcel.java ServiceManager.java BadParcelableException.java FactoryTest.java ParcelFileDescriptor.java ServiceManagerNative.java BatteryManager.java FileObserver.java ParcelFormatException.java StatFs.java BatteryProperties.java FileUtils.java Parcel.java StrictMode.java BatteryStats.java Handler.java ParcelUuid.java SystemClock.java Binder.java HandlerThread.java PatternMatcher.java SystemProperties.java Broadcaster.java IBinder.java PerformanceCollector.java SystemService.java Build.java IInterface.java PowerManager.java SystemVibrator.java Bundle.java IServiceManager.java Process.java TokenWatcher.java CancellationSignal.java Looper.java RecoverySystem.java Trace.java CommonClock.java MemoryFile.java Registrant.java TransactionTooLargeException.java CommonTimeConfig.java Message.java RegistrantList.java UEventObserver.java CommonTimeUtils.java MessageQueue.java RemoteCallback.java UpdateLock.java ConditionVariable.java Messenger.java RemoteCallbackList.java UserHandle.java CountDownTimer.java NetworkOnMainThreadException.java RemoteException.java UserManager.java DeadObjectException.java NullVibrator.java RemoteMailException.java Vibrator.java Debug.java OperationCanceledException.java ResultReceiver.java WorkSource.java 
android.os.*
DAC Discretionary 자유재량에 의한 Access Control 
MAC Mandatory 의무적인 Access Control Permissive 관대한 Mode 
L Developer Preview 이전의 보안 설비 Security-Enhanced Linux 
MAC Mandatory 의무적인 Access Control Enforcing 강제하는 Mode
L Developer Preview 이전의 보안 설비 Security-Enhanced Linux 에서 Rooting 
SuperSU-JWR66N-S005-130625-1.41.zip 
참조 : http://su.chainfire.eu/ 
root@maguro:/system/xbin # ls -lZ *su* -rwxr-xr-x root root u:object_r:system_file:s0 daemonsu -rwxr-xr-x root root u:object_r:system_file:s0 su root@maguro:/system/xbin # ps -Z u:r:shell:s0 shell 11517 11511 su u:r:init:s0 root 11520 21455 daemonsu:0:11517 u:r:init:s0 root 11521 11520 daemonsu
오늘 발표내용에서 담고자 하는 내용 요약 
몇 가지 경험에 대한 공유 
1.안드로이드 플랫폼 Porting : Kandroid ADP 
2.구글 GMS 분석 : MITM(Man In The Middle) Attack L-Preview 이전의 보안 설비 
1.보안 설비 히스토리 
2.메모리 취약성 개선 : Facebook LinearAlloc Issue & ASLR 
3.안드로이드 기본 보안모델 강화 : SELinux L-Preview의 신규 보안 설비 
1.Sandbox 모델의 변화 : Process Isolation 
2.Android Work : 삼성 KNOX란? 
3.Malware 자동 탐지 서비스 : 보안 서비스 결론 : 향후 안드로이드 보안의 미래는?
https://www.youtube.com/watch?v=FbVWtYPpzIs 
https://www.youtube.com/watch?v=Ive8WaeldWA#t=15 
http://www.youtube.com/watch?v=wtLJPvx7-ys 
Google IO 2014에서 보안은 어떻게 그리고 왜 언급되었는가?
L Developer Preview 신규 보안 설비 IsolatedProcess 
Use process separation 
when the isolated code 
Use isolatedProcess 
when isolated code 
Is pure Java, 
Doesn’t contain an interpreter or similar, or 
Interacts with other processes on your behalf 
Is native code, 
Performs complex operations like rendering, 
Contains an interpreter or JIT, and 
Doesn’t need to run as your user
L Developer Preview 신규 보안 설비 IsolatedProcess : 크롬 Sandbox 모델 차용 
Main Thread (UI) 
I/O Thread 
Main Thread 
Render Thread 
Browser Process 
Render Process 
IPC 
android:process=":sandboxed_process0" android:isolatedProcess="true“ android:process=":privileged_process2" android:isolatedProcess="false" 
android:isolatedProcess 
If set to true, this service will run under a special process that is isolated from the rest of the system and has no permissions of its own. The only communication with it is through the Service API (binding and starting).
• Customizable Secure Boot • TrustZone-based Integrity Measurement Architecture (TIMA) • Security Enhancements for Android 
Source : http://www.samsung.com/my/business- images/resource/white- paper/2013/11/Samsung_KNOX_whitepaper_An_Overview_of_Samsung_KNOX-0.pdf 
Samsung KNOX Technology Overview 
1.Platform Security 
2.Application Security 
3.Mobile Device Management 
4.Theft Recovery 
L Developer Preview 신규 보안 설비 Android Work vs. Samsung KNOX
L Developer Preview 신규 보안 설비 Malware Protection 
Android Security Innovation 
•Malware Protection 
•Security Patches via Play Services 
•Factory Reset Protection 
•Universal Data Controls GoogleIO 2014 Keynote
참조 : 
•http://www.youtube.com/watch?v=ZEIED2ZLEbQ 
•https://jon.oberheide.org/files/summercon12-bouncer.pdf 
L Developer Preview 신규 보안 설비 
Malware Protection 
Google Bouncer
L Developer Preview 신규 보안 설비 Malware Protection 
Google Bouncer는 어떻게 동작하는가? 
•Does Bouncer use static/dynamic analysis? 
•When does Bouncer analyze the app? Are all apps analyzed? 
•How do we get Market accounts to start figuring this out? 
•Network access: open, filtered, emulated, unrestricted? 
•Environment: what's the system execution environment look like? 
•Timing: how long does our app run? Accelerated clock? 
•Input: Artificial input to the app? Program state exploration? 
•Any triggers, vulnerable services, etc? 
Source : https://jon.oberheide.org/files/summercon12-bouncer.pdf
L Developer Preview 신규 보안 설비 Malware Protection 
Malware, Spyware, Trojan이란 무엇인가? 우리는 정상/양성/악성의 경계선을 구분할 수 있는가? Malware에 대한 자동 분석 및 탐지는 가능한가? 정적 분석(Code)의 핵심적 한계는? Native or Dynamic Code Loading, Collusion Attacks 동적 분석(Logging)의 핵심적 한계는? Environment, Collusion Attacks 분석 시점과 분석환경의 한계는? Timing attack, Environment Fingerprinting
L Developer Preview 신규 보안 설비 
Malware Protection 
Source : https://www1.cs.fau.de/filepool/projects/android/divide-and-conquer.pdf 
Sandbox Fingerprinting – Sand Finger
L Developer Preview 신규 보안 설비 Malware Protection 
Source : https://www1.cs.fau.de/filepool/projects/android/divide-and-conquer.pdf 
Divide-and-Conquer: Why Android Malware cannot be stopped 대책과 미래 
A.Secure IPC Mechanisms for Android 
B.Taming Dynamic Code Loading 
C.Improving Sandboxes 
D.Machine Learning Anti-fingerprinting techniques
향후 안드로이드 보안 기술의 미래는? 
사용자 측면 
개발자 측면 
서비스 측면 
정보유출 및 비용발생 
기술보안 및 제품도용 
컨텐츠보안 및 안심거래 
플랫폼 측면 
Anti-fingerprinting techniques 
2010. 12. 7. Kandroid ADP (칸드로이드 개발자 폰)
감사합니다. 질문 받겠습니다.

Contenu connexe

Tendances

NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung Ha
 
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
kgc2014 LINE Rangers/Stage크래시 및 어뷰징 대응kgc2014 LINE Rangers/Stage크래시 및 어뷰징 대응
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응sewoon Nam
 
Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기Ju-ri Seo
 
반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게Sungju Jin
 
iOS Symbolication
iOS SymbolicationiOS Symbolication
iOS Symbolication오석 서
 
Android ndk jni 설치및 연동
Android ndk jni 설치및 연동Android ndk jni 설치및 연동
Android ndk jni 설치및 연동Sangon Lee
 
안드로이드 스터디 Jni 발표 자료 Rev05 송형주
안드로이드 스터디 Jni 발표 자료 Rev05 송형주안드로이드 스터디 Jni 발표 자료 Rev05 송형주
안드로이드 스터디 Jni 발표 자료 Rev05 송형주iamhjoo (송형주)
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담Sumin Byeon
 
[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기NAVER D2
 
안드로이드 설계코드 노하우 및 개발방법
안드로이드 설계코드 노하우 및 개발방법안드로이드 설계코드 노하우 및 개발방법
안드로이드 설계코드 노하우 및 개발방법mosaicnet
 
[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기NAVER D2
 
141 deview 2013 발표자료(박준형) v1.1(track4-session1)
141 deview 2013 발표자료(박준형) v1.1(track4-session1)141 deview 2013 발표자료(박준형) v1.1(track4-session1)
141 deview 2013 발표자료(박준형) v1.1(track4-session1)NAVER D2
 
소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙Hong Hyo Sang
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon
 
코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011Esun Kim
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Esun Kim
 
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러Heungsub Lee
 
Yapp a.a 2 2 android annotations
Yapp a.a 2 2 android annotationsYapp a.a 2 2 android annotations
Yapp a.a 2 2 android annotationsJunyoung Lee
 
Python on Android
Python on AndroidPython on Android
Python on Android용 최
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012Esun Kim
 

Tendances (20)

NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
 
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
kgc2014 LINE Rangers/Stage크래시 및 어뷰징 대응kgc2014 LINE Rangers/Stage크래시 및 어뷰징 대응
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
 
Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기Jurano강의 lec1. AndroidAnnotations 시작하기
Jurano강의 lec1. AndroidAnnotations 시작하기
 
반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게반복적인 작업이 싫은 안드로이드 개발자에게
반복적인 작업이 싫은 안드로이드 개발자에게
 
iOS Symbolication
iOS SymbolicationiOS Symbolication
iOS Symbolication
 
Android ndk jni 설치및 연동
Android ndk jni 설치및 연동Android ndk jni 설치및 연동
Android ndk jni 설치및 연동
 
안드로이드 스터디 Jni 발표 자료 Rev05 송형주
안드로이드 스터디 Jni 발표 자료 Rev05 송형주안드로이드 스터디 Jni 발표 자료 Rev05 송형주
안드로이드 스터디 Jni 발표 자료 Rev05 송형주
 
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
[야생의 땅: 듀랑고]의 식물 생태계를 담당하는 21세기 정원사의 OpenCL 경험담
 
[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기
 
안드로이드 설계코드 노하우 및 개발방법
안드로이드 설계코드 노하우 및 개발방법안드로이드 설계코드 노하우 및 개발방법
안드로이드 설계코드 노하우 및 개발방법
 
[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기
 
141 deview 2013 발표자료(박준형) v1.1(track4-session1)
141 deview 2013 발표자료(박준형) v1.1(track4-session1)141 deview 2013 발표자료(박준형) v1.1(track4-session1)
141 deview 2013 발표자료(박준형) v1.1(track4-session1)
 
소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙소프트웨어 개선 그룹(Sig) 개발 원칙
소프트웨어 개선 그룹(Sig) 개발 원칙
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
 
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러
 
Yapp a.a 2 2 android annotations
Yapp a.a 2 2 android annotationsYapp a.a 2 2 android annotations
Yapp a.a 2 2 android annotations
 
Python on Android
Python on AndroidPython on Android
Python on Android
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
 

Similaire à [1D7]안드로이드 L-Preview 보안 아키텍처 및 설비

이력서_김태연_한글
이력서_김태연_한글이력서_김태연_한글
이력서_김태연_한글TAIYEON KIM
 
Android발표자료 홍종진
Android발표자료 홍종진Android발표자료 홍종진
Android발표자료 홍종진Jong Jin Hong
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안TJ Seo
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안TOAST_NHNent
 
제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신
제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신
제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신WooSangHwang
 
Encrypted media extention
Encrypted media extentionEncrypted media extention
Encrypted media extentionTaehyun Kim
 
(120128) #fitalk android forensics 101
(120128) #fitalk   android forensics 101(120128) #fitalk   android forensics 101
(120128) #fitalk android forensics 101INSIGHT FORENSIC
 
2015 n tels iot product lineup_2015
2015 n tels iot product lineup_20152015 n tels iot product lineup_2015
2015 n tels iot product lineup_2015SangHoon Lee
 
(130511) #fitalk utilization of ioc, ioaf and sig base
(130511) #fitalk   utilization of ioc, ioaf and sig base(130511) #fitalk   utilization of ioc, ioaf and sig base
(130511) #fitalk utilization of ioc, ioaf and sig baseINSIGHT FORENSIC
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Sung-tae Ryu
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온시온시큐리티
 
안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈Lee Ji Eun
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입Ju Young Lee
 
Mobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS SerminarMobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS SerminarYongjun Park
 
모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106jSoboro
 
이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반) 이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반) 시온시큐리티
 
Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30SAMUEL SJ Cheon
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process uEngine Solutions
 

Similaire à [1D7]안드로이드 L-Preview 보안 아키텍처 및 설비 (20)

이력서_김태연_한글
이력서_김태연_한글이력서_김태연_한글
이력서_김태연_한글
 
Android발표자료 홍종진
Android발표자료 홍종진Android발표자료 홍종진
Android발표자료 홍종진
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안
 
Mobile Application Development Platform "Morpheus"
Mobile Application Development Platform "Morpheus"Mobile Application Development Platform "Morpheus"
Mobile Application Development Platform "Morpheus"
 
제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신
제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신
제3회 오픈 로보틱스 세미나 1일차 1세션 안드로이드 App 통신
 
Encrypted media extention
Encrypted media extentionEncrypted media extention
Encrypted media extention
 
(120128) #fitalk android forensics 101
(120128) #fitalk   android forensics 101(120128) #fitalk   android forensics 101
(120128) #fitalk android forensics 101
 
2015 n tels iot product lineup_2015
2015 n tels iot product lineup_20152015 n tels iot product lineup_2015
2015 n tels iot product lineup_2015
 
(130511) #fitalk utilization of ioc, ioaf and sig base
(130511) #fitalk   utilization of ioc, ioaf and sig base(130511) #fitalk   utilization of ioc, ioaf and sig base
(130511) #fitalk utilization of ioc, ioaf and sig base
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온
 
안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
 
Mobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS SerminarMobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS Serminar
 
모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106
 
이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반) 이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반)
 
Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process
 

Plus de NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

Plus de NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비

  • 1. 안드로이드 L-Preview 보안 아키텍처 및 설비 2014. 9. 29. kandroid.org 운영자 양정수 (yangjeongsoo@gmail.com)
  • 2. 0 200 400 600 800 1000 1200 간단한 자기 소개 및 DEVIEW 발표를 하는 이유? DEVIEW : 이경민 & 양정수 MinMax14th Android New Runtime : ART 1.ART Overview 2.ART AOT Compiler 3.ART Loader 4.ART Fast Memory Allocation 5.ART Garbage Collector Improvement 6.Android Developer Backstage Episode 10,11 Review
  • 3. 오늘 발표내용에서 담고자 하는 내용 요약 몇 가지 경험에 대한 공유 1.안드로이드 플랫폼 Porting : Kandroid ADP 2.구글 GMS 분석 : MITM(Man In The Middle) Attack L-Preview 이전의 보안 설비 1.보안 설비 히스토리 2.메모리 취약성 개선 : Facebook LinearAlloc Issue & ASLR 3.안드로이드 기본 보안모델 강화 : SELinux L-Preview의 신규 보안 설비 1.Sandbox 모델의 변화 : Process Isolation 2.Android Work : 삼성 KNOX란? 3.Malware 자동 탐지 서비스 : 보안 서비스 결론 : 향후 안드로이드 보안의 미래는?
  • 4. 안드로이드 플랫폼 Porting 세 번의 서로 다른 경험 2008년 10월 11일 2009년 1월 12일 2010년 12월 7일 출처 •http://www.kandroid.org/board/board.php?board=AndroidPorting&page=2&command=body&no=39 •http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=22 •http://www.kandroid.org/board/board.php?board=HTCDream&command=body&no=123
  • 5. 안드로이드 플랫폼 Porting Kandroid ADP(칸드로이드 개발자 폰)
  • 6. 안드로이드 플랫폼 Porting Kandroid ADP(칸드로이드 개발자 폰)
  • 7. 안드로이드 플랫폼 Porting Kandroid ADP 어떻게 만들었는가? Phone은 어떻게 만들어지는가? AOSP Linux HAL GMS AOSP Ref HAL AOSP Linux AOSP Ref HAL AOSP Linux HAL GMS GMS
  • 8. 1.구글에 공식 또는 비공식 요청한다. 2.구글 또는 OHA 멤버사에서 비공식적으로 입수한다. 3.실제 디바이스에서 추출한다. 1.루팅(Rooting) 2.cp /system/app/Gmail.odex . cp /system/app/Gmail.apk . baksmali -d ./framework -x Gmail.odex => ./out smali -o classes.dex out cp classes.dex zip -r -q Gmail.apk classes.dex 안드로이드 플랫폼 Porting Kandroid ADP 어떻게 만들었는가? GMS는 어떻게 구할 수 있는가?
  • 9. •구글은 왜 GMS를 포함한 에뮬레이터를 배포하지 않는가? •Smali/Baksmali 사용처는? •폰(Phone)이란 무엇인가? H/W가 없는 S/W 폰, 가능한가? 안드로이드 플랫폼 Porting Kandroid ADP 작업에서 생길 몇 가지 질문
  • 10. APPLICATIONS Browser IM SMS/MMS Dialer Alarm … Calendar Email Voice Dial Contacts APPLICATION FRAMEWORK Activity Manager Package Manager Window Manager Telephony Manager Content Provider Resource Manager View System Location Manager Notification Manager … LIBRARIES Surface Manager ANDROID RUNTIME Dalvik Virtual Machine Core Libraries LINUX KERNEL Display Driver Camera Driver Bluetooth Driver Shared Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Driver Power Management OpenGL|ES SGL Media Framework FreeType Libc SQLite WebKit … GMS (Apps) Market Gmail Talk … GoogleServiceFramework Map lib voice 구글 GMS 분석 구글 GMS란 무엇인가?
  • 11. APPLICATIONS Browser IM SMS/MMS Dialer Alarm … Calendar Email Voice Dial Contacts APPLICATION FRAMEWORK Activity Manager Package Manager Window Manager Telephony Manager Content Provider Resource Manager View System Location Manager Notification Manager … LIBRARIES Surface Manager ANDROID RUNTIME Dalvik Virtual Machine Core Libraries LINUX KERNEL Display Driver Camera Driver Bluetooth Driver Shared Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Driver Power Management OpenGL|ES SGL Media Framework FreeType Libc SQLite WebKit … GMS (Apps) Market Gmail Talk … GoogleServiceFramework Map lib voice 구글 GMS 분석 구글 GMS란 무엇인가?
  • 12. 구글 GMS 분석 어떻게 분석할 것인가? 정적(Static) 분석 •Androidguard •Apktool •dex2jar •dexter •IDA Pro •jd-gui •Mobile Sandbox •Smali/Backsmali 동적(Dynamic) 분석 •Andrubis •Droidbox •DroidScope •Google Bouncer •Taintdroid 난독화(Obfuscation) •Identifier renaming •Junk byte insertion •Obfuscation strings •Dynamic loading of code •Dynamic code modification •Callgraph Obfuscation •Manifest Obfuscation •ProGuard •DexGuard 참조 : http://www.usmile.at/sites/default/files/publications/201306_obf_report_0.pdf
  • 13. Package : GoogleServicesFramework.apk Process : com.google.android.gapps Activity : 39개 ContentProvider : 4개 Service : 8개 Include Dalvik VM GSF Total Components : 60개 Intent : Bundle of Informations •Explicit : Call Class •Implicit : IntentFilter : 26개  Action, Data, Category BroadcastReceiver : 9개 permission-tree : 1개 permission : 54개 uses-permission : 55개 android:permission : 2개 android:readPermission : 4개 android:writePermission : 4개 path-permission : 1개 android:grantUriPermissions : 1개 구글 GMS 분석 무엇을 분석할 것인가?
  • 14. GMS(Google Mobile Services) GSF (GoogleService Framework) mtalk.google.com 5228 Google Cloud Server Google Account Server Android Device Google Services Google Mobile Services •Google Play •GCM ? 구글 GMS 분석 동적(Dynamic) 분석의 필요성-네트워킹 정보
  • 15. fake fake mtalk. google. com MITM attack (Man In The Middle) at Internet TLS/SSL TLS/SSL Google Connection Server mtalk. google.com fake CA Server fake Cert Digital Signing Custom Android Image Packet Log Packet Report Custom Protocol Buffer Deserialzer 구글 GMS 분석 동적(Dynamic) 분석 : 중간자(MITM) 공격 2 3 1 5 4
  • 16. 구글 GMS 분석 동적(Dynamic) 분석 : 중간자(MITM) 공격 결과 출처 : http://www.kandroid.org/mtalk
  • 17. 0 50 100 150 200 250 300 350 400 450 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169 175 181 187 193 199 205 211 217 223 229 235 Heartbeat Data Traffic Threshold heartbeat 구글 GMS 분석 동적(Dynamic) 분석 Heartbeat 기술의 동작 원리 이해
  • 18. Device Info Device Info Register Client Device Info Register Server Google Service Framework Install apk into myPhone Google Play install asset request mtalk.google. com install asset response 1 3 4 5 6 1 2 2 read device info 구글 GMS 분석 동적(Dynamic) 분석 구글 플레이를 통한 앱 인스톨 메커니즘 이해
  • 19. 구글 GMS 분석 GMS 분석의 최종 결과와 몇 가지 질문들 지금은 사라진 사이트 : Black Market(?) http://www.kandroid.org/market/ 구글은 왜 Heartbeat를 서버에서 제어하는가? 구글은 왜 앱 인스톨을 서버에서 제어하는가? 구글은 왜 GMS에 ProGuard를 사용하지 않는가?
  • 20. 오늘 발표내용에서 담고자 하는 내용 요약 몇 가지 경험에 대한 공유 1.안드로이드 플랫폼 Porting : Kandroid ADP 2.구글 GMS 분석 : MITM(Man In The Middle) Attack L-Preview 이전의 보안 설비 1.보안 설비 히스토리 2.메모리 취약성 개선 : Facebook LinearAlloc Issue & ASLR 3.안드로이드 기본 보안모델 강화 : SELinux L-Preview의 신규 보안 설비 1.Sandbox 모델의 변화 : Process Isolation 2.Android Work : 삼성 KNOX란? 3.Malware 자동 탐지 서비스 : 보안 서비스 결론 : 향후 안드로이드 보안의 미래는?
  • 21. 2007 2008 2009 2010 2011 2012 2013 2014 2015 최초 SDK M C D E F GH I J K L Developer Preview 이전의 보안 설비 1.5 •MM(SE) 1)ProPolice to prevent stack buffer overruns (-fstack-protector) 2)safe_iop to reduce integer overflows 3)Extensions to OpenBSD dlmalloc to prevent double free() vulnerabilities and to prevent chunk consolidation attacks. Chunk consolidation attacks are a common way to exploit heap corruption. 4)OpenBSD calloc to prevent integer overflows during memory allocation 2.2 •User log-in authentication •Device Administration API : Remote wipe 2.3 •MM(SE) 1)Format string vulnerability protections (-Wformat-security - Werror=format-security) 2)Hardware-based No eXecute (NX) to prevent code execution on the stack and heap 3)Linux mmap_min_addr to mitigate null pointer dereference privilege escalation (further enhanced in Android 4.1) 3.0 •Pluggable DRM framework •Encrypted storage •Password security enhancements 4.0 •Secure management of credentials •VPN client API •Device policy management for camera •MM(SE) 1)Address Space Layout Randomization (ASLR) to randomize key locations in memory 4.1 •App Encryption •isolatedProcess •MM(SE) 1)PIE (Position Independent Executable) support 2)Read-only relocations / immediate binding (-Wl,-z,relro -Wl,-z,now) 3)dmesg_restrict enabled (avoid leaking kernel addresses) 4)kptr_restrict enabled (avoid leaking kernel addresses)
  • 22. 2007 2008 2009 2010 2011 2012 2013 2014 2015 최초 SDK M C D E F GH I J K L Developer Preview 이전의 보안 설비 4.2 •Application Verification •More control of premium SMS •Always-on VPN •Certificate Pinning •Improved display of Android permissions •installd hardening •init script hardening •ContentProvider default configuration •Crytography •Security Fixes •MM(SE) 1)FORTIFY_SOURCE for system code 4.3 •Android sandbox reinforced with SELinux •No setuid/setgid programs •ADB Authentication •Restrict Setuid from Android Apps •Capability bounding •AndroidKeyStore Provider •KeyChain isBoundKeyAlgorithm •NO_NEW_PRIVS •Relocation protections •Improved EntroyMixer •Security Fixes •MM(SE) 1)FORTIFY_SOURCE enhancements 4.4 •Android sandbox reinforced with SELinux •Per User VPN •ECDSA Provider support in AndroidKeyStore •Device Monitoring Warnings •Certificate Pinning •Security Fixes •MM(SE) 1)FORTIFY_SOURCE level 2
  • 23. 2007 2008 2009 2010 2011 2012 2013 2014 2015 최초 SDK M C D E F GH I J K L Developer Preview 이전의 보안 설비 1.기본적인 보안은 리눅스에 기반함 •애플리케이션과 프로세스에 부여된 UID와 GID •프로세스는 Sandbox 역할을 함 2.보다 섬세한 보안은 퍼미션에 기반함. •자체 서명된 인증서와 사용자 확인과정에 의함
  • 24. L Developer Preview 이전의 보안 설비 2007 2008 2009 2010 2011 2012 2013 2014 2015 최초 SDK M C D E F GH I J K 1.Memory Management Security Enhancements •코드 삽입 공격 / 코드 재사용 공격 / 코드 수정 공격 •ROP(Return-Oriented Programming) 공격 2.Security-Enhanced Linux •Rooting 이슈 해결방법 : 1) 루팅 차단 2) 루팅 무용화
  • 25. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements How Facebook Hit The Dalvik Limit? 참조 : •http://techcrunch.com/2013/03/04/facebook-google-dalvik/ •https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920
  • 26. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Facebook 해킹 이야기 : 방법
  • 27. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Facebook 해킹 이야기 : 결과 Facebook 07-04 03:28:39.958: I/dalvik-internals(5078): Successfully looked up JNI_GetCreatedJavaVMs 07-04 03:28:39.958: I/dalvik-internals(5078): Successfully looked up gDvm 07-04 03:28:39.958: E/dalvik-internals(5078): Failed to look up ladDumpProfiles 07-04 03:28:39.958: E/dalvik-internals(5078): Failed to look up ladResetProfiles 07-04 03:28:39.958: E/dalvik-internals(5078): Failed to look up ladPrintHeaderInfo 07-04 03:28:39.958: I/dalvik-internals(5078): gDvm has value 0x800aad38. Searching for vmList (initial offset in [704,1480]). 07-04 03:28:39.958: I/dalvik-internals(5078): Beginning search. Actual offset in [704,1444]. 07-04 03:28:39.958: I/dalvik-internals(5078): Found vmList at offset 744. 07-04 03:28:39.958: D/dalvik-internals(5078): Evaluating LinearAllocHdr candidate at 0x12418. 07-04 03:28:39.958: I/dalvik-internals(5078): Found LinearAllocHdr at expected offset from vmList. Fake Facebook 07-04 15:35:36.748: I/dalvik-internals(8465): Successfully looked up JNI_GetCreatedJavaVMs 07-04 15:35:36.748: I/dalvik-internals(8465): Successfully looked up gDvm 07-04 15:35:36.748: E/dalvik-internals(8465): Failed to look up ladDumpProfiles 07-04 15:35:36.748: E/dalvik-internals(8465): Failed to look up ladResetProfiles 07-04 15:35:36.748: E/dalvik-internals(8465): Failed to look up ladPrintHeaderInfo 07-04 15:35:36.748: I/dalvik-internals(8465): gDvm has value 0x800aad38. Searching for vmList (initial offset in [704,1480]). 07-04 15:35:36.748: I/dalvik-internals(8465): Beginning search. Actual offset in [704,1444]. 07-04 15:35:36.748: I/dalvik-internals(8465): Found vmList at offset 744. 07-04 15:35:36.748: D/dalvik-internals(8465): Evaluating LinearAllocHdr candidate at 0x12418. 07-04 15:35:36.748: I/dalvik-internals(8465): Found LinearAllocHdr at expected offset from vmList.
  • 28. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Facebook 해킹 이야기 : No LinearAlloc Issue method_ids_size com.facebook.katana (2.0) files filesize 48,476 classes.dex 5,686,680 1,596 ./assets/pre-dexed-jars/jackson-core-2.0.5.dex.1.jar 104,268 5,864 ./assets/pre-dexed-jars/jackson-databind-2.0.5.dex.1.jar 297,267 205 ./assets/pre-dexed-jars/jackson-datatype-guava-2.0.4.dex.1.jar 14,288 14,551 ./assets/secondary-program-dex-jars/secondary-1.dex.jar 601,815 70,692 6,704,318 method_ids_size com.facebook.katana (3.3) files filesize 17,720 classes.dex 2,495,944 8,471 ./assets/secondary-program-dex-jars/secondary-3.dex.jar 363,816 43,710 ./assets/secondary-program-dex-jars/secondary-1.dex.jar 2,016,576 41,859 ./assets/secondary-program-dex-jars/secondary-2.dex.jar 1,961,432 573 ./assets/pre-dexed-jars/libphonenumber-5.2.dex.2.jar 161,595 112,333 6,999,363
  • 29. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Prelink & ASLR(Address Space Layout Randomization) 출처 : http://wenke.gtisc.gatech.edu/papers/morula.pdf
  • 30. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Prelink & ASLR(Address Space Layout Randomization) PIE Main Executable Heap Stack Shard Library NDK Library Linker 4.0 N N N N Y N N 4.1 Y Y Y Y Y Y Y Randomized per device boot
  • 31. L Developer Preview 이전의 보안 설비 Memory Management Security Enhancements Memory Errors: The Past, the Present, and the Future 출처 : http://www.isg.rhul.ac.uk/sullivan/pubs/tr/technicalreport-ir-cs-73.pdf
  • 32. L Developer Preview 이전의 보안 설비 Security-Enhanced Linux jsyang@jsyang-desktop:~/android-4.4_r1.2/frameworks/base/core/java/android/os$ ls *.java AsyncResult.java DropBoxManager.java Parcelable.java SELinux.java AsyncTask.java Environment.java ParcelableParcel.java ServiceManager.java BadParcelableException.java FactoryTest.java ParcelFileDescriptor.java ServiceManagerNative.java BatteryManager.java FileObserver.java ParcelFormatException.java StatFs.java BatteryProperties.java FileUtils.java Parcel.java StrictMode.java BatteryStats.java Handler.java ParcelUuid.java SystemClock.java Binder.java HandlerThread.java PatternMatcher.java SystemProperties.java Broadcaster.java IBinder.java PerformanceCollector.java SystemService.java Build.java IInterface.java PowerManager.java SystemVibrator.java Bundle.java IServiceManager.java Process.java TokenWatcher.java CancellationSignal.java Looper.java RecoverySystem.java Trace.java CommonClock.java MemoryFile.java Registrant.java TransactionTooLargeException.java CommonTimeConfig.java Message.java RegistrantList.java UEventObserver.java CommonTimeUtils.java MessageQueue.java RemoteCallback.java UpdateLock.java ConditionVariable.java Messenger.java RemoteCallbackList.java UserHandle.java CountDownTimer.java NetworkOnMainThreadException.java RemoteException.java UserManager.java DeadObjectException.java NullVibrator.java RemoteMailException.java Vibrator.java Debug.java OperationCanceledException.java ResultReceiver.java WorkSource.java android.os.*
  • 33. DAC Discretionary 자유재량에 의한 Access Control MAC Mandatory 의무적인 Access Control Permissive 관대한 Mode L Developer Preview 이전의 보안 설비 Security-Enhanced Linux MAC Mandatory 의무적인 Access Control Enforcing 강제하는 Mode
  • 34. L Developer Preview 이전의 보안 설비 Security-Enhanced Linux 에서 Rooting SuperSU-JWR66N-S005-130625-1.41.zip 참조 : http://su.chainfire.eu/ root@maguro:/system/xbin # ls -lZ *su* -rwxr-xr-x root root u:object_r:system_file:s0 daemonsu -rwxr-xr-x root root u:object_r:system_file:s0 su root@maguro:/system/xbin # ps -Z u:r:shell:s0 shell 11517 11511 su u:r:init:s0 root 11520 21455 daemonsu:0:11517 u:r:init:s0 root 11521 11520 daemonsu
  • 35. 오늘 발표내용에서 담고자 하는 내용 요약 몇 가지 경험에 대한 공유 1.안드로이드 플랫폼 Porting : Kandroid ADP 2.구글 GMS 분석 : MITM(Man In The Middle) Attack L-Preview 이전의 보안 설비 1.보안 설비 히스토리 2.메모리 취약성 개선 : Facebook LinearAlloc Issue & ASLR 3.안드로이드 기본 보안모델 강화 : SELinux L-Preview의 신규 보안 설비 1.Sandbox 모델의 변화 : Process Isolation 2.Android Work : 삼성 KNOX란? 3.Malware 자동 탐지 서비스 : 보안 서비스 결론 : 향후 안드로이드 보안의 미래는?
  • 37. L Developer Preview 신규 보안 설비 IsolatedProcess Use process separation when the isolated code Use isolatedProcess when isolated code Is pure Java, Doesn’t contain an interpreter or similar, or Interacts with other processes on your behalf Is native code, Performs complex operations like rendering, Contains an interpreter or JIT, and Doesn’t need to run as your user
  • 38. L Developer Preview 신규 보안 설비 IsolatedProcess : 크롬 Sandbox 모델 차용 Main Thread (UI) I/O Thread Main Thread Render Thread Browser Process Render Process IPC android:process=":sandboxed_process0" android:isolatedProcess="true“ android:process=":privileged_process2" android:isolatedProcess="false" android:isolatedProcess If set to true, this service will run under a special process that is isolated from the rest of the system and has no permissions of its own. The only communication with it is through the Service API (binding and starting).
  • 39. • Customizable Secure Boot • TrustZone-based Integrity Measurement Architecture (TIMA) • Security Enhancements for Android Source : http://www.samsung.com/my/business- images/resource/white- paper/2013/11/Samsung_KNOX_whitepaper_An_Overview_of_Samsung_KNOX-0.pdf Samsung KNOX Technology Overview 1.Platform Security 2.Application Security 3.Mobile Device Management 4.Theft Recovery L Developer Preview 신규 보안 설비 Android Work vs. Samsung KNOX
  • 40. L Developer Preview 신규 보안 설비 Malware Protection Android Security Innovation •Malware Protection •Security Patches via Play Services •Factory Reset Protection •Universal Data Controls GoogleIO 2014 Keynote
  • 41. 참조 : •http://www.youtube.com/watch?v=ZEIED2ZLEbQ •https://jon.oberheide.org/files/summercon12-bouncer.pdf L Developer Preview 신규 보안 설비 Malware Protection Google Bouncer
  • 42. L Developer Preview 신규 보안 설비 Malware Protection Google Bouncer는 어떻게 동작하는가? •Does Bouncer use static/dynamic analysis? •When does Bouncer analyze the app? Are all apps analyzed? •How do we get Market accounts to start figuring this out? •Network access: open, filtered, emulated, unrestricted? •Environment: what's the system execution environment look like? •Timing: how long does our app run? Accelerated clock? •Input: Artificial input to the app? Program state exploration? •Any triggers, vulnerable services, etc? Source : https://jon.oberheide.org/files/summercon12-bouncer.pdf
  • 43. L Developer Preview 신규 보안 설비 Malware Protection Malware, Spyware, Trojan이란 무엇인가? 우리는 정상/양성/악성의 경계선을 구분할 수 있는가? Malware에 대한 자동 분석 및 탐지는 가능한가? 정적 분석(Code)의 핵심적 한계는? Native or Dynamic Code Loading, Collusion Attacks 동적 분석(Logging)의 핵심적 한계는? Environment, Collusion Attacks 분석 시점과 분석환경의 한계는? Timing attack, Environment Fingerprinting
  • 44. L Developer Preview 신규 보안 설비 Malware Protection Source : https://www1.cs.fau.de/filepool/projects/android/divide-and-conquer.pdf Sandbox Fingerprinting – Sand Finger
  • 45. L Developer Preview 신규 보안 설비 Malware Protection Source : https://www1.cs.fau.de/filepool/projects/android/divide-and-conquer.pdf Divide-and-Conquer: Why Android Malware cannot be stopped 대책과 미래 A.Secure IPC Mechanisms for Android B.Taming Dynamic Code Loading C.Improving Sandboxes D.Machine Learning Anti-fingerprinting techniques
  • 46. 향후 안드로이드 보안 기술의 미래는? 사용자 측면 개발자 측면 서비스 측면 정보유출 및 비용발생 기술보안 및 제품도용 컨텐츠보안 및 안심거래 플랫폼 측면 Anti-fingerprinting techniques 2010. 12. 7. Kandroid ADP (칸드로이드 개발자 폰)