Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LINE GAMEとセキュリティ / LINE GAME and Security

LINE GAMEとセキュリティ / LINE GAME and Security

2019/3/1 Shibuya.gamesec #1
Myeongjae Lee

53850955f15249a1a9dc49df6113e400?s=128

LINE Developers
PRO

March 01, 2019
Tweet

Transcript

  1. LINE 1 LINE GAME と セキュリティ (セキュリティと向き合うための視線) 2019/03/01 myeongjae.lee@linecorp.com

  2. LINE • LINE GAMEの特徴 • LINE GAMEとセキュリティ • LINE GAMEがセキュリティと向き合うための工夫

    • LINE GAME Security Life Cycle • LINE GAMEのセキュリティ業務紹介 • ガイドラインの提供 • セキュリティモジュールの提供 • セキュリティチェック • Abuserのモニタリングやデータ分析 • 最近のabusing傾向や対応事例の紹介 • その他 目次 2
  3. LINE • LINE GAMEのサービス提供から6周年(2018年)、NativeアプリとHTML 5ゲームを提 供 • LINEのHTML5ゲームサービス「LINE QUICK GAME」がオープン

    • https://linecorp.com/ja/pr/news/ja/2018/2385 • LINE:ディズニー ツムツム全世界累積ダウンロード数8千万達成(2018年11月) • https://linecorp.com/ja/pr/news/ja/2018/2508 • LINE レンジャー全世界累積ダウンロード数5千万達成(2018年 3月) • https://linecorp.com/ja/pr/news/ja/2018/2072 LINE GAMEの特徴 3
  4. LINE • LINEプラットフォームと連携(LINEログイン/ゲストログイン、LINE STOREなど利用可能) • ソーシャル機能利用可能 (友だち招待、タイムライン投稿、ハート送信、ハートおねだ りなど) • 事前登録、ミッション達成するとLINEスタンプなどがもらえるキャンペーンの実績あり

    • ゲーム内の通貨が存在(1次通貨、2次通貨)、友だち間での通貨の売買は不可能 • セキュリティ(Security)=LINEユーザの保護(&abuser対応) • 配信形態: publishing, channeling • リリースタイトルの確認 • https://line.me/ja/games • http://game-blog.line.me/ • https://gdc.game.line.me/games/ • SDK提供(セキュリティモジュールを含む) LINE GAMEの特徴 4
  5. LINE LINE GAMEとセキュリティ LINE GAMEのセキュリティではなく、LINE GAMEがセキュリティに向き合う視線 LINE GAME セキュリティ セキュリティ

    LINE GAMEがセキュリティに向き合うため必要なことは? • どれぐらいのabuserが存在しているか・把握できているか • クライアントはハッキングから安全なのか • abuserの存在を確認したとき、すぐ対応できるのか • 事前にリスクを自動的にチェックできないか 5
  6. LINE Abusingの狙い • ソーシャル上で自分を誇示(LINE友だちに自分のランキングなど) • お金稼ぎ:チート商品販売収入、情報販売収入、広告収入など Abuserのタイプ(上記すべてが連関性があるが、区別するなら) • 通貨系のabusing •

    スコア(ランキング)系のabusing • アイテム系のabusing • ハート系のabusing 事後対応について( Abuserであると判断したら) • BAN(警告)やアイテムの回収 • 実際にサーバのデータを確認し、改ざんを行ったユーザを対象にBAN(警告)やア イテムの回収などを行う • 国によっては、法律が違うため、対応が異なるケースあり。 • 原因となった脆弱性の分析や修正 • サービスによっては、修正しないことも実はある • モニターリングを継続することが重要 LINE GAMEとセキュリティ 6
  7. LINE LINE GAMEがセキュリティと向き合うための工夫 • Abuserのモニタリングツール • クライアントセキュリティモジュール • Rooting/cheating/バイナリ改ざん検知、難読化など •

    APK/IPAの自動脆弱性Scanツール 自社ツールの開発と運営 https://platform.game.line.me/products/air https://air.line.me 7
  8. LINE LINE GAME Security Life Cycle Check Action Develop Plan

    Close start end 企画検討 ガイド提供、 コンサルティング セキュリティチェック モニタリング 換金処理、backupなど リリース前 リリース後 サービス終了 8
  9. LINE LINE GAMEセキュリティ業務の一部紹介 区分 説明 備考 1 セキュリティガイドラインの提供 • セキュリティガイドラインの作成

    や更新 • 社内git上で公開 2 セキュリティモジュールの提供 • セキュリティモジュールの提供を 行う • セキュリティモジュールが収集し たログの分析を行う • rooting探知、チートツール の検知、ファイル改ざん検知、 難読化機能など 3 セキュリティチェック • リリース前に.apk/.ipaファイルを 対象に脆弱性診断を行う • メモリチートや情報漏えい、 他のabusingチェックなど 4 Abuserのモニタリングやデータ分析 • クライアントとサーバが収集する kpiデータの中から、securityデー タを分析してモニタリングを行う • 毎日、異常ユーザをモニタリ ング • オクションサイトのチート商品のモ ニタリング • コミュニティサイトのモニタリ ング セキュリティ ガイド セキュリティ モジュール セキュリティ 診断 セキュリティ モニタリング 9
  10. LINE 1. ガイドラインの提供 Unity 制作ゲーム : IL2CPP コンパイルオプション https://engineering.linecorp.com/ja/blog/detail/110 10

  11. LINE 1. ガイドラインの提供 メモリチート対応において普通にミスしがちなもの https://assetstore.unity.com/packages/tools/utilities/anti-cheat-toolkit-10395 11

  12. LINE 2. セキュリティモジュールの提供 • クライアントサイドを守る目的で作られたもの、完全な対策ではなく保険的(影響の軽減)な防 御とモニタリングの役割 • Root・jailbreak検知/チートツール検知/ファイル改ざん検知(悪意のあるユーザなどの規模な どを推測可能) •

    ログ収集を通じて、事後対応(BAN/警告など)が可能 • 悪意のあるユーザの分析作業を難しくするための装置でもある • ただし、専門知識を持っていて、どうしても突破したいハッカーには、いつかは突破される可 能性があると考える 12
  13. LINE 2. セキュリティモジュールの提供(難読化) 13

  14. LINE 3. セキュリティチェック 脆弱性名 脆弱性説明 個人情報 漏洩可能性 ゲーム内順位への 影響 売上への影響

    ユーザの再現可能性 脆弱性がtwitterやイン ターネットに公開される場 合の懸念 Memory Cheat ・メモリチートツールを利用し、メモ リ内のゲームのスコアなどを改ざ んできる ◦×- ◦×- ◦×- ◦×- ◦×- Abuse of Functionality ・プロキシツールを利用し、HTTPパ ラメータ(スコアなど)を改ざんでき る ・設定ファイル、saveデータなどを 操作 ◦×- ◦×- ◦×- ◦×- ◦×- Insufficient Process Validation ・saveデータをすり替え(他人と共 有)できる ◦×- ◦×- ◦×- ◦×- ◦×- Insufficient Anti- automation ・replay&自動プレイができる ◦×- ◦×- ◦×- ◦×- ◦×- Insufficient Authorization ・不適切なパーミッションが設定さ れている(android) ◦×- ◦×- ◦×- ◦×- ◦×- Information Leakage ・クライアントに端末情報(UDID、 MACアドレス)、デバック関連ファイ ルなどが保存されている ◦×- ◦×- ◦×- ◦×- ◦×- 不正購入 ・不正購入ができる ◦×- ◦×- ◦×- ◦×- ◦×- Insufficient Authentication ・他の人へのなりすまし (他人の購入したアイテムを自分 のアイテムとして使用可能) ◦×- ◦×- ◦×- ◦×- ◦×- 個人情報漏洩 ・ユーザ識別子がクライアントに保 存されている ・ユーザ識別子をHTTPで送信して いる ◦×- ◦×- ◦×- ◦×- ◦×- 14
  15. LINE 3. セキュリティチェック ビルドファイル(.apk/.ipa)に対する脆弱性自動スキャン、Eメール通知 15

  16. LINE 4. データモニタリング(クライアント側の悪意行為) AIR ARMORが収集したデータを分析し、異常ユーザを毎日モニタリングする ⇒BAN対応を行っている 16

  17. LINE 4. データモニタリング(ゲームデータ) ゲームデータ(クライアント&サーバ)を分析し、異常ユーザを毎日モニタリングする ⇒BAN対応を行っている ・閾値ベース 閾値を設定してそれを超えた場合は、異常ユーザとして検知 ゲーム内通貨に対して効率的(Abuserの狙い:通貨>スコア>アイテム) ・スコアベース 正規分布からどれぐらい離れているかによって、ゲーム要素にスコアを付与し、

    スコアが高い場合は、異常ユーザとして検知(ゲーム要素にこだわらない) 17
  18. LINE Unity 改ざんのabusingが多かった。 • LINE GAME ではunity 3d製作タイトルが多く存在している • クライアント側で重要ロジックが実装されていることも多い

    • assembly-CSharp.dll の改ざんが多く発生している iOSバイナリ改ざんユーザの増加 • Androidだけがバイナリ改ざんの対象ではない • jailbreakされていない端末でも、改ざんバイナリ(ipa)をインストール可能 • 海外サイトでは、チート商品も登場 Google IAP refund(支払い戻し)を悪用するユーザの増加 • Google Play Voided Purchases API を利用して継続的なモニタリング・対応が必要 • https://developers.google.com/android-publisher/voided-purchases 最近のLINE GAMEのabusing傾向の紹介 18
  19. LINE ゲームチート対応事例 Unityゲームの改ざん 改ざんapkファイルを入手し、インストールして使用したユーザの探知 ios バイナリ改ざんを探知 19

  20. LINE • 公開記事 • AIR GOの紹介 • https://engineering.linecorp.com/ja/blog/introducing-air-go/ • APK

    Signingについて • https://engineering.linecorp.com/ja/blog/air-go-apk-signing/ • セキュリティエンジニアからみたUnityのこと • https://engineering.linecorp.com/ja/blog/detail/110 • 海外のコミュニティサイトについて • http://apk.tw • https://androidrepublic.org • https://iosgods.com • https://appzzang.me その他 20
  21. LINE 最後 21 You are using this hack at your

    own risk. We will not be held responsible f  o r any bans that may hap pen to y ou r  account. チート行為は自己責任でお願いします。 運営側からBANされる可能性があります。 チートサイトより抜粋