ヒドラアカウントネットワーク: 20,000のアカウントを1人のアクターにする方法 (JA)
1つのアカウントを停止しても、2つ以上のアカウントが出現します。ヒドラネットワークは、アカウントごとのレビューを回避するように設計されています。ここでは、顔、デバイス、IP、メール、電話によるクロスアカウント連携が、数千のアカウントを単一の解決可能なアクターに集約する方法を説明します。.

Anthropicの2026年2月の蒸留攻撃に関するレポートで最も有用な数字は、1,600万回のやり取りや約24,000件の不正アカウントではありません。それは、「単一のプロキシネットワークが20,000以上の不正アカウントを同時に管理していた」という点です。
同時に。20,000のアカウントが、同じ時間に、1人のオペレーターの元で稼働していました。
これはヒドラネットワークであり、特定の攻撃者の設計です。ずさんさや日和見主義ではなく、予期される防御を生き残るために明示的に構築されたアーキテクチャです。それが機能する理由を理解することは、それを打ち破るための前提条件です。なぜなら、それが悪用する失敗は、欠けているルールや調整の不十分なしきい値ではないからです。それは、防御が測定しているもののカテゴリが間違っているというエラーです。
主なポイント
- ヒドラネットワークは、1つのキャンペーンを数千のアカウントに分散させ、個々のアカウントがアカウントごとのしきい値を超えないようにします。
- しきい値を下げることは助けになりません。攻撃者は単にアカウントを追加するだけです。これはシステム内で最も安価な入力です。
- これらのネットワークを明らかにするシグナルは関係性に基づいています。共有されたデバイス、共有されたネットワーク、共有された支払い方法、共有されたタイミング、共有された生体認証などです。アカウントごとの判断ではこれらを生成できません。
- Face Search 1:Nは、2つのアカウントを1人の人間にリンクします。デバイスとIP分析は、アカウントを共有インフラストラクチャにリンクします。これらを組み合わせることで、アカウントグラフをアクターグラフに集約します。
- この文脈で最も価値のある単一のコードは
DEVICE_RECOVERED_HIGH_CONFIDENCEです。これは、以前に確認されたデバイスが、リセットまたは再インストール後に再出現したことを示します。これは再生であり、入り口で捕捉されます。 - リンクは非難ではありません。重複するシグナルはデフォルトで情報提供です。ポリシーはあなたが決定します。
ヒドラネットワークの実際の姿
詳細を省くと、ヒドラネットワークには4つの特性があります。
水平分散。ワークロードが分割され、各アカウントの行動が通常の範囲内に収まるようにします。Anthropicは、「負荷分散」を示唆するパターンを記述しました。これはまさに適切な言葉です。これはインフラストラクチャの問題をインフラストラクチャの思考で解決しているのです。
安価な再生。新しいアカウントは、古いアカウントが削除されるよりも速く作成できます。削除は供給に対する丸め誤差にすぎません。
共有基盤。表面下では、アカウントは限られた実際の資源プール(デバイス、IP範囲、電話番号、支払い手段、そして多くの場合、既存のチェックを完了する少数の実際の人間)で実行されます。
行動の均一性。1人のオペレーターがすべてを操作するため、アカウントは収束します。Anthropicは、「同一のパターン、共有された支払い方法、協調されたタイミング」、そして「数百の協調されたアカウントで数万回」到着するプロンプトのバリエーションを観察しました。
3番目の特性が脆弱性です。分散はアカウント層では安価ですが、物理層では高価です。20,000件のメールアドレスを無料で作成できますが、20,000件の人間の顔、20,000台の未変更の携帯電話、または関連性のない範囲の20,000個の住宅用IPアドレスを、費用が拡大することなく作成することはできません。
すべてのヒドラネットワークは、上部よりも下部が狭くなっています。すべてのゲームは下部で測定されます。
なぜしきい値が間違った手段なのか
集中的なクエリ分布で、1か月に50,000件のリクエストを超えるアカウントをフラグ付けするプラットフォームを考えてみましょう。合理的なルールです。単一の不正アカウントに対しては機能します。
20,000のアカウントを持つオペレーターに対しては、各アカウントが2,500件のリクエストを、全く監視されることなく行うことができることを意味します。これは5,000万件のリクエストが完全にレーダーの下で行われることになります。しきい値を5,000に下げると、オペレーターはアカウントあたり250件のリクエストに移行し、必要に応じてアカウントを追加します。しきい値を下げるたびに、本物の開発者に対して誤検知が発生するコストがかかりますが、攻撃者にとってはほとんどコストがかかりません。
これは負け戦であり、構造的な理由で負けます。つまり、しきい値は攻撃者が制御する単位で表現されているためです。
攻撃者は使用するアカウントの数を選択します。彼らは持っている顔の数、所有する物理デバイスの数、到達できる独立したネットワークパスの数を選択しません。測定を攻撃者が制御できない単位に移動すると、経済学は逆転します。
連携の基本要素
4つのシグナルファミリーがグラフを集約します。それぞれが「これを以前に見たことがあるか?」という異なるバージョンに答えます。
生体認証 — これは同じ人物か?
Face Search 1:Nは、アプリケーションが以前に実行したすべての承認済み検証に対して顔を検索します。Diditの本人確認と連携すると無料で、2秒以内に結果を返します。
curl -X POST 'https://verification.didit.me/v3/face-search/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'user_image=@./selfie.jpg' \
-F 'search_type=most_similar' \
-F 'save_api_request=true' \
-F 'vendor_data=account-8842'
レスポンスは、{ request_id, face_search: { ... } }という単一のface_searchオブジェクトをラップし、total_matchesとmatches配列を保持します。各マッチにはsession_id、similarity_percentage、vendor_data、verification_date、is_blocklistedが含まれます。もし同じオペレーターが同じ顔で40のアカウントを検証した場合、1回の呼び出しですべての40アカウントが表面化します。それぞれのvendor_dataを使って、アカウントIDに直接マッピングできます。
これは検証セッション内のライブネス中に自動的に実行されるため、一般的なケースでは、別途呼び出しを行うことなくシグナルを取得できます。
デバイス — これは同じマシンか?
デバイスとIP分析は$0.03で、$0.33の検証バンドルに含まれています。アカウントの多重化に重要なコードは次のとおりです。
| 警告 | 内容 |
|---|---|
DUPLICATED_DEVICE_FINGERPRINT | 同じデバイスが複数の検証に使用されています |
DEVICE_RECOVERED_HIGH_CONFIDENCE | 以前に確認されたデバイスが、リセットまたは再インストール後に再出現しました |
DUPLICATED_IP_ADDRESS | 同じIPアドレスが複数の検証に使用されています |
AUTOMATION_FRAMEWORK_DETECTED | クライアントは人間ではなくスクリプトによって操作されています |
DEVICE_EMULATOR_DETECTED | エミュレーターであり、実際の携帯電話ではありません |
DEVICE_ROOTED_OR_JAILBROKEN | 侵害されたオペレーティングシステム |
DEVICE_RUNTIME_HOOKING_DETECTED | クライアント上でのランタイムインストルメンテーション |
DEVICE_APP_TAMPERED | 改ざんされたアプリケーションバイナリ |
PRIVATE_NETWORK_DETECTED | プライベートまたは匿名化されたネットワークパス |
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP | 書類の国とIPの国が一致しません |
DEVICE_RECOVERED_HIGH_CONFIDENCEは特に注目に値します。Diditは、重複デバイスと回復デバイスを区別します。回復デバイスとは、ワイプ、リセット、またはアプリの再インストール後に再出現するデバイスのことです。デバイスのワイプは、禁止後にアカウントを再生するオペレーターの標準的な動きです。このコードは、ヒドラの再生ステップを可視化したものです。
連絡先 — これは同じ到達可能なIDか?
メールと電話の認証(メールは$0.03、電話はSMS、WhatsApp、Telegram、RCS、または音声経由)は、連絡先が単に適切にフォーマットされているだけでなく、実際に存在し、到達可能であるかをテストします。ファームアカウントは使い捨てアドレスや使い回された番号に大きく依存しています。電話番号はE.164に正規化されるため、同じ番号がフォーマットの違いの裏に隠れることはできません。
書類 — これは同じ認証情報か?
本人確認では、同じ書類が再度提出された場合にDUPLICATED_DOCUMENTを発行し、提出された情報が既に検証済みのユーザーセットに存在する場合にPOSSIBLE_DUPLICATED_USERを発行します。これらは、顔やデバイスが異なる場合でも、認証情報を共有するアカウントを捕捉します。また、書類番号が許可リストにある場合はPOSSIBLE_DUPLICATED_USERはスキップされるため、既知の正当な認証情報がノイズを発生させることはありません。
アカウントグラフからアクターグラフへ
個々に見れば、これらは単なる警告にすぎません。しかし、これらを組み合わせることでグラフが崩壊します。
トラフィック層がアカウントacct_7781をフラグ付けしたとします。特定の機能に対する集中的なクエリ、異常なタイミングです。アカウントごとのレビューでは、1つのアカウントについて1つの判断が下されます。
代わりに、そのアカウントの背後にある検証セッションを取得して、次のように軸を変換します。
- 顔 — セッションの顔を検証済みユーザー全体で検索します。12のアカウントがそれを共有しています。
- デバイス — セッションには
DUPLICATED_DEVICE_FINGERPRINTが含まれています。さらに9つのアカウントがデバイスを共有しており、そのうち4つは、異なる人物がこれらのチェックを完了したため、顔のセットには含まれていません。 - ネットワーク — CIDR範囲を横断する
DUPLICATED_IP_ADDRESSが別のクラスターを引き込みます。 - 連絡先 — 新たに表面化したアカウントのうち3つが、E.164形式の電話番号を共有しています。
1つのフラグ付きアカウントが、単一のアラートから発見された30以上のクラスターになりました。これらはオンボーディング時にすでに収集されていたシグナルを使用しています。そして、そこにたどり着くためにプロンプトを1つも調べる必要はありませんでした。トラフィック層は「ここに何か問題がある」と伝え、ID解決は「それがどこまで及ぶか」を伝えたのです。
これが実行できることの限界でもあります。ID解決はモデルの抽出を防ぐものではなく、それを検出するものでもありません。プロンプトを見ることはありません。ID解決が行うのは、1つのアラートをその背後にある全アカウントのセットに変え、同じ顔、デバイス、またはネットワークからの次のアカウントの作成を費用のかかるものにすることです。モデルレベルの出力制御とセマンティックトラフィック検出は、別個の必要な層として残ります。そして、それらはあなたのものです。
これを正直に保つルール
リンクは判断ではありません。
Diditはこれを意図的に行っています。Face Searchでは、ブロックリストに一致が見つかった場合にのみstatusが"Declined"になります。純粋な重複一致は、警告にDUPLICATED_FACEが含まれていても"Approved"を返します。これは情報提供です。重複排除ポリシーは私たちのものではなく、あなたのものです。
このデフォルトは正しいです。なぜなら、重複には無害な説明があるからです。個人的なアカウントと会社のアカウントを持つ開発者。数十人の無関係なエンジニアに対してDUPLICATED_IP_ADDRESSを生成する共有オフィスネットワーク。家族のデバイス。20人の学生が同じ部屋から検証する大学の研究室。
リンクを正しく使用する方法は、自動的な禁止としてではなく、あなたがすでに行っていた決定の評価を上げたり下げたりする証拠としてです。顔を共有する2つのアカウントはそれだけでは弱いシグナルです。顔、デバイス、ネットワーク範囲、クエリ署名を共有する12のアカウントは、決して弱いシグナルではありません。警告アクションはコードごとに設定可能です。ブロックリストヒットは拒否を強制できますが、回復デバイスのシグナルはレビューにルーティングされるため、エスカレーションの段階はあなたが設定できます。
ユースケース
AI APIプラットフォームは、トラフィック層のアラートを、オペレーターが制御するアカウントの全セットと関連付け、1つを禁止して次を待つのではなく、全体に対処します。
トライアルとクレジットの悪用 — 無料枠のファーミングは、まったく同じメカニズムを使用します。蒸留クラスターを表面化させるのと同じプリミティブが、プロモーション悪用クラスターも表面化させます。
マーケットプレイスとギグプラットフォームは、削除後に再登録した販売者や配達員を検出します。
iGamingは、単一アカウントルールと自己除外を強制します。ここで、同じ人物が新しいIDで再登録することは、主要なコンプライアンス違反となります。
よくある質問
これには生体認証データの保存が必要ですか?
Face Searchは、以前の検証(save_api_request=trueのセッション、またはsave_api_request=trueのパッシブライブネス)を通じてアプリケーションが構築する顔インデックスに対して実行されます。インデックスに何を入力するか、および保持期間は、お客様のプライバシー通知および法的根拠に従ってお客様が管理します。顔を登録しない場合、1:N検索は何も検索しません。
オペレーターが各アカウントに異なる人物を使用する場合はどうなりますか?
その場合、生体認証層の重みが薄くなり、デバイス、ネットワーク、連絡先層が重みを担います。これこそが、リンクが1つではなく複数の独立したファミリーを使用する理由です。実際の人間にお金を払ってチェックを完了させることは、アカウントを増やす上で最も費用がかかる方法でもあります。これがポイントです。これにより、攻撃者は費用のかかるスケーラブルなコストに移行します。
1:N検索の速度はどのくらいですか?
2秒未満で応答します。また、検証セッション内のライブネス中に自動的に実行されるため、ほとんどのフローでは、リンクシグナルは検証結果とともに到着します。
共有ネットワークで誤検知が発生しませんか?
DUPLICATED_IP_ADDRESS単独では弱いシグナルであり、そのように扱うべきです。オフィス、大学、携帯キャリアのNATはすべて合法的にこれを生成します。重要度を低くし、独立したファミリーからの裏付けを要求し、いずれかの警告だけで拒否するのではなく、コードごとにアクションを設定してください。
Diditの検証を受けていない顔を検索できますか?
はい。Face Searchは任意のuser_image(jpg、jpeg、png、tiff、またはwebp、最大5 MB。PDFは不可)を受け入れ、それをインデックスに対して検索します。顔が検出されない場合、呼び出しはHTTP 400を返します。
始めませんか?
クロスアカウント連携はすべてのDiditアカウントで利用可能です。追加の製品も最低利用額もありません。
- ドキュメントを読む — Face Search 1:NおよびIP&デバイス分析警告カタログ。
- 製品を見る — 本人確認。
- 料金を確認する — 公開されている料金:Face Search 1:Nは無料、IPおよびデバイス分析は$0.03、フル検証バンドルは$0.33。
- 無料で始める — business.didit.meで、毎月500件のKYC検証が無料です。