Цифровой Двойник: Почему ваш Windows видят как Android и как антифрод-системы это вычисляют.

Цифровой Двойник: Почему ваш Windows видят как Android и как антифрод-системы это вычисляют.

Zl0y

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


Какие проблемы поднимает эта статья? Какие проблемы решает?

Эта статья поднимает такие вопросы как:

  • Почему у меня ОС Windows, а сервисы видят меня как Android?
  • Почему нельзя просто взять прокси от Android и в антике эмулировать Android? Почему это не сработает?
  • Вы идеально настроили антик под Windows (JS + HTTP) - зашли в каждый параметр и всё прописали - но какой-то сайт вас воспринимает всё равно как Linux?
  • Накатываешь конфиг VPN с отпечатком iOS на IPhone, а browserleaks пишет TCP fingerprint — Android?

Какие вообще бывают отпечатки на каких уровнях?

Представьте, что ваш цифровой профиль — это автомобиль. Антифрод-системы оценивают его по разным параметрам, чтобы понять, настоящий ли он.

  • Уровень приложения (HTTP/JS): Это внешний вид вашего авто — цвет, марка, шильдики (User-Agent, Canvas, WebGL). Его легко перекрасить и подделать.
  • Уровень шифрования (TLS): Это звук двигателя. Уникальный рокот V8 от Mercedes (Safari) не спутать с жужжанием электрокара Tesla (Chrome).
  • Сетевой уровень (TCP/IP или p0f): Это VIN-номер, выбитый на раме. Самый глубокий и сложный для подделки идентификатор, который выдает реального производителя (ОС).

Подробнее о TCP/IP (p0f) — VIN-номер вашего "авто"

TCP/IP отпечатки (ещё их называют p0f) — это набор значений в заголовках сетевых пакетов, которые прописаны в самом первом, SYN-пакете. Как VIN-номер, они с 90% точностью раскрывают, какая ОС "собрала" этот пакет.

TTL (начальное время жизни пакета):

  • Linux/Android/MacOS/iOS это 64
  • Windows - 128

TCP OPTION ORDER (порядок TCP-опций):

  • Windows типичен такой набор: MSS,NOP,WindowScale,NOP,NOP,SACKPermitted
  • Linux/Android: MSS,SACKPermitted,Timestamps,NOP,WindowScale
  • MacOS/iOS:MSS,NOP,WindowScale,NOP,NOP,Timestamps,SACKPermitted,EndList

Как можно заметить они все разные.

Window Size (размер окна) - сколько информации может обработать клиент без подтверждения:

  • MacOS/iOS стандартное значение - 65535
  • Windows 8192 - для старый версий Windows, 64240 для более новых
  • Android 42340 - очень эксклюзивный маркер!

WindowScale множитель, сколько пакетов может принять клиент без подтверждения :

  • Windows наиболее типичным для нее значение 8
  • Android\MacOS: 6,7

И так далее

TLS - Они формируются из пакета ClientHello - при установке зашифрованного соединения. Эти отпечатки тоже косвенно могу определять систему, например, Safari - не может быть установлен на Windows - и если система видит отпечаток Safari то мы можем чётко сказать что это MacOS\IOS. Так же некоторые наборы версий TLS - которые передаются в пакете - могут указывать на ОС.

HTTP\HTTP2\JS - Тут, конечно, первое на что смотрит система - это User-Agent. Но так как его часто подделывают - недоверие к этому параметру очень высокое. Так же есть другие отпечатки на этом уровне такие как порядок заголовков, различные таймстампы и прочее. Но любая система безопасности не может опираться только на один этот уровень, и она смотрит все остальные отпечатки. И если есть несоответствие, она накидывает очки риска.

Про все эти типы отпечатков и как именно они формируются можно прочитать тут

Например:

Представьте ситуацию: вы используете прокси на Linux (его "VIN" похож на Android), а в антидетект-браузере выставляете профиль Windows. Что видит антифрод-система?

  • Внешний вид (HTTP/JS): Шильдики "Windows".
  • VIN-номер на раме (TCP/IP): "Сделано на заводе Linux/Android".

Для антифрод-системы это выглядит так, будто кто-то пригнал на оценку седан BMW, но по VIN-номеру он пробивается как пикап Ford F-150. Кузов один, а рама, двигатель и вся суть — совершенно другие. Это мгновенно повышает ваш "риск-скор".

Почему этого не происходит когда мы используем VPN ?

VPN — это как закрытый автовоз. Он забирает ваш "автомобиль" (пакеты с VIN-номером от Windows) и везет его внутри себя до конечного пункта. Сервер сайта видит только сам автовоз (VPN-сервер с его собственным VIN-номером), а что там внутри — не знает. Ваш "VIN" надежно спрятан.


Прокси — это как услуга "перегонщика". Он садится в вашу машину и едет сам. Сервер видит VIN-номер автомобиля "перегонщика" (прокси-сервера), но при этом видит и шильдики, которые вы наклеили в антике. Отсюда и возникает конфликт.

Ошибки в подмене отпечатков

Многие прокси-сервисы, предлагающие подмену TCP, используют устаревший инструмент OS-Fooler-NG (2012 год, Python 2). Он работает грубо: меняет только первый SYN-пакет в соединении.


Это как на старую Toyota Prius 2012 года нацепить кузов от Ferrari. Выглядит красиво только на первый взгляд, но любой "тест-драйв" (анализ всего TCP-соединения) покажет подмену.


Конфиг OVPN c отпечатком IOS, а на деле Android - начнём с того, что есть два типа конфигов - резидентские VPN - это те, которые подняты на обычных роутерах типа ASUS, TP-Link и т.д. И есть конфиги которые подняты на сервере куда приходит прокся. Таким образом этот VPN получается - прокси - только с доступом по конфигу. И из-за неправильной настройки и сложности такой настройки часто бывает такое что разработчики таких конфигов часто допускают в них ошибки. И конечно ни о каком туннелировании отпечатков как описано в примере выше - тут говорить не приходится из-за того что базово это не VPN, а прокси.

Как вас скомпрометирует некачественная мимикрия?


-  Вопрос: Почему я выставил отпечаток прокси Windows, а сервисы типа https://demo.fingerprint.com/playground всё равно видят несоответствие ОС?

Ответ: Потому что простые чекеры смотрят только на "кузов" (первый SYN-пакет). Продвинутые АФ-системы проверяют всю "начинку" автомобиля — анализируют поведение TCP-соединения на протяжении всей сессии (например, параметр wscale в каждом пакете). И тут "Toyota" под кузовом "Ferrari" выдает себя с головой.

Как проверить себя и что делать?


1. Проверьте себя:

  • Базовая проверка "кузова" (TCP): [https://browserleaks.com/tcp] — покажет основные параметры SYN-пакета.
  • Комплексная проверка "автомобиля": Наш сервис [zl0y.team] — это полноценная диагностическая станция. Мы анализируем не только TCP/IP, но и TLS, HTTP/2, а также поведение соединения, показывая полную картину. Более того, мы внедряем проверку, которая следит ПОЛНОСТЬЮ за соединением TCP, выявляя даже качественную, на первый взгляд, мимикрию.

2. Что делать?

  Решение — обеспечить полное соответствие отпечатков. Если у вас мобильные прокси на Android, то и вся ваша система должна выглядеть как Android на всех уровнях.

Что дальше? (реклама на будущее сервиса где)

Мы так же разрабатываем прокси сервер, который будет позволять качественно именно мимикрировать под любую из самых известных ОС - путём не просто изменения SYN пакета но и изменения всего соединения на самом фундаментальном уровне. Мы как будь то строим для вас Феррари вместо изменения вашего кузова :) Сейчас открыт предзаказ для данного ПО обязательно подпишитесь на канал.


Report Page