【ブラック製品の攻撃と防御の道 03】JSパラメータ更新を使用してブラック製品のプロトコルクラッキングを検出する

どのような企業でも、一定期間運営を続けると、多数のハッカーに直面することになります。検証コードとさまざまなクローラーの関係はイタチとネズミのようなもので、永遠にゲームを続けることになります。 Jiexian は、ブラック産業との戦いにおける 11 年間の経験に基づいて、ブラック産業のクラッキング手法を 3 つのカテゴリに分類します。

1. バッチ クラッキング検証は、検証コード画像に対する回答を識別することで実現されます。 は画像回答認識です。

2. 通信プロセスを理解した後、対話のための関連パラメータを含むリクエストを直接送信します。つまり、プロトコル クラッキング。

3. さまざまなクライアント シミュレータを使用して、検証に合格する実際の人々をシミュレートします。、つまりシミュレータ クラックです。

上記の 3 つのクラッキング手法について、Jiexian は、対応する検証コードの攻撃と防御のポイントを 1 つずつまとめました。絵解きゲーム, >は、Jiexian の顧客関連のシナリオを保護するために使用されます。インターフェースの安全性。 環境の検出プロトコル クラッキングの検出

前の 2 回の号では、画像リソースの探索と画像の答えの識別から、それぞれ黒製品による最初の主要な攻撃ポイントと防御ポイント、つまり画像答えゲームを紹介しました。

今回も引き続き、ブラック業界に対する 2 番目の主要な攻撃と防御のポイントであるプロトコルクラッキングの対決を紹介します。プロトコル クラッキングは、ブラック製品に対して最も一般的に使用されるクラッキング手法です。まず、プロトコル クラッキングを検出する方法について説明します。

一、道场

プロトコルクラッキングとは

検証によるブラッシングの目的を達成するために、黒人が作成したすべてのクローラは、実際の人々のリクエスト特性をシミュレートし、対応するリクエストとパラメータを偽造することによって通信インターフェイスに直接アクセスします。 この攻撃方法はプロトコル クラッキングと呼ばれます。

プロトコル クラッキングをよりよく理解するために、例を挙げてみましょう。2023 年 6 月のメーデー コンサート異常秩序事件では、同様の問題が発生しました。鍛造パラメータの。

メーデーの武漢と瀋陽での2つの熱狂的なチケット争奪戦の後、チケット争奪の公平性を維持するために、あるチケット販売プラットフォームFは第三者による入札、第三者によるチケット獲得およびパケットキャプチャソフトウェアを禁止した。たった一度のスクリプト違反により、合計455件の異常注文(合計754枚のチケット)が払い戻され、多くのファンの不満を引き起こしました。

チケットが払い戻された「無実の」ファンからの苦情に関して、プラットフォームは次のように回答した。公式APP/ミニプログラムを通じて行われた通常の注文には、以下の完全な注文フローパラメータが含まれている必要があるが、異常な注文にはいくつかのコアパラメータが欠落している。

簡単に言うと、チケット発行プラットフォームは、公式 APP を通じてリクエスト パラメータに必須ではないフィッシング パラメータを事前に設定しています。 / ミニプログラムからの通常のオーダーリクエストは、このパラメータを自動的に伝えます。 スクリプト パケット キャプチャ ツールは通常のリクエストをシミュレートし、通常のリクエストと同じように見えますが、このコア パラメータは必須ではないためスキップします。

上の図に示すように、公式 APP/ミニ プログラムを使用しない異常な注文には、通常、意味のないフィッシング パラメータ「119533」が欠落しています。これが、このチケット販売プラットフォームがスクリプト クラッキングを検出する方法です。

黒の製品が実際の人物のリクエストをシミュレートする場合、新しいフィッシング パラメータを設定している限り、この新しいパラメータがないため、黒の製品の元々修正されていたスクリプトが「公開」されます。 コア パラメータが欠落している黒色の製品でも正常に検証に合格できますが (スクリプトを実行している異常な注文は正常に送信され、支払われるのと同じです)、黒色の製品アカウントを直感的に区別することができました。通常のアカウントから不正商品の所在をリアルタイムで把握し、その後の処理を行うことができます(プラットフォームによるチケットの強制払い戻しと同じです)。したがって、異常なアカウントをマークするために新しいパラメータを追加する方法は、隠されたブラック産業プロトコルのクラッキングによって引き起こされる損失を大幅に削減し、防御から対抗までの囲い込み攻撃を実現できます。

