【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは | GameBusiness.jp

【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは

「CEDEC2017」にて、「チートの傾向と対策 ~クライアントサイドのセキュリティ入門!~」という講義を聴いてきました。

その他 その他
【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは
  • 【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは

キャラクターの無敵化やレアアイテムの量産など、ゲームデータの改造行為は昔から存在し、それらはグレーゾーンながらも、ある種“裏技”のひとつとして現代にまで残り続けてきました。しかし、オンラインでほかのユーザーと繋がることが当たり前になった現代において、それらの改造行為はゲームの運営者や一般ユーザーに深刻な被害を与える、“チート”へと発展しています。このような問題にゲーム製作者はどのような対策を取らなければならないのでしょうか。

今回、筆者は「CEDEC2017」にて、「チートの傾向と対策 ~クライアントサイドのセキュリティ入門!~」という講義を聴いてきました。チート対策と聞くと「難しいプログラムの話かな?」などと身構えてしまうかもしれませんが、プログラム経験の無い筆者でも非常に聴きやすい内容で、チート問題を考える良いキッカケとなりました。その様子をお伝えしたいと思います。

◆ゲーム開発を脅かすチート行為と、その対策
登壇者はサイファー・テック株式会社、開発本部、ソフトウェアエンジニアの末岐光洋氏。末岐氏はまず“チート”の定義と種類について語り、よくあるチートとして、「ステータスデータを異常な値に改ざんし、ゲームを有利に進める。」「有料アイテムを料金の支払いをせずに使用する。」「実際には入手していないアイテムを所持していることにする」「ゲームの進行度を偽る。」といった具体例を出しました。




このようなチートが行われると、「有償アイテムの売り上げに直接の影響がでる。」「チート蔓延の発生により、正規のユーザーのモチベーションが下がり、ユーザー離れが進む。」と末岐氏は指摘します。また発生したチートに対して対策が後手に回ってしまうと、ユーザーの信頼を回復させるための施策が多く必要になったり、プログラムの仕様変更コストが大きくなってしまったりすると説明しました。


また、重要なプログラムがサーバー上にあるWebアプリとは異なり、ユーザー個人の端末にインストールするネイティブゲームは、攻撃者がプログラムの解析・改ざんが行いやすい上、攻撃者がユーザーのふりをして潜伏することも可能なため、そうした状況がチート対策を一層難しくしているそうです。


そして講義ではここから、ゲームのどこを攻撃されるのか、どう防ぐのか?という点について話が進んでいきます。今回の講義では、5つの攻撃方法とその対策方針が紹介されました。



数あるチートの中で最も難易度が低く、頻繁に行われているのが「メモリ改変」です。これは“HP”や”攻撃力”など、メモリに保存されているゲーム内の重要な数値を、攻撃者の都合の良いように書き換えてしまうというもの。この攻撃方法が通れば、キャラクターのステータスなどを、ありえないほど強くすることができます。

講義の中では実際にサンプルゲームを使って、キャラクターのHPを異様に高くする様子が紹介されました。


次に例として挙げられたのは、端末のローカルストレージに保存されているデータを標的にした「データファイル改変」。特にゲームの一時中断機能があり、そのデータを端末のローカルストレージに保存しているものがターゲットになるそうです。


三つ目の手段は「OSの改変」。いわゆるAndroidのroot化や、iOS端末のJailbreakです。私たちが使っているスマホには、消してしまうと本体そのものが動かなくなってしまうような重要なプログラムがたくさん入っています。通常は、そういったものを一般ユーザーが変更できないように様々な制限が本体に掛けられているのですが、その制限を無効化してしまうのがOSの改変です。この改変自体はチート行為にはあたらないものの、OSを改変することで使用可能になるチートツールや攻撃手段も多く、注意が必要です。




四つ目の攻撃手段は、クライアント側とサーバー側でやりとりをするデータそのものを書き換えてしまう「通信内容の改変」。クライアント側とサーバー側の通信データを守る仕組みとしては、大手通販サイトなどでは必ず実装されているHTTPS通信が有名ですが、HTTPSはあくまで、クライアント側でもサーバー側でもない、第三者からの攻撃を防ぐために有効な手段。仮に攻撃者がユーザーだった場合、HTTPS通信は必ずしも万全なチート対策にはならないという説明に、会場はどよめきました。


最後の攻撃手段として紹介されたのが、ゲームロジックの解析によって行われる「プログラム改変」です。ここでも末岐氏はサンプルゲームを用いて、「キャラクターのHPが0になった際、スタート地点にリスポーンする」という処理を無効化するプログラム改変を披露しました。

こういった各種攻撃への対策として末岐氏は、「メモリ内の数字やプログラムに難読化(暗号化)の処理をかける。」「重要なデータはサーバーに保存する。」「サーバー・クライアント間の通信内容を暗号化したり、サーバー証明書の検証手段を工夫する。」といったことを提言しています。しかし、これらの対策は全て専門的、かつ「いたちごっこ」な側面があり、ゲーム開発エンジニアに全て任せるのは酷だと末岐氏は言います。



チート対策が必須でありながらも、完璧な対応が中々難しい現代において、末岐氏はセキュリティ関連の商用ツールの導入を勧めていました。こうしたツールを導入できれば、包括的な対策が確保でき、「いたちごっこ」なチート攻撃に対しても、ツールのアップデートで対応しやすくなります。

しかし、こういった商用ツールのデメリットとしては「価格が高め。」「様々な機能(オプション)があり、どれを設定していいか迷う。」「メモリ使用量や処理速度にオーバーヘッドがあり、どんなゲームにも適用できるとは限らない。」という課題があることにも触れました。

最後に末岐氏はまとめとして、「チートツールや開発ツールを使った攻撃はネットで情報が広まっており、何らかの対策は必須。また、セキュリティ対策は後手に回ると対応コストが多くなってしまう。商用対策ツールを導入すれば、エンジニアは本来のゲーム開発に注力できるようになる」とまとめました。
《ねんね太郎》

この記事の感想は?

  • いいね
  • 大好き
  • 驚いた
  • つまらない
  • かなしい
【注目の記事】[PR]

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら