お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2017/05/10 16:18

イベント

[Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 ユニティ・テクノロジーズ・ジャパンは2017年5月8日〜5月9日,東京国際フォーラムで「Unite 2017 Tokyo」を開催した。これは同社の統合開発環境「Unity」についての講演やブース出展などが行われる恒例のカンファレンスだが,5月9日に「スマホゲーム開発者が知っておくべきチートのリスク&対策」と題された講演が行われた。

画像集 No.001のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

「Unite 2017 Tokyo」公式サイト

4Gamer「Unite 2017 Tokyo」記事一覧


DNPハイパーテック マーケティング部の小林亜実氏
画像集 No.002のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート
 不正改造やチートの問題はある意味,ゲームにはつきものだ。とくにスマートフォン向けのゲームでは,料金を払うことなく課金アイテムを手に入れるなど,収益に直接の打撃を与える。講演では,Androidアプリに焦点を絞って,チートの手口や対策などが解説された。
 登壇したのはチート対策セキュリティツール「CrackProof for Unity」を開発したDNPハイパーテック マーケティング部の小林亜実氏で,講演の最後にはこのツールのプレゼンテーションも行われた。


スマートフォンゲームに大損害を与えるチート


 小林氏はまず,今回の講演に使われるチートという言葉を,「ゲームを優位に進めるために制作者の意図しない動作をさせる不正行為」と定義した。スコアやヒットポイントを操作したり,自動的にプレイさせて報酬を獲得したり,レアキャラクターや課金アイテムを入手したりするほか,位置情報を使うゲームでは,GPSの情報を偽装するなど,時代の流れに応じてさまざまなチートが行われてきたという。

画像集 No.003のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 当然ながら,対戦やランキングにチーター(チート使用者のこと)がいると,一般ユーザーは離れてしまうし,課金アイテムを操作されると収益が損なわれる。アプリストアのレビューでも悪評が立ち,新規ユーザーの獲得も困難になる。ゲームを運営していく上でチート対策は重要な課題であると小林氏は語った。

画像集 No.004のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 具体的なチートの手口はさまざまで,メモリに保存されたパラメータを操作する「メモリ改ざん」,アイテムやキャラクターの使用権を不正に取得する「ライセンス認証解除」,望みのキャラクターが手に入るまでインストールと消去を繰り返す「リセマラ」,ゲームプレイを自動化する「マクロ」,ゲームサーバーと端末のやり取りを操作する「通信データ改ざん」などが挙げられた。このため,対策は簡単ではないという。

画像集 No.005のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 講演では,メモリ改ざんチートが実演された。これは,実際に出回っているツールを使い,デモンストレーション用に作られたゲームをチートしてみるという内容だ。ゲームは「敵と1対1で戦うターン制RPGで,課金アイテムを使うと攻撃力をアップできる」というものだったが,本来なら倒せない強敵も,チートツールで増やした課金アイテムを使って簡単にクリアできることが示された。
 このように,チートはゲームシステムに致命的な影響を及ぼすだけでなく,知識がなくても使えるチートツールが手軽に入手できることも問題だと小林氏は警鐘を鳴らす。


チート対策チームを設置するも,不正改造されたゲームが出回って大打撃に


画像集 No.006のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート
 もちろん,パブリッシャ側もこうした状況は認識しており,それなりの対策を行っているが,それでも不足な場合があるという。ここで小林氏は,DNPハイパーテックに持ち込まれた事例の解説を行った。
 パブリッシャのA社は,チート対策の専門チームを置き,ゲームが解析されてしまわないような対策を行った。しかし,今度は不正改造されたapk(Androidのゲームプログラムをパッケージ化したファイル。つまりゲーム本体)が出回ってしまったという。どういう手口でゲームが解析されたのだろうか。

 多くのAndroidアプリは,C#というプログラミング言語で制作される。プログラムを記述したソースコードはコンパイルされてDLL(ダイナミックリンクライブラリ。プログラムの機能をモジュール化したもの)となり,apkファイルに圧縮される。apkファイルは,正規のものであることを証明する電子署名を施されたうえでGoogle Playで配布され,ユーザーの端末にインストールされる。ゲームの実行時,DLLはCPUが理解できる機械語に翻訳されて,所定の役割を果たすという。

画像集 No.007のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 このDLLにセキュリティ上のリスクがあると小林氏は指摘する。DLLは,ツールを使えば簡単にソースコードに戻すこと(逆コンパイル)ができてしまうからだ。ソースコードは制作者が記述したプログラムそのものであり,ゲームがどのような処理をしているかが最も分かりやすい。簡単に解析でき,それが改造やチートにつながるという。

DLLは逆コンパイルでソースコードに戻せる(左)。元のソースコードが復元されており,こうなると解析はきわめて容易だ(右)
画像集 No.008のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート 画像集 No.009のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 A社では解析対策として難読化(逆コンパイルしても,元どおりのソースコードにならないようにする処理)を施していたが,それでも結局改造されてしまった。小林氏は,難読化だけでなく,プログラムの暗号化やハッシュ値のチェック,部分的なネイティブファイル化といった対策を併用し,逆コンパイルのハードルを上げることが有効だと語った。

画像集 No.010のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 チーターがアプリを解析するうえで,デバッガも強力な武器になる。これを防止するため,デバッガを検知する関数やクラスで対策するという手もあるが,この場合,制作者もデバッガが使えなくなり,また,デバッガの検知部分を書き換えられると意味がなくなってしまう。

画像集 No.011のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート 画像集 No.012のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 A社のケースにおけるもう1つの問題は,不正改造されたapkファイルが端末にインストールできてしまったことだ。上記のとおり,正規の電子署名がないとGoogle Playで配布することはできない。セキュリティ的には完璧に思えるのだが,ここに盲点があったと小林氏は指摘する。
 オリジナルと異なる電子署名でもapkは作れるし,これをGoogle Playではない,いわゆる「野良サイト」から配布すればよいというのだ。

画像集 No.013のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 起動時に電子署名を検証させれば,不正なapkファイルを弾けるものの,先に挙げたデバッガの例と同様,検証する部分を書き換えられると,この対策は無効になる。このように,まさにいたちごっこであり,根本的な対策の困難さがよく分かる。

画像集 No.014のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

チートの手法はさまざまであり,それぞれの対策手段にも弱点がある
画像集 No.015のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート 画像集 No.016のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 最後に小林氏は,自社開発のチート対策ツール「CrackProof for Unity」の機能を紹介した。「CrackProof」シリーズはこれまでWindowsやiOS,Androidに対応していたが,2016年6月からUnityで作ったDLLにも使えるようになったとのこと。

画像集 No.017のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート 画像集 No.018のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 逆アセンブルやメモリ改ざん,デバッガによる解析などさまざまなチート手法に対応し,必要となるセキュリティにチェックを入れて,完成したアプリをアップロードすれば,クラウドで自動的にチート対策を行ってくれるという。アプリの規模や回線状況にもよるが,要する時間は数分前後で済む。

画像集 No.019のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート 画像集 No.020のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 純国産ツールであり,現時点ではゲームタイトル数で424以上の採用実績を持っている。ゲーム以外にも金融や産業の分野で用いられており,中には10年以上継続して使用されている例もあるとのことだ。

 また,同社ではアプリの通信を秘匿化する「DNP Multi-Peer VPN」に加え,スマートフォンに不正アプリが仕込まれている場合に起動を止める「アプリ保護サービス」など,さまざまなソリューションを提供していると述べた。

画像集 No.021のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

 チートの手口はさまざまで,対抗する手段も複数あるものの,それぞれに弱点を抱えている。そのため,今後も多面的な対策が必要であると小林氏は講演を締めくくった。

Unite 2017 TokyoのDNPハイパーテックブース。「CrackProof for Unity」のデモンストレーションが行われており,来場者の関心を集めていた
画像集 No.022のサムネイル画像 / [Unite]大損害を与えるスマートフォンゲームのチートに,いかに対策するか。「スマホゲーム開発者が知っておくべきチートのリスク&対策」をレポート

「Unite 2017 Tokyo」公式サイト

4Gamer「Unite 2017 Tokyo」記事一覧

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月02日〜12月03日