チート、チーター、そしてアンチチート

content auto translated from {from}

オンラインゲームのチートは常に存在します。これは事実です。私たちがどれだけそれを望まなくても、仕方のないことです。まあ、選択肢としては、単にプレイをやめることです。チートを完全に根絶することは不可能です。より良いプレイをしたい、特に努力をせずに最高のプレイヤーになりたいという欲望は、多くのプレイヤーに共通するものだからです。そしてしばしば、それは全ての弾を避けようとしている新規プレイヤーを惹きつけることがあります。彼らはこの状況に疲れ、最も簡単な道を選ぶことになるのです...

いいえ、コンピュータゲームの開発者たちは何もせず腕を組んでいるわけではありません。新しいパッチや修正がリリースされ、チートが使用された脆弱性や抜け穴は急いで修正されます。

初期のアンチチートはあまり効果的ではなく、多くの問題とバグを引き起こしました。しかし、時が経つにつれて、彼らは進化しました:新しいパターンがデータベースに追加され、スキャン方法が改良されました。そのため、未知のチートも検出可能になるのです。しかし、「チート産業」も停滞せず、ゲーム開発者やアンチチートが仕掛けたすべての罠を巧みに回避しました。これはウイルス作成者とアンチウイルス開発者の永遠の戦いに似ていました。どんなに優れたアンチウイルスでも、必ず何らかの脆弱性や抜け穴が存在します。ここでも同様に、完璧なアンチチートは存在しません。しかも、チートを作り出すのは、たまたまコーディングを習ったばかりの若者たちではなく、むしろビジネスとして成り立たせている開発者たちです。彼らを「チートメーカー」と単純に呼ぶには無理があります。無料のチートとは異なり、有料チートを使用するリスクはほぼゼロに近いです。さらに、通常ここには24時間365日の技術サポートが存在します(フォーラム、IRC)。また、有料サービスは非常に高品質です。新しいパッチがリリースされたり、新しいスキャンシグネチャが発見されると、チートはタイムリーに更新されます。有料チートを取り締まることはほぼ無駄です。なぜなら、ほとんどすべてのチートには「antileak」システムがあり、実行ファイルの漏洩を防いでいるからです。たとえば、某有名なチートコミュニティのチートがどのように機能するかを考えてみましょう。特定のクライアントがあり、Steamのような形式で、現在のすべてのアクティブなサブスクリプション、つまり購入したチートが表示されます。実際のチートはあなたのPC上には存在せず、クライアントの実行ファイルのみがあります。チートを起動すると、それがサーバーからダウンロードされ、すぐにメモリにロードされます(さもなければ、すべての有料チートがどこかのmpcforumに自由にアクセスできる状態になるでしょう)。なお、有料チートは通常、購入時にログインしたPCのハードウェアIDに結びつけられます(HW IDが変更されると、クライアントにログインできなくなります)。これはチートの拡散を防ぐためです。そうでなければ、誰か一人がそれを購入し、ネットに公開することができたでしょう(最初はそうだったが、プログラマーたちが上記のような仕組みを考え出すまでは)。

たとえば、VACサポートチームの仲間たちは、100ユーロを惜しまない(私たちが購入するカウンターストライクに使うお金で;)有料チートを購入しました。彼らはそれに取り組み始めました。しばらく時間がかかり、遂にとんでもない努力の末、彼らはすべての実行ファイルとハックのライブラリを取得することに成功しました。もちろん彼らはすぐにこの情報をVACのデータベースに登録し、そのチートを使用したすべての人がバンされます。では、チート開発者たちはどうするのでしょう?彼らは単にチートを更新します(実行ファイルやライブラリのバージョンを変更したり、ゲームプロセスへの組み込み方法を変えたり、場合によってはチートを再構築するだけです)。そうすれば、Valveのチームの努力は無駄になってしまいます。バンされたからといって、それほどの損失ではありません。100ドルを投資するチートを購入する人がバンを気にすると思いますか?...笑わせますね。彼らは新しいキーを購入し、引き続きチートを使ってプレイを続けます。Valveがチートの更新による変更を再検討するために、再び貴重な時間を費やすことはないでしょう。彼らは一つのサイトを永遠に監視することはできません。もちろん、Valveには天才が働いていますが、チートを開発している人々も馬鹿ではありません。一つのよく保護されたチートを解剖するにはかなりの時間が必要です。さて、どれくらいの数のサイトが有料チートを販売しているか見てみましょう。大雑把に言えば、20作品くらい(実際にはもっと多いですが)。あなたはVACデベロッパーチームがすべての有料チートを購入して分析するだけのスタッフと、何よりも時間を持っていると思いますか?...それは現実的ではありません。シジフォスの労働です。なぜなら、チートはすぐに更新され再構築されるので、すべての努力が無駄になるからです。

有名なチートを販売しているサイトに掲載されているプレイヤー向けの魅力的な宣伝。あなたはこれがチートの状態を監視しているアクティブモニターだと思いますか?...ただのテンプレートの要素であり、たとえチートが検出されても、「Undetected」は決して「Detected」に変わりません。

無料のチートの場合はもっと簡単です。人気のあるチートポータルを見つけて、そこから新しいものを定期的にダウンロードし、それに関する情報をアンチチートデータベースに組織的に入力するだけです。また、ここでは保護や「antileak」についても話にはなりません。無料のチートは何で構成されていますか?

Superhack.exe(実行可能ファイル)

Superhack.dll(ライブラリ)

Superhack.cfg(ユーザー設定が保存されるファイル)。ここでは、単にファイルのCRCを取得してそれをデータベースに追加することも可能です。この作業は、せいぜい30分程度です。そのため、無料のチートは最大で1、2ヶ月しか生き残りません。それだから数が少ないのです。有料チートを購入し分析する代わりに、アンチチート開発者たちは新しい検出システムを実装し、スキャンメソッドを改良し続けます。

PunkBuster vs VAC

「VAC sucks」。すべてのプレイヤーは、Modern Warfare 2でのチーターの数が増え、評価の高いVACはそれに対処できず、誰もバンしていないことを理由に、VACデベロッパーチームに石を投げることを自分の義務と考えています。結局、これに対する文句を言うプレイヤーたちは、「PunkBusterを残しておいた方が良かった」と付け加えます。しかし、誰もVACがどのように機能するかを理解していません。私がVACに関して詳しいFAQを作成し、ここに投稿したにもかかわらず、状況は何も変わっていません。私の投稿へのコメントの一つで、「プログラムの効果が見られない。ワルハッカーとはほぼ最初から出会っています」と書かれた人もいます。ここで、すべてを正しく整頓し、論争のある問題を明確にしましょう。まず、友人たち、覚えておいてください。もしくはメモに書き留めて、眠る前にお祈りのように繰り返してください:

1. チーターは常に存在します。この現象は、あらゆる手段で根絶することは不可能です。ある者が排除されれば、別の者が現れるのです。なぜ人々は犯罪を犯すのか?それが遅かれ早かれ罰せられることを十分に理解しているのに?これも同じことです。

2. チートは常にアンチチート開発チームの一歩先を行っています。なぜなら、どんなシールドにも、それに対抗する剣が存在するからです。

ほとんどのプレイヤーが気にかけている主な質問は、「なぜModern Warfare 2のアンチチートとしてVACが選ばれたか?」(正確に言うと、VAC2)。その理由は、専用サーバーがゲームから欠如しているのと同じ簡単な理由です。Infinity Wardは、彼らがよく言うように、ゲームのネットワーク部分を完全に自律的にしたいと考えていましたが、PunkBusterはクライアント側とサーバー側の両方で継続的な更新を要求します。さらに、視覚的な証拠を探すためにスクリーンショットを定期的にチェックする必要があります。しかし、専用サーバーがないので、誰がそれを行うのでしょうか?... だからVACが選ばれたのです。

