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
March 01, 2019
Technology
0
320
LINE GAMEとセキュリティ / LINE GAME and Security
2019/3/1 Shibuya.gamesec #1
Myeongjae Lee
LINE Developers
March 01, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
1
2.3k
Java 21 Overview
line_developers
6
1.2k
Code Review Challenge: An example of a solution
line_developers
1
1.3k
KARTEのAPIサーバ化
line_developers
1
530
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.2k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.1k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.5k
A/B Testing at LINE NEWS
line_developers
3
970
LINEのサポートバージョンの考え方
line_developers
2
1.3k
Other Decks in Technology
See All in Technology
AIのAIによるAIのための出力評価と改善
chocoyama
2
590
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
270
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
570
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
660
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
280
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
280
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
190
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
180
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
340
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
130
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
480
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A better future with KSS
kneath
239
17k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
A Tale of Four Properties
chriscoyier
160
23k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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される可能性があります。 チートサイトより抜粋