Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LINE GAMEとセキュリティ / LINE GAME and Security
Search
LINE Developers
PRO
March 01, 2019
Technology
0
310
LINE GAMEとセキュリティ / LINE GAME and Security
2019/3/1 Shibuya.gamesec #1
Myeongjae Lee
LINE Developers
PRO
March 01, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
PRO
1
1.4k
Java 21 Overview
line_developers
PRO
6
800
Code Review Challenge: An example of a solution
line_developers
PRO
1
830
KARTEのAPIサーバ化
line_developers
PRO
1
370
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
PRO
5
1.8k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
PRO
3
1.7k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
PRO
9
2.3k
A/B Testing at LINE NEWS
line_developers
PRO
2
630
LINEのサポートバージョンの考え方
line_developers
PRO
2
790
Other Decks in Technology
See All in Technology
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
890
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
480
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
1
1.1k
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.3k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
0
3.7k
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
440
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
オーナーシップを持つ領域を明確にする
konifar
13
3.1k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
180
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
130
Featured
See All Featured
The Brand Is Dead. Long Live the Brand.
mthomps
49
28k
Being A Developer After 40
akosma
57
580k
Producing Creativity
orderedlist
PRO
337
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Bash Introduction
62gerente
604
210k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Automating Front-end Workflow
addyosmani
1356
200k
Six Lessons from altMBA
skipperchong
21
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Why Our Code Smells
bkeepers
PRO
331
56k
Transcript
LINE 1 LINE GAME と セキュリティ (セキュリティと向き合うための視線) 2019/03/01
[email protected]
LINE • LINE GAMEの特徴 • LINE GAMEとセキュリティ • LINE GAMEがセキュリティと向き合うための工夫
• LINE GAME Security Life Cycle • LINE GAMEのセキュリティ業務紹介 • ガイドラインの提供 • セキュリティモジュールの提供 • セキュリティチェック • Abuserのモニタリングやデータ分析 • 最近のabusing傾向や対応事例の紹介 • その他 目次 2
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
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
LINE LINE GAMEとセキュリティ LINE GAMEのセキュリティではなく、LINE GAMEがセキュリティに向き合う視線 LINE GAME セキュリティ セキュリティ
LINE GAMEがセキュリティに向き合うため必要なことは? • どれぐらいのabuserが存在しているか・把握できているか • クライアントはハッキングから安全なのか • abuserの存在を確認したとき、すぐ対応できるのか • 事前にリスクを自動的にチェックできないか 5
LINE Abusingの狙い • ソーシャル上で自分を誇示(LINE友だちに自分のランキングなど) • お金稼ぎ:チート商品販売収入、情報販売収入、広告収入など Abuserのタイプ(上記すべてが連関性があるが、区別するなら) • 通貨系のabusing •
スコア(ランキング)系のabusing • アイテム系のabusing • ハート系のabusing 事後対応について( Abuserであると判断したら) • BAN(警告)やアイテムの回収 • 実際にサーバのデータを確認し、改ざんを行ったユーザを対象にBAN(警告)やア イテムの回収などを行う • 国によっては、法律が違うため、対応が異なるケースあり。 • 原因となった脆弱性の分析や修正 • サービスによっては、修正しないことも実はある • モニターリングを継続することが重要 LINE GAMEとセキュリティ 6
LINE LINE GAMEがセキュリティと向き合うための工夫 • Abuserのモニタリングツール • クライアントセキュリティモジュール • Rooting/cheating/バイナリ改ざん検知、難読化など •
APK/IPAの自動脆弱性Scanツール 自社ツールの開発と運営 https://platform.game.line.me/products/air https://air.line.me 7
LINE LINE GAME Security Life Cycle Check Action Develop Plan
Close start end 企画検討 ガイド提供、 コンサルティング セキュリティチェック モニタリング 換金処理、backupなど リリース前 リリース後 サービス終了 8
LINE LINE GAMEセキュリティ業務の一部紹介 区分 説明 備考 1 セキュリティガイドラインの提供 • セキュリティガイドラインの作成
や更新 • 社内git上で公開 2 セキュリティモジュールの提供 • セキュリティモジュールの提供を 行う • セキュリティモジュールが収集し たログの分析を行う • rooting探知、チートツール の検知、ファイル改ざん検知、 難読化機能など 3 セキュリティチェック • リリース前に.apk/.ipaファイルを 対象に脆弱性診断を行う • メモリチートや情報漏えい、 他のabusingチェックなど 4 Abuserのモニタリングやデータ分析 • クライアントとサーバが収集する kpiデータの中から、securityデー タを分析してモニタリングを行う • 毎日、異常ユーザをモニタリ ング • オクションサイトのチート商品のモ ニタリング • コミュニティサイトのモニタリ ング セキュリティ ガイド セキュリティ モジュール セキュリティ 診断 セキュリティ モニタリング 9
LINE 1. ガイドラインの提供 Unity 制作ゲーム : IL2CPP コンパイルオプション https://engineering.linecorp.com/ja/blog/detail/110 10
LINE 1. ガイドラインの提供 メモリチート対応において普通にミスしがちなもの https://assetstore.unity.com/packages/tools/utilities/anti-cheat-toolkit-10395 11
LINE 2. セキュリティモジュールの提供 • クライアントサイドを守る目的で作られたもの、完全な対策ではなく保険的(影響の軽減)な防 御とモニタリングの役割 • Root・jailbreak検知/チートツール検知/ファイル改ざん検知(悪意のあるユーザなどの規模な どを推測可能) •
ログ収集を通じて、事後対応(BAN/警告など)が可能 • 悪意のあるユーザの分析作業を難しくするための装置でもある • ただし、専門知識を持っていて、どうしても突破したいハッカーには、いつかは突破される可 能性があると考える 12
LINE 2. セキュリティモジュールの提供(難読化) 13
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
LINE 3. セキュリティチェック ビルドファイル(.apk/.ipa)に対する脆弱性自動スキャン、Eメール通知 15
LINE 4. データモニタリング(クライアント側の悪意行為) AIR ARMORが収集したデータを分析し、異常ユーザを毎日モニタリングする ⇒BAN対応を行っている 16
LINE 4. データモニタリング(ゲームデータ) ゲームデータ(クライアント&サーバ)を分析し、異常ユーザを毎日モニタリングする ⇒BAN対応を行っている ・閾値ベース 閾値を設定してそれを超えた場合は、異常ユーザとして検知 ゲーム内通貨に対して効率的(Abuserの狙い:通貨>スコア>アイテム) ・スコアベース 正規分布からどれぐらい離れているかによって、ゲーム要素にスコアを付与し、
スコアが高い場合は、異常ユーザとして検知(ゲーム要素にこだわらない) 17
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
LINE ゲームチート対応事例 Unityゲームの改ざん 改ざんapkファイルを入手し、インストールして使用したユーザの探知 ios バイナリ改ざんを探知 19
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
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される可能性があります。 チートサイトより抜粋