SlideShare una empresa de Scribd logo
1 de 31
Arxan導入前後で変わったこと
日本と海外(中国・台湾)のチート事情
株式会社ミクシィ
モンスト事業本部 開発室 室長
白川裕介
自己紹介
自己紹介
- 氏名
- 白川裕介
- 経歴
- 2012年に新卒でミクシィに入社
- SNS「mixi」でアドネットワークを担当したのちXFLAGのアドテクスタジオへ異動
- その後、モンスターストライクの開発に携わりマネージャーを経験
- 現在では開発室の室長として、モンストに関わるエンジニア組織を統括
モンスターストライク
モンスターストライク
自分のモンスターを引っ張って弾き、敵のモンスターに当てて倒していくという、スマートフォンの特性を活用した、
誰でも簡単に楽しめるアクションRPGです。ゲームはターン制をとっており、
一緒にいる友だちと最大4人まで同時に遊べる協力プレイ(マルチプレイ)が特長です。
日本・台湾・香港・マカオ・中国でサービスを展開しており
2013年の10月の提供開始から現在※までの世界累計利用者数4,900万人を突破
※ 2018年12月時点
「世界累計利用者数 4,900万人を突破したスマホアプリ」
チートとは
チートとは
チート(cheat)とは、広義にはコンピュータゲームにおいて、本来とは異な
る動作をさせる行為である。
狭義には、ゲームを優位に進めるために制作者の意図しない動作をさせる不正
行為(インチキ)を指す。
制作者が意図して組み込んだ裏技や、改造行為そのものを含む場合もある。
Wikipedia contributors. "チート." Wikipedia. Wikipedia, 4 Feb. 2019. Web. 4 Feb. 2019.
チートとは
• 一般的なゲームにおけるチート行為例
• 本来の難易度よりも大幅に簡単に進めることができる
• レアキャラクターやレアアイテムを簡単にゲット
• キャラクターを大幅に強くできる
• ユーザの保持アイテム(課金アイテム等)を増やす
• 運営側が本来想定していたゲームバランスが崩壊
• PvP系のゲームだと他の正規ユーザに大きな影響
チートを放置すると売上に影響あり、正規ユーザの離脱にもつながる
チート対策
チート対策
チート対策は大きく2種類に分類可能
1. サーバー側での対策
• サーバ側のロジックでの改竄防止、チート検知
2. クライアント側での対策
• クライアント上で動作するコードロジックでの対策・チート検知
チート対策
チート対策は大きく2種類に分類可能
1. サーバー側での対策
• 攻撃者からは関知不可能な部分なので有効
• 可能な限り改竄を事前に防止するプログラムを組むべき
2. クライアント側での対策
• アプリケーションが攻撃者の手に渡っている状況
• 攻撃者が解析・改竄が比較的容易な環境
• 攻撃者といたちごっこになる場合が多い
スマホゲームにおける一般的な攻撃例
• データファイルの改竄
• 通信内容の改竄
• バイナリの改竄
• メモリの改竄
• エミュレータによる自動化
モンストにおけるチート事情
モンストにおけるチート攻撃例
• データファイルの改竄
• ステージデータ / キャラデータの改竄
• 通信内容の改竄
• 課金アイテム / 獲得アイテム数の改竄
• バイナリの改竄
• ステージフェーズ飛ばし
• メモリの改竄
• 攻撃力 / 敵キャラ / 各種ゲームデータの改竄
• エミュレータによる自動化(※詳細は後述)
• 自動アカウント作成 / 自動進行等
• ゲーム内のアイテム取得を全自動化
モンストにおけるチート攻撃例
• ワンパンチート
• クエストを1撃でクリアするチート
• 毎ターンSS
• 特別な攻撃を毎回できるチート
• ドロ変
• 獲得したアイテムを改変 (アイテム数やレアアイテム)
• ずっと俺のターン
• 敵の攻撃が来ないチート
実際のチートの様子
• YouTubeで検索したチートの様子が撮られている動画
• 「モンスト ワンパン チート」
モンストのチート事情
• サーバー側での対策
• サーバー側で保存しているデータとの照合
• 不正なリクエストを受け付けない
• 各種ログから不正なリクエストを検知
攻撃を受ける前に対策を講じておくのが大事
攻撃への対策/検知をいかに攻撃者に隠すかも大事
モンストのチート事情
• クライアント側での対策
• バトル部分(in-game)のチートがメイン
• in-gameのゲームロジックはすべてクライアント上で実行
• ステージ攻略、キャラ獲得につながるので攻撃者から狙われやすい
• 各種ステータス・パラメータの改竄もある
先述したとおり攻撃者とのいたちごっこは目に見えている…
そこでArxanを導入
Arxanの導入
Arxanの導入
• EnsureIT
• データファイル改竄防止
• バイナリ改竄防止
• メモリ改竄防止
• 通信内容の改竄防止
• コードの難読化
• Arxan for Android
• エミュレータ検知
• Javaコードの難読化
EnsureIT(国内版モンスターストライク)
EnsureIT導入後の変化 (ワンパンチート数)
Arxan導入 BAN対応 個別チート対応
導入後の変化 (ワンパンチート数)
• EnsureITを導入
• 難読化のみではすべて解決はしない
• 個別に攻撃されている箇所の対策を実施する必要があり
• 導入時の注意点
• 厳重に守れば守るほどアプリの動作が重たくなる
• クラッシュログまで難読化される (fabric)
• BAN対応を実施しても一時的に減少するだけ
• 導入後に効果が現れているのはグラフからも顕著
EnsureIT(台湾版モンスターストライク)
EnsureIT導入後の変化 (ワンパンチート数)
Arxan導入 増加傾向
導入後の変化 (ワンパンチート数)
• 国内版に比べて1年程度導入が遅い
• 国内版で確立/実証されたチート対策が一気に導入された
• 導入後の効果
• グラフをみても明確な効果あり
• EnsureITの導入は攻撃者に対して有効な対策
• 一度対策を実施したとしても安心ではない
• 既存の改竄を防止しても攻撃者側で新たな対応を模索し実行される
Arxan for Android
Arxan for Android
導入を開始し効果 / 対応検討を実施中
• 主な目的はエミュレータの検知
• エミュレータによる大量のアカウント作成
• アプリ内キャンペーンの自動応募
• 現金やギフトカード / 海外旅行が当たるキャンペーンなど
• アプリ内報酬の自動獲得
• アプリ内の報酬を自動で大量に獲得
• 代行業者の温床
まとめ
• Arxan製品の導入
• チート行為に対する防止策としては大きな効果を発揮
• サーバー側での対策 / BAN対応などを混ぜて複合的に対応していくと効果大
• 攻撃者とのいたちごっこはつづく
• 攻撃者も対策をしてくるので継続的なチート防止対応は必要
• 攻撃者に対応内容/検知箇所が知られないようにすることが何より大事
• Arxanならガード(チート対策)をガード(チート対策)するといったことも可能
• Arxanならチート対策の発動率を調整することも可能
まとめ
我々の戦いは終わらない…
Arxan導入前後で変わったこと

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

