0

サーバー、つまり複数のクライアントの中央サービスとして機能するリモート ホストが、Blizzard の Warden に似た悪意のあるクライアントや無効なクライアントを検出するにはどうすればよいでしょうか。何らかの方法で、これらの種類のソフトウェアはクライアントに特定の情報をときどき要求しますが、非公式のクライアントから簡単に偽造することはできません。

私が疑問に思っているのは、クライアント側からのリバースエンジニアリングが困難または不可能になるように、そのようなメカニズムをどのように実装できるのでしょうか? オープン ソース クライアント ソフトウェア (クローズド ソース サーバー) にそのような手法はありますか?

4

1 に答える 1

1

簡単な答え: できません。クライアントは基本的に信頼できません。Blizzard (およびその他のアンチチート ソフトウェアの提供者) は、チーターとの絶え間ない軍拡競争に従事しています。一度実装しただけでは終わりません。製品の不正行為を (ヒューリスティックまたはプレイヤー レポートを介して) 常に監視し、誰かが不正行為を行っているかどうかをプログラムで評価する方法を見つけなければなりません。

より長い答えは、「秘密のソース」の検出をクライアントから遠ざけることです。クライアントは代わりに情報を収集し、分析のために信頼できるマシンに転送します。これにより、詐欺師はどのような情報が収集されているかを知っているだけで、その情報で何が行われているかがわからないため、検出を回避するのが難しくなる可能性があります。しかし最終的には、彼らはその情報を偽装する方法を見つけ出し、アンチチート メカニズムでその問題に対処する必要があります。

できることは、サーバー コードにヒューリスティックを実装して、他の方法では不可能な入力を送信しているプレイヤーを検出し、それらのアカウントにフラグを立ててレビューまたは禁止することです。これは、クライアント上の悪意のあるソフトウェアを検出するものではありませんが、その悪意のあるソフトウェアの影響を検出することはできます。そのため、これらの無効な入力の送信元を特定できない場合でも、そのアカウントを無視することはできます。

ただし、より具体的には、アプリケーションのコンテキストで「不正行為」を構成するものを定義し、それを検出するためのデバイスメソッドを定義する必要があるため、例を挙げることは不可能です。これは非常にドメイン固有の問題であり、さらに複雑なことに、そのようなシステムのオープンソース実装を見つけることはほとんどありません。

于 2014-11-18T20:55:05.117 に答える