← Назад в базу знаний

Как антифрод-системы маркетплейсов детектят IPv6-прокси по паттернам ASN и подсетей

Как антифрод-системы маркетплейсов детектят IPv6-прокси по паттернам ASN и подсетей

Маркетплейсы научились смотреть не на IP, а на то, что вокруг него. Один адрес ничего не говорит. А вот /64, /48 и номер автономной системы — говорят много. Разберём, как антифрод строит профиль и почему IPv6-прокси палится чаще, чем принято думать.

Почему IPv6 меняет правила игры

В IPv4 прокси-пул из 500 адресов раскидать по разным сетям — целая история. В IPv6 провайдер выдаёт клиенту /64, а то и /48. Это 18 квинтиллионов адресов в одной подсети. Казалось бы — рай для скрытности. На деле — ловушка.

Антифрод давно перестал считать IP уникальным идентификатором. Он группирует адреса по префиксам. /64 — базовая единица для residential-подсети. /48 — для организации. И если 200 «разных» пользователей сидят в одном /64, никакая ротация внутри пула не спасёт. Система видит одну сеть.

Есть и вторая сторона. Живые ISP выдают клиентам динамические /64, которые меняются при переподключении. Прокси-фермы держат статичные префиксы месяцами. Поведение префикса во времени — отдельный сигнал, и он весомее, чем сам адрес.

Что такое ASN и почему он важнее IP

ASN — номер автономной системы. Грубо говоря, «владелец блока адресов» с точки зрения BGP. У каждого IP есть origin AS. Антифрод смотрит на него через базы RIR (RIPE, ARIN, APNIC) и через BGP-фиды вроде Team Cymru или IPinfo.

Ключевой момент: ASN residential-провайдера и ASN хостинга — это два разных мира. Если запрос на оформление заказа приходит с адреса, чей origin AS — DigitalOcean, антифрод напрямую понимает: это VPS. Никакой человек из дома так не выйдет в интернет.

Хуже для прокси другое. Многие IPv6-провайдеры покупают адреса у крупных транзитов и анонсируют их как «residential». Формально — да, residential. Но ASN у них свежий, без истории, без трафика от обычных пользователей. Антифрод такие сети помечает как «suspicious ASN» и даёт им пониженный trust score с первого дня.

Паттерны, которые ловят прокси

Антифрод не ищет «прокси». Он ищет аномалии в распределении. Вот что реально работает.

**Плотность адресов в префиксе.** Если за сутки из одного /64 пришло 300 сессий с разных «устройств» — это не дом. Это ферма. Живой /64 в среднем даёт 2–5 активных устройств за сутки. Порог чувствительности у крупных маркетплейсов — 20–30 уникальных fingerprint'ов на /64 в сутки.

**Однородность fingerprint'ов.** Прокси-пул часто крутит одну и ту же сборку браузера. Canvas hash, WebGL vendor, шрифты — совпадают у десятков «разных» пользователей. Антифрод кластеризует по fingerprint и смотрит, как кластеры распределены по префиксам.

**Временные паттерны.** Резидентский трафик имеет суточный ритм. Прокси-ферма работает 24/7 с ровной нагрузкой. Если /48 показывает постоянные 40 RPS в 4 утра — вопросов больше нет.

**Скорость смены адресов.** Ротация /128 внутри /64 каждые 30 секунд — сигнал. Живые пользователи так не делают. Даже мобильные операторы с CGNAT меняют адрес раз в часы, а не в минуты.

Как выглядит проверка на стороне сервера

Типичный антифрод-пайплайн на входе берёт IP, прогоняет через обогащение и складывает в профиль. Упрощённо это выглядит так:

```python

import ipaddress

import requests

def enrich_ip(ip: str) -> dict:

addr = ipaddress.ip_address(ip)

if addr.version == 6:

prefix64 = ipaddress.ip_network(f"{ip}/64", strict=False)

prefix48 = ipaddress.ip_network(f"{ip}/48", strict=False)

else:

prefix64 = ipaddress.ip_network(f"{ip}/24", strict=False)

prefix48 = ipaddress.ip_network(f"{ip}/16", strict=False)

asn_info = requests.get(

f"https://api.ipinfo.io/lookup/{ip}",

headers={"Authorization": "Bearer TOKEN"},

timeout=2,

).json()

return {

"ip": ip,

"asn": asn_info.get("asn"),

"as_name": asn_info.get("as_name"),

"as_type": asn_info.get("as_type"), # isp / hosting / business

"prefix64": str(prefix64),

"prefix48": str(prefix48),

"country": asn_info.get("country"),

}

```

