Перейти к основному содержимому
Didit привлёк $7,5 млн на инфраструктуру для идентификации и борьбы с мошенничеством
Didit
В блог
Блог · 4 августа 2026 г.

Выявление фарминга аккаунтов для AI API с помощью сигналов устройства и сети (RU)

Фармленные аккаунты дешевы на уровне аккаунтов и дороги на физическом уровне. Коды предупреждений об устройствах и сети, выявляющие эмуляторы, автоматизацию, подделанные клиенты и восстановленные устройства — $0.03 за проверку.

Автор: DiditОбновлено
ai-api-account-farming-detection.png

Аккаунт — это строка в базе данных. Устройство — это физический объект, за который кто-то заплатил.

Эта асимметрия является основой обнаружения злоупотреблений на уровне устройств, и именно поэтому операция фарминга, которая может сгенерировать 20 000 аккаунтов бесплатно, не может сгенерировать 20 000 устройств бесплатно. Где-то под уровнем аккаунтов существует ограниченный пул реального оборудования, реальных сетевых путей и набор хитростей, используемых для того, чтобы этот небольшой пул выглядел большим.

У этих хитростей есть свои признаки. Этот пост — обзор тех, которые выдает анализ устройств и сети Didit, что каждый из них на самом деле означает и как их взвешивать — за $0.03 за проверку или в комплекте с полной проверкой за $0.33.

Основные выводы

  • Операции фарминга повторно используют небольшую физическую основу за большой поверхностью аккаунтов. Повторное использование обнаруживаемо.
  • Важны три семейства сигналов: дублирование (одно и то же устройство или адрес, более одного раза), целостность (это не обычный клиент) и сеть (этот путь не соответствует заявленному).
  • DEVICE_RECOVERED_HIGH_CONFIDENCE — это самый ценный одиночный код для этой проблемы — он улавливает устройство, возвращающееся после сброса, что является стандартным методом регенерации.
  • Коды целостности, такие как AUTOMATION_FRAMEWORK_DETECTED и DEVICE_EMULATOR_DETECTED, сильны сами по себе. Коды дублирования слабы сами по себе и нуждаются в подтверждении.
  • Действия по предупреждению настраиваются для каждого кода — отклонить, рассмотреть или записать — так что лестница эскалации остается за вами.
  • $0.03 за проверку отдельно; включено в пакет полной верификации за $0.33.

Три семейства сигналов

Дублирование — я уже видел это?

КодЗначение
DUPLICATED_DEVICE_FINGERPRINTОдно и то же устройство появляется за более чем одной проверкой
DUPLICATED_IP_ADDRESSОдин и тот же адрес появляется за более чем одной проверкой
DEVICE_RECOVERED_HIGH_CONFIDENCEРанее замеченное устройство, возвращающееся после сброса или переустановки
EXPECTED_IP_ADDRESS_MISMATCHАдрес отличается от ожидаемого для этой сессии

Didit явно различает дублированное устройство и восстановленное устройство, и разница в этом интересна.

Дублированное устройство — это две проверки с одного и того же устройства — обычное явление, часто невинное. Семейный планшет. Общая рабочая станция. Агент поддержки, помогающий пользователю пройти процесс.

Восстановленное устройство — это устройство, которое было стерто, сброшено или на котором приложение было переустановлено, и теперь оно вернулось. Didit все еще его распознает.

Для фарминга аккаунтов этот второй случай является денежным сигналом. Стандартная операционная процедура после бана — сбросить устройство и зарегистрироваться снова — именно это заставляет сеть-гидру регенерировать быстрее, чем ее обрезают. DEVICE_RECOVERED_HIGH_CONFIDENCE на совершенно новом аккаунте говорит: это оборудование уже было здесь, под другим аккаунтом, и кто-то приложил усилия, чтобы попытаться стереть это. Почти ничто законное не производит такую комбинацию при первой проверке.

Целостность — это обычный клиент?

КодЗначение
AUTOMATION_FRAMEWORK_DETECTEDКлиент управляется автоматикой, а не человеком
DEVICE_EMULATOR_DETECTEDЭмулированное устройство, а не реальное оборудование
DEVICE_ROOTED_OR_JAILBROKENМодель безопасности операционной системы была удалена
DEVICE_RUNTIME_HOOKING_DETECTEDК процессу подключена инструментация времени выполнения
DEVICE_APP_TAMPEREDБинарный файл приложения был изменен
DEVICE_DEBUGGER_ATTACHEDПодключен отладчик
DEVICE_INTEGRITY_SIGNALS_MISSINGОжидаемые сигналы целостности отсутствуют

