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

Аккаунт — это строка в базе данных. Устройство — это физический объект, за который кто-то заплатил.
Эта асимметрия является основой обнаружения злоупотреблений на уровне устройств, и именно поэтому операция фарминга, которая может сгенерировать 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-трафика. Семантическое обнаружение — это отдельный слой, который находится в вашем собственном стеке. Эти сигналы сообщают вам, сколько аккаунтов использует оператор; ваш уровень трафика сообщает вам, что они с ними делают.
Готовы начать?
Анализ устройства и сети — это одна проверка в любой сессии верификации.
- Прочтите документацию — Обзор IP и анализа устройств и полный каталог предупреждений.
- Ознакомьтесь с продуктом — Проверка пользователя.
- Проверьте цены — $0.03 за проверку, включено в пакет за $0.33, без минимальных платежей.
- Начните бесплатно — business.didit.me, 500 проверок KYC в месяц бесплатно.
Похожие статьи
- Проблема учетной записи «Гидры»: почему защита от дистилляции начинается с разрешения идентификации (RU)
- Верификация бизнеса для доступа к API ИИ: Кто на самом деле контролирует этот аккаунт? (RU)
- Доступ к API на основе верификации для поставщиков AI-моделей: многоуровневая архитектура с учетом рисков (RU)
- Поиск по лицу 1:N: Обнаружение всех аккаунтов, контролируемых одним человеком (RU)
- Биометрическая ступенчатая аутентификация для доступа к API ИИ: Привязка привилегий к человеку (RU)
- Сети аккаунтов «Гидра»: как 20 000 аккаунтов становятся одним субъектом (RU)