VACは、Infinity Wardの観点からすると、彼らの要件に完全に適合していました:プレイヤーがVACの運用を維持するための行動を何も取る必要はなく、すべての責任はVACデベロッパーチームにあります。ただし、IWがこの時点でVACが主にValveのゲームでしか使用されていないという事実に気を取られなかったことは疑いの余地がありません。つまり、ゲームを開発する際、Valveはもともとそのアンチチートとの密接な統合を確保し、不正な介入を効果的に検出できるようにしていたのです。

__________________________

\参考までに:VACはもともと3つのサードパーティのゲーム、Red Orchestra、Lost Planet:Extreme Condition、Killing Floorでのみ使用されていました。*

VACの最大の欠点は、遅れてのバン(delay ban)です。VACは即座にチートを検出します。しかし、ブロックはランダムな時間が経過した後に実施されますが、その平均時間は3週間を超えません。この期間、チーターはプレイを続け、他のプレイヤーに迷惑をかけます。そしてバンされた後、彼はおそらく新しいディスクを買いに走り、再びチートを使ってプレイを続けるでしょう。なぜなら、私たちはロシアに住んでいて、ゲームが西洋の基準でほぼ無料で提供されているからです(MW2はたったの13ドルで、西洋では60ドルです)。なぜすぐにチーターをバンしないのでしょうか?そこには巧妙さがあります。VACは、チーターだけでなく、むしろチート開発者にとっても本物の厄介なものであります。どんなに優れたコーダーであっても、彼は自分のチートが検出されるかどうかを確信を持って言うことはできません。それを知るには3週間以上待たなければなりません。ほかに方法はありません。そして、公に使われているチートの場合、もし最初は「undetected」のステータスを持っていたとしても、90%の確率で、3週間後にはVACに登録されているでしょう。人気のある有料チートの開発サイトの開発者さえも、全く安全だと言って確信することはできません。

一方、PunkBusterはすぐにバンします。そして時には、チート以外の理由でも;)何か疑わしい活動がシステムで初めて確認された場合、すぐにキックされます。ラウンドごとに各プレイヤーの画面から自動的にスクリーンショットを取得することもできます。これらのスクリーンショットは、有罪の十分な証拠として役立つことができます。そして、これらのスクリーンショットはEvenbalance(PunkBusterの開発者)に送信でき、その結果、そのキーに対するグローバルバンを引き起こすことになります。PunkBusterのデベロッパーチームは、Valveとは異なり、すべての苦情を快く受け入れて検討します。さらに、さまざまなストリームデータベースが存在します。これは何でしょう?それは独立したチームが自らのデータベースにチートを追加し、そのデータベースに接続された任意のサーバーで利用できるようにすることです(Steambansのようなサービスのようなもの)。プレイヤーのPCがスキャンされる際に、ストリームのいずれかのサンプルと一致するものが見つかると、即座にバンが実施され、そのバンはそのデータベースに接続されたすべてのサーバーに適用されます。実際には、ストリームでバンされることは、グローバルバンを受けることであり、なぜなら、どの正常な管理者もこのようなサービスを接続すべきだからです。しかし、ここには大きな欠点があります。具体例として、GGC-streamのメンバーたちは、証拠なしにバンを実行することが多いです。また、あらゆる証拠を偽造することもできるのです。PunkBusterのスクリーンショットでさえも。

PunkBusterはファイルのチェックサム、テクスチャの整合性(たとえば、プレイヤーが変更されたドライバーを使用し、たとえば草がない場合など)を確認するほか、他にも多くのチェックを行います。しかし、同時に新しいチートを書き込むことはある程度容易です。その意味では、たとえば新たなチートが発見されるかどうかを即座に確認できます。

しかし、PunkBusterには多くの問題があります。手動で更新する必要があり(自動更新は常に正確に機能するわけではありません)、しばしば他のソフトウェアと衝突します。また、不明なプロセス(たとえばウイルス)がメモリ内に存在するだけで、あなたをキックすることになります。一年前には、意味のないことですが、PunkBusterがユーザーが使用しているSteamのオーバーレイの使用に対してプレイヤーをキックしていました...

PunkBusterのサーバー側も常に監視が必要です。

PBの標準エラー。再インストールすることで修正できます

PunkBusterがあなたのPCをスキャンし始めると、通常、ラグや遅延を伴います。しかし、これにもかかわらず、PunkBusterは成功裏に回避しています。PBSS(クライアントの画面からスクリーンショットを取得するモジュール)さえも欺くことに成功しています。たとえば、回避方法のいくつかは以下の通りです。

1. スクリーンショットは単にサーバーに送信されないか、壊れたものが送信されます。

2. スクリーンショットは送信されますが、黒い画面のものです。プレイヤーは常に、彼のOSはVistaまたはWin7であり、PunkBusterとはあまり相性が良くないと弁解できます(実際に、これらのOSのユーザーの全てのスクリーンショットは黒いです)。

3. この方法はその複雑さのために、限られた一部の有料チートにおいてのみ実装されています。サーバーからプレイヤーの画面からスクリーンショットを取得するというコマンドが送信されると(自動的か管理者の要望によって)、チートは画面上のすべての視覚化(壁抜け、レーダーなど)を一時的に無効にし、クリーンなスクリーンショットを取得してサーバーに送り、再びチートを有効にします。それには1秒半もかかりません。

特定のケースでは、PunkBusterはハードウェアバン(ハードウェア単位でのバン)を適用することがあります。しかし、過去1年から1年半の間に、私の知る限りそんなケースはありません。

一方、VACはプレイヤーに対して非常に親しみやすいです:他のOSと衝突することはなく、スキャン中にラグを引き起こさず、そして注意がほとんど必要ありません。最大限の問題は、VACサーバーとの接続が失われたというエラーでサーバーからキックされることです(インターネットやゲームサーバー、あるいはValve自体のサーバーの問題によって)。しかし、これは極めて稀です。

さあ、結論を出す時が来ました。VACとPunkBusterにはそれぞれの潜在的な落とし穴があります。もちろん、PunkBusterがチーターを即座にバンすることができればよかったが、私がすでに説明したように、IWnetとの組み合わせでの使用は不可能であり、したがってVACが唯一の選択肢として残されました(ほぼ唯一です)。VAC、PunkBuster、GameGuardは完全な統合ソリューションとして存在します。他のアンチチートは、外部モジュールを使用する(sXe Injectedなど)か、特化された専門性と低効率性のため(X-rayなど)に対抗できるだけの能力がないのです。

これは、ゲーム中にPBによって取得されたスクリーンショットの例です(COD4)

無料の有料チート

その存在を信じますか?...私は信じません。しかし、多くの人が、誰かが自分のお金でチートを購入し、公開してくれるだろうと考えているようです。悪人たちはそのチャンスを利用して、フェイクを公開します。しかし、これはチートではなく、ただの実行ファイルと美しいウィンドウです。内部には、Steamアカウントのパスワードを持っていくトロイの木馬が入っています。しかし、プレイヤーはその気持ちの高揚から、今すぐサーバーに入って皆を制圧するのだと思い込み、ウイルス対策のメッセージを無視するか、オフにします。そして翌日、彼はあるフォーラムで嘆き、アカウントがハッキングされたことを報告します。私の言葉が十分に説得力があるとは思えないなら、そのような「チート」をvirustotal.comで確認し、すべてが明らかになることを望みます。

ロシアのハッカー