Это семейство качественно отличается от дублирования, и стоит прояснить, почему: эти коды описывают намерение.

DUPLICATED_IP_ADDRESS может случиться с кем угодно в университете. AUTOMATION_FRAMEWORK_DETECTED в процессе верификации означает, что кто-то управляет проверкой личности с помощью скрипта. DEVICE_EMULATOR_DETECTED означает, что «телефон», завершающий вашу проверку, — это программное обеспечение, работающее на сервере — самый дешевый способ заставить одну машину выглядеть как сотня. DEVICE_APP_TAMPERED означает, что бинарный файл клиента был изменен, что вы делаете, когда хотите, чтобы он сообщал то, что не соответствует действительности.

Эмуляторные фермы и фреймворки автоматизации — это промышленные инструменты фарминга аккаунтов. Когда они появляются при верификации, невинное объяснение выглядит неубедительно.

DEVICE_INTEGRITY_SIGNALS_MISSING — это тонкий момент. Он не говорит, что что-то не так — он говорит, что сигналы, которые могли бы сказать вам, что все в порядке, не поступили. Рассматривайте отсутствие как слабый негатив, а не как нейтраль, потому что подавление телеметрии само по себе является методом.

Сеть — этот путь соответствует заявленному?

КодЗначение
PRIVATE_NETWORK_DETECTEDЧастный или анонимизирующий сетевой путь
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IPГеография документа и сети не совпадают
IP_LOCATION_NOT_ALLOWEDМестоположение выходит за рамки вашей настроенной политики
IP_ADDRESS_IN_BLOCKLIST / IP_ADDRESS_IN_ALLOWLISTАдрес совпал с одним из ваших списков
DEVICE_FINGERPRINT_IN_BLOCKLIST / DEVICE_FINGERPRINT_IN_ALLOWLISTУстройство совпало с одним из ваших списков
LOCATION / NO_ACTIONИнформационный

Сетевые сигналы — самое слабое семейство, и их следует взвешивать соответствующим образом. Разработчики, заботящиеся о конфиденциальности, routinely используют анонимизирующие сети, а аудитория AI API более технически подкована, чем в среднем — ожидается более высокий базовый уровень использования частных сетей, что не является подозрительным.

COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP более полезен, чем просто география, потому что это противоречие, а не местоположение. Люди путешествуют и переезжают, поэтому сам по себе он не является приговором, но в сочетании с сигналом дублирования он значительно усиливается.

Коды черного и белого списков — это исполнительная часть — подробно описанная в посте о распространении черных списков.

Взвешивание: что сильно, что слабо

Самая распространенная ошибка при внедрении — это рассматривать все предупреждения как эквивалентные. Они далеко не эквивалентны.

Сильные сами по себе — разумное основание для отклонения или тщательного рассмотрения:

DEVICE_EMULATOR_DETECTED · AUTOMATION_FRAMEWORK_DETECTED · DEVICE_APP_TAMPERED · DEVICE_RUNTIME_HOOKING_DETECTED · IP_ADDRESS_IN_BLOCKLIST · DEVICE_FINGERPRINT_IN_BLOCKLIST

Сильные в контексте — эскалировать при сочетании с чем-либо еще:

DEVICE_RECOVERED_HIGH_CONFIDENCE · DEVICE_ROOTED_OR_JAILBROKEN · COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP

Слабые отдельно — подтвердить перед действием:

DUPLICATED_IP_ADDRESS · PRIVATE_NETWORK_DETECTED · DUPLICATED_DEVICE_FINGERPRINT · DEVICE_INTEGRITY_SIGNALS_MISSING

Закономерность постоянна: коды, описывающие преднамеренную манипуляцию с клиентом, сильны; коды, описывающие общие ресурсы, слабы. У общих ресурсов есть тысячи невинных объяснений. У модифицированного бинарного файла нет.

Настройка ответа

Действия по предупреждению настраиваются для каждого кода, поэтому вы можете построить настоящую лестницу эскалации, а не единый проходной/непроходной барьер.

