1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technology Conference 2016
DeNAのセキュリティの取り組みと、スマート
フォンセキュリティ(Same-Origin Policy)
株式会社ディー・エヌ・エー
システム本部セキュリティ部
セキュリティ技術グループ
杉山俊春
1
12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ゲームにおけるチート、不正行為 - 一般の脆弱性との違い -
プレイ条件を有利化
ゲーム上の制約の回避
嫌がらせ、相対的条件の有利化
ユーザのプレイ時間、操作速度の物理的制約の回
避
通常プレイではできない or 時間を要する
or 条件が必要なものを無理やり実施
12
13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント
13
アプリダウンロード
課金処理
IAP、IAB
App Store
Google Play
ゲームサーバ
データ読み込み、処理結果
処理実行
課金処理
メモリ改ざん
不正な通信
(リクエスト)
データ
ファイル改ざん
アプリ改ざん
通信改ざん
(レスポンス)
14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント
14
アプリダウンロード
課金処理
IAP、IAB
App Store
Google Play
ゲームサーバ
データ読み込み、処理結果
処理実行
課金処理
不正な通信
(リクエスト)
16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント
16
アプリダウンロード
課金処理
IAP、IAB
App Store
Google Play
ゲームサーバ
データ読み込み、処理結果
処理実行
課金処理
通信改ざん
(レスポンス)
18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント
18
アプリダウンロード
課金処理
IAP、IAB
App Store
Google Play
ゲームサーバ
データ読み込み、処理結果
処理実行
課金処理
メモリ改ざん
19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント - メモリ改ざん -
ゲーム内で利用中のデータの変更(画面上に見え
ているデータが対象)
⁃ プレイヤーの能力値の不正強化
• 特にバトルゲームでのHP、攻撃力
⁃ 敵の能力値の弱体化
• 特にバトルゲームでのHP、攻撃力
⁃ 補助アイテムの数量変更
19
20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント
20
アプリダウンロード
課金処理
IAP、IAB
App Store
Google Play
ゲームサーバ
データ読み込み、処理結果
処理実行
課金処理
データ
ファイル改ざん
21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント - データファイル改ざん -
状態やマスターデータを保持しているデータファ
イルの改ざん
⁃ プレイヤーの能力値の不正強化
⁃ 敵の能力値の弱体化
⁃ プレイデータ全般の変更
• 特にサーバを持たない、サーバとの通信を極力減らしている
ゲームの場合
21
22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント
22
アプリダウンロード
課金処理
IAP、IAB
App Store
Google Play
ゲームサーバ
データ読み込み、処理結果
処理実行
課金処理
アプリ改ざん
23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
攻撃されうるポイント - アプリ改ざん -
アプリ側で管理している各種制約の変更
⁃ 各種ゲームパラメータの変更
⁃ 各種ゲーム進行条件の変更
⁃ ゲーム性自体の変更
• プレイ開始→即クリア など
⁃ チート対策のロジックの変更・削除
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とは、スキーム、ホスト、ポートの組み合わせが
同じリソースの範囲にリソースの利用を制限する仕組みで、重要なコン
テンツを保護するために必須となるセキュリティ上の仕組みです。
25
http://www.example.com/
XHR等
http://www.example.com/
JavaScript
リソースの読み込み
読み込みOK!
XHR等
http://dena.com/
リソースの読み込み
26. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin Policyの範囲
http://www.example.com/test/test.htmlとSame Originなのは?
26
URL Same?
http://dena.com/test/test.html
http://www.example.com:8080/test/test.html
http://abc.example.com/test/test.html
https://www.example.com/test/test.html
http://www.example.com/aaaa/test.html
27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
もし、異なるOriginのWebページ上で、JavaScriptが実行できたら…
27
http://www.example.com/
http://www.example.com/
JavaScript
http://dena.com/
Scriptの埋め込み
28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
Same-Origin Policyが正しく動作している例
28
Uncaught DOMException: Blocked a frame
with origin "http://attack.example.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('xss')</script>
⁃ <img src=x onerror="alert('xss')">
⁃ +ADw-script+AD4-alert('xss')+ADw-/script+AD4-
29
30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Same-Origin PolicyとCross-Site Scripting(XSS)
30
今日はあまり見かけなくなった
XSSを改めて紹介します!
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
表示してみましょう!
※もちろんデフォルト設定で!