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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
3
2.4k
Java 21 Overview
line_developers
6
1.3k
Code Review Challenge: An example of a solution
line_developers
1
1.5k
KARTEのAPIサーバ化
line_developers
1
600
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.3k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.3k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.8k
A/B Testing at LINE NEWS
line_developers
3
1.1k
LINEのサポートバージョンの考え方
line_developers
2
1.4k
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
210
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
220
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
180
AI駆動開発を事業のコアに置く
tasukuonizawa
1
160
配列に見る bash と zsh の違い
kazzpapa3
1
140
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
180
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
120
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
380
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
8.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Marketing to machines
jonoalderson
1
4.6k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Mobile First: as difficult as doing things right
swwweet
225
10k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Designing Experiences People Love
moore
144
24k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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 コミュニケーション 迅速な対応 最高のセキュリティ