Дальше профиль попадает в скоринг. Считается не «плохой ли IP», а «насколько его окружение похоже на реальное». Если ASN hosting — минус. Если /64 свежий и уже шумит — минус. Если страна ASN не совпадает с billing-адресом — минус.

Отдельно маркетплейсы смотрят на BGP-историю префикса. Новый анонс, который появился 3 дня назад, — красный флаг. Легитимные ISP анонсируют блоки годами. Прокси-провайдеры часто переезжают с префикса на префикс, и это видно в публичных MRT-фидах.

Сравнение типов IPv6-источников

| Источник | ASN-тип | Плотность в /64 | Средний trust score |

|---|---|---|---|

| Домашний ISP | isp | 1–5 устройств | 80–95 |

| Мобильный оператор (CGNAT) | isp | 50–200 устройств | 60–80 |

| Датацентр | hosting | 1–10 (VPS) | 5–20 |

| Коммерческий IPv6-прокси | hosting / business | 100–500 | 10–35 |

| Резидентский прокси-пул | isp (аренда) | 20–80 | 40–65 |

Цифры усреднённые по публичным отчётам anti-fraud вендоров за 2024. Разброс большой, но порядок величин показателен: коммерческий IPv6-прокси на чистом хостинге почти не имеет шансов пройти проверку на маркетплейсе с серьёзным антифродом.

Почему «чистый» /64 не спасает

Многие думают: возьму /64, который не засвечен, и всё будет хорошо. Не будет. Проблема в том, что антифрод смотрит не на конкретный /128, а на весь /64 как на одну сущность. Если в пуле 500 адресов и все они в одном /64 — вы уже скомпрометированы с точки зрения плотности.

Второй момент — репутация ASN. Даже если префикс чистый, но ASN принадлежит известному прокси-провайдеру (а такие списки ведутся годами), score падает сразу. Антифрод-вендоры продают базы «proxy ASN» по подписке. Попасть туда легко — достаточно, чтобы несколько клиентов провайдера наследили.

Третий — поведенческий след. Даже с идеальным ASN и чистым /64 прокси-пул выдаёт себя однотипным трафиком. Время загрузки страницы, порядок запросов, отсутствие мышиных движений — всё это собирается и кластеризуется. IPv6-адрес тут уже не главный сигнал, но он связывает кластеры в один профиль.

Кейс: маркетплейс с 40k RPS и IPv6-пул

Пример из практики аудита. Маркетплейс, nginx 1.24, средняя нагрузка 40k RPS на пике, антифрод на собственной модели. Клиент запустил пул IPv6-прокси на 2000 адресов из трёх /48, купленных у европейского провайдера с ASN, зарегистрированным 8 месяцев назад.

Первые сутки — 92% успешных сессий. На вторые антифрод начал резать: 60% запросов на регистрацию уходили в manual review. Причина оказалась в плотности: 2000 адресов на три /48 — это ~660 адресов на префикс, и все они долбили одни и те же эндпоинты.

Дополнительно сработал ASN-флаг: провайдер уже был в базе как «commercial proxy» у двух вендоров. Score упал до 18. Решение — раскидать пул по 40 разным /48 в ASN жилых ISP, ограничить 5–10 адресов на префикс и добавить суточный ритм нагрузки. После этого доля manual review упала до 11%.

Кейс: мобильный CGNAT и ложные срабатывания

Обратная история. Крупный оператор выдаёт IPv6 через CGNAT: сотни абонентов делят один /64. Антифрод маркетплейса настроил порог в 30 устройств на /64 — и начал массово банить реальных покупателей в вечерние часы.

Диагностика показала: в 19:00–23:00 плотность в отдельных /64 доходила до 400 уникальных fingerprint'ов. Это нормальный вечерний трафик жилого района. Порог был откалиброван по датацентровым данным и не учитывал мобильные сети.

