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サービスのセキュリティ運営 / Security activity for ...
Search
LINE Developers
March 14, 2019
Technology
2
1.3k
LINE GAMEサービスのセキュリティ運営 / Security activity for LINE GAME services
2019/3/14にLINE KYOTOで行われたLINE Developer meetup #51での登壇資料です
LINE Developers
March 14, 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時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
340
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
120
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
150
解析の定理証明実践@Lean 4
dec9ue
1
190
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
200
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
5
580
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
320
Wasm元年
askua
0
160
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.3k
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Applications with DynamoDB
mza
95
6.5k
BBQ
matthewcrist
89
9.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
LINE 1 LINE GAMEサービスのセキュリティ運営 2019/03/14 LINE株式会社セキュリティ室game securityチーム 李明宰(
[email protected]
) 「LINE Developer
meetup #51 in KYOTO」
LINE • LINE GAMEサービスのセキュリティ運営とは • LINE GAMEの特徴 • LINE GAMEサービスの脅威
• アプリに対する不正行為 • 最近のabusing傾向 • セキュリティ運営のために必要なことと工夫 • LINE GAME Security Life Cycle • セキュリティ運営業務紹介 • ガイドラインの提供 • セキュリティモジュールの提供(AIR ARMOR) • セキュリティチェック(AIR GO) • Abuserのモニタリングやデータ分析(AIR EYE) • その他 目次 2
LINE • LINE GAMEのサービス提供から6周年(2018年)、NativeアプリとHTML5ゲームを提供 • LINEのHTML5ゲームサービス「LINE QUICK GAME」がオープン • LINE
レンジャー全世界累積ダウンロード数5千万達成(2018年 3月) LINE GAMEサービスのセキュリティ運営とは ユーザ保護 リスク管理 LINE GAMEのサービスにおける様々な脅威からユーザを保護し、リスクを管理する 一連の取り組み
LINE • LINEプラットフォームと連携(LINEログイン/ゲストログイン、LINE STOREなど利用可能) • ソーシャル機能利用可能 (友だち招待、タイムライン投稿、ハート送信、ハートおねだ りなど) • 事前登録、ミッション達成するとLINEスタンプなどがもらえるキャンペーンの実績あり
• ゲーム内の通貨が存在(1次通貨、2次通貨)、友だち間での通貨の売買は不可能 • 配信形態: 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サービスの脅威(ゲームアプリに対する不正行為) File Hacking Memory Hacking Network Hacking •
Memory Value Modification • Speed Modification • Memory Dump • Binary File Modification • Binary File Analyze • Data File Modification • Resource File Modification • MITM(Man in the Middle) • Packet Replay Attack • Packet Analyze
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 最近のabusing (不正行為)傾向 6
LINE セキュリティ運営のために必要なことは 7 • クライアントはハッキングから安全なのか(アプリの安全性) • どれぐらいのabuserが存在しているか・把握できているのか(abuserの規模) • abuserの存在を確認したとき、すぐ対応できるのか(対応体制) •
事前にあるいは定期的にリスクを自動的にチェックできるのか(リスク管理)
LINE セキュリティ運営ための工夫 • Abuserのモニタリングツール • クライアントセキュリティモジュール • Rooting/cheating/バイナリ改ざん検知、難読化など • APK/IPAの自動脆弱性Scanツール
自社ツールの開発と運営 https://platform.game.line.me/products/air https://air.line.me 8
LINE LINE GAME Security Life Cycle Check Action Develop Plan
Close start end 企画検討 ガイド提供、 コンサルティング セキュリティチェック モニタリング 換金処理、backupなど リリース前 リリース後 サービス終了 9
LINE 10 セキュリティモジュール セキュリティ ガイドラインの提供 セキュリティチェック データ分析 および モニタリング セキュリティガイドラインの作成(社内Gitで公開)
セキュリティモジュールをSDKとして開発し提供 ハッカーの立場でチートや攻撃 異常データを毎日検知し、abuserを対応 セキュリティ運営業務の一部紹介
LINE 1. ガイドラインの提供 例1:Unity 制作ゲーム : IL2CPP コンパイルオプション https://engineering.linecorp.com/ja/blog/detail/110 11
例2:メモリチート対応において普通にミスしがちなもの https://assetstore.unity.com/packages/tools/utilities/anti-cheat-toolkit-10395
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 診断 .ipaファイル .apkファイル 入力 結果
メール通知
LINE 3. セキュリティチェック ビルドファイル(.apk/.ipa)に対する脆弱性自動スキャン、Eメール通知 16 • アプリの難読化チェック • 脆弱性の診断 •
オープンソースライセンスチェック • マルウェアのチェック
LINE 3. セキュリティチェック AIR GOの仕組み 17 デコンパイル (disassembly) パーシング パーシングされたデータと脆
弱性パータンとの比較 結果の出力 classes.dex(bytecode) -> smaliコード(instruction list) ▼Javaコード String message = "Toast Hello"; Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG); toast.show(); ▼smaliコード const-string v2, "Toast Hello" const/4 v3, 0x1 invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; move-result-object v1 invoke-virtual {v1}, Landroid/widget/Toast;->show()V
LINE 4. データモニタリング(クライアント側の悪意行為) AIR ARMORが収集したデータを分析し、異常ユーザを毎日モニタリングする ⇒BAN対応を行っている 18
LINE Unityゲームの改ざん 改ざんAPKファイルを入手し、インストールして使用したユーザの探知 19 4. データモニタリング(クライアント側の悪意行為)
LINE 4. データモニタリング(ゲームデータ) ゲームデータ(クライアント&サーバ)を分析し、異常ユーザを毎日モニタリングする ⇒BAN対応を行っている ・閾値ベース 閾値を設定してそれを超えた場合は、異常ユーザとして検知 ゲーム内通貨に対して効率的(Abuserの狙い:通貨>スコア>アイテム) ・スコアベース 正規分布からどれぐらい離れているかによって、ゲーム要素にスコアを付与し、
スコアが高い場合は、異常ユーザとして検知(ゲーム要素にこだわらない) 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 その他 21
LINE 最後 22 コミュニケーション 迅速な対応 最高のセキュリティ