プルーフ オブ ワークは異常なマシン トラフィックの 97.42% をどのように傍受しますか?

最近、カジュアルミニゲーム「Sheep a Sheep」が友達の輪で大人気で、このミニプログラムゲームは難易度が非常に高く、地方と個人のランキングはPeace EliteとLeagueを上回っています。ピーク時のLegendsの。しかし、MOBA モバイル ゲームのリーグ オブ レジェンドであろうと、カジュアルな小規模ゲームであろうと、繁栄の背後には、ゲーム内に多くのプラグイン スクリプトがあります。

 ひつじとひつじのゲームスクリプト

こうしたビジネスがコンピュータの自動化にだまされていく中で、損失や無駄な運用にどう対処し、回避していくかが現在の最重要課題となっていることは間違いありません。

現在、上記のリスク管理の問題に対して、エンタープライズ ビジネス セキュリティを担当するサービス プロバイダーである Geetest は、さまざまな種類の問題に応じたソリューションを提供しています。Jiexp のセキュリティ専門家は次のように述べています。Geetest の現在のソリューションにワークロードプルーフ技術を適用した Behavioral Verification 4.0 は、ブラック製品とグレー製品の攻撃コストを最大化できます。この技術は、コンピューターCPUの計算量を増やして計算時間を長くすることで、高頻度のやり取りを防御しますが、頻度が低く、アカウントのセキュリティが高い通常のユーザーには効果がありません。詳細な説明は次のとおりです。

1.ワークロードプルーフの原則

プルーフ・オブ・ワーク(Proof of Work、以下「PoW」)とは、その名の通り、自分が行った仕事を証明することです。検証コードに適用される場合、検証コードの製造元のサーバーがユーザーのクライアントにコンピューターを呼び出して、指定された量の作業を完了するという証明を指します. 証明は通常、正しいハッシュ アルゴリズムを送信する文字列の回答です. このプロセスでは、クライアントの回答を迅速に検証するだけでなく、Geetest サーバーはプルーフ オブ ワークの数を指定することもできます。

PoW の機能は高頻度のリクエストを制限することであるため、通常、Geetest はアクティブ モニタリングを使用して、顧客のビジネス ルールに準拠していない大量のトラフィックを検出し、PoW コンセンサス防御メカニズムをオンにします。

2. 効果絶大、97.42%の異常トラフィックを効果的に遮断

下の図は、ある Web サイトで PoW を有効にする前後のデータの比較を示しています。午後の 14:00 に、Web サイトの検証インタラクション数が過去のピークである 244,785 に達したことがわかります。その後、検証リクエスト量やインタラクション量などの4項目のデータは減少しましたが、グラフを見るとウェブサイトの通常のインタラクション量を大きく上回っていることがわかります。14時52分頃、Webサイトに異常データを検知。これまでの経験から、コンピュータスクリプトを使ってWebサイトに大量に侵入し、高頻度でインタラクティブな検証を行う黒とグレーの製品であると大まかに判断し、防御のためにPoWをオンにしました。

 14:00 各種データ

8 分後の 15:00 にさまざまなデータ インジケーターを再度確認したところ、確認要求と対話の数は依然として多いものの、PoW が有効になった後、確認パスの数は 213,046 から 127 に減少しました。Webサイトへの攻撃前の午前4時のデータを比較すると、この時のトラフィックは通常のレベルに戻っており、計算により、PoWがオンになった後、約97.42%の異常なトラフィックの侵入が効果的に阻止されたことがわかりました、および傍受効果は非常に重要でした。

 15:00 各種データ

 午前4時 各種データ

3. 頻度の高いインタラクションのコストは高く、頻度の低いインタラクションの影響はゼロ

Geetest は主に検証コードの PoW ワークロード証明としてハッシュ操作法を使用します. この方法は主に HASH 操作の複雑さを利用して, 与えられた初期値を通じて複雑な値のインクリメント規則を実行し, HASH 衝突原理を使用します. 特定の衝突まで値が見つかった場合、衝突値の長さを調整することでワークロードを調整できます (衝突値が長いほど、必要な計算量が大きくなります)。現在の認識では、ブラック製品は、徹底的な試みを除いて、条件を満たす署名文字列をすぐに見つけることはできません。へいちゃんがリクエストを送信すると、Geetest サーバーの要件を満たす署名文字列が生成されるまで N 倍に増やして新しい署名文字列を生成する必要があり、プルーフ オブ ワークが完了します。

Extreme Experiment によって設計された Hashcash の署名文字列は次のとおりです。

ハッシュキャッシュ メッセージ: バージョン|ビット|hashfunc|日時|id|ロット番号|ext|rand

例は次のとおりです。

PoW_msg: 1|16|2021-12-14T14:15:21.167233+08:00|647f5ed2ed8acb4be36784e01556bb71|b3af6a9f47bc4e4a825715e20622a307||hijwiakgwjAIDL

PoW_sign = hashfunc(PoW_msg)