Фикс — отдельная политика для ASN мобильных операторов: порог плотности поднят до 500 на /64, добавлен вес по поведенческим сигналам. Ложные баны упали с 8% до 0.4%. Урок: ASN-тип (isp vs hosting) важнее, чем абсолютные числа плотности. Один порог на все сети — грабли.

Кейс: ротация /128 внутри /64

Пул из 800 IPv6-адресов, все в одном /64, ротация каждые 45 секунд. Владелец рассчитывал, что антифрод не свяжет адреса между собой. Связал за два дня.

Механика простая. Антифрод логирует каждый запрос с полным IPv6 и префиксом /64. Через сутки видит: 800 адресов, один /64, 12 fingerprint'ов, ровный RPS круглосуточно. Кластер готов. Дальше — блок по префиксу целиком, все 800 адресов в чёрном списке.

Спасает только смена подхода: разные /48, разные ASN, разное поведение. И даже тогда остаётся риск по BGP-истории — если префиксы анонсируются с одного upstream, антифрод может связать их через AS-path.

Как проверить свои адреса перед запуском

Перед тем как гнать трафик, стоит прогнать пул через публичные источники. Минимум — origin ASN, тип ASN, дата регистрации префикса. Что смотреть:

```bash

curl -s "https://api.bgpview.io/ip/2a01:4f8:1c1c:1234::1" \

| jq '{asn: .data.prefixes[0].asn.asn, name: .data.prefixes[0].asn.name, prefix: .data.prefixes[0].prefix}'

curl -s "https://stat.ripe.net/data/prefix-overview/data.json?resource=2a01:4f8::/32" \

| jq '.data.asns'

```

Первая команда даёт origin ASN и анонсируемый префикс. Вторая — все ASN, которые анонсируют блок, и их относительный вес. Если префикс анонсируется десятком ASN с непонятными именами — это тревожный знак.

Дальше — проверка на утечки. Если адрес уже светился в публичных anti-fraud базах, его стоит выкинуть. Такие базы есть у IPQualityScore, IPinfo, MaxMind minFraud. Часть проверок бесплатна, часть — по подписке. Для пула в 1000+ адресов дешевле заплатить за API, чем терять конверсию.

И последнее — тест на живом трафике с малой нагрузкой. Запустите 5% пула на реальные действия и смотрите на долю manual review и блокировок. Если выше 15% — пул шумный, надо чистить. Если ниже 5% — можно масштабировать.

Что делать, если пул уже шумит

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

Разделите пул по ASN и /48. Прогоните каждый сегмент через проверку плотности и репутации. Сегменты с высоким review rate — на карантин, минимум на 2 недели без трафика. За это время префиксы «остывают» в поведенческих моделях.

Параллельно — распределите нагрузку. Не больше 10 адресов на /64, не больше 100 на /48. Если провайдер даёт только один /48 — меняйте провайдера или докупайте префиксы. Это дороже, но дешевле, чем терять 60% заказов.

И третье — поведенческая маскировка. Ротация не по таймеру, а по событиям. Разные fingerprint'ы на разных адресах. Суточный ритм нагрузки. Это не делает прокси невидимыми, но снижает вероятность попасть в кластер.

Итог

Антифрод маркетплейсов давно сместил фокус с отдельного IP на префикс и ASN. IPv6-прокси в этом смысле — обоюдоострый инструмент: адресов много, но и группировать их проще. Плотность в /64, тип ASN, BGP-история и поведенческие паттерны — четыре сигнала, которые решают исход.

Один технически оправданный пример: если нужен пул с разнообразием ASN и префиксов без ручной сборки, посмотрите, как устроены пулы на lexic.ml — там адреса раскиданы по разным /48 и ASN, что как раз снижает плотность на префикс. Это не панацея, но правильная отправная точка.

Главное — не гнаться за размером пула. 200 адресов в 20 разных /48 проживут дольше, чем 2000 в одном /48. Проверяйте ASN до запуска, карантиньте шумные сегменты, следите за плотностью. И помните: антифрод не ищет прокси. Он ищет несоответствия между тем, кем вы представляетесь, и тем, как выглядит ваше окружение.

✔️Купить прокси