1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technology Conference 2016
DeNAのセキュリティの函りMみと、スマ`ト
フォンセキュリティSame-Origin Policy
幄塀氏芙ディ`?エヌ?エ`
システム云何セキュリティ何
セキュリティ室gグル`プ
票表拭敢
1
12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ゲ`ムにおけるチ`ト、音屎佩 - 匯違の巌樋來との`い -
? プレイ訳周を嗤旋晒
? ゲ`ム貧の崙sの指閲
? 腕がらせ、議訳周の嗤旋晒
? ユ`ザのプレイrg、荷恬堀業の麗尖議崙sの指
閲
宥械プレイではできない or rgを勣する
or 訳周が駅勣なものをo尖やりg仏
12
13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐
13
アプリダウンロ`ド
n署I尖
IAP、IAB
App Store
Google Play
ゲ`ムサ`バ
デ`タiみzみ、I尖Y惚
I尖g佩
n署I尖
メモリ個ざん
音屎な宥佚
┘螢エスト
デ`タ
ファイル個ざん
アプリ個ざん
宥佚個ざん
┘譽好櫂鵐坑
14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐
14
アプリダウンロ`ド
n署I尖
IAP、IAB
App Store
Google Play
ゲ`ムサ`バ
デ`タiみzみ、I尖Y惚
I尖g佩
n署I尖
音屎な宥佚
┘螢エスト
16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐
16
アプリダウンロ`ド
n署I尖
IAP、IAB
App Store
Google Play
ゲ`ムサ`バ
デ`タiみzみ、I尖Y惚
I尖g佩
n署I尖
宥佚個ざん
┘譽好櫂鵐坑
18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐
18
アプリダウンロ`ド
n署I尖
IAP、IAB
App Store
Google Play
ゲ`ムサ`バ
デ`タiみzみ、I尖Y惚
I尖g佩
n署I尖
メモリ個ざん
19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐 - メモリ個ざん -
? ゲ`ム坪で旋喘嶄のデ`タの筝┿中貧にえ
ているデ`タが鵤
? プレイヤ`の嬬薦、硫師晒
? 蒙にバトルゲ`ムでのHP、好珍
? 海猟楞、糧悶晒
? 蒙にバトルゲ`ムでのHP、好珍
? a廁アイテムの方楚筝
19
20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐
20
アプリダウンロ`ド
n署I尖
IAP、IAB
App Store
Google Play
ゲ`ムサ`バ
デ`タiみzみ、I尖Y惚
I尖g佩
n署I尖
デ`タ
ファイル個ざん
21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐 - デ`タファイル個ざん -
? 彜Bやマスタ`デ`タを隠隔しているデ`タファ
イルの個ざん
? プレイヤ`の嬬薦、硫師晒
? 海猟楞、糧悶晒
? プレイデ`タ畠違の筝
? 蒙にサ`バを隔たない、サ`バとの宥佚をO薦pらしている
ゲ`ムの栽
21
22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐
22
アプリダウンロ`ド
n署I尖
IAP、IAB
App Store
Google Play
ゲ`ムサ`バ
デ`タiみzみ、I尖Y惚
I尖g佩
n署I尖
アプリ個ざん
23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
好弔気譴Δ襯櫂ぅ鵐 - アプリ個ざん -
? アプリ箸嚢楡蹐靴討い觚N崙sの筝
? 光Nゲ`ムパラメ`タの筝
? 光Nゲ`ムM佩訳周の筝
? ゲ`ム來徭悶の筝
? プレイ_兵★軸クリア など
? チ`ト貨のロジックの筝?茅
23
24. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin Policy
Apache/IIS/iOS UIWebView/SOP Bypass/Android
24
25. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin Policyとは
? Same-Origin Policyとは、スキ`ム、ホスト、ポ`トのMみ栽わせが
揖じリソ`スの譴縫螢秋`スの旋喘を崙泙垢詈暴Mみで、嶷勣なコン
テンツを隠oするために駅となるセキュリティ貧の碧Mみです。
25
http://www.e/harupu/denatechcondenasameorigin-policy/xample.com/
XHR吉
http://www.e/harupu/denatechcondenasameorigin-policy/xample.com/
JavaScript
リソ`スのiみzみ
iみzみOK
XHR吉
http://dena.com/
リソ`スのiみzみ
26. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin Policyの
? http://www.e/harupu/denatechcondenasameorigin-policy/xample.com/test/test.htmlとSame Originなのは
26
URL Same?
http://dena.com/test/test.html
http://www.e/harupu/denatechcondenasameorigin-policy/xample.com:8080/test/test.html
http://abc.e/harupu/denatechcondenasameorigin-policy/xample.com/test/test.html
https://www.e/harupu/denatechcondenasameorigin-policy/xample.com/test/test.html
http://www.e/harupu/denatechcondenasameorigin-policy/xample.com/aaaa/test.html
27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
? もし、なるOriginのWebペ`ジ貧で、JavaScriptがg佩できたら´
27
http://www.e/harupu/denatechcondenasameorigin-policy/xample.com/
http://www.e/harupu/denatechcondenasameorigin-policy/xample.com/
JavaScript
http://dena.com/
Scriptの托めzみ
28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
? Same-Origin Policyが屎しく嘛している箭
28
Uncaught DOME/harupu/denatechcondenasameorigin-policy/xception: Blocked a frame
with origin "http://attack.e/harupu/denatechcondenasameorigin-policy/xample.com" from
accessing a cross-origin frame.
29. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
? XSSの碧圭弼?
? <script>alert(/harupu/denatechcondenasameorigin-policy/x27;/harupu/denatechcondenasameorigin-policy/xss/harupu/denatechcondenasameorigin-policy/x27;)</script>
? <img src=/harupu/denatechcondenasameorigin-policy/x onerror="alert(/harupu/denatechcondenasameorigin-policy/x27;/harupu/denatechcondenasameorigin-policy/xss/harupu/denatechcondenasameorigin-policy/x27;)">
? +ADw-script+AD4-alert(/harupu/denatechcondenasameorigin-policy/x27;/harupu/denatechcondenasameorigin-policy/xss/harupu/denatechcondenasameorigin-policy/x27;)+ADw-/script+AD4-
29
30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
30
書晩はあまりかけなくなった
XSSを個めてB初します
31. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
302 Foundの鮫中とXSS
31
☆鮫中はハメコミ栽撹です
劣た302 Foundの鮫中
32. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
302 Foundの鮫中とXSS
32
燕幣してみましょう
☆もちろんデフォルトO協で
39. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C Location: javascript:/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x
? 極挑班呂離┘薊`ペ`ジで燕幣
39
gはY裡ない彜B
40. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C 採が裡ないのか
? Same Origin Policyが燭ない譴ある
40
? 蒙協の訳周(仝file://々で_かれたペ`ジ
吉)でSame Origin Policyの崙sがなくな
る栽がある
☆ブラウザによって咾呂泙舛泙訴造謹い
? エラ`ペ`ジは仝file://々と揖吉、または、
匯違のペ`ジより互い慙泙O協されて
いる栽がある
41. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C 仝file://々にvする崙s箭
? 仝file://々にvする崙s箭
? 宥械のWebペ`ジからは柵び竃せない
? 箭http://www.e/harupu/denatechcondenasameorigin-policy/xample.com貧にiframeで托めz
めない
? 宥械のWebペ`ジからはw卞ができない
? 箭aタグで峺協してもw卞ができない
? 箭Locationヘッダでw卞ができない
? 採らかの圭隈で仝file:///harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x々を_く並ができれば、Same
Origin Policyの指閲まで瘁匯i
41☆ブラウザやレンダリングエンジンによってY`います
42. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C Location:javascript:/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/xが嗤燭淵羽`ス
? 唹を鞭けるバ`ジョン
? Android OS 4.0 (API 14) 參週
4.4(API 19) 隆
? 壅F訳周
WebViewを聞っているアプリで
? 和O協が true になっている
? setAllowFileAccessFromFileURLs
? setAllowUniversalAccessFromFileU
RLs
または
? AndroidManifest./harupu/denatechcondenasameorigin-policy/xml の
android:targetSdkVersion が 15
參和になっている
42
☆極挑によってはエラ`鮫中がカスタマイズ
されていて嘛しません。
43. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C Same-Origin Policy指閲箭(Android 4.2.2)
43
44. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C なSame Origin Policyの指閲返
1. 販吭のペ`ジでCookieに ̄<script>/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x´</script> ̄のような好
コ`ドをセットする
44
2. 仝Location: javascript:/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x/harupu/denatechcondenasameorigin-policy/x々でリダイレクトするペ`ジへアクセス
する
4. JavaScriptでiframeを恬り
仝file:///data/.../webViewCookiesChromium.db々を_く
? エラ`ペ`ジは、仝file://々を柵び竃せるが、仝file://々で柵び竃
したコンテンツの嶄附はiめない
5. 返1でセットしたスクリプトが k咾垢襭
6. 仝file:///data/.../webViewCookiesChromium.db々は仝file://々で_
かれているため、Same Origin Policyの箭翌になり、販吭のロ`カル
ファイル、Webペ`ジのコンテンツをiみzめる
3. エラ`鮫中貧のリンクをユ`ザがクリックする
45. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C WebViewはNativeアプリの{璃か
? WebViewをメインで聞っていないアプリでも參和のような侭で聞っ
ているケ`スが謹くある
? おしらせ
? 旋喘シs
? ヘルプ
? おい栽わせ
などのWebと猥圓措いC嬬
45
WebViewを旋喘していないw侭の嶷勣秤鵑息する辛嬬來
WebViewU喇でアプリ坪の販吭のファイルがiみzめる
46. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Android(WebView)の栽 C WebViewはNativeアプリの{璃か
46
WebView
隠o
デ`タ
I囃
Native
アプリ
何蛍
嶷勣デ`タの
隠贋、iz
サ`バ
アプリ
好張芥`ド
SOP Bypass!! 秤鸞
Man In The Middle吉