フィールドの意味の説明:

  • version : ハッシュキャッシュ形式のバージョン. 現在のバージョンは 1.

  • bits : 計算の強さを表す、ハッシュ後に取得された文字列のプレフィックス 0 のビット数。0 が多いほど、計算する必要がある強度が大きくなります。

  • hashfunc : サポートされているハッシュ関数 md5、sha1、sha256

  • datetime : メッセージが生成された時刻 ( iso8601: の形式YY-MM-DDTHH:mm:ss+08:00) (時刻文字列またはタイムスタンプを使用しますか?)

  • id : キャプチャ サービスの ID

  • lot_number: 認証コードサービスのシリアル番号

  • ext : 追加の拡張子

  • rand : base-64でエンコードされたランダムな文字列

検証コード プロセスでは、検証コードの質問を読み込むと、id、lot_number、datetime、bits、version が返されます。クライアントはランダムな文字列を生成して Hashcash msg を形成し、ハッシュ アルゴリズムを使用してそれをハッシュし、ビット数のプレフィックスと一致する 0 で始まる文字列を見つけます。これでプルーフ オブ ワークが完了したと見なすことができます。確認コードに回答するときは、PoW_msg と PoW_sign を回答とともに渡し、最終確認を行います。

クライアントの場合、プルーフ オブ ワークを完了するには、ランダムな文字列を調整し、ビットの前に 0 が付けられたハッシュ文字列を見つける必要があります。ビットを 16 とすると、平均してターゲット文字列を見つけるには、文字列 rand をランダムに生成し、それを 2 の 16 乗 (65536) にハッシュする必要があり、このプロセスは幾何分布を満たします。例として 3.6Ghz CPU を搭載したコンピュータを取り上げると、3 つのハッシュ アルゴリズムは、ハッシュ操作を実行するために次の時間を必要とします。

md5 ハッシュ方式の場合:

65536 * 572 ns = 37486592 ns = 37.486592 ミリ秒

ハッシュ アルゴリズムは元に戻せないため、クライアントはターゲット文字列を見つけるために複数回しか試行できません。平均検索時間は数十ミリ秒で、通常のクライアントにはあまり影響しませんが、悪意のあるクライアントの場合、検出を通過するために対応する PoW_sign 文字列を見つけるために、より多くの CPU を消費する必要があるため、悪意のあるクライアントの動作を制限できます。 . 同時に、当社のリスク管理システムと組み合わせて、異常なユーザーの PoW の強度を上げ、正常なユーザーの PoW の強度を下げることができます。

4. Behavior Inspection 4.0 は Web サイトに「バフ」を付与します

Heihui と長年遊んでいるうちに、外部コーディング プラットフォームと Miaodial IP (国内のホーム ブロードバンド ダイヤルアップの原理を使用してインターネットにアクセスし、切断するたびに新しい IP を取得する) も使用することがわかりました。 Web サイト、ソフトウェア、または H5 アプレットに侵入します。これらのよく準備され、十分にリソースが用意されたブラック アンド グレーの製品を前にして、PoW を使用した認証コードを使用しないと、無力になる可能性が高くなります。

ただし、PoW の利点は、IP ルールに依存せず、ミスブロッキングの可能性を回避できることです. Heihui が上記の方法を使用して検証コードをクラックしたとしても、クライアントは Geetest から送信された計算作業を完了する必要があります。サーバー、コーディング プラットフォーム、および 2 番目のダイヤル IP Heihui 製品が計算作業を完了するのを助けることができません。ブラック製品の場合、通常のユーザーの経営資源を奪おうとすれば、通常のユーザーの要求をはるかに超えるリクエストを送信する必要があります.ブラック製品に蓄積された高頻度のリクエストは、インターフェースサービスの公平性を確保するために超高度なコンピューティング作業をもたらします.セックス。

以下は、Geetest の現在の PoW 適用 Behavior Test 4.0 製品と Behavior Test 3.0 のビジネス プロセスの比較図です. PoW がオンになった後、PoW バージョン、ハッシュ方法、および Geetest サーバーからの PoW 出力が明確にわかります。難点は、16ビット文字のランダム生成、計算元のデータ処理、署名文字列の取得など7段階の変化。独自の検証コード防御メカニズムに基づき、PoW はさらに黒とグレーの生産コストを利益よりも高くしたため、クラッキングを断念して攻撃を減らし、異常なトラフィックの 97.42% を効果的に傍受するという成果を達成しました。明らかに、Web サイトに追加されたこの Behavioral Security 4.0 の「バフ」は、ビジネスのセキュリティを保護する上で重要な役割を果たしました。 

 Behavior Test 3.0 と Behavior Test 4.0 の PoW ビジネス プロセスの比較

e コマース、ゲーム、ブロックチェーンに代表される産業は、黒と灰色の産業チェーンにおける大規模ないじめに対して最も脆弱であり、直接的かつ計り知れない損失をもたらします。不完全な統計によると、Top Sports、TapTap、OKcoin、IBOX、Golden Data、Weibo、keep、その他の有名企業を含む 200,000 近くのユーザーが GeeExperiment 4.0 を展開しています。

 動作テスト 4.0 の例

おすすめ

転載: blog.csdn.net/geek_wh2016/article/details/127105876