サムライスピリッツキャラクター制作事例 キャラクターモデル編
 サムライスピリッツキャラクター制作事例 キャラクターモデル編 サムライスピリッツキャラクター制作事例 キャラクターモデル編
サムライスピリッツキャラクター制作事例 キャラクターモデル編
 
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
かわいい女の子になりたいんや! UE4の最新機能を使ってVTuberしてみた!
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザイン
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
UE4を用いたTPS制作事例 EDF:IR パラメータ管理実装実例
UE4を用いたTPS制作事例 EDF:IR パラメータ管理実装実例UE4を用いたTPS制作事例 EDF:IR パラメータ管理実装実例
UE4を用いたTPS制作事例 EDF:IR パラメータ管理実装実例
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメントヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
 
UE4とUnrealC++について
UE4とUnrealC++についてUE4とUnrealC++について
UE4とUnrealC++について
 
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
 
60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~
 
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
 
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
 
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
 

Similar a Arxan導入前後で変わったこと

大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
Yusuke Shirakawa
 
Introduction of my works
Introduction of my worksIntroduction of my works
Introduction of my works
Yasunori Ozaki
 

Similar a Arxan導入前後で変わったこと (20)

モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策
 
モンスターストライクにおける監視システムのあれこれ
モンスターストライクにおける監視システムのあれこれモンスターストライクにおける監視システムのあれこれ
モンスターストライクにおける監視システムのあれこれ
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
ゼロからのエンジニアが開発マネージャーになるまで
ゼロからのエンジニアが開発マネージャーになるまでゼロからのエンジニアが開発マネージャーになるまで
ゼロからのエンジニアが開発マネージャーになるまで
 
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側
 
モバイル通信を使わない 近接端末間通信対戦のレシピ
モバイル通信を使わない 近接端末間通信対戦のレシピモバイル通信を使わない 近接端末間通信対戦のレシピ
モバイル通信を使わない 近接端末間通信対戦のレシピ
 
クリエイターに大切なモノ
クリエイターに大切なモノクリエイターに大切なモノ
クリエイターに大切なモノ
 
Introduction of my works
Introduction of my worksIntroduction of my works
Introduction of my works
 
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
 
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
 
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
 
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
 
『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ
『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ
『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ
 
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみただんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
 
HoloLens 2 TutorialをMobileARで動かす
HoloLens 2 TutorialをMobileARで動かすHoloLens 2 TutorialをMobileARで動かす
HoloLens 2 TutorialをMobileARで動かす
 
World Locking Toolsについて調べている話(2020/04/22)
 World Locking Toolsについて調べている話(2020/04/22) World Locking Toolsについて調べている話(2020/04/22)
World Locking Toolsについて調べている話(2020/04/22)
 
ペアワークで持続的に成長するチームになろう!
ペアワークで持続的に成長するチームになろう!ペアワークで持続的に成長するチームになろう!
ペアワークで持続的に成長するチームになろう!
 
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
Way-Findingをやってやった ~ Azure Spatial Anchorsでね~
 
クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成
 
マイクロソフトにおけるオープンソース戦略 ソフトウェア開発者が実現できること
マイクロソフトにおけるオープンソース戦略 ソフトウェア開発者が実現できることマイクロソフトにおけるオープンソース戦略 ソフトウェア開発者が実現できること
マイクロソフトにおけるオープンソース戦略 ソフトウェア開発者が実現できること
 

Último

Último (12)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Arxan導入前後で変わったこと