Рабочий вариант по умолчанию для AI API:

  • Отклонить при DEVICE_APP_TAMPERED, DEVICE_EMULATOR_DETECTED, AUTOMATION_FRAMEWORK_DETECTED и любом совпадении с черным списком. Совпадение с черным списком по умолчанию приводит к отклонению.
  • Рассмотреть при DEVICE_RECOVERED_HIGH_CONFIDENCE и при DEVICE_ROOTED_OR_JAILBROKEN.
  • Только запись при DUPLICATED_IP_ADDRESS, PRIVATE_NETWORK_DETECTED и LOCATION — фиксировать их для корреляции, но никогда не действовать на их основе в одиночку.

Записанные только коды не пропадают зря. Они делают возможным расследование через шесть недель, когда ваш уровень трафика помечает аккаунт, и вам нужно знать, с чем еще он связан. Сбор их на самом дешевом уровне, как описано в архитектуре доступа с учетом рисков, делает возможной последующую корреляцию.

Чтение сигналов в сессии

Результаты анализа устройства и сети поступают вместе с решением по сессии:

curl -X GET 'https://verification.didit.me/v3/session/{sessionId}/decision/' \
  -H 'x-api-key: YOUR_API_KEY'

Маршрутизируйте по предупреждениям, а не только по статусу верхнего уровня. Одобренная сессия, содержащая DUPLICATED_DEVICE_FINGERPRINT и DEVICE_RECOVERED_HIGH_CONFIDENCE, одобрена и заслуживает более пристального внимания — и если вы прочитаете только статус, вы никогда не узнаете об этом.

Didit также выявляет межсессионные совпадения, что позволяет перейти от одного предупреждения к набору других сессий, использующих это устройство или адрес. Это переход от одного аккаунта к кластеру.

Случаи использования

Платформы AI API, собирающие сигналы устройства и сети на самом дешевом платном уровне, чтобы данные для корреляции существовали до того, как они понадобятся.

Программы бесплатных пробных версий и кредитов, где фермы эмуляторов являются доминирующим вектором злоупотреблений, и один только DEVICE_EMULATOR_DETECTED устраняет большую часть объема.

Маркетплейсы и гиг-платформы, выявляющие удаленных продавцов или курьеров, возвращающихся на стертом оборудовании.

iGaming, обеспечивающий соблюдение правил одного аккаунта и самоисключения, где восстановление устройства является стандартным способом обхода.

Часто задаваемые вопросы

Работает ли это в вебе или только в мобильных приложениях?

И там, и там. Глубина сигналов целостности больше на нативных мобильных платформах, где операционная система предоставляет больше возможностей — такие коды, как DEVICE_ROOTED_OR_JAILBROKEN и DEVICE_APP_TAMPERED, являются концепциями нативных приложений. Веб-сессии по-прежнему генерируют сетевые сигналы и сигналы корреляции устройств.

Может ли целеустремленный злоумышленник обойти снятие отпечатков устройства?

Да, частично — вот почему это одно из нескольких семейств, а не весь ответ. Цель не идеальная идентификация, а стоимость. Каждый слой обхода, который добавляет оператор, стоит ему денег и времени на разработку, а сами инструменты обхода вызывают коды целостности. Злоумышленник, который обошел снятие отпечатков устройства, обычно виден в одном из других семейств сигналов.

Что на самом деле дает $0.03?

Одна проверка IP-адреса и устройства для одной сессии, возвращающая полный каталог предупреждений. Она оплачивается за успешную проверку без минимума и уже включена, когда вы запускаете полный пакет верификации за $0.33.

Достаточно ли сигнала частной сети для отказа?

Нет, и отказ на его основе обойдется вам в реальных разработчиков. В технической аудитории анонимизирующие сети являются обычным явлением. Запишите его и используйте в качестве подтверждения.

Как это связано с обнаружением дистилляции в трафике?

Это не обнаруживает дистилляцию. Сигналы устройства и сети сообщают вам о клиенте и аккаунте, но никогда о содержимом вашего API-трафика. Семантическое обнаружение — это отдельный слой, который находится в вашем собственном стеке. Эти сигналы сообщают вам, сколько аккаунтов использует оператор; ваш уровень трафика сообщает вам, что они с ними делают.

Готовы начать?

Анализ устройства и сети — это одна проверка в любой сессии верификации.

Инфраструктура для идентификации и борьбы с мошенничеством.

Единый API для KYC, KYB, мониторинга транзакций и проверки кошельков. Интеграция за 5 минут.

Попросите ИИ кратко изложить эту страницу
Выявление фарминга аккаунтов AI API: сигналы устройства.