Расследование. Поиск причины бана аккаунтов

  • Автор темы Jon Silver
  • Дата начала
  • Ответы 64
  • Просмотры 12.958
  • Теги
    fingerprint
Политика Фейсбука такова - 1 человек, 1 - аккаунт, 1 рекламный кабинет. Всё остальное в бан. При регистрации аккаунта мы принимаем политику Cookies https://www.facebook.com/policies/cookies/ в которой помимо прочего говорится: " ... путем выявления компьютеров, используемых для массового создания фальшивых аккаунтов Facebook". То есть, ФБ прилагает все усилия для борьбы с созданием дополнительных аккаунтов (особенно для рекламы), а таких попыток миллионы в месяц (по данным отчёта ФБ - ок. 3 милл/мес). Соответственно, чем больше делается одним пользователем аккаунтов, тем менее они надёжны. Отсюда и непрерывные поиски пользователей обойти баны аккаунтов, так как чем больше аккаунтов блокируется, тем больше рекламодатель пытается создать новых, и, как следствие, они быстрее уходят в бан.
Выход из данной ситуации напрашивается 1 - сделать так, чтобы ФБ принимал каждый аккаунт за новый, не связанный с предыдущим.
Казалось бы, почистить браузер, поменять ip и можно делать другой аккаунт. Но на самом деле не всё так просто. У ФБ хорошая память и множество способов слежения, начиная с использования Google Analitycs, Adobe Analitycs, fingerprint отпечатка и заканчивая способами о которых остаётся только догадываться.
Стандартные способы обеспечения анонимности здесь не работают: использование прокси-серверов (всех видов и гео), работа с виртуальных машин на компьютере или на удалённом сервере, использование всех видов браузеров, включая Tor (тройной прокси-сервер). Даже смена компьютера с отдельным модемом и другим оператором связи (не говоря уже о смене железа или переустановки Винды), не обеспечивает должного разделения аккаунтов.
На основании чего такие выводы? Проверяется это просто: заходим на ФБ, нажимаем Cntrl+U (открываем исходный код), нажимаем Cntrl+F (поиск по странице) и находим словосочетание server_revision или client_revision и смотрим значение на первом аккаунте, запоминаем. Открываем следующий аккаунт, будь он на сервере или другом компьютере, и сравниваем значения. Они одинаковы для всех аккаунтов на компьютере, как бы они не были засекречены от ФБ.
Что такое server_revision? Ревизия (проверка сервера). Как она происходит? В начале страницы (исходный код) есть скрипт, который за это отвечает.
JavaScript:
<script>function envFlush(a){function b(b){for(var c in a)b[c]=a[c]}window.requireLazy?window.requireLazy(["Env"],b) window.Env=window.Env||{},b(window.Env))}envFlush({"ajaxpipe_token":"AXh8G5JgQJVuy4TN","timeslice_heartbeat_config":{"pollIntervalMs":33,"idleGapThresholdMs":60,"ignoredTimesliceNames":{"requestAnimationFrame":true,"Event listenHandler mousemove":true,"Event listenHandler mouseover":true,"Event listenHandler mouseout":true,"Event listenHandler scroll":true},"isHeartbeatEnabled":true,"isArtilleryOn":false},"shouldLogCounters":true,"timeslice_categories":{"react_render":true,"reflow":true},"sample_continuation_stacktraces":true,"dom_mutation_flag":true,"khsh":"0`sj`e`rm`s-0fdu^gshdoer-0gc^eurf-3gc^eurf;1;enbtldou;fduDmdldourCxO`ld-2YLMIuuqSdptdru;qsnunuxqd;rdoe-0unjdojnx-0unjdojnx0-0gdubi^rdbsduOdv-0`sj`e`r-0q`xm`r-0StoRbs`qhof-0mhoj^q`xm`r","stack_trace_limit":30,"deferred_stack_trace_rate":1000,"timesliceBufferSize":5000});</script>
Его суть заключается в том, что он использует ajax для отправки данных на сервер ФБ (без перезагрузки страницы) об активности пользователя. Если пользователь бездействует в течение 5000 секунд (1ч.23мин), то значение server_revision меняется, если пользователь активен, то остаётся неизменным.
Для чего это необходимо? Если создаём несколько аккаунтов подряд, то сервер присваивает всем аккаунтам одинаковое значение server_revision (которое хранится в виде cookies под названием spin в течение 1 суток.) Соответственно, ФБ помечает все аккаунты как принадлежащие 1 пользователю.
Задача состоит в том, чтобы у каждого аккаунта было новое значение server_revision.

Пример: есть 2 компьютера. 1 - Виндовс 7 64, 2 - Виндовс 7 32. Первый выходит в интернет через wi-fi, который раздаёт телефон с сим картой tele2. Второй - через модем с сим картой МТС.
При одновременном открытии на 2 компах ФБ. Значение server_revision - одинаково на двух компьютерах. Даже при использовании Tor браузера на 1 и VPS на 2.

