タイムシールはどのように機能しますか?[閉まっている]


8

私はfics(無料のインターネットチェスサーバー:www.freechess.org/)が、ユーザーが移動するのに必要な時間を測定するためにtimesealと呼ばれるプログラムを使用していることを知っています。このタイムシールは、クライアントでの時間測定です。クライアントでの測定は、サーバーでの時間を測定するよりもはるかに優れており、接続状態が悪いだけで時間を失うことがないためです。

しかし、ficsにはたくさんのインターフェースがあるため、不正なインターフェースが移動に常に0.1秒しか使用しなかったと言うのを妨げているのはなぜですか?これがどのように処理されるか誰か知っていますか?

余談ですが、悪意のあるインターフェイスを構築したくありませんが、クライアント側の時間を測定しているが、簡単にだまされてはならない同様の何かを構築しようとしています。


2
これはおそらく、この実装がそうであったとしても、実際にはチェス固有ではないので、プログラミング交換でよりよく尋ねられる質問です。推測では、難読化の形式が使用されています。これは、クライアントのどこかにキーがないと、メモリ内の動作を暗号化できないためです。(または、サーバー上に常駐させることもできますが、クライアント側の操作のポイントを完全に無効にします...)
Jonathan Garber '19年

回答:


12

私はチェスプレイヤーでありプログラマーです。ICCのタイムスタンプとその他のセキュリティに関するこの10年前の論文が実際にありました。今は状況が異なる可能性があることを理解した上で読んでください。

チェスをだます方法:インターネットチェスクラブのセキュリティ分析

しかし、一般的に、あなたは正しいです。タイムシール(タイムスタンプ)で報告された時間を操作することが可能です。ICCの公式インターフェースを使用していても、実際に実行できるかどうかを確認するために、実際に実行しました。スピードハックは多くのゲームに存在し、既存のスピードハックプログラムを使用して、クロックをスピードアップする代わりにスピードを落としました(通常、ゲームでより速く実行するために行います)。結果は、私がKBNK(B + Nメイトを練習できるボット)と対戦したゲームで、3秒未満のプレイ時間で約30移動した後にコンピューターを交配しました。一手ごとに平均0.1秒程度の重要なメイトは、明らかに不自然です。

サイトの管理者に影響を報告しましたが、検出できると言われました。実際、彼らは私の不正なタイムスタンプのログを検出しました(どこか...彼らは露骨な偽のレポートを見ることができ、それをTCP / IPタイムスタンプと比較して、数値が妥当かどうかを確認できると思います)。彼らはそのような不正行為を検出することができ、それを使用しないでくださいと言われましたが、私の懸念に感謝します。

そのため、はい、クライアント側では何でも操作できますが、サーバー側で不正なタイムスタンプを検出できる可能性もあります。より優れたチェスサーバーには、通常、コンピューターまたは時計の操作のいずれかによって、不正行為の報告を調査する人々のチームがすでに存在しています。


thx-その紙は主に私が探していたものを説明しています。
Simon Meyer 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.