2. 攻撃者視点 (ブラックプロダクション)

攻撃者の観点から見ると、ブラック業界はどのようにしてプロトコルを解読し、パラメーターを偽造するのでしょうか?

攻撃プロセス

検証コードのリクエストはすべて HTTP リクエストです。 HTTP (ハイパーテキスト転送プロトコル) は、クライアント/サーバー通信に使用される単純な要求/応答プロトコルです。クライアントがサーバーに送信できるメッセージの種類と、クライアントが取得する応答の種類を指定します。

すべてのクローラーは、実際の人々のプロトコルをシミュレートします。これは私たちの影であり、実際の人々のすべてのリクエスト特性をシミュレートします。 フロントエンドとバックエンドの通信を解読しようとするブラック製品は、通常、HTTP プロトコルのリクエスト パラメータを偽造します。

ブラック業界のプロトコルクラッキングとパラメータ偽造の具体的なプロセスは次のとおりです。

ステップ 1: ブラウザ F12 を使用して開発者ツール パネルを開き、ネットワーク パケットをキャプチャします。

ステップ 2: ターゲット ページに入り、ネットワーク リクエスト リストを観察し、キー リクエストを見つけます。 (主な要望は業種によって異なるため、個別の分析が必要です)

ステップ 3: 主要なリクエストの詳細を開き、リクエスト プロトコルを観察し、リクエスト パラメータを分析します。

  1. アカウントのパスワード、電子メール、携帯電話番号、回答などのパラメータをアクティブに入力します。

  2. タイムスタンプ、クライアント タイプ、ビジネス ID、ビジネス シリアル番号などの明確なセマンティクスを持つパラメーターは、通常、複数のリクエストの後でも変更されないか、以前のリクエストから抽出できます。

  3. リファラー、Ua、Cookie などのリクエスト ヘッダー パラメーター。

  4. 署名および暗号化パラメータ。

ステップ 4: パラメーター生成ロジックを逆にします。

プロトコル クラッキングの鍵は、最後のカテゴリの署名と暗号化パラメータです。このようなパラメーターの生成には、一方向ハッシュ、暗号化などのロジックが伴い、クライアント コードの難読化と組み合わせることで、パラメーター生成ロジックは深く隠蔽され、デバッグや分析のためにブレークポイントやコール スタックと連携する必要があります。

ステップ 5: スクリプトはクライアント ロジックを偽装します。

コードを使用して、IP プロキシ、パラメータ偽造、HTTP リクエスト、その他のロジックを修正しスクリプトに組み込みます。クライアントから分離されており、ページのレンダリングと対話プロセスをスキップして効率を最大化します。

利益を上げる方法

ブラック業界の観点から見ると、なぜプロトコル クラッキングが最も一般的に使用されるクラッキング手法なのでしょうか?

前に述べたように、画像回答認識には、画像ギャラリーのバッチ クロールとダウンロード、手動コーディング、徹底的な認識/トレーニング モデルなどが必要です。検証結果を得るには一連のプロセスが必要であり、ブラックプロダクションでは初期段階で多くの時間とエネルギーを投資する必要があります。黒製品の場合、300,000 枚の検証写真をダウンロードするには 8.33 時間かかり、回答を得るために手動でコーディングするには数千元の費用がかかり、8 ~ 10 日

後で説明するエミュレータのクラッキングも、環境条件によって制限されます。ハッカーがブラウザをよく理解し、ブラウザを使用する必要があります。 Selenium などのさまざまな自動テスト ツールは、Chrome カーネルを操作してドラッグやクリックなどの自動操作を実現しますが、攻撃プロセスはより複雑で、技術的な敷居が高くなります。

対照的に、プロトコル クラッキングの最大の利点は、低コストと高効率です。ブラック製品は多額の費用を費やす必要がなく、ターゲットページにアクセスし、コアキーパラメータをシミュレートするだけで認証コードを解読できるため、プロセス全体の実行効率が高くなります。 スクリプトを作成して修正した後は、1 回あたり数百元から数万元の範囲で購入できます 困っている人に売って短期間で莫大な利益を上げ、その収入は原価をはるかに上回ります。したがって、ほとんどのハッカーは攻撃時にプロトコルクラッキングを選択します。