Что даёт разное значение server_revision?
Пример: при создании нескольких аккаунтов с 1 значением server_revision одновременно качество свежесозданных аккаунтов таково, что они уходят в бан после 2-3 неудачной привязки оплаты (Яндекс карты или Пейпал).
При разном значении server_revision для каждого нового аккаунта - каждый аккаунт выдерживает 1000 попыток привязки Яндекс карты (сразу после регистрации аккаунта) и сразу привязывает Пейпал (с первого раза, сразу после регистрации).

Задача состоит именно в том, чтобы добиться разного значения server_revision для каждого нового аккаунта (перед его созданием) - чего не даёт даже одновременное создание аккаунтов на разных компьютерах (с использованием всех средств анонимности).
Вывод из всего вышесказанного: ФБ объединяет аккаунты под 1 пользователя даже при использовании нескольких компьтеров, подключённых по разным каналам связи.

Поиск причины.
Если дело не в железе, проксях и т. д. то в чём? Остаётся только предполагать, что ФБ вычисляет физическое расположение компьютеров пользователя по координатам с достаточно высокой точностью.
В пользу этого говорит то, что ФБ использует технологию OSM (OpenStreetMap) - карту улиц. В этом можно убедиться найдя в исходном коде OSM_ZOOM_THRESHOLD и следующие за этим координаты.
[[53.458804,96.681979,21.403164,156.019965],[49.051166,81.344246,30.016796,96.681979],[30.016796,81.344246,26.580888,91.847546],[45.235891,77.009813,36.828253,81.344246],[9.824078,79.695167,5.96837,81.787959],[25.300278,87.997767,21.403164,91.952439],[25.300278,93.270663,21.403164,96.681979],[14.5,102.25,5.51123,156.019965],[17.5,104.75,14.5,156.019965],[21.403164,100.114941,17.5,156.019965],[21.403164,87.997767,19.403164,100.114941],[19.403164,87.997767,10,98.114941],[14.5,98.114941,10,99.114941],[-6.491895,140.862305,-9.5,147],[-6.491895,147,-11.630566,155.957617],[-1.353223,140.862305,-6.491895,155.957617],[5.381389,8.698332,-8.748195,20.000554],[5.381389,20.000554,-13.458057,31.302776],[7.309793,170.989319,6.806464,171.756836],[7.47757,168.533264,7.142017,168.840271],[6.135358,169.454285,5.799805,169.914795],[11.168652,166.844727,11.000876,166.99823],[41.290967,43.439453,40,45.61] ............. и т. д.

После которых указываются следующие данные: HERE_MAP_REPORTER_URL":"https://mapfeedback.here.com/?appId=ZOdjOwwG7wKMxvmMewWg",
OSM_MAP_REPORTER_URL":"https://www.openstreetmap.org/fixthemap/"
Первая ссылка на сервис карт с указанием id (который на всех устройствах также одинаков), вторая ссылка - офф. сайт - OMS - карты улиц.

Далее идёт указание, что значение, полученное с OMS хранится 1000 дней и сразу же обращение к чёрному списку (блек листу) EXPIRY":86400000,"MAX_SIZE":10000,"MAX_WAIT":150000,"RESTORE_WAIT":150000,"blacklist":["time_spent"],
Всё это наводит на мысль, что ФБ отслеживает физическое местоположение пользователя с большой точностью.

Предположение, как происходит определение местоположения.
В примере выше указывались 2 компьютера с разными каналами связи (телефон с Теле2 и модем с МТС). ФБ их обединяет в 1 пользователя. В этом убедиться можно зайдя на страницу регистрации аккаунта ФБ, открыв исходный код и найдя WebWorkerConfig и значение id (1471127876485638 - например). А также server_revision. На всех компах - одинаковое.
Общее у этих компьютеров только Базовая Станция (сотовая вышка). Именно зная её местоположение, можно определить, что эти 2 компьютера находятся в одном доме (может что и на 1 столе). Определение местоположения по ip - сразу отпадает. В пользу определения координат по БС выступает следующее: при создании аккаунта через мобильную версию ФБ, в адресной строке на всех устройствах высвечивается: https://m.facebook.com/reg/?cid=103&refid=9 (или 8). Вбив в поисковик cid=103 - сразу нахожу статью о определении местоположении по БС, где cid - это - CellID (CID) — «идентификатор соты» . https://cellidfinder.com/articles/k...zovoi-stancii-gsm-po-mcc-mnc-lac-i-cellid-cid
Подводя итог остаётся вопрос: если ФБ вычисляет координаты БС, а затем и местоположение компьютеров (даже через Тор и VPS), то каким образом они (эти данные) попадают к ФБ даже через шифрованные тройные прокси?
 
Последнее редактирование модератором:
голословно, что одинаковый server_revision на что-то влияет
он одинаков у людей из разных городов вообще (это к гипотезе о геолокации)
может это просто айди датацентра фб, к которому ты подключаешься
или версия их софта
да и тонна еще вариантов
гадание на кофейной гуще
 
На счёт id датацентра ФБ или вообще сервера ФБ. Узнать к какому серверу ФБ подключен аккаунт - в коде страницы - vip: - там ip сервера ФБ, для России, например, 31.13.72.38 (для компьютерной версии), 31.13.72.4 - для мобильной версии, 31.13.72.8 - для touch версии, 31.13.72.36 - для free версии. При использовании usa серверов - 157. ... ... ... и т. д. И несмотря на подключение к разным серверам - значение server_r - одинаково.

Значение server_revision меняется не регулярно (например раз в час или др.), а именно после 1,5 часа бездействия аккаунта, поэтому, вероятность случайного совпадения минимальна (у двух не связанных пользователей).

То что смена его значения влияет на качество аккаунта - проверенно так: на разных серверах, не связанных друг с другом регистрируются несколько аккаунтов, сразу после регистрации ко всем привязывается оплата (Пейпал), при одинаковых значениях spin (cookies, который формируется из значения server revision) аккаунты сразу уходят на селфи, не добавив способ оплаты. При выдержке 1,5 часа меняется значение server_revision и, соответственно, значение spin. К такому аккаунту (с обновлёнными значениями) сразу после регистрации привязывается оплата, создаётся страница, запускается и откручивается реклама. Или берётся Я. карта и ставится на привязку, после 1000 неудачной привязки у аккаунта останавливаются платежи, но он не уходит на селфи.

Насчёт одинакового значения server_revision для всех пользователей хотелось бы узнать конкретнее. Например у меня сейчас 4172604.
 
server_revision он же client_revision он же app_version он же __spin_r - значение равное
 
Ещё хотелось бы узнать ajaxpipe_token":"AXib1aEibgFSCmjr" у разных пользователей значение одинаково? (Это ajax токен по которому отсылается информация на сервер)
 
На счёт id датацентра ФБ или вообще сервера ФБ. Узнать к какому серверу ФБ подключен аккаунт - в коде страницы - vip: - там ip сервера ФБ, для России, например, 31.13.72.38 (для компьютерной версии), 31.13.72.4 - для мобильной версии, 31.13.72.8 - для touch версии, 31.13.72.36 - для free версии. При использовании usa серверов - 157. ... ... ... и т. д. И несмотря на подключение к разным серверам - значение server_r - одинаково.

Значение server_revision меняется не регулярно (например раз в час или др.), а именно после 1,5 часа бездействия аккаунта, поэтому, вероятность случайного совпадения минимальна (у двух не связанных пользователей).

То что смена его значения влияет на качество аккаунта - проверенно так: на разных серверах, не связанных друг с другом регистрируются несколько аккаунтов, сразу после регистрации ко всем привязывается оплата (Пейпал), при одинаковых значениях spin (cookies, который формируется из значения server revision) аккаунты сразу уходят на селфи, не добавив способ оплаты. При выдержке 1,5 часа меняется значение server_revision и, соответственно, значение spin. К такому аккаунту (с обновлёнными значениями) сразу после регистрации привязывается оплата, создаётся страница, запускается и откручивается реклама. Или берётся Я. карта и ставится на привязку, после 1000 неудачной привязки у аккаунта останавливаются платежи, но он не уходит на селфи.

Насчёт одинакового значения server_revision для всех пользователей хотелось бы узнать конкретнее. Например у меня сейчас 4172604.
По этой логике надо регать акк, отлеживать его без действий 1.5 часа и тогда он будет отлично запускаться.
Потом регать новый акк, опять отлеживать 1.5 часа и т.д ?
При этой схеме значения будут меняться и на каждом акке будут разные.
 
По этой логике надо регать акк, отлеживать его без действий 1.5 часа и тогда он будет отлично запускаться.
Потом регать новый акк, опять отлеживать 1.5 часа и т.д ?
При этой схеме значения будут меняться и на каждом акке будут разные.
Да, но одновременно может существовать только 1 аккаунт. Насчёт разного значения client_revision и client - не суть, они могут обновляться не одновременно.
 
Это радует! Собственно это и требовалось доказать или опровергнуть... Посмотри ещё ajaxpipe_token":"AXib1aEibgFSCmjr" такой же?
 
голословно, что одинаковый server_revision на что-то влияет
он одинаков у людей из разных городов вообще (это к гипотезе о геолокации)
может это просто айди датацентра фб, к которому ты подключаешься
или версия их софта
да и тонна еще вариантов
гадание на кофейной гуще
я полностью согласен, информация не проверенная просто высосана из пальца.. server_revision, client_revision скорее всего просто версии клиента и сервера fb или что то типа того. Приведены примера кода вообще никак не связанные. В конце статьи ну просто полный трэш. Ну что смеется идентификатор соты в гет запросе.. В целом весь пост одни надумки автора никак не проверенные и не подтвержденные никакими фактами, давайте возьмем еще пару переменных из 10000 и сами для себя придумаем что они обозначают. Возникает ощущение что автор только что научится смотреть исходный код страницы и ничего более.. какие 1000 аккаунтов на тесты, зачем, чтоб посмотреть 1 раз исходный код страницы и надумать себе выводы?
 
Назад
Верх