(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025026285
(43)【公開日】2025-02-21
(54)【発明の名称】高信頼実行環境とディープラーニングを活用した分散型エイムボット検知システムおよび方法
(51)【国際特許分類】
A63F 13/70 20140101AFI20250214BHJP
A63F 13/79 20140101ALI20250214BHJP
A63F 13/67 20140101ALI20250214BHJP
【FI】
A63F13/70
A63F13/79
A63F13/67
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024060649
(22)【出願日】2024-04-04
(31)【優先権主張番号】10-2023-0104837
(32)【優先日】2023-08-10
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】518366555
【氏名又は名称】コリア アドバンスト インスティテュート オブ サイエンス アンド テクノロジー
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】チャ・サンギル
(72)【発明者】
【氏名】チェ・ミンヨブ
(72)【発明者】
【氏名】コ・ギヒョク
(57)【要約】
【課題】高信頼実行環境とディープラーニングを活用した分散型エイムボット検知システムおよび方法を提供する。
【解決手段】一実施形態に係るエイムボット(Aimbot)検知システムは、ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信するデータ管理モジュール、およびエイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボット検知結果を導き出すエイムボット検知モジュールを含み、前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されるものである。
【選択図】
図1
【特許請求の範囲】
【請求項1】
エイムボット(Aimbot)検知システムであって、
ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信するデータ管理モジュール、および
エイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボット検知結果を導き出すエイムボット検知モジュール
を含み、
前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されること
を特徴とする、エイムボット(Aimbot)検知システム。
【請求項2】
前記データ管理モジュールは、
前記受信したゲームプレイ情報に含まれるゲームプレーヤーの行動データを前記エイムボット検知モデルに入力するために変形すること
を特徴とする、請求項1に記載のエイムボット(Aimbot)検知システム。
【請求項3】
前記データ管理モジュールは、
前記ゲームサーバから受信したゲームプレイヤーの行動データを含むゲームプレイ情報を、前記ゲームエンジンと前記エイムボット検知モジュールのそれぞれに伝達することを含み、
前記エイムボット検知モジュールは、前記ゲームプレイヤーの行動データのうちで、時間に関連する情報と武器発射情報を受信すること
を特徴とする、請求項1に記載のエイムボット(Aimbot)検知システム。
【請求項4】
前記エイムボット検知モデルは、一定の時間後のゲームプレイヤーの行動を予測するものであり、前記予測されたゲームプレイヤーの行動と実際のプレイヤーの行動の差を比較することによってエイムボットを検知するように学習されたものであること
を特徴とする、請求項1に記載のエイムボット(Aimbot)検知システム。
【請求項5】
前記エイムボット検知モジュールは、
前記エイムボット検知モデルによって導き出された検知結果において、前記ゲームプレイヤーの行動と実際のプレイヤーの行動の差が基準値より大きい場合、前記ゲームプレイヤーがエイムボットを使用したものと判断すること
を特徴とする、請求項1に記載のエイムボット(Aimbot)検知システム。
【請求項6】
前記エイムボット検知モジュールは、
前記導き出された検知結果をゲームサーバに送信するものであること
を特徴とする、請求項5に記載のエイムボット(Aimbot)検知システム。
【請求項7】
前記エイムボット検知システムは、
前記ゲームサーバからゲームプレイ情報を受信したり前記導き出されたエイムボット検知結果を前記ゲームサーバに送信するときに、盗聴あるいは改ざんが不可能な暗号化通信を実施すること
を特徴とする、請求項1に記載のエイムボット(Aimbot)検知システム。
【請求項8】
前記ゲームサーバは、前記導き出されたエイムボット検知結果に基づいて前記ゲームプレイヤーに対して設定された政策にしたがって行動すること
を特徴とする、請求項1に記載のエイムボット(Aimbot)検知システム。
【請求項9】
エイムボット(Aimbot)検知システムによって実行されるエイムボット検知方法であって、
ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信する段階、
エイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボットの検知結果を導き出す段階、および
前記導き出されたエイムボット検知結果をゲームサーバに送信する段階
を含み、
前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されること
を特徴とする、エイムボット検知方法。
【請求項10】
エイムボット(Aimbot)検知システムによって実行されるエイムボット検知方法を実行させるために、コンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムであって、
前記エイムボット検知方法は、
ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信する段階、
エイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボットの検知結果を導き出す段階、および
前記導き出されたエイムボット検知結果をゲームサーバに送信する段階
を含み、
前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されること
を特徴とする、コンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、エイムボット検知技術に関する。
【背景技術】
【0002】
近年のオンラインゲーム産業は、高性能のコンピュータとグラフィック処理装置、高速インターネットの発達により、その規模はどんどん拡大している。eスポーツゲームは、ゲームに参加するすべてのチームに公平な状況が与えられ、実力によって勝敗が決まる構造を備えている。ところが、競争ゲームにおいて、他のゲームプレイヤーよりも優位になるように、ゲームクライアントを改ざんして一般のゲームプレイヤーは行うことのできない操作をしながら公平性を害するチート行為が後を絶たない。これは、eスポーツをはじめとするオンラインゲーム産業全般に直接的に被害を与える、極めて重要な脅威の1つである。特に、一人称シューティングゲーム(First-Person Shooter:FPS)でチートの被害が最も顕著に表れるが、その代表的な例として、敵へのエイミング(aiming)を支援するエイムボット(Aimbot)がある。エイムボットを防ぐためにFPSゲーム制作会社やセキュリティ専門家が多様な方法を提示し適用しているが、エイムボットを使用するプレイヤーは未だに存在する状況であり、ゲームの公平性を害している。今まで使用されてきたエイムボット検知は2つに大別されるが、これは、ゲーム開発会社が直接管理する中央サーバに全プレイヤーの行動を記録して異常行動を検知する方式と、ゲームクライアントを改ざんしたりゲームに影響を与える非認可プログラムの存在をプレイヤーのコンピュータで検知する方式である。
【0003】
中央ゲームサーバにプレイヤーの行動を記録して異常行動を検知する技術の場合、プレイ中の多数のゲームをリアルタイムで同時にモニタリングすることが可能な高性能サーバの構築が要され、プレイヤー数の増加にともなってサーバの規模やこれを管理するコストも増加するため、高コストの問題と、容易に拡張することができないという問題がある。勝敗率、キル数、死亡率などのようなプレイヤーアカウントのゲーム統計情報だけを使用して中央サーバの演算を最小化する検知技法も存在するが、このような統計値基盤の検知方式は容易に迂回されるという欠点がある。
【0004】
ゲームクライアントの改ざんや非認可プログラムを検知する方法は、攻撃者(エイムボットを活用するプレイヤー)がエイムボットを実行しているコンピュータでより高い権限で検知を迂回する方法が常に存在するため、根本的にエイムボットを阻止する方法ではない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
エイムボット検知は、増加し続けるゲームユーザに対して拡張性の問題があってはならず、検知の正確度が高くなければならず、エイムボットユーザが検知を容易に迂回できるものであってはならない。本発明が解決しようとする課題は、高信頼実行環境(Trusted Execution Environment)とディープラーニングモデル(Deep Learning Model)を使用した分散型エイムボット検知システムにより、エイムボットを使用するプレイヤーを正確かつ効率的に検知し、迂回の可能性を最小化することにある。
【課題を解決するための手段】
【0006】
エイムボット(Aimbot)検知システムは、ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信するデータ管理モジュール、およびエイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボット検知結果を導き出すエイムボット検知モジュールを含み、前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されるものであってよい。
【0007】
前記データ管理モジュールは、前記受信したゲームプレイ情報に含まれるゲームプレイヤーの行動データを前記エイムボット検知モデルに入力するために変形してよい。
【0008】
前記データ管理モジュールは、前記ゲームサーバから受信したゲームプレイヤーの行動データを含むゲームプレイ情報を前記ゲームエンジンと前記エイムボット検知モジュールのそれぞれに伝達することを含み、前記エイムボット検知モジュールは、前記ゲームプレイヤーの行動データのうちで、時間に関連する情報と武器発射情報を受信してよい。
【0009】
前記エイムボット検知モデルは、一定の時間後のゲームプレイヤーの行動を予測するものであり、前記予測されたゲームプレイヤーの行動と実際のプレイヤーの行動の差を比較することによってエイムボットを検知するように学習されたものであってよい。
【0010】
前記エイムボット検知モジュールは、前記エイムボット検知モデルから導き出された検知結果において、前記ゲームプレイヤーの行動と実際のプレイヤーの行動の差が基準値よりも大きい場合、前記ゲームプレイヤーがエイムボットを使用したものと判断してよい。
【0011】
前記エイムボット検知モジュールは、前記導き出された検知結果をゲームサーバに送信してよい。
【0012】
前記エイムボット検知システムは、前記ゲームサーバからゲームプレイ情報を受信したり前記導き出されたエイムボット検知結果を前記ゲームサーバに送信するときに、盗聴または改ざんが不可能な暗号化通信を実施してよい。
【0013】
前記ゲームサーバは、前記導き出されたエイムボット検知結果に基づいて、前記ゲームプレイヤーに対して設定された政策にしたがって行動してよい。
【0014】
エイムボット(Aimbot)検知システムによって実行されるエイムボット検知方法は、ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信する段階、エイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボットを検知結果を導き出す段階、および前記導き出されたエイムボット検知結果をゲームサーバに送信する段階を含み、前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されるものであってよい。
【0015】
エイムボット(Aimbot)検知システムによって実行されるエイムボット検知方法を実行させるためにコンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムであって、前記エイムボット検知方法は、ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信する段階、エイムボット検知モデルを利用して、前記受信したゲームプレイ情報に含まれる行動データからエイムボットを検知結果を導き出す段階、および前記導き出されたエイムボット検知結果をゲームサーバに送信する段階を含み、前記データ管理モジュールと前記エイムボット検知モジュールは、クライアントの高信頼実行環境の内部に構成されることを特徴とする、コンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムを含んでよい。
【発明の効果】
【0016】
オンラインFPSゲームでエイムボットを使用するプレイヤーを、中央サーバに負荷をかけずに効率的かつ正確に検知することができる。
【0017】
高信頼実行環境を基盤にすることで、エイムボットプレイヤーによる容易な迂回または攻撃を極めて困難にする。
【0018】
エイムボットを使用するプレイヤーを制裁することにより、正当なプレイヤーだけが同じ条件で平等にゲームを楽しむことができる。
【図面の簡単な説明】
【0019】
【
図1】一実施形態における、エイムボット検知動作を説明するための図である。
【
図2】一実施形態における、エイムボット検知方法を説明するための図である。
【
図3】一実施形態における、視線と潜在的ターゲットの間の角度を示した図である。
【
図4】一実施形態における、異常スコアの演算方法を説明するための図である。
【発明を実施するための形態】
【0020】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0021】
実施形態では、FPSゲームでエイムボットを使用するゲームプレイヤーを、中央サーバ(ゲームサーバ)の負荷を最小化しながらクライアントだけを使用してエイムボットを自動で検知する動作について説明する。
【0022】
図1は、一実施形態における、エイムボット検知動作を説明するための図である。
【0023】
エイムボット検知システムは、エイムボット検知動作を、各クライアント101、すなわち、全ゲームプレイヤーが互いを監視しながら解決することによって分散型エイムボット検知を実現する。各クライアント101は、周辺のゲームプレイヤーの精巧な動作をモニタリングしてよい。
【0024】
エイムボット検知システムは、データ管理モジュール110とエイムボット検知モジュール120で構成されてよい。データ管理モジュール110とエイムボット検知モジュール120は、各クライアント101の高信頼実行環境102の内部に構成されてよい。データ管理モジュール110は、任意のゲームプレイヤーのゲームプレイ情報を受け取るものであってよい。このとき、ゲームプレイ情報は、ゲームプレイ中に発生するゲームイベントと関連して発生する情報(行動データを含む)を意味する。データ管理モジュール110は、行動データを受け取ってゲームエンジン140に伝達し、エイムボット検知モデルの入力として伝達するために行動データを変形してよい。エイムボット検知モジュール120は、データ管理モジュール110から、変形した行動データを利用してエイムボット使用の有無を検知してよい。データ管理モジュール110とエイムボット検知モジュール120は、高信頼実行環境内部に位置するため、攻撃者によって容易に改ざんされることがない。
【0025】
実施形態によると、エイムボット検知システムは、クライアント側で実行されるため、ゲームサーバにオーバーヘッドが発生しない。また、ゲームプレイヤーのエイミングの動きを分析するエイムボット検知モデルを活用するため、検知に対する高い正確度を達成することができる。また、エイムボット検知システムは、高信頼実行環境内でゲームプレイ情報を管理するため、強力な攻撃者によるゲームデータの操作を困難にする。さらに、一般的なゲームプレイヤーから専門的なプレイヤーまでを雇用することで、エイムボットを使用したり使用しない現実的なゲームプレイヤーのデータセットを収集することができる。
【0026】
エイムボット検知システムは、次の3つの段階によって作動してよい。
【0027】
前処理段階として、各クライアント101は、ゲームが始まる前に2つの作業を実行してよい。先ず、各クライアント101は、検知レポートを安全に伝達するために、ゲームサーバ130(TEE内部)とのTLSセッションを設定してよい。次に、各クライアント101は、ゲームエイムボット検知モデルを一時的に高信頼実行環境102内のエンクレーブに格納してよい。例えば、エイムボット検知モデルは、ゲームサーバ130からダウンロードしてよい。これにより、攻撃者は、エイムボット検知モデルにアクセスすることができない。
【0028】
ゲームが始まると、各ゲームエンジン140は、ユーザ入力を受け取り、ネットワークを介して他のクライアントと動作情報を共有してよい。特に、データ管理モジュール110(各クライアントのTEE内に位置)は、ネットワークからすべての隣接クライアントのゲームイベントストリームを取り込み、ベクトル化されたデータストリームに変換してよい。また、データ管理モジュール110は、受信したすべてのゲームプレイ情報を、(1)ゲームエンジン140に中継してゲームをレンダリングし、(2)エイムボット検知モジュール120によって誰が不正行為をしたかを確認してよい。FPSゲームの特性上、各ゲームプレイヤー、すなわち、各クライアントの目に見える範囲内で、他のゲームプレイヤーの主要動作を見ることができる。
【0029】
エイムボット検知モジュール(各クライアントのTEE内に位置)120は、ベクトル化されたデータを読み取り、他のクライアントの射撃行動を分析しながらエイムボットの使用の可否を決定してよい。エイムボット検知モジュール120から導き出されたエイムボット検知結果は、セキュリティチャネルを使用してゲームサーバ130に即時に送信されてよい。エイムボット検知モジュール120は、エイムボット検知モデルによって、本質的な人間の正常的な行動から逸脱した非正常的な射撃行動を認識することができる。
【0030】
ゲームサーバ130は、不正行為者を検知するために、全クライアントから検知レポートストリームを収集してよい。不正行為が報告された場合、ゲームサーバ130は、不正行為者のアカウントを欠格処理するなどの必要な措置を施してよい。データ管理モジュール110とエイムボット検知モジュール120が高信頼実行環境102内にあり、すべての検知レポートはセキュリティチャネルを介して送信されるため、ゲームサーバ130は各クライアント101のレポートを信頼することができ、アドレスを処理することができる。ゲームサーバ130は、各クライアント101から一連の検知レポートを収集した後、遅延の決定を下してよい。
【0031】
より詳しく説明すると、データ管理モジュール110は、観察可能なすべてのプレイヤーで生成された観察可能なすべてのゲームプレイ情報を追跡し、各プレイヤーがエイムボットの使用の可否を決定してよい。これは、すべてのFPSゲームクライアントがネットワークを介して自身の行動データをリアルタイムで他人に伝播し続けるため可能となる。
【0032】
しかし、ゲームプレイ情報は、ゲームプレイヤーの行動データの部分的な情報だけを提供する。例えば、効率性のために、すべてのマウスの動きではなく、一部の動きだけがネットワークを介して送信される。また、ゲームエンジン140が見えないゲームプレーヤーをレンダリングする必要はまったくないため、各ユーザは、周囲のゲームプレーヤーの行動データだけを観察することができる。このような制限事項は、エイムボット検知方式にも同じように適用される。
【0033】
実施形態に係るエイムボット検知システムは、エイムボットを検知するためにゲームエンジン140を修正する必要がなく、各クライアント101がゲームプレイ情報の一部だけを処理するため検知により集中することができ、効率的である。
【0034】
このとき、ゲームプレイ情報は、プレイヤー(または、他のプレイヤー)が武器を発射したり、打撃を受けたり、他のプレイヤーによって殺された場合のように、プレイヤーによって生成されたりプレイヤーに送信されるすべてのゲームイベントに該当する。このような事件をそれぞれfire、hit、deadと示してよい。このようなイベントが発生しないタイムスタンプの場合、フィールドは空白にする。
【0035】
同時に観察可能なプレイヤーが2人以上である合、同じtに対して複数のイベントが発生することがある。データ管理モジュール110は、観測可能なイベントストリームをネットワークの入力として受け取り、検知をトリガーするゲーム内イベントが発生すると、変換された特徴ベクトルストリームを出力として送信してよい。ここには、(1)ベクトル計算、(2)正規化、および(3)精製という3つの主要な段階が含まれてよい。
【0036】
【0037】
データ管理モジュール110がaimを取得するために、各クライアント101は、先ず、ゲームプレイヤーの現在の視線と観察可能な敵の間の最小角度距離を示すd
aを計算してよい。
図3は、視線と潜在的な目標物の間の角度を示した図である。敵u
2はユークリッド距離の側面においてゲームプレイヤーにより近いが、u
1は角度距離の側面においてゲームプレイヤーにより近い。したがって、データ管理モジュール110は、u
1をゲームプレーヤーの現在のターゲットと見なし、これに基づいてデータを計算してよい。d
aが閾値(現在の実現では30°)よりも小さい場合にはtrueとしてaimを設定し、そうでなければfalseに設定する。観測者が間違った値を有することもあるため、aimは推定値である。例えば、ゲームプレイヤーが、現在、観察者から見えない敵をエイミングしている場合である。この問題は検知結果に影響を与えない。なぜなら、プレイヤーとターゲットの両方がクライアントによって見える場合に限り、エイムボット検知モデルが決定を下すためである。さらに、aim値は決定に影響を与えない。最終的に決定に影響を与えるのはエイミング角度だけである。
【0038】
(2)正規化
実際に、各クライアント101は、イベントが発生した正確な時間にゲームプレイ情報を収集してよい。この結果、収集されたゲームプレイ情報は不規則なタイムスタンプを有するようになり、時間間隔が一定でない時系列を生成するようになる。RNNは、一般的に定期的なシーケンスを処理するものと予想するため、収集したログを固定的な時間間隔に正規化する必要がある。
【0039】
データ管理モジュール110は、既存の観測値のうちの線形傾向に沿って欠損値を埋めるために線形補間を実行する。最新のFPSゲームのほとんどは、1毎秒60フレームで実行されるため、実施形態では、16msの時間間隔で収集されたイベントを正規化してよい。ゲームプレイヤーが、t=0のとき(1.0、1.0、1.0)、t=8のとき(1.1、0.9、0.1)、t=34のとき(1.5、0.6、0.8)にいると仮定する。正規化段階の後、t=0、16、32で3つのイベントが発生することがある。例えば、t=16で補間イベント(1.235,0.811,0.376)がある。このとき、時間間隔(16ms)が短すぎて急激な変化は発生しないため、収集したゲームプレイログを正規化するには線形補間で十分である。
【0040】
(3)精製
データ管理モジュール110は、変換されたゲームプレイ情報をエイムボット検知モジュール120に供給する前に、不要な行動データをフィルタリングしてよい。特に、データ管理モジュール110は、ゲームプレイヤーが死んだ後に復活するときに(すなわち、e=dead)、位置とエイミング方向の急激な変化を観察することがある。この場合、エイムボット検知モデルは、ゲームプレイヤーを疑わしいものとして誤って表示することがある。これは、他のゲームプレイヤーをできるだけ多く殺すことを目標とするデスマッチで発生する。データ管理モジュール110は、常に以前のゲームプレイヤーの行動を記憶し、プレイヤーの現在の行動と以前の行動を比較することで、ゲームプレイヤーの位置およびエイミング方向の急激な変化を検知してよい。このような場合が確認されると、データ管理モジュール110は、エイムボット検知モジュール120にゲームプレイ情報(行動データ)を送信しない。
【0041】
各クライアントのエイムボット検知モジュール120は、エイムボット検知モデルを利用して、射撃イベントからエイムボット検知結果を導き出すことができる。エイムボット検知モジュール120は、RNNを訓練するために教師なし学習アプローチ方式を使用してよい。エイムボット検知モジュール120は、正常的なエイミングの動きを観察して構築されたエイムボット検知モデルによって射撃イベントで「非正常的な」エイミングの動きを確認し、分散方式によってエイムボットを検知してよい。エイムボット検知モデルは、正常なエイミングの動きをモデリングするために、良性のプレイヤーの観察ログだけで訓練された循環ニューラルネットワーク(RNN)を使用する。エイムボット検知モジュール120は、データ管理モジュール110で変換された、前処理されたゲームイベントストリームを使用して、(1)イベントフィルタリング、(2)異常スコア付与、(3)レポート結果という3段階でイベントを分析してよい。
【0042】
(1)イベントフィルタリング
簡単な検知を回避するために、最新のエイムボットは、ユーザが武器をトリガー(発射)したときだけ、ターゲットを固定する「射撃間」モードに切り換わる。このモードがオンとなっていれば、武器を発射しない限り、基本的にエイムボットユーザと良性のユーザを区別することができない。したがって、ゲームプレイ中のすべてのイベントを追跡することはできない。この代わりに、エイムボット検知モジュール120は、各射撃イベント(すなわち、e=fire)と隣接する(前後の)関連行動データだけに焦点を当てる。また、エイムボット検知モジュール120は、適切なターゲットがいないとエイムボットがアクティブ化されないため、ターゲットがいないすべてのfireイベント(すなわち、aim=false)をフィルタリングしてよい。
【0043】
実際には、RNNは通常、以前に観測されたデータポイントのセットが作動しなければならないため、武器が発射される前よりも多くのイベントを蓄積することができる。与えられたRNNのウィンドウサイズwと予め定められた持続時間dに対して、fine前のw+dイベントとfine動作を含む残りのdイベントで構成された各fineイベントに対してw+2dを蓄積してよい。
【0044】
wとdが極端に小さいか大きく設定すると、各関連イベントセットにそれぞれ不十分あるいは過剰な情報を提供する恐れがあるため、検知性能を最適化するために、例えば、w=20およびd=10となるように媒介変数を選択してよい。
【0045】
(2)異常スコア付与
エイムボットを効果的に検知するために、エイムボット検知モジュール120は、正常的なゲームプレイヤーのエイミングの動きをエンコードする、事前訓練されたRNN基盤のエイムボット検知モデルを各クライアント101に配布してよい。エイムボット検知モデルを使用して、各クライアント101は、観察された各エイミングの動きのセット(fireイベント前後)の異常スコアを計算してよい。このとき、スコアが高いほどエイムボットユーザである可能性が高いことを示す。
【0046】
異常スコアは、w番目のイベントに対する予測値と実際の値の間のL1距離を比較して計算された予測誤差である。エイムボット検知モデルは、良性のプレイヤーのエイミングの動きだけで訓練されるため、エイムボットのエイミングの動きは、良性のプレイヤーの予測と比較して著しく悪い結果をもたらす。結果的に、エイムボット検知モジュール120は、エイムボット検知モデルによって、エイムボットユーザに対するより高い異常スコアを観察することができる。
【0047】
図4は、一実施形態における、異常スコアの演算方法を説明するための図である。エイムボット検知モデルは、射撃関連イベントを複数のスライディングウィンドウに分割して長さwである2dの固有のRNN入力シーケンスを取得し、各fineイベントに対して合計2dの異常スコアを生成する。すべての異常スコアのうちから、イベントの結果異常スコアとして最大値を選択してよい。
【0048】
実施形態で提案する各イベントの検査アプローチ方法は、従来のものと比較して2つの大きな利点がある。先ず、不正行為が発生した正確な瞬間を把握することができる。次に、イベントレベルの動きをモニタリングして制御する必要があるため、検知メカニズムを避けることができるエイムボットを開発がはるかに難しくなる。
【0049】
(3)レポート結果
各fineイベントに対する異常兆候スコアを計算した後、エイムボット検知モジュール120は、最終ラベルを決定するために異常スコアと閾値と比較する。このとき、閾値は、有効性検査データセットによって定められてよい。
【0050】
閾値を定めるときには、(1)最高正確度と(2)最高精密度という2つの基本的な基準が提案されて評価されてよい。最高正確度は、与えられた検証データから、エイムボットの予測正確度が最大になるように閾値を選択するものである。最高精密度は、与えられた検証データに真偽(false positive)が存在しないように閾値を選択するものである。この結果、前者はFPとFNのバランスを保って最高の予測正確度を達成する反面、後者は良性のユーザが不正行為によって誤って非難されることを防ぐ。
【0051】
各クライアント101は、ゲーム期間中に単一の集計結果を送信する代わりに、観測されたすべてのfineイベントに対する検知レポートを送信する。これにより、各クライアントが下した決定を攻撃者が推測できないようにし、結果を集計するときにサーバにより多くの柔軟性を提供することができる。
【0052】
また、ゲームサーバ130またはゲーム供給者は、各クライアント101から取得した検知レポートに基づいて最終決定を下す役割を担ってよい。簡単な政策のうちの1つとして、不正行為の報告が1件以上ある場合に、ゲームプレーヤーを厳格に失格処理することがある。しかしながら、このような政策は、各検知レポートは信頼できるが、エイムボット検知モデルの不正確性による潜在的な誤報によって困難が生じることがある。
【0053】
このような問題は、決定を延期することによって解決することができる。不正行為レポートは、ゲーム中に複数回(例えば、実験では平均11.83回)提出されるため、ゲームサーバ130は、検知レポートを蓄積することで、後により多くの情報に基づいた決定を下すことができるようになる。具体的に、ゲームプレイ中の連続的な不正行為の報告件数が閾値θよりも高い場合、ゲームプレイヤーを失格処理してよい。例えば、エイムボット検知モデルの真偽率が5%であると仮定する。この場合、θ=5のときに、ゲームプレイヤーを不正行為者として誤認する確率は0.00003%に過ぎない。このような方式により、ゲーム供給者は、エイムボット検知モデルの不正確性を容易に相殺することができる。
【0054】
図2は、一実施形態における、エイムボット検知方法を説明するための図である。
【0055】
段階210で、エイムボット検知システムは、ゲームサーバからゲームプレイヤーの行動データを含むゲームプレイ情報を受信してよい。段階210は、エイムボット検知システムに構成されたデータ管理モジュールによって実行されてよい。エイムボット検知システムは、受信したゲームプレイ情報に含まれるゲームプレイヤーの行動データを、エイムボット検知モデルに入力するために変形してよい。エイムボット検知システムは、ゲームサーバから受信したゲームプレイヤーの行動データを含むゲームプレイ情報をゲームエンジンに伝達すると同時に、変形した行動データをエイムボット検知モジュールに伝達してよい。ゲームエンジンは、円滑なゲームプレイのために、受信した行動データをコンピュータ画面に表示してよい。このとき、ゲームサーバとデータ管理モジュールは、盗聴や改ざんを防ぐために暗号化通信を実施してよい。ここで、行動データは、ゲームプレイヤーの位置、視線、武器を発射などの行為を含んでよい。
【0056】
段階220で、エイムボット検知システムは、エイムボット検知モデルを利用して、受信したゲームプレイ情報に含まれる行動データからエイムボット検知結果を導き出してよい。段階220は、エイムボット検知システムに構成されたエイムボット検知モジュールによって実行されてよい。エイムボット検知システムは、受信したゲームプレイ情報に含まれる行動データのうちで、プレイヤーの視線に関連する情報と武器発射情報を抽出してよい。エイムボット検知システムは、抽出したプレイヤーの視線に関連する情報と武器発射情報をエイムボット検知モデルに入力してよい。エイムボット検知モデルは、プレイヤーの一定の時間後の動きを予測するモデルであり、予測されたプレイヤーの行動と実際のプレイヤーの行動の差を比較することによってエイムボットを検知するように学習されたものであってよい。このような差が基準値(閾値)よりも高い場合、エイムボット検知システムは、プレイヤーがエイムボットを使用したと判断してよい。
【0057】
段階230で、エイムボット検知システムは、導き出されたエイムボット検知結果をゲームサーバに送信してよい。段階230は、エイムボット検知システムに構成されたエイムボット検知モジュールによって実行されてよい。エイムボット検知モジュールとゲームサーバは、盗聴や改ざんが不可能な暗号化通信を使用してよい。ゲームサーバは、複数のクライアントのそれぞれから受信した検知結果に基づいて検知されたプレーヤーに対する制裁などの関連政策にしたがって行動してよい。
【0058】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0059】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0060】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されるものであってもよいし、コンピュータソフトウェア当業者に公知されている使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を記録して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【0061】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0062】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付の特許請求の範囲に属する。
【符号の説明】
【0063】
110:データ管理モジュール
120:エイムボット検知モジュール
130:ゲームサーバ
140:ゲームエンジン