히드라 계정 네트워크: 2만 개의 계정이 하나의 행위자가 되는 방법 (KO)
계정 하나를 잘라내면 두 개가 더 나타납니다. 히드라 네트워크는 계정별 검토를 우회하도록 설계되었습니다. 얼굴, 장치, IP, 이메일, 전화 등 교차 계정 연결을 통해 수천 개의 계정이 어떻게 단일 행위자로 수렴되는지 알아보세요.

Anthropic의 2026년 2월 증류 공격 보고서에서 가장 유용한 숫자는 1,600만 건의 교환이나 약 24,000개의 사기 계정이 아닙니다. 바로 이 부분입니다. "단일 프록시 네트워크가 동시에 20,000개 이상의 사기 계정을 관리했습니다."
동시에. 2만 개의 계정이 한 명의 운영자 아래에서 동시에 활성화되어 있었습니다.
이것이 바로 히드라 네트워크이며, 특정 적대적 설계입니다. 허술함이나 기회주의가 아니라, 예상되는 방어를 견디기 위해 명시적으로 구축된 아키텍처입니다. 이것이 왜 작동하는지 이해하는 것이 이를 깨뜨리는 전제 조건입니다. 왜냐하면 이것이 악용하는 실패는 누락된 규칙이나 잘못 조정된 임계값이 아니기 때문입니다. 그것은 방어가 측정하는 대상에 대한 범주 오류입니다.
주요 내용
- 히드라 네트워크는 하나의 캠페인을 수천 개의 계정에 분산시켜 개별 계정이 계정별 임계값을 초과하지 않도록 합니다.
- 임계값을 낮추는 것은 도움이 되지 않습니다. 공격자는 단순히 계정을 추가합니다. 이는 시스템에서 가장 저렴한 입력입니다.
- 이러한 네트워크를 노출하는 신호는 관계형입니다. 공유 장치, 공유 네트워크, 공유 결제 수단, 공유 타이밍, 공유 생체 인식입니다. 계정별 판정으로는 이를 생성할 수 없습니다.
- 안면 검색 1:N은 두 계정을 한 명의 인간과 연결합니다. 장치 및 IP 분석은 계정을 공유 인프라와 연결합니다. 이들은 함께 계정 그래프를 행위자 그래프로 축소합니다.
- 이 맥락에서 가장 가치 있는 단일 코드는
DEVICE_RECOVERED_HIGH_CONFIDENCE입니다. 이전에 확인되었고, 재설정 또는 재설치 후 다시 나타난 장치입니다. 이는 재생성을 문 앞에서 포착하는 것입니다. - 연결은 비난이 아닙니다. 중복 신호는 기본적으로 정보 제공용입니다. 정책은 사용자가 결정합니다.
히드라 네트워크의 실제 모습
세부 사항을 제거하면 히드라 네트워크는 네 가지 속성을 가집니다.
수평적 분산. 작업 부하는 각 계정의 행동이 정상 범위 내에 편안하게 유지되도록 분할됩니다. Anthropic은 "로드 밸런싱을 시사하는" 패턴을 설명했습니다. 이는 정확한 표현입니다. 이것은 인프라 사고방식으로 해결되는 인프라 문제입니다.
저렴한 재생성. 새로운 계정은 기존 계정이 제거되는 것보다 빠르게 생성될 수 있습니다. 모든 제거는 공급에 대한 반올림 오류입니다.
공유 기반. 표면적으로는 계정이 유한한 실제 자원 풀(장치, IP 범위, 전화 번호, 결제 수단, 그리고 많은 경우 기존 검사를 완료하는 소수의 실제 인간)에서 실행됩니다.
행동 동질성. 한 명의 운영자가 모든 계정을 운영하기 때문에 계정들은 수렴합니다. Anthropic은 "동일한 패턴, 공유 결제 수단, 조정된 타이밍"을 관찰했으며, "수백 개의 조정된 계정에서 수만 번" 프롬프트 변형이 도착했다고 언급했습니다.
세 번째 속성은 취약점입니다. 분산은 계정 계층에서는 저렴하지만 물리적 계층에서는 비쌉니다. 20,000개의 이메일 주소를 아무 비용 없이 만들 수 있습니다. 그러나 20,000개의 인간 얼굴, 20,000개의 수정되지 않은 휴대폰, 또는 무관한 범위의 20,000개의 주거용 IP 주소를 비용이 증가하지 않고 만들 수는 없습니다.
모든 히드라 네트워크는 상단보다 하단이 더 좁습니다. 전체 게임은 하단에서 측정하는 것입니다.
임계값이 잘못된 도구인 이유
한 달에 50,000개 이상의 요청을 집중된 쿼리 분포로 초과하는 모든 계정을 플래그하는 플랫폼을 고려해 보세요. 합리적인 규칙입니다. 단일 악성 계정에는 작동합니다.
20,000개의 계정을 가진 운영자에 대해서는 각 계정이 2,500개의 요청을 한 번도 검토되지 않고 만들 수 있다는 의미입니다. 이는 5천만 개의 요청이 완전히 감지되지 않는다는 뜻입니다. 임계값을 5,000으로 낮추면 운영자는 계정당 250개의 요청으로 이동하고 필요하면 계정을 추가합니다. 임계값을 낮출 때마다 실제 개발자에게 오탐이 발생하고 공격자에게는 거의 비용이 들지 않습니다.
이것은 구조적인 이유로 인해 실패하는 교환입니다. 임계값은 공격자가 제어하는 단위로 표시됩니다.
공격자는 사용할 계정 수를 선택합니다. 그들은 자신이 가진 얼굴 수, 소유한 물리적 장치 수, 또는 도달할 수 있는 독립적인 네트워크 경로 수를 선택하지 않습니다. 측정을 공격자가 제어하지 않는 단위로 옮기면 경제가 역전됩니다.
연결 기본 요소
네 가지 신호군이 축소를 수행합니다. 각 신호는 "이것을 이전에 본 적이 있는가?"라는 다른 버전에 답합니다.
생체 인식 — 동일인인가?
안면 검색 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'
응답은 total_matches 및 matches 배열을 포함하는 단일 face_search 객체({ request_id, face_search: { ... } })를 래핑합니다. 각 일치 항목에는 session_id, similarity_percentage, vendor_data, verification_date 및 is_blocklisted가 포함됩니다. 동일한 운영자가 동일한 얼굴로 40개의 계정을 확인했다면, 한 번의 호출로 모든 40개를 표시하며, 각 계정에는 고유한 vendor_data가 있으므로 이를 계정 ID에 직접 매핑할 수 있습니다.
이것은 인증 세션 내에서 생체 인식 확인 중에 자동으로 실행되므로, 일반적인 경우 별도의 호출 없이 신호를 얻을 수 있습니다.
장치 — 동일한 기기인가?
장치 및 IP 분석 비용은 $0.03이며 $0.33 인증 번들에 포함됩니다. 계정 증식에 중요한 코드는 다음과 같습니다.
| 경고 | 무엇을 알려주는가 |
|---|---|
DUPLICATED_DEVICE_FINGERPRINT | 동일한 장치가 여러 인증에 사용됨 |
DEVICE_RECOVERED_HIGH_CONFIDENCE | 이전에 확인되었고, 재설정 또는 재설치 후 다시 나타난 장치 |
DUPLICATED_IP_ADDRESS | 동일한 주소가 여러 인증에 사용됨 |
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 | 문서와 네트워크 지리가 일치하지 않음 |
DEVICE_RECOVERED_HIGH_CONFIDENCE는 특별한 주의를 기울일 가치가 있습니다. Didit은 중복 장치와 복구된 장치를 구분합니다. 복구된 장치는 삭제, 재설정 또는 앱 재설치 후 다시 나타나는 장치입니다. 장치 삭제는 금지 후 계정을 재생성하는 운영자의 표준 조치입니다. 해당 코드는 히드라의 재생성 단계를 가시화합니다.
연락처 — 동일한 도달 가능한 신원인가?
이메일 및 전화 확인(이메일 $0.03; 전화는 SMS, WhatsApp, Telegram, RCS 또는 음성 통화)은 연락 지점이 단순히 형식이 잘 갖춰진 것이 아니라 실제적이고 도달 가능한지 테스트합니다. 파밍 계정은 일회용 주소와 재활용 번호에 크게 의존합니다. 전화 값은 E.164로 정규화되므로 동일한 번호가 형식 차이 뒤에 숨을 수 없습니다.
문서 — 동일한 자격 증명인가?
신원 확인은 동일한 문서가 다시 제출될 때 DUPLICATED_DOCUMENT를, 제출이 이미 확인된 사용자 세트에 있는 사람으로 확인될 때 POSSIBLE_DUPLICATED_USER를 내보냅니다. 둘 다 얼굴이나 장치가 다르더라도 자격 증명을 공유하는 계정을 포착하며, 문서 번호가 문서 허용 목록에 있는 경우 POSSIBLE_DUPLICATED_USER는 건너뛰어 알려진 양호한 자격 증명이 노이즈를 생성하지 않도록 합니다.
계정 그래프에서 행위자 그래프로
개별적으로는 단순한 경고일 뿐입니다. 함께 모이면 그래프를 축소합니다.
트래픽 계층에서 계정 acct_7781을 플래그한다고 가정해 봅시다. 즉, 특정 기능에 대한 집중된 쿼리, 특이한 타이밍입니다. 계정별 검토는 하나의 계정에 대한 하나의 판정을 제공합니다.
대신, 해당 계정 뒤의 인증 세션을 가져와서 다음과 같이 전환합니다.
- 얼굴 — 세션의 얼굴을 확인된 사용자 전체에서 검색합니다. 12개의 계정이 이를 공유합니다.
- 장치 — 세션에는
DUPLICATED_DEVICE_FINGERPRINT가 포함됩니다. 9개의 계정이 장치를 공유하며, 그 중 4개는 다른 사람이 해당 검사를 완료했기 때문에 얼굴 세트에 없습니다. - 네트워크 — CIDR 범위에 걸쳐
DUPLICATED_IP_ADDRESS가 다른 클러스터를 가져옵니다. - 연락처 — 새로 발견된 계정 중 3개는 E.164 형식의 전화번호를 공유합니다.
하나의 플래그된 계정이 단일 경고에서 발견된 30개 이상의 클러스터가 되었으며, 온보딩 시 이미 수집된 신호를 사용했습니다. 그리고 이를 위해 단 하나의 프롬프트도 검사할 필요가 없었습니다. 트래픽 계층은 무언가 잘못되었다고 알려주었고, 신원 확인은 얼마나 광범위한지 알려주었습니다.
이는 또한 이 기능의 한계이기도 합니다. 신원 확인은 모델 추출을 방지하지 않으며, 이를 감지하지도 않습니다. 프롬프트를 보지 않습니다. 이 기능은 하나의 경고를 그 뒤에 있는 전체 계정 세트로 바꾸고, 동일한 얼굴, 장치 또는 네트워크를 사용하는 다음 계정을 생성하는 데 비용이 많이 들게 만듭니다. 모델 수준 출력 제어 및 의미론적 트래픽 감지는 별도의 필수 계층으로 유지되며, 이는 여전히 귀하의 것입니다.
이것을 정직하게 유지하는 규칙
링크는 판정이 아닙니다.
Didit은 이 점에 대해 신중합니다. 안면 검색에서 status는 블록리스트 일치 항목이 발견될 때만 "Declined"입니다. 순수한 중복 일치 항목은 경고에 DUPLICATED_FACE와 함께 "Approved"를 반환합니다. 이는 정보 제공용입니다. 중복 제거 정책은 우리의 것이 아니라 귀하의 것입니다.
이 기본값은 올바릅니다. 중복에는 무해한 설명이 있을 수 있기 때문입니다. 개인 계정과 회사 계정을 가진 개발자. 수십 명의 관련 없는 엔지니어에게 DUPLICATED_IP_ADDRESS를 생성하는 공유 사무실 네트워크. 가족 장치. 20명의 학생이 같은 방에서 인증하는 대학 실험실.
링크를 사용하는 올바른 방법은 이미 내리고 있던 결정을 높이거나 낮추는 증거로 사용하는 것이지, 자동 금지 조치로 사용하는 것이 아닙니다. 두 계정이 얼굴을 공유하는 것은 그 자체로 약합니다. 12개의 계정이 얼굴, 장치, 네트워크 범위 및 쿼리 서명을 공유하는 것은 전혀 약하지 않습니다. 경고 조치는 코드별로 구성할 수 있습니다. 블록리스트 히트는 거부를 강제할 수 있고, 복구된 장치 신호는 검토로 라우팅될 수 있으므로, 에스컬레이션 사다리는 귀하가 설정할 수 있습니다.
사용 사례
AI API 플랫폼은 트래픽 계층 경고를 운영자가 제어하는 전체 계정 세트와 연관시켜 하나의 계정을 금지하고 다음 계정을 기다리는 대신 모든 계정을 처리합니다.
체험 및 크레딧 남용 — 무료 등급 파밍은 동일한 메커니즘을 사용합니다. 증류 클러스터를 표면화하는 것과 동일한 기본 요소가 프로모션 남용 클러스터를 표면화합니다.
마켓플레이스 및 긱 플랫폼은 제거 후 다시 등록하는 판매자 또는 배달원을 감지합니다.
iGaming은 동일한 사람이 새로운 신원으로 다시 나타나는 것이 핵심 규정 준수 실패인 단일 계정 규칙 및 자체 제외를 시행합니다.
자주 묻는 질문
생체 인식 데이터를 저장해야 하나요?
안면 검색은 애플리케이션이 이전 인증을 통해 구축한 얼굴 인덱스를 기반으로 실행됩니다. 즉, save_api_request=true가 있는 세션 또는 save_api_request=true가 있는 수동 생체 인식 확인입니다. 귀하는 귀하의 개인 정보 보호 고지 및 법적 근거에 따라 인덱스에 무엇이 입력되고 보존되는지 제어합니다. 얼굴을 등록하지 않으면 1:N 검색에는 검색할 것이 없습니다.
운영자가 각 계정에 다른 사람을 사용하면 어떻게 되나요?
그러면 생체 인식 계층이 얇아지고 장치, 네트워크 및 연락처 계층이 부담을 지게 됩니다. 이것이 바로 연결이 여러 독립적인 패밀리를 사용하는 이유입니다. 검사를 완료하기 위해 실제 사람에게 비용을 지불하는 것은 계정을 파밍하는 가장 비싼 방법이기도 합니다. 요점은 공격자가 비용이 증가하는 상황에 놓이게 하는 것입니다.
1:N 검색은 얼마나 빠른가요?
2초 미만의 응답 시간입니다. 또한 인증 세션 내에서 생체 인식 확인 중에 자동으로 실행되므로 대부분의 흐름에서 연결 신호는 인증 결과와 함께 도착합니다.
이것이 공유 네트워크에서 오탐을 생성하지는 않나요?
DUPLICATED_IP_ADDRESS만으로는 약한 신호이며 그렇게 처리해야 합니다. 사무실, 대학 및 모바일 통신사 NAT는 모두 합법적으로 이를 생성합니다. 낮은 가중치를 부여하고, 독립적인 패밀리로부터 확인을 요구하며, 단일 경고만으로 거부하는 대신 코드별로 작업을 구성하세요.
Didit 인증을 거치지 않은 얼굴을 검색할 수 있나요?
예. 안면 검색은 모든 user_image(jpg, jpeg, png, tiff 또는 webp, 최대 5MB – PDF는 허용되지 않음)를 허용하고 이를 인덱스에 대해 검색합니다. 얼굴이 감지되지 않으면 호출은 HTTP 400을 반환합니다.
시작할 준비가 되셨나요?
교차 계정 연결은 모든 Didit 계정에서 사용할 수 있습니다. 별도의 제품이나 최소 비용이 없습니다.
- 문서 읽기 — 안면 검색 1:N 및 IP 및 장치 분석 경고 카탈로그.
- 제품 보기 — 사용자 인증.
- 가격 확인 — 공개적으로 게시됨: 안면 검색 1:N 무료, IP 및 장치 분석 $0.03, 전체 인증 번들 $0.33.
- 무료 시작 — business.didit.me, 월 500회 KYC 인증 무료.