悪気はないのですが、ロシアのチーターは最も愚かな人たちです。14歳の少年ヴァシリーがModern Warfare 2を購入し、2日間プレイした後、皆に対して腹を立てて、自分のスキルを向上させることを決意します。彼の友人イワンが「これはすごいプログラムだ!」とチートを探すように言います。ヴァシリーは嬉々としてグーグル先生に頼り、彼に素晴らしいフォーラムを見つけてもらいます。VACやチートを使うことでバンされるという概念は、彼には全く理解できません。チートは動作し、初日はもちろん、2日目、1週間後も彼はバンされません...ヴァシリーは言葉で表わせない喜びの中にいます、そして彼はいつまでもその日が続くと思っています。しかし、彼はついにバンを受けてしまいます。どこかのフォーラムでSteamがひどいものであると泣き言を言った後(たぶんmodernwarfare2.ruに行くでしょう、そこには多くの人がいます;)、彼は新しいディスクを購入しなければなりません。チートなしではプレイできなかった彼はまたチートを見つけ、再び同じことを繰り返します。注意、質問です:ヴァシリーは何回バンを受けなければならないでしょうか?2回?それとも3回?それとも彼の父親が石油の井戸のオーナーだから、彼は週に1枚のディスクを購入できるのか?..

ロシアの人々が有料チートを購入することは少ないです。というのも、私たちは「無料」の習慣に慣れているからです。ライセンスゲームですら、私たちは不本意にしか購入しないことが多いのに、ましてチートをどうでしょうか... 誰かが「チートを購入する!?OMG、なんとチンピラになるためには、お金を支払わなければいけないのか?」と言ったこともあります。さらに、一般的な学生がプラスチックカードやチート代100ユーロを支払う手段を持っているとは考えにくいです。だからこそ、彼らは無料のものを使用します。

西側では、無料のチートの使用は、まるでコンドームなしで売春婦とセックスをするのと同じだとすでに理解されています。あなたは必ずバンされます。それは単に時間の問題です。有料チートを一度購入すれば、自分のSteamアカウント上の600ドル相当のゲームを失うリスクを避けるためには、100ユーロは無駄ではありません。しかし、チートを購入したとしても、自分が無罪でいられる自信を持つことはありません。

そのドラマ

やはりInfinity WardとValveには素晴らしい人たちが働いています。

ゲームがリリースされてから1週間後には、チートとそれに伴うチーターが大量に出現しました。それはまるで疫病のようでした。そして、ここでIWnetの全ての欠陥が浮き彫りになりました。プレイヤーはチーターをバンすることも、排除することもできませんでした。そしてチーターにとって、それは本当の楽園でした... もしVACが新しいチートをデータベースに追加していくのであれば、有料のチートに対して何かをしなければなりませんでした。 「全てを購入してもデータベースに追加する」という考えがありますが、それは無理です。まず第一に、多大な人的資源が必要であり、第二に時間も必要ですし、第三に、前述のように、これらの有料チートには「antileak」システムがあるため、不可能なのです。チートの分析には多くの時間がかかりますが、それが数十個あるのです... ValveはInfinity Wardの圧力を受け、「我々は巨額の金を投入したのに、VACデベロッパーチームは無給で働くわけがない」と訴えましたが、1ヶ月も経たないうちにチーターがゲームを占拠しました。

そして、これに対処する必要がありました。誰がこのアイデアを提案したのかはわかりませんが、間違いなく、その人物にはメダルを与えるべきです。

パッチ169がリリースされたとき、すべての有料チートが更新され、新しいシグネチャーや修正を回避しました(無料のものは、更新に大いに時間がかかります)。そしてInfinity Wardはバージョン164にロールバックしました。すると、すべてのチーターが一瞬で表面に浮上しました。2500人以上が、一人当たりにタイマーやカウントダウンがなかったのです。すぐに手動でバンされました。有料チートを使用した人をほぼすべて捕まえました。そして、おそらくこの結果に自信を持って、IWとValveはこの方法を常態化するでしょう。しかし、喜ぶべきことではありません。敵も休むことはありません。チートの開発者たちは顧客と巨額の利益を失いたくないので、戦争は続きます。そしてそれは永遠に続くでしょう。