FPSのチーターを撲滅した天才的アイデアとは? (original) (raw)

2024年10月17日 16時00分 ゲーム

今回、CSGOのチーターを撲滅したアイデアを公開したのは、ソフトウェアエンジニアのMo Beigi氏です。Beigi氏は、オーストラリアとニュージーランドを拠点とするCSGOコミュニティサーバーの「Invex Gaming」の設立者で、サーバーは2014年から2019年まで活動していました。

質の高いコミュニティで人気を博したInvex Gamingでしたが、オンラインゲームコミュニティの例に漏れず、悪質な不正行為を働くチーターに悩まされていました。

当時、Beigi氏らが行っていたチート対策は、ゲーム内のすべてのアクティビティを24時間体制で記録して人間が分析する手法に頼っていました。そして、チートを発見し次第、そのプレイヤーのアカウントを追放していましたが、このやり方には限界がありました。

チーターをBANする基本的な仕組みは以下の通り。チーターを発見すると、サーバーの管理者は「IPアドレス」と「Steam ID」の両方をサーバーに登録します。そして、チーターが再びサーバーにアクセスした際、IPアドレスとSteam IDをチェックし、どちらかがブラックリストに入っていた場合、接続を拒否します。

この二重チェック方式を使うと、チーターがSteamアカウントを切り替えてSteam IDが変わったり、VPNでIPアドレスをごまかしたりしても対応できますが、Steam IDとIPアドレスの両方が変更されてしまうと手が付けられません。

特に悪名高いチーターは、世界各地に分散された無限のIPアドレスと87以上のSteamアカウントを駆使してCSGOでチートを行っていたことがわかっており、サーバーの管理者による対応とチートは完全にいたちごっこの状態でした。

そこで、オープンソースのMODプラットフォーム・SourceModのメンバーであり、CSGOのリバースエンジニアリングにも熟練していたBeigi氏は、ゲーム内の組み込みブラウザを使う方法を思いつきました。

CSGOには、「VGUIブラウザ」と呼ばれるブラウザが搭載されており、サーバーの管理者はこのブラウザを使ってサーバーを訪れたプレイヤーにルールやお知らせを表示していました。

VGUIブラウザは、SteamのCookieと連携しており、Cookieに有効期限が設定されているGoogle Chromeのような一般的なブラウザと異なり、10年以上の有効期限を持つようなCookieも保存できます。しかも、VGUIブラウザはウィンドウを表示することなくプレイヤーをひそかに特定のウェブサイトに誘導してデータを収集することが可能で、Cookieを消去する機能もありませんでした。

つまり、このCookieを利用したトラッキングIDをチーターの識別子にすれば、チーターがIPアドレスとSteam IDを切り替えてもチーターを見抜けるというわけです。技術的には、CSGOをインストールし直したり、ローカルに保存されたCookieファイルを手動で削除したりすればBANを回避することができますが、摘発される度にそのような作業を行うチーターはほとんどいませんでした。

Beigi氏らが2017年2月にこの手法を導入したところ、効果はてきめんで、Invex GamingでBANされるチーターの数はすぐに急上昇しました。

その過程で、長年にわたり信頼されてきた有名なコミュニティメンバーがチート用の秘密のアカウントを持っていることが暴露されたり、Beigi氏にどうやってチートを検出しているのか教えて欲しいと連絡をよこすチーターが登場したりしました。また、他のサーバーの管理者からも注目が集まり、中には技術提供してくれるならお金を払うと申し出る人もいたとのことです。

しかし、Beigi氏は決してこの技術を外部に漏らすことはなく、絶対的な信頼を置くもうひとりのサーバー管理者にだけこの手法を共有していました。なぜなら、どうやってチートを検出しているのかが知られてしまえば、すぐに回避されてしまうからです。

こうして、Beigi氏が立ち上げたInvex Gamingは「チートしにくいサーバー」として有名になり、セキュリティ上の理由で2017年10月にゲーム内ブラウザが廃止されるまでの間、チーターとチートの報告の両方が大幅に減少したとのことです。

Beigi氏は「あれから何年も経った今でも、私はこの解決策とその効果を本当に誇りに思っています」と述懐しました。

2024年10月17日 16時00分00秒 in ゲーム, Posted by log1l_ks

You can read the machine translated English article here.