ゲームを不正行為から守れ! 「ゲーム履歴証明」の基礎知識〜CEDEC 2013セッションレポート

ゲームの進行に有利になるようセーブデータを故意に書き換えるなど「チート」を行うユーザーを運営/制作側としてどう対処すべきなのか。

» 2013年09月18日 18時00分 公開
[宮田健,@IT]

 2013年8月21〜23日にパシフィコ横浜で、「CEDEC 2013」が開催された。本記事では、セッション「セキュアゲーミング:「履歴査証」を使ってアチーブメントやゲーム状態を保護する方法」の模様をレポートしよう。

ゲームを“チート”から守るには――「履歴証明」でゲーム内の行動を記録せよ

 いまやゲームといえば「オンライン」が当たり前だ。据え置き型コンソールだけではなく、モバイル、スマートフォンでのゲームを考えるとつながることは当然である。他者とのコミュニケーションや競争がゲームの醍醐味(だいごみ)だが、その中には悪意を持つユーザー、「チート」(不正行為)を行うユーザーも出てくる。

 ゲームの進行に有利になるようセーブデータを故意に書き換えたり、アチーブメント(実績)を獲得するために不正行為を行うユーザーを、運営側/ゲーム制作側としてどのように対処すべきなのだろうか。マイクロソフトのフェルディナンド・ショーバー(Ferdinand Schober)氏によるセッションでは、その対策となる「ゲーム履歴証明」(Game History Proof)(セッション名は「履歴査証」となっているが、より適切な日本語として本稿では「履歴証明」とする)の考え方を紹介した。

マイクロソフト フェルディナンド・ショーバー(Ferdinand Schober)氏

ゲームの履歴証明とは?

 ショーバー氏はまず、チートを行うユーザーの攻撃手法を2つ紹介した。それは「間接的な攻撃」と「動的な攻撃」に分けられるという。

 間接的な攻撃では、ゲーム内のバグや仕様ミスなどを巧みに活用し、データを有利に変えていく。例えば、コンソールの電源を故意に落とし、その巻き戻しを使ってゲーム内通貨やアイテムをコピーするなどの方法が考えられる。

 動的な攻撃では、セーブデータの改ざんなどが挙げられる。セーブデータエディタを使い、特定の状態を作り出した上でゲームにロードさせ、本来は取得できないアチーブメントをロック解除するなどが挙げられる。

 これらを適切に検知するための考え方が「ゲーム履歴証明」だ。ゲーム内の行動履歴を適宜取得し、最新のパラメータとともに記録していくことで、不正が疑われる行動をあぶりだそうという考え方に基づくものだ。

 具体的に、RPG(ロールプレイングゲーム)で考えてみよう。RPGでは、一番最初のステータス、パラメータがあり、いくつかのモンスターとの戦い、アイテム取得などを経て、中ボス/大ボスなどのイベントをクリアする。いい換えると、「ベースの状態」から「一般的なイベント」を経て、「重要でユニークなクリティカルイベント」をクリアしていくものだ。

 セーブデータだけを考えると、最新の情報だけ保存しておけば良い。しかし、そのデータが本当に正しいゲーム内行動を経て行われたものなのか―― 中ボスをクリアせずに、その先のボスをクリアしていないか?―― を判断するためには、その途中の「行動」が正しいかを確認しなくてはならない。

ゲーム内行動を保存―― 通常戦は圧縮し記録、ボス戦は詳細に記録

 そこで、ゲーム履歴証明では、「ボス戦」などクリティカルなイベントと通常のイベントを区別し、通常のイベントは圧縮して記録。クリティカルイベントはそのまま記録した上で、ユーザーIDや最終的なステータスを含めて電子署名を加え、これが正しい記録であることを証明した上で保存する手法をとる。

 これにより、アチーブメントのアンロック時などにゲーム履歴証明を提出させ、その内容を証拠とすることで正しいルートでゲーム内行動が行われたのかを確認可能となる。

 このとき、ゲーム履歴証明の検証は、バックグラウンドタスクとして非同期で処理できることが重要だ。不正が疑われるような行動を繰り返すユーザーであれば、より詳細な確認を行うなど、履歴調査の深度をユーザーごとに変えることもできる。

 また、保存したゲーム履歴証明をクラウドにも保存することにより、検証をより柔軟に行うことも可能だという。このような仕組みをとることにより、チートの影響を最小限にできることがポイントだ。

ゲーム履歴証明を設計するには?

 これにはもちろん、ゲーム内で何がクリティカルなイベントで、何を守るべきなのかを設計しなくてはならない。

 「ゲーム内行動の履歴を見極め、あらゆるアクションを列挙し、いったいどれがクリティカルなのかを判断する。もし、そのゲームにおいて通貨が重要なファクターであれば、通貨を取得するところを見る」(ショーバー氏)

 全てをくまなく取得しようとすると演算負荷やストレージ負荷が大きくなるため、圧縮やデータ保存の方法なども吟味すべき項目だという。

 また、このゲーム履歴証明は「不正を検知するだけではなく、応用も利く」とショーバー氏は訴える。具体的な応用方法としては、データをコールセンターなどで利用することが挙げられる。ゲーム内のログをそのまま活用するのは難しいが、ゲーム履歴証明がプレイヤーの行動記録となるため、コールセンターに連絡があったタイミングで、プレイヤーがどのようなイベントをクリアしてきたのかを把握しながら処理ができるという。

 ショーバー氏は「ゲーム履歴証明を取り入れることにより、チートを完全に防ぐことはできなくても、最悪のケースを免れることができるだろう」と述べる。開発するゲームのダウンロードコンテンツやアイテムが売上の重要な要素になる場合、このような対策を体系立てて導入する必要があるだろう。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。