データナイフ方式でチート業者を干上がらせよう #SaveApexRanked 🗡️

エーペックスを救いたい。ランク戦の高レート帯でチート行為が蔓延しており、その状況は有名配信者などを通じて広く知られている。

ゲームの持続可能性

目標は健全なプレイ環境を低コストで実現すること。ここでいう健全なプレイ環境とは、具体的には「利用規約の違反行為が《割に合わない》状況を継続的に維持し続ける」ということを指す。そもそも愉快犯を含めた規約違反を0件にするのは難しいので、チート業者が食べていける経済規模を小さくしていくことを目指す。

データナイフで検知せよ

皆さんはAshのパッシブ能力をご存知だろう。デスボックスにデータナイフを刺し、攻撃者の所在をマップに示す。今回提唱したいチート対策案はAshのように、事後的にチーターを見つけ出し Hideouts (セキュリティ担当部門) につきだす仕組みだ。説明のため本手法を ProjectDataKnife と呼称する。

エーペックスを始めたとしたオンラインゲームはクライアント・サーバーモデルで実装される。そこで ProjectDataKnife では、このうちサーバー側に渡るデータを元に規約違反の行為をあぶり出す。なぜサーバー側のデータを重視するのかというと、クライアントとは異なりサーバー側のロジックは改ざんしようがないからだ。

さて ProjectDataKnife の動作は、想定される違反行為ごとに次のようなシナリオに落とし込める。

  • 完全な黒: 仕様上ありえない挙動。例えば空中浮遊やブラックマーケットなしでのアーマースワップなど。検証は必要だが、コンバーターの入力特性も相当な適合率で検知できそう。本来はゲームのロジックで弾かれるべきなのだが、パフォーマンスがシビアなPVPゲームではリアルタイムの検出は現実的ではない。サーバーに残ったログをもとに事後的にフラグを立てることで、ゲーム体験を損ねずにチート検出を行える。アカウント停止までの時間はチート業者が《割に合わない》レベルが目標となる。目安としては1試合20分として、大まかに10分〜60分くらいが塩梅ではないか。検知対象はRPに関わりやすく実装しやすいアクションから始める。例えばクロスプラットフォームやティア超えなど、明らかに不正なマッチ自体に制裁を課せば悪質なユーザーの挑戦心をくじくことができるだろう。更に踏み込んで、検知後の処罰まで自動化するならクライアントのバグなどによる誤検知を緩和するため直近1日での3アウト制などをとる。あるいは自動でバンはせずに、数十分間プレイできなくなるペナルティを課して、その間に Hideouts がセッションIDを元に人手でダブルチェックしてもよい。
  • グレーゾーン: 仕様上はありえるが、現実的ではない挙動。例えば、エイムボットやウォールハック、チーミングなど。機械学習を用いる。具体的には、今まで Hideouts などによりバンされたプレイヤーのログを教師データとして用いて怪しいログを検知できるようにする。機械学習モデルによっては 信頼度 (confidence score) を算出できるものがあり、その数値によって目視での検査の優先度付けができるだろう。要は Hideouts が高効率で稼働できるようにする支援ツールとも言える。すでにチーミングなどはシーズンに数回はまとめてバンされているが、これの頻度が週1などに増やせるのではないか。教師データにはチーターとフルパを組んだ履歴によるグラフ理論でのスコアリングなど、幅広い応用可能性がある。
  • 対象外: ゲーム外の情報によって断定できる規約違反は検知が難しい。例えばスマーフや代行、アカウント売買など。一方で処罰逃れできるようチーターが顧客部隊を護衛することがあるが、これはゲーム内での情報で絞り込めそうだ。黒だったプレイヤーが過去に参加したマッチング履歴から不自然なRPの伸びを示したユーザーがいれば、調査対象に加えられるだろう。

実現上の諸課題

実際に @Respawn が運用にまでもっていくには障壁がある。まず機械学習の教師データとなるログの設計から始めることになるだろう。そしてサーバー側のログが取得できたとして、もちろん肝心の機械学習モデルの実装も必要だ。あるいは最近では kaggle.com などが繁盛しているのでPoCを兼ねて出題してみても良さそうだ。エーペックスからの出題であれば関心は高いだろう。

運営側のインセンティブ

規約違反をするプレイヤーがアクティブユーザー数にどれほど影響を及ぼしているかは要研究。運営元の決算発表 ir.ea.com などを参照してみるつもり。

文責

執筆者の略歴。博士前期課程でセキュリティ分野での機械学習を専攻し、業務としてウェブサービスの開発運用や技術サポートに携わる。エーペックスではハンドル名「keso」にてSwitch版を楽しんでいる。最高到達ランクはシーズン12でのBRダイヤ。

野良チート対策班としての今後の活躍に乞うご期待 #SaveApexRanked 🗡️

コメントを残す

コメントを投稿するには、以下のいずれかでログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中