540 likes | 791 Views
?? : Android ??????. Android ????????????? OS ???????? iOS ?????????????????? (2011?5?, 7?)????Android ??????????????????????AdaptiveMobile (1) ?????2010?? Android ????? ???????? 4 ??????? (2010?12?)????????????? Android ?????? ????????? (2011?3?, 6?)?????????????????? ?????????????????? (?????? 2011?3?~)Android ??PC ????????????? ????????????????.
E N D
1. 1 [??]
?????????????????????????????????????????????????????????
[????????]
???????????????????????????????????????
[????]
???????????????????????????????????[??]
?????????????????????????????????????????????????????????
[????????]
???????????????????????????????????????
[????]
???????????????????????????????????
2. ?? : Android ?????? Android ????????????? OS ????????iOS ?????????????????? (2011?5?, 7?)
????Android ??????????????????????
AdaptiveMobile (1) ?????2010?? Android ????????????? 4 ??????? (2010?12?)
????????????? Android ??????????????? (2011?3?, 6?)
???????????????????????????????????? (?????? 2011?3?~)
Android ??PC ????????????????????????????? 2 [????]
“2010????????????????” (???? MM??)http://www.m2ri.jp/newsreleases/main.php?id=010120110510500
“?????????????! ????·??????OS?????iOS???????!” (comScore, Inc)http://www.comscore.com/jpn/Press_Events/Press_Releases/2011/6/Google_Android_Leads_Acceleration_in_Smartphone_Adoption_in_Japan
“Android has become more of a target for cyber criminals this year, a report shows. – ITPro”http://www.itpro.co.uk/629452/malware-targeting-google-android-quadruples-in-2010
“?????????Android?????????!?” (?????????)http://blog.f-secure.jp/archives/50572996.html
“??????????????????Android?????” (?????????)http://blog.f-secure.jp/archives/50608036.html
“????????????? OS ??????????????????” (Symantec Corporation)http://www.symantec.com/ja/jp/about/news/release/article.jsp?prid=20110303_01
“?????????????????????????????????? 9????” (Kaspersky Lab)http://www.kaspersky.co.jp/news?id=207582705
“???????OS?????Android????????? ?????????(TM) ???? for Android(TM)????? ??????” (Trend Micro Incorporated)http://jp.trendmicro.com/jp/about/news/pr/article/20110510085712.html
“??????? ???? ??????™ for Android????” (F-Secure Corporation)http://www.f-secure.com/ja_JP/about-us/pressroom/news/2011/fs-news_20110511_01_jp.html
“?????????????????????????????? McAfee Mobile Security ?????” (McAfee, Inc.)http://www.mcafee.com/japan/about/prelease/pr_11b.asp?pr=11/07/04-1
“Android?????????????????(??????)???” (TechCrunch JAPAN)http://jp.techcrunch.com/archives/20101229lookout-identifies-advanced-android-trojan-but-youre-probably-safe/
“Platform Versions | Android Developers” - http://developer.android.com/resources/dashboard/platform-versions.html?????????????????????????????? Android 2.x ?? Android ??? 95% ???????? (2011/06/21-07/05 ? Google ????????)[????]
“2010????????????????” (???? MM??)http://www.m2ri.jp/newsreleases/main.php?id=010120110510500
“?????????????! ????·??????OS?????iOS???????!” (comScore, Inc)http://www.comscore.com/jpn/Press_Events/Press_Releases/2011/6/Google_Android_Leads_Acceleration_in_Smartphone_Adoption_in_Japan
“Android has become more of a target for cyber criminals this year, a report shows. – ITPro”http://www.itpro.co.uk/629452/malware-targeting-google-android-quadruples-in-2010
“?????????Android?????????!?” (?????????)http://blog.f-secure.jp/archives/50572996.html
“??????????????????Android?????” (?????????)http://blog.f-secure.jp/archives/50608036.html
“????????????? OS ??????????????????” (Symantec Corporation)http://www.symantec.com/ja/jp/about/news/release/article.jsp?prid=20110303_01
“?????????????????????????????????? 9????” (Kaspersky Lab)http://www.kaspersky.co.jp/news?id=207582705
“???????OS?????Android????????? ?????????(TM) ???? for Android(TM)????? ??????” (Trend Micro Incorporated)http://jp.trendmicro.com/jp/about/news/pr/article/20110510085712.html
“??????? ???? ??????™ for Android????” (F-Secure Corporation)http://www.f-secure.com/ja_JP/about-us/pressroom/news/2011/fs-news_20110511_01_jp.html
“?????????????????????????????? McAfee Mobile Security ?????” (McAfee, Inc.)http://www.mcafee.com/japan/about/prelease/pr_11b.asp?pr=11/07/04-1
“Android?????????????????(??????)???” (TechCrunch JAPAN)http://jp.techcrunch.com/archives/20101229lookout-identifies-advanced-android-trojan-but-youre-probably-safe/
“Platform Versions | Android Developers” - http://developer.android.com/resources/dashboard/platform-versions.html?????????????????????????????? Android 2.x ?? Android ??? 95% ???????? (2011/06/21-07/05 ? Google ????????)
3. ?? : Android ?????? ???? OS ?????????????????? (2003?~)
iOS ???: JailbreakMe (2007?~)
?????? iPhone ???????????????????????????????????
Android ???: DroidDream (2011?3?)
????????????????????????????????????????????????
?????????????????????????? 3 [????????]
??????????????????????????????????????????????????????????????????????????????????????? [a]?SQL ???????? [???????? b]???? XSS [c] ???
[???? – ????]
“JailbreakMe” - http://www.jailbreakme.com/
“iOS????????????????JailbreakMe???????” (Internet Watch)http://internet.watch.impress.co.jp/docs/news/20100804_385400.html
“[Announcement] “Exec Shield”, new Linux security feature ” (Linux Kernel Mailing List)http://lkml.org/lkml/2003/5/2/96
“Windows XP SP2 ??????????????” (??????? ???? ?????)http://support.microsoft.com/kb/884515/ja
“????????????? ? 13 ? Windows Vista ????????? ~ Address Space Layout Randomization ~” (Microsoft TechNet)http://technet.microsoft.com/ja-jp/library/dd362922.aspx
[???? – ?????]
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-1717
http://developer.android.com/reference/android/database/sqlite/SQLiteQueryBuilder.html
http://control-ak.org/2010/11/xss-vulnerability-in-osfoora/[????????]
??????????????????????????????????????????????????????????????????????????????????????? [a]?SQL ???????? [???????? b]???? XSS [c] ???
4. ????? ?????
???????????
???????????????????
?????
????????????????????
???????????????
?????????
??????????
??? Android ????????
?????????????????????? 4
5. ????? ????????????
Linux ???? / Android ???????
Android ???????? ????????
?????
???????
????? / ??????? / ????????
??????????
?????
root ?
?????????????? 5
6. ???????????? Linux ????????????? Android ?????? 6
7. ?????????????????? Android ???? Java ???????????????????????????????
Linux ????
Dalvik VM
WebKit
Android ????????????????????
??????????????
???????? exploit ????
Android ????????????????? Linux ????????????????????????????? 7
8. ?????????????? 8 [????????]
iOS ????????? Charlie Miller ? [1] ? Stefan Esser ? [2][3] ??????????
?? iOS 4.3 ????????? ASLR ??????????????? iOS App ???????? ASLR ????????????? [3] ????(??? App ??? PIE ?????????ASLR ???????????????)
DEP (????) ?????????????????????????????????? DEP ????????????
[????]
Charlie Miller : “iPhone SMS Fuzzing and Exploitation”
Stefan Esser : “Adding ASLR to jailbroken iPhones”
Stefan Esser : “Antid0te 2.0 – ASLR in iOS”[????????]
iOS ????????? Charlie Miller ? [1] ? Stefan Esser ? [2][3] ??????????
?? iOS 4.3 ????????? ASLR ??????????????? iOS App ???????? ASLR ????????????? [3] ????(??? App ??? PIE ?????????ASLR ???????????????)
9. ???????? : DEP ??????????? (????) ???? (????) ????????????????????????????????????
Linux ????????????????????????????
???????????????? –Wl,-z,noexecstack ?????
??????????????? (read-implies-exec) ????DEP ??????????????
Android 2.2 ?????????? (???????????????) ????????????????2.3 ??? 9 [????????]
-Wl,-z,noexecstack ??????????????????????????????? (????????????????) ?????????????????DEP ????????????????
?????????????????????????????? (ELF) ????? PT_GNU_STACK ????????????????
?? (?????? [-Wl,-z,noexecstack] ???) : ????????
?? (?????? [-Wl,-z,execstack] ???) : ?????????
?? : ????? (??????????????????????)
?????????????????????????????????????? Linux ? personality ???????
?????????? READ_IMPLIES_EXEC ??????????????????????? PROT_READ (??????) ?????????????? PROT_EXEC (????) ????????
??????????? PROT_WRITE ????????? read-implies-exec ????? DEP ?????????????? Android ?????? (bionic C ???????) ????????????
Android ??????????? (NDK) ??????version 2.2 ??????? NDK (r4b ??) ??
??????????????? –Wl,-z,noexecstack ????????????? DEP ?????????????version 2.3 ??? NDK (r5 ??) ???????????????????????????????????????????????????????Android 2.2 ???? DEP ?????????????[????????]
-Wl,-z,noexecstack ??????????????????????????????? (????????????????) ?????????????????DEP ????????????????
?????????????????????????????? (ELF) ????? PT_GNU_STACK ????????????????
?? (?????? [-Wl,-z,noexecstack] ???) : ????????
?? (?????? [-Wl,-z,execstack] ???) : ?????????
?? : ????? (??????????????????????)
?????????????????????????????????????? Linux ? personality ???????
10. ???????? : W^X ??? ????????????????????????????????
?????????????????????????????
??? Linux ???????W^X ???????????????? (PaX (1) ???????????)
Linux ??????? Android ???
Android ?? JIT ??????????????W^X ??????????????????? (?: iOS ? WebKit) 10 [??]
W^X ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
[????????]
???????????????????????????????????????????????????????????????????? (???) ????????????????????????????
?????????????????? Linux ???????????????PaX ? grsecurity ?????????????
W^X ??????????????????? W^X ????????????????????????
JIT ?????????????????? PROT_READ | PROT_WRITE ????????????????????PROT_READ | PROT_EXEC ??????????????? Dalvik ? JIT ???? (????????????) ???????[??]
W^X ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
[????????]
???????????????????????????????????????????????????????????????????? (???) ????????????????????????????
11. ???????? : ASLR ???????????????????????????????????????????
Android ????? Linux ????????????????????????????????????????
???????????????????
?????????????????????????????????????????????(??? Prelinking ???) 11 [????????]
ASLR ???????????????????????????????????????????????????(???????????)
Android ?????????????????????????????mmap ??????????????????????????????? ASLR ???? (?????????) ??????????????????????????????????????[1][2]?
??????????????Android ????? Linux ????? ASLR ??????????????? Linux ????????8MB ???????16 ???????????????????mmap ???????????????????????????? 4kB (???) ???????????????????1MB ???????????????????? 1MB ?????????????????????????
[????]
Chen XiaoBo : “Defeating Windows 7 Browser Memory Protection”
Charlie Miller : “Mac OS X Hacking – Snow Leopard Edition”[????????]
ASLR ???????????????????????????????????????????????????(???????????)
Android ?????????????????????????????mmap ??????????????????????????????? ASLR ???? (?????????) ??????????????????????????????????????[1][2]?
12. ?????????? : Zygote 12 ?????????????? Dalvik ?????????????????? “Zygote” ????????????
“Zygote” ????????????????????DEP ???????
?????????????????????????????ASLR ???????
ASLR ??????Prelinking ??????????????? [????????]
Zygote ??/system/bin/app_process ??????? Dalvik ??????????????
??? /init ????????????????????????? Dalvik ????????(?????????????????) ? fork ????
fork ???????????????????????????? exec ???????????????Zygote ????? exec ??????????????????
????????????????DEP ??????????????? (-Wl,-z,noexecstack) ? Zygote ??????????????????????????? DEP ??????????????[????????]
Zygote ??/system/bin/app_process ??????? Dalvik ??????????????
??? /init ????????????????????????? Dalvik ????????(?????????????????) ? fork ????
fork ???????????????????????????? exec ???????????????Zygote ????? exec ??????????????????
13. ?????????? : Prelinking ????????? Prelinking ???????????????????????????????????????????????????????????????
?????????????????????????????
??????????? ASLR ????????
return-into-libc ? ROP ??????????????????????????????????
????????? Zygote ? Prelinking ???? Linux ???????????????????????? 13 [????????]
??????????????????????????????? ASLR ????????????????????????????? (Windows) ?????????????????????????? (antid0te; Jailbreak ??????? iOS ??? ASLR ??) ????
?????? Android ???????????????????????????????????????ASLR ???????????????????????????????????????????[????????]
??????????????????????????????? ASLR ????????????????????????????? (Windows) ?????????????????????????? (antid0te; Jailbreak ??????? iOS ??? ASLR ??) ????
14. ??????????? : V8 Engine ???? (WebKit) ?????? V8 Engine ?????????????????????? (rwx) ????? (JavaScript ?????)
?????? W^X ????????????
?????????????????????????????
???? (WebKit) ????????????????????????????? 14 [????????]
?? WebKit ???????????? JavaScriptCore ? rwx ??????????????????????? WebKit (/system/lib/libwebcore.so) ???????? V8 Engine ??????????
(??? JavaScriptCore ? iOS ??????? rwx ?????????????????)
???????????????????WebKit ? JavaScriptCore ? iOS ??? W^X ??????? (1 ????? Android ??????????) ??V8 Engine ?????????????? (W^X ???????????????????) ??????????????????????[????????]
?? WebKit ???????????? JavaScriptCore ? rwx ??????????????????????? WebKit (/system/lib/libwebcore.so) ???????? V8 Engine ??????????
(??? JavaScriptCore ? iOS ??????? rwx ?????????????????)
15. ??? Linux ???????????????????? Android ????????????????????
???????????????????????????????????????
?????????????????????
Android ???????????????????????????????
???? CPU ???????????????????? 15
16. ??????????????????? Android ???????????????? 16
17. Android ??????????????? ??? OS ????????????????????????
?????????????????? (???) ????????
Android ?????????????????????????????????????
????????????
???????
???????
??????? (Activity)
???????? (Broadcast)
...
???? Android ???????????????????? 17 [????????]
??????Android ????????????????????????????????????????????????
????????????Windows ? Linux ????????????????? iOS ??????????Android ??????????????????????????????
(????????????? “????????” ?????????????????????????????????????????)[????????]
??????Android ????????????????????????????????????????????????
18. Android : ??????? ???? “?????” ??????
??????????? “??????????????” ????????????????????????????????
??????? (Activity)
???????? (Broadcast)
... 18 [????????]
??????????? / ?????????????????
???? (Service)
????? ?????? (Content Provider)
??????????????? 2 ?????????????????????????????????????????????????[????????]
??????????? / ?????????????????
???? (Service)
????? ?????? (Content Provider)
19. Android : ????? ??????????? ZIP ?????
AndroidManifest.xml (??????)
Android ???????????????????????????????????????????
???????????????
????? 19 [????????]
armeabi ??????ARM ?????????????????????????? (ABI) ??????? EABI ??????????/lib/armeabi/* ? armeabi ????????????????? / ABI??????????
????????? Android ??? ARM / EABI ?????????[????????]
armeabi ??????ARM ?????????????????????????? (ABI) ??????? EABI ??????????/lib/armeabi/* ? armeabi ????????????????? / ABI??????????
????????? Android ??? ARM / EABI ?????????
20. Android : ?????/??????? ?????????????????????
INTERNET (???????????)
READ_PHONE_STATE (??????????)
Android 2.3.3 ???????? 100 ????????
?????????????????????
??????????????????????? 20 [??]
??????????????????????????????????????????????????[??]
??????????????????????????????????????????????????
21. Android : ????? ???????????????????????????
????????????????????
???????????????????????????????
??????????
?????????????? 21 [????????]
??????? Intent ????????????
???? Intent ????????Intent ????????????????????????? ????????????????(Activity / BroadcastReceiver ?????????????)?????????????????????????[????????]
??????? Intent ????????????
???? Intent ????????Intent ????????????????????????? ????????????????(Activity / BroadcastReceiver ?????????????)?????????????????????????
22. Android : ????? (???????) ??????? (Activity) ???????????????????????? “?????” ????????????????????
?????“???????” “Twitter ?????” ???????????????????????
????????????????????????????????????????????(??? ????? ???? ???) 22 [??]
Android ??????????????????????????????????????????????????????????????????????????????????????? (??? “??” ?????????????) ??????????[??]
Android ??????????????????????????????????????????????????????????????????????????????????????? (??? “??” ?????????????) ??????????
23. Android : ?????????? ?????????????????????????????????????????
“???????????” ????????????????????????????????????????
???????????????????????????????? 23 [????????]
???????? (2.1 ???) ? Android ?????????????????????? Android ??????? (????????) ??????????????2.1 ????????????????????????????????????????????????????(SET_PREFERRED_APPLICATIONS)[????????]
???????? (2.1 ???) ? Android ?????????????????????? Android ??????? (????????) ??????????????2.1 ????????????????????????????????????????????????????(SET_PREFERRED_APPLICATIONS)
24. Android : ????? (????????) ???????? (Broadcast) ???????????????????????????????
????? (?????) ???? ???????? ????(BroadcastReceiver) ??????????????????? 24
25. Android : ????????????? ???????????“????” ? “????” ??????
?????????????????? “????”
???????????????????????
????????????????? (??????????)
abortBroadcast ???????????????????????????????????????????? 25 [??]
???????????? “????” ?????????? SMS ??????????????
[????????]
???????“sticky” ????????? (Intent ??????????????????????????????? ??????????) ?????????? “sticky” ????????????????(?????? Intent ? “sticky” ???????????)[??]
???????????? “????” ?????????? SMS ??????????????
26. Android : ????? ???? Windows ??????????????????Android ?????? ???? (Intent Filter) ?????????
????? (????/?????), ???? (???????)
??????? (MIME ???), ??…
AndroidManifest.xml ???????
?????????????? ????????????????????????????????????? 26 [??]
??????????????????????????????????????????????????????????????????????????????????????????????????????[??]
??????????????????????????????????????????????????????????????????????????????????????????????????????
27. Android : ????? ???????? ????? ??????????????????
?????????? ????????????????????????? ??????????
??????????????“????” ????????????????? (????????????) 27
28. ??? : ?????? Android ???
????? / ??????
???????
???????? Android ?????
??????? (Activity)
???????? (Broadcast)
???????
?????????
??????????????? ????
?????????????? 28 [??]
Android ? Intent ???????????????????????????(????????????????????????????)
???????? “???????? OS” ?????????????????????Android ?????????????????????????????
????????????????????????????????????????????[??]
Android ? Intent ???????????????????????????(????????????????????????????)
29. ???????????? Android ?????????????? 29
30. Android ???????????? ??????????????????????????????
?????????????????
???????????????
??????????????
?????????????
?????
??????????????
root ????
?????Android ?????????
???????????????? 30
31. ????????? : ?? ??? Android ??????????????????? ????????????????????????????
?????????????????????
SMS ? E-???????? 31 [????????]
?????????????? AdMob ??????????????????? (INSTALL_REFERRER) ?????????????????????????????????[????????]
?????????????? AdMob ??????????????????? (INSTALL_REFERRER) ?????????????????????????????????
32. ????????? : ????? ????????????????????
PC ????????????????????
???????????
???????????????(???????????????????????)
?????????????????? (??) 32 [????????]
???????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????
Android ??????????????????????????? (??????????????) ?????[????????]
???????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????
Android ??????????????????????????? (??????????????) ?????
33. ????? : ??????? ????????????????????
?????? : ??????????
????? / ??? : ???????????????????? ?????????????????????...
?????????? / ?????????????????
?????????????? APN ? ????
???????? SMS ???????????????????????
???? / ????????????
???????????? HTTP ???SMS ?????????????????? 33 [??]???????????????????????????????????????????????????? SMS ??????????????????????????????????????? (?????????????? Q2 ??????????????????????) ??????????????????????????????????
[????]
“Android ??????????????????????????????????” (Symantec Connect Community)http://www.symantec.com/connect/blogs/android-5[??]???????????????????????????????????????????????????? SMS ??????????????????????????????????????? (?????????????? Q2 ??????????????????????) ??????????????????????????????????
34. ????? : ????? ??????? ???????????????????????????????????????????????
????????? 9 ?????? (FakePlayer) ???????????????????????? ???????????
SMS ?????“????” ????????????
abortBroadcast ?????????? SMS ?????????????????????
???????????????? SMS ????????????????????????????? 34 [??]
?????????????????????????????????????
??? SMS ?????????????????????????????????????[??]
?????????????????????????????????????
??? SMS ?????????????????????????????????????
35. ????? : ????? ?????????????? Android ????????????????????
????????????????????? (????????)
???????????????????
DroidDreamroot ???????????????? (APK ????) ???????????????????
Plankton???? DEX ???? (Dalvik ??????) ??????????????????? Java ????????????????
root ???????????????????????????????????????? 35
36. root ? ??????? Android ?????????????????????? root (???) ????????????
root ????????????
CVE-2009-1185 (exploid)
udev (??????) ???????? netlink ??????????
CVE-2010-EASY (rage against the cage)
??? CVE ?????? (exploit ????????)
adb ????????????????? setuid ???
CVE-2011-1149 (psneuter)
ashmem (Android ?????) ???????????????
CVE-2011-1823 (Gingerbreak)
vold (????? ?????) ???????? netlink ?????????? 36 [????????]
??????????? root ????????????????????????????????? 4 ??????
????????????????????????????????? 4 ???????
CVE-2010-EASY ????????????????????? CVE ??????????????? Android ??????? [1] ??????????? Bug 2950316 ????????2010?8?27???????????
[????]
http://android.git.kernel.org/?p=platform/system/core.git;a=commit;h=44db990d3a4ce0edbdd16fa7ac20693ef601b723[????????]
??????????? root ????????????????????????????????? 4 ??????
????????????????????????????????? 4 ???????
37. root ? : ?? ?????????????????????????
????????????????????????????????????????????????
?? root ??????Android ????????????????
????????????????? ????????
??????????????
???????????????????????????????????????????????? 37
38. root ?????? : ?????? (1) ???????????????????????????
?: ??????????????????
??????????????????????? (??????)
?????????????????????????????
?????? “??” ??????????????????? (0) ????????????????? 38
39. root ?????? : ?????? (2) root ??????????????????? ?????????????????????
???????????????????? Android ???????????????????????????
????????????????????????????????????????
?? : root ?????????????????????????? 39 [????????]
?????????????????Android 2.3 ????????????????????????
/system/app
/system/framework
/vendor/app
???????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????? (??????????? kill ??) ???????????????????????????????
?????????????????????????????????????????????????????? /vendor/app ?????????????????????[????????]
?????????????????Android 2.3 ????????????????????????
/system/app
/system/framework
/vendor/app
???????????????????????????????????????????????????????????????????????????????
40. root ???? : ?????? ?????????????????????????????????
??????????????
???????? UI ????????????????????????????????????????
???????????????????????? 40 [????????]
???????????????????????????????????????????????????????? (????????) ????????????????????
??? (???????????????) ??????????????
????????????????????????????????????????????[????????]
???????????????????????????????????????????????????????? (????????) ????????????????????
??? (???????????????) ??????????????
41. root ?????? : ?????????? (1) ?????????????????????????????
???????????????????????????
?????????????????????????????????????????????
?????? (AndroidManifest.xml) ???????????????????????????? 41 [????????]
???????????????????????????????????????????????????????????????????????
INSTALL_PACKAGES (????????????????)
??????Android 1.5- (??????????)
SET_PREFERRED_APPLICATIONS (????????????????)
Android 2.1-
DUMP (???????????)
Android 2.3-
???????????????????????
normal : ??
dangerous : ????????????
signature : ??????????????? / ????????????????
signatureOrSystem : signature ??????? (?????) ????????????????????????????????
????????????????? (????????) ?? normal ? dangerous ???????????????????????? signatureOrSystem ??????????[????????]
???????????????????????????????????????????????????????????????????????
INSTALL_PACKAGES (????????????????)
??????Android 1.5- (??????????)
SET_PREFERRED_APPLICATIONS (????????????????)
Android 2.1-
DUMP (???????????)
Android 2.3-
42. root ?????? : ?????????? (2) root ?????????????????????????????
???????????????????????????????
????????????…
??????????????, ????????
????????????????
?? : root ??? 42 [????????]
???????????????????????????? PID ? UID ?????????????????????????????????PID ? UID ???????????????
UID ? 0 (root) ???
UID ? system ??????????
PID ???????? (????????????????????)
??????????????????????????????????????????????????????????????
????????????????????? GID ?????? (????Linux ???????????????) ???????root ???????????? (GID) ???????????
???PID ? UID ????? Binder ??? (Android ???) ???????????????????Binder ??????????????? IPC ????????????????? PID ? UID ?????????
????????????????????root ?????????????????????????????(???Zygote ? fork ?? setuid ????????????????????????? “?????” ????????????????)[????????]
???????????????????????????? PID ? UID ?????????????????????????????????PID ? UID ???????????????
UID ? 0 (root) ???
UID ? system ??????????
PID ???????? (????????????????????)
??????????????????????????????????????????????????????????????
43. root ???? : ??????????? INSTALL_PACKAGE ???????????????????????????????????????????????????
????????????????????????????????????????????????
root ?????????????????????????????????????????????????????? 43
44. root ???? : ????????? root ???????????????????????????????????????????
??????????????????????
???????????????????Android ????????????????????????????? 44 [????????]
??? DroidKungFu ????????????????????????????????????????????????????? (???????????????????) ???????/system ??????????????????????????????????[????????]
??? DroidKungFu ????????????????????????????????????????????????????? (???????????????????) ???????/system ??????????????????????????????????
45. root ???? : ???????????? ?????? root ??????????????????????????????????????????
???????????? root ?????????????????????????
????????????????????????
????????????????????????????
????????????
???????
????????????????????? 45 [????????]
root ??????????? kill ????????????????????
??????????????????????????????????????????????????????????????[????????]
root ??????????? kill ????????????????????
??????????????????????????????????????????????????????????????
46. root ???? : ??????? (1) ???????????????
??????????????????????10 ???????????????????????????(http://www.ipa.go.jp/about/technicalwatch/pdf/110622report.pdf)
root ????????????????????
SELinux, AppArmor, TOMOYO Linux...
SHARP ? Android ?? : Deckard / Miyabi LSM
???????????????????????????
ptrace (????????) ???
chroot (?????????????) ?????
root ??????????????????????????????? 46 [????]
“IPA ????????? - ??????????????????????” – http://www.ipa.go.jp/about/technicalwatch/pdf/110622report.pdf
“Android ? SELinux ????????????, ????????” (ITPro) - http://itpro.nikkeibp.co.jp/article/NEWS/20080530/305495/
“TOMOYO Linux on Android” - http://tomoyo.sourceforge.jp/1.7/android-arm.html.ja
deckard.c ??? miyabi.c - https://sh-dev.sharp.co.jp/android/modules/oss/ ?? Android ????????????????[????]
“IPA ????????? - ??????????????????????” – http://www.ipa.go.jp/about/technicalwatch/pdf/110622report.pdf
“Android ? SELinux ????????????, ????????” (ITPro) - http://itpro.nikkeibp.co.jp/article/NEWS/20080530/305495/
“TOMOYO Linux on Android” - http://tomoyo.sourceforge.jp/1.7/android-arm.html.ja
deckard.c ??? miyabi.c - https://sh-dev.sharp.co.jp/android/modules/oss/ ?? Android ????????????????
47. root ???? : ??????? (2) root ?????????????????????
????????????? root ?????????????
Dalvik ??????????????????????????????????? OS ???????????????????
??????????????????????
Android ?????????????????????????
??????????????????????root ??????????????????????????? 47 [????????]
LKM ???????????????? (??? Deckard/Miyabi LSM ???????) ??????????????????????????????????????????????????????????????? (system server) ????????????
?? Dalvik ??????????? Zygote ???????????SELinux ????????? OS ????????????????????????????????????[????????]
LKM ???????????????? (??? Deckard/Miyabi LSM ???????) ??????????????????????????????????????????????????????????????? (system server) ????????????
?? Dalvik ??????????? Zygote ???????????SELinux ????????? OS ????????????????????????????????????
48. ??? Android ?????????????????????????????????????
?????????????????????????????????????????
root ?? Android ????????????????????????????????????????????
?????????????????????????????????????????????????
??????????????Android ?????????????????????????? 48
49. ?? Android ? “???” ?? 49
50. Android ????????? (1) ?????
Android ? WebKit ???????????????????????????????????????????????
?? Android ?????? Linux ?????????????????????????????
?????????????? (DEP)
??????????? (Zygote, Prelinking)
?????????????????????????????????? 50
51. Android ????????? (2) ????? / ?????????
??????????????????????????????? ??????????????????????????????????????????
root ??????????????????????????????????????????? (?????????????)
???????????????????????????????????????????root ????????????????????????
???Android ??????????????????? 51
52. ????????????? (1) ????? : Android ??????
??????????????????(root ?????????????)
?????????? (LSM)
Android ?????????????
????????????????????
?: ???????????????????????
????????????
Zygote ? Prelinking ????????????? 52
53. ????????????? (2) ????? : ??????
???????????????????????(?????????????????????)
???????????????????????????????????????? (-Wl,-z,noexecstack)
?????????????????
Android ????????????????(????????????????????????)???????????? 53
54. ?? ?? Android ????????????????????????????????????
??????????????????
Android ??????????????????????????????? Android ??????????????????? 54
55. 55