もちろん、プロトコルクラッキングは非常に効率的ですが、パラメータの偽造が難しいという避けられない欠点もあります。プロトコルクラッキングでは、ハッカーがフロントエンドから送信されたパラメータを偽造するために検証コードのフロントエンドソースコードを解析する必要があるため、一定の技術的しきい値も必要です。

3.攻撃を受ける側(顧客)の視点

顧客の観点から、プロトコルクラッキング攻撃に遭遇した場合、データにはどのような異常な変化が起こるでしょうか?

プロトコルクラッキングが顧客に与える影響

情報業界の顧客である G は、情報クエリ シナリオで情報をクロールするために、長期にわたるクローラー攻撃を受けました。 2023 年 8 月 22 日、G 社のバックエンド クエリ量が突然急増し、検証リクエストの数が大幅に増加し、1 時間あたり約 7,000 件のインタラクションに達しました。 この期間中に異常なデータ攻撃が多数発生し、お客様のビジネスに多大な損失をもたらしました。

IP の観点から見ると、0:00 から 9:00 までの 40,000 件を超えるインタラクションのうち、単一 IP への最大訪問数は 28 回に達しました。 a>< a i=2>、 クローラーが IP アクセス頻度を制御していることを示します。これは顧客のビジネスにとって大きな脅威となります。

CT ヒット ボリューム: ポジショニング プロトコルがクラックされました

クローラーに攻撃された後、G 社はすぐにジヤンを見つけて助けを求めました。 Jiexin のセキュリティ専門家は、バックグラウンド データを確認した結果、検証リクエスト、検証インタラクション、検証防御の量がすべて非常に多いことを発見しました。これは、ブラック製品が検証を頻繁に要求し、検証が失敗した後に再試行したり、コーディングのための検証リソース情報を再収集したりしていることを示しています。攻撃します。これらの検証量だけを見ると、前回の絵柄認識攻撃のデータと大きな差はなく、闇商品の攻撃手法を正確に特定することはできません。

画像回答認識攻撃を受けた背景データ

バックグラウンド データでプロトコル クラックが発生する

これらの検証値からは画像回答認識攻撃との明らかな違いを識別できなかった後、Jexian のセキュリティ専門家は紫色の攻撃を単独で開きました CT (キャプチャ トークン) ヒット。これは Jiexian 独自の「異常マーキング」機能で、特に違法なプロトコル クラックを見つけるために使用されます。 原理は主に、フロントエンド JS と変換パラメータの変更を検出して、フロントエンド プロトコルをクラックしたブラック製品が存在するかどうかを検出することです。

CT ヒット数が多い場合は、ブラック業界がプロトコル クラッキング攻撃を実施し、フロントエンドを攻撃していることを意味します。 「異常マーク」。

CT ヒットを個別に表示し、プロトコルのクラックを特定する

CT ヒット数が 20,000 件に達したことを発見した後、Jiexian のセキュリティ専門家は、8 月 23 日午前 11 時にプロトコルクラッキング要求のブロックと傍受を開始しました。成功の数は減少し始め、失敗とインタラクションの数は増加し始めました。これは、この時点で黒色の製品が実際に処理されていることを示しています。プロトコル クラッキングを実行します。

この期間中、クローラはリバース クラッキングを組織し続け、傍受効果は 9 月 5 日まで続きました。同じ日に、検証パスの数と検証インタラクションの量は増加し続けました。 は、クローラーがこのバージョンの検証プロトコルに対してすでにクラックを完了していることを示します。

4.ディフェンダーの視点 (豊富な経験)

ブラック プロトコルをクラッキングする原則は、実在の人物のリクエストをシミュレートし、実在の人物の合意を偽造することであると以前に学びました。では、防御側はどのようにしてそれを防御できるでしょうか?重要なのは、これらの偽の危険なリクエストを区別することです。

防御的なアイデア

一般ユーザーを装った黒色の製品を見分けるにはどうすればよいですか?ブラック産業は、行動、設備、知財などの面で現実の人々を模倣しており、実際のアイデンティティを持っているように見えますが、最も明白な違いが 1 つあります。それは、ブラック産業の出発点は常に最大の利益を得ることです。したがって、プロセスは自動化され、クラックされて再利用されたプロトコルは一連の自動化されたスクリプトに固定化されます。 スクリプトに問題がない場合、または誰も異常を報告しない場合、更新にコストはかかりません。

