チートサムライ中村が斬る。ゲームチートとゲームの未来。(W1) ホワイトハッカー

2019年6月24日

はじめに

こんにちは。チートサムライの中村です。

昨今のソーシャルゲーム業界では、依然としてリリースされるゲームが増加傾向にあります。マルチプレイ要素の強いゲームが多くなり、それに伴ってオンライン要素が増え、サーバとの通信量も増加傾向にあります。通信量が増えるということは、その分ゲームへのチート行為の足掛かりも増えます。

私は、ソーシャルゲーム含めて、ゲームは大好きですので、そのゲームの価値が落ちたり、ユーザが減ったりするゲームへのチート行為はなくなってほしいという強い願いがあります。

では、実際にどのようなゲームへのチート行為が発生しているのか、またその影響はどのようなものなのか。

本コラムは、チートサムライ中村の連載形式で不正な手法などを解説し、世のゲーム開発の対策に役立ていただける内容となります。今回は連載の1回目を掲載します。

ゲームへのチート行為(ゲームチート)って?

Q)そもそもゲームチートって?

A)コンピュータゲームにおいて、本来とは異なる動作をさせる不正行為のことを指す。
 一般にゲームチートを行うユーザをチーターと呼ぶ。

ゲームの運営・開発をされている方はご存じだと思いますが、念のために説明します。ゲームチートとは、上記の通り、本来とは異なる動作(開発側が意図しない動作)をさせる不正行為のことを指し、それを悪用して利益を得ることや他プレイヤーを貶めることを言います。

ゲームチートの手法自体は多岐にわたりますが、代表的なところではサーバとの通信を改ざんしたり、アプリそのものを改ざんしたり、スマートフォンやPCのメモリを改ざんすることで、ゲームチートを行うことが可能です。

特に、ソーシャルゲームには課金やガチャ※1、ランキングなどがあり、必ずサーバとの通信が発生します。チーターはそういうところを狙って、不正な方法でアカウントを作成したり、RMT※2をしたり、ランキング等では他プレイヤーを貶める愉快犯的な活動をしたりしています。

  • ※1ガチャ:スマートフォンなどのゲームで、抽選によって、ゲーム内で利用するカードや仮想的な物品などを購入する仕組みのこと。
  • ※2RMT:リアルマネートレーディングの略。アカウント、キャラクター、アイテム、ゲーム内通貨などを、現実の通貨(リアルマネー)で売買する行為のこと。

こんなゲームチートが多いです

当社では、多くのゲームセキュリティ診断サービス(通称:ゲームチート診断)を実施してきました。その中から、よく確認されるゲームチートで、悪用されやすい機能のTOP3をご紹介します。
こちらの内容を元に、それぞれの機能におけるゲームチートを説明します。

機能ごとのゲームチート割合

機能ごとのゲームチート割合

1.ゲームの肝、クエストのチート

クエスト※3については、一番発見されやすいチートといえます。クエストでチートすれば、ドロップアイテムを不正に取得したり、自身や敵のステータスを改ざんしてゲームを有利に進めたりすることができます。
クエスト結果などの検証処理が必要な箇所にもかかわらず、サーバ側で検証処理が実装されていないゲームが驚くほど多いです。

また、クエスト関連の指摘発生箇所について、3つのフェーズに分けてみました。それぞれの指摘内容の詳細は次回以降のコラムで掲載を予定しておりますが、それぞれの発生箇所でのチート例を説明します。

※3クエスト:プレイヤーキャラクターに与えられたミッションや提示された冒険シナリオのこと。一定の条件を満たすことで、これらクエストをクリアすることができ、報酬の獲得やストーリーが進行したりする。

クエスト関連のチート発生箇所割合

クエスト関連のチート発生箇所割合

(1)クエスト開始前

キャラクターの強化やアイテムの合成などはサーバ側で検証していたとしても、クライアント側に返すステータスをチェックしていないケースが多々見受けられます。サーバ側での検証が入り難く対策が難しいという問題もありますが、これを許してしまった場合、考えられるすべてのチート(ステータスカンストや未所持のアイテムを使用するなど)が可能となります。

(2)クエスト中

クエストの中断データをクライアントに保持している場合で、セーブデータの暗号化や再開するクエストなどを検証していないことで、簡単なクエストの中断データを流用し、高難易度の中断データと差し替えてクエストを不正にクリアすることができる場合があります。低難易度のクエストを攻略したのに、高難易度をクリアしたことになり、通常とは違う経験値を取得したり、攻略報酬のアイテムなどを入手したりすることが可能となります。

(3)クエスト終了後

ドロップしたアイテムIDをクエスト終了時にそのまま送信するようなゲームは、最近は見かけなくなっていますが、代わりに「どの敵を倒した」という情報を送信するゲームは存在しています。クエスト終了時の処理で、「どの敵を倒した」という情報をサーバ側が、そのまま信用してしまう場合、無制限のアイテム入手が可能になるかもしれません。
倒した敵IDごとにドロップアイテムの抽選を行っている場合は、送信された敵ID分を抽選してしまうため、無制限にアイテム入手が可能となります。

2.あなたは誰?プレイヤーのなりすまし

ソーシャルゲームは名前の通り、別のプレイヤーと関わる可能性があります。
サーバでは、そのアプリのプレイヤーが“誰”かを識別する必要があり、ユーザIDなどを利用して、その誰かを特定しています。

では、そのID管理がずさんな場合どうなるのか…他プレイヤーになりすましてゲームができてしまいます。

例えば、他プレイヤーのアイテムを使用して自身を強化したり、他プレイヤーを勝手にギルド(ゲーム内のグループ)に加入させたり、ひどい時では他プレイヤーの有償通貨でガチャができてしまうケースもありました。

これはあくまで一例ですが、ユーザが直接関わっているため、どこか1か所でも不備があれば、ゲームが面白くても、ゲーム運営会社への不信感が募り、どんどんユーザが離れていってしまいます。

3.収益減少?!課金時のチート

どのソーシャルゲームにもガチャが実装されていますが、ガチャをするためには「○○石」のような有償通貨を購入しますよね?
スマホゲームでは以下のような流れで石(有償通貨)を購入します。

この過程で課金プラットフォーム※4から発行されるレシート(領収書)の検証処理(図の(4)~(5))が必須となります。

この検証処理が無かった場合やゲーム運営会社側でレシート情報の使用状況を確認しなかった場合、どのようなことになるでしょうか。

偽のレシート情報で石を取得できたり、何回も石を取得できたりしてしまいます。
そうなると、課金の収入が減ってしまいますし、正規のプレイヤーと攻撃者とでゲームバランスが崩れ、対象のゲームを遊んでいるプレイヤーが去ってしまいます。

※4課金プラットフォーム:アプリ内課金において課金処理をする際に介する業者のこと。Google Play や Apple Store などを指す。

さいごに

さて、本コラムでは3つのゲームチートや脆弱性をご紹介しました。

今回は、ゲームチートのさわりだけですので、もっとお伝えしたいことがあります。
次回からは、チートのトレンドも踏まえながら解説していきたいと思います。是非ともご期待ください。

最後に、ゲーム業界のさらなる発展を願って、本コラムを掲載しました。
ゲームへのチート行為を知ることで、ゲーム開発の際、事前に対策を立てていただければと考えております。くれぐれも実際の環境では、絶対に真似しないようにしてください。

著者プロフィール
中村 洋平

2014年 京セラコミュニケーションシステム入社。情報処理安全確保支援士。
Webアプリケーション脆弱性診断、スマートフォンアプリケーション脆弱性診断、ゲームセキュリティ診断に従事。
ゲーム業界の発展を願い、チート行為の撲滅に日々奮闘中。

掲載されている情報は、発表日現在の情報です。最新の情報と異なる場合がありますのでご了承ください。

ページトップへ