したがって、これを使用してトラップを設計できます。検証に合格するには、黒い製品は実際の人のリクエストをシミュレートするため、フィッシング パラメータを追加するだけで済みます。リクエスト。ハッカーがプロトコルを解読した後に使用するスクリプトはすでに固定化されているため、この新しいフィッシング パラメータは保持されず、パラメータが欠落し、身元が暴露されてしまいます。 この原則は、この記事の冒頭で説明したチケット発行プラットフォームによる異常な注文の検出と非常によく似ています。スクリプト キャプチャ ツールによって発行されたリクエストには、コアとなるフィッシング パラメータが欠けていることがよくあります。

防衛戦略

違法なプロトコル クラッキングを目的とした Jiexian の応答戦略は、 フロント エンド< の既存のリクエスト パラメータに基づいています。 a i=3>新しい釣りパラメータを追加します。 通常のブラウザのユーザーの場合、この新しいパラメータはアップデート後に自動的に引き継がれますが、プロトコルをクラックしたブラック製品は元の固定化されたプロトコルを引き続き使用し、引き継がれません。新しいパラメータ。 これにより、ブラック製品を効果的に検出できます。リクエストに新しいパラメータが含まれておらず、古いパラメータのみが含まれている場合は、以前にプロトコルを解読したブラック製品である可能性が非常に高くなります。

新しいパラメータを追加して黒色製品を区別するプロセスは、プロトコル クラッキング検出の「異常マーク」機能です。パラメータの変更を通じて比較することで異常な黒色製品を区別することができます。さらに、検出された黒色製品は引き続き検証を正常に通過できますが、黒色製品のアカウントと通常のアカウントを直感的に区別できるため、リアルタイムで黒色製品の所在を密かに監視できます。

「例外マーキング」この関数の実装も非常に簡単です。

ステップ 1: Jiexian のバックエンドをクリックして、新しいパラメータを設定します (サンプル バージョンは v1.7.4-c6515a)。バックグラウンドは通常、約 50 個の新しいパラメータを事前に予約しており、クラックされた後にいつでも動的に更新できます。

ステップ 2: v1.7.4-c6515a バージョンでは、通常クライアント経由でリクエストを行うユーザーは、新しく設定されたパラメータ「9pI3」:「7k9E」を自動的に引き継ぎます。

スクリプトによって開始されたブラック プロダクション リクエストには、新しく設定されたパラメータ「9pI3」:「7k9E」が含まれず、前のバッチの古いパラメータのみが保持されます。これは通常のリクエストとは異なります。

破損は常に避けられません。ブラック製品は間違いなく当社のフロントエンドプロトコルを突破し、IP、デバイスを絶えず変更し、動作パラメータを変更します。理由は、フロントエンドのコードが公開されているため、当社の製品であろうと、Google の recaptcha を含む他の競合製品であろうと、誰もが必然的にクラックされることになります。

受動的な防御は常に黒の生産に遅れをとり、「兵士が水を遮断し、土がそれを覆う」アプローチでは防御側が疲労し、作戦上のプレッシャーが巨大になります。したがって、私たちは実際の人間を模倣した黒人製品のさまざまなデータパラメータの次元から飛び出し、黒人製品を積極的に区別する必要があります。

問題が解決しました

現在、Jiexian の第 4 世代検証コードの「異常マーク」 機能 (キャプチャ トークン、CT) は、フロントエンド js そして、パラメータを変換して、フロントエンド プロトコルをクラックしたブラック製品が存在するかどうか、および検証対話プロトコルを再調整する必要があるかどうかを検出します。プロトコルがクラックされている限り、Jiexian の次のアップデートで確実に認識されるでしょう。

G 顧客が遭遇したクローラの問題に対応して、Jiexian はプロトコル クラック検出を通過し、パラメータを動的に更新し、クローラが以前のバージョンの検証プロトコルを逆クラックした後、9 月 12 日 9 時 30 分に新しい検証プロトコルの更新を開始しました。アップデートを確認できます。プロトコル クラック ヒットの前後の変化。

その後もプロトコル クラック検出ヒットは継続し、クローラが再びクラックした場合でも、いつでもパラメータを更新してクラック検出を完了し、最終的にお客様のデータは正常に戻ります。

技術的進歩

G の顧客がクローラの問題を解決できるよう支援するだけでなく、対応するバックエンド ツールに動的なパラメータの更新も加えました。これにより、あらゆる種類の顧客が問題が発生したときに迅速に対応して解決できるようになります。お客様が日常業務で学ぶ JiExperience テクノロジーは氷山の一角にすぎない可能性があり、検証コードの背後にある私たちの本当の開発力は、水面下にあるより堅固な氷山です。

プロトコルのクラッキングと識別の全プロセスにおいて、Jiexian は次の技術的なブレークスルーを達成しました。

1) JS の混乱

js コードを難読化し、JavaScript コードを自動分析攻撃を使用する形式に変換し、リバース エンジニアリングを防止することで自己防衛機能を備えています。

2) パラメータの暗号化

フロントエンドパラメータはSHA256などの複雑な暗号化アルゴリズムで暗号化されており、軌跡や解答位置も暗号化されているため、パラメータは一切読み取れず、パラメータに渡された値の意味も知ることができず、鍛造パラメータによって亀裂が発生する可能性があります。

3) パラメータの混乱

JiExperience はまた、いくつかの混乱パラメータをフロントエンド パラメータに追加しました。データの中には実際に収集したデータとハニーポットのパラメータが含まれており、クラッカーはどれが必要なパラメータでどれがハニーポットのパラメータであるかを区別することができません。

4) 契約の更新

Jiexian は毎日随時プロトコルを更新し、ワンクリックでネットワーク全体を更新し、数秒以内に反映させることができます。プロトコルの更新により、ブラック スクリプト リクエストが即座にマークされ、大量のブラック サンプル データが収集されます。

5。結論

データ情報には常に遅れが生じます。ほとんどのメーカーは、黒色製品を区別する際に、問題のあるアカウントを特定するために依然として既存のデータベース/ブラック リストとホワイト リストを使用しています。ただし、データベースは過去のデータに基づいていることが多く、最新の黒色製品、または黒色製品が機器、アカウント、IP を変更した後は、問題のあるアカウントを特定するのは困難です。すぐには特定できないため、セキュリティ データベースに依存してもすべてのブラック製品を特定することはできません。メーカーは長い間検証を行ってきました。ブラック製品のアカウントがブロックされていない問題を解決するのは困難でした。

そして今、Jiexian はプロトコル クラッキング検出を通じて、業界で初めて漏洩した黒製品を正確に特定することができました。 2022 年に、Jiexian の CT の「異常マーキング」機能が正式に開始されます。この機能は、フロントエンド パラメータの動的な変更を通じて違法な生産リクエストをマークすることができ、禁止および禁止の次のステップに効果的な基盤を提供します。取り扱い。 これまでに、Jiexian の CT の「異常マーキング」機能は、サービス顧客に対して 810 億 7,400 万 件の異常なケースをマークしました。生産リクエスト。

繰り返しになりますが、どの企業も一定期間運営すると多数のハッカーに直面することになります。環境であれ動作であれ、サーバーに返される最終的な形式はパラメータであり、ハッカーは通常どおりに調整できるからです。本物のユーザーを偽装するためのリクエスト パラメーターを検証しました。したがって、防御ツールとして検証コードを導入することは、一度で完了する解決策ではありません。 確認コードとさまざまな黒い製品は、永久にゲームをプレイし続けます。

守備側として、このゲームでどうすれば勝つことができますか? 1 つ目は、攻撃者のテクノロジーを完全に理解することです。2 つ目は、自分自身と敵の知識に基づいて、攻撃者よりも効果的な防御方法を身につけることです。 前述したように、さまざまなツールやテクノロジーにより、お客様はより多くの防御ソリューションを提供し、防御中に早期に検出してより迅速に対応できるようになります。 Jiexian は、「世界のために考え、世界のために使用する」という信念を堅持しており、クラックについて話すことを躊躇せず、常に黒製品の先を行き、より良い顧客体験を目指して黒製品と積極的に競争します。

極めて特許取得済みの壁

次回も引き続き、プロトコルクラッキング対決の第二弾、POW対ブルートフォースクラッキングを紹介していきます。プロトコルクラッキングは「効率」を追求します。プロトコルクラッキングのプロセス中、ブラック製品は多数の検証インタラクションを完了するために多数のPOW計算を完了する必要があり、POW計算の困難さはJiexianの手にかかっています。次号も気になる方はぜひご注目ください〜

写真

Eva WeChat を Jiexian 読者交換グループに追加する

おすすめ

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