Предисловие
Собственно, почему в названии статьи «эмуляция», а не «анонимизация»?
Эмуляция в плане технических параметров при работе с тем же Фейсбуком — это, в первую очередь, попытка сделать всё максимально похоже на обычного пользователя. При анонимизации пользователь не задумывается, как всё максимально рандомизировать и быть похожим на обычного пользователя, ему главное — скрыть свое основное техническое решение.
На основе статьи от SMOL’а, который дал хорошую наводку в виде «теории графов», можно додумать это в плане технических решений. Если у вас идет слив по тому же WebRTC (он заблокирован к примеру, либо статично сливает ваш реальный) и ТОЛЬКО по нему — то ничего плохого в этом случае не должно быть. Но если это идет, например, в купе с одними и теми же параметрами, которые тоже неизменны — то это уже звоночек для ИИ. И спустя какое-то количество аккаунтов он уже будет кидать вас на селфи и блокировать при любой возможности.
Следовательно, для нас цель — это сделать эмуляцию по максимуму, чтобы для бота ИИ было меньше поводов зацепиться за несколько параметров. И какие параметры и где их смотреть — я сейчас расскажу.
whoer.net
Первый сайт, который нам нужен: whoer.net
Не смотрите на эти проценты сверху справа после захода на сайт, где whoer высчитывает вашу «анонимность». Это полнейшая дичь для наших дел и ничего не даст нам в плане информации.
Переходим сразу в «Расширенная версия».
IP, WebRTC
Я не буду здесь касаться IP и WebRTC. Об этих параметрах говорят слишком много и, тем более, я затрону WebRTC в одной из следующих статей, а именно как организовать подмену его в виртуальной машине с одним из мощных технических решений по антидетекту.
Но ссылку на статью для общего развития про WebRTC скину.
Flash
IP, сливающийся по Flash — нельзя пропускать. Сейчас у многих, конечно, установленного флеша уже нет на вашем десктоп-решении, но если есть и вы не хотите от него избавляться — то придется произвести следующие манипуляции:
Необходимо изменить файл mms.cfg (если Flash установлен на компьютере).
Если файла нет, то создать по пути:
Windows (32Bit): С:\Windows\System32\Macromed\Flash\
Windows (64Bit): C:\Windows\SysWOW64\Macromed\Flash\
И прописать в конце файла: DisableSockets=1
Но лучше его всё-таки снести, он практически нигде уже не нужен. Так как через него идет слив тех же плагинов.
Время
Смотрим на системное. Казалось бы, выставили время как у местолоположения прокси/ip и всё? Нет, этого недостаточно. Одни из технических моментов, которые вас сольют:
- Соответственно само время и совпадение с часовым поясом IP.
- У системного времени текст в скобках (Москва, стандартное время). Иногда происходит так, что там написано, к примеру, Саудовская Аравия (на одной из машин была такая проблема), хотя в настройках времени в Windows всё указано верно. Как мне кажется это связано с самой виндой и можно это изменить только сносом и переустановкой с другим образом. Все виртуальные машины, хостящиеся на ней, имели такую же проблему, как и Зеннопостер.
- Отклонение в секундах. Как вы видите разница между локальным и системным здесь 21 секунда. Как много может быть машин с таким же отклонением времени, заходящие подряд в аккаунты фейсбук? И тем более в одной подсети IP?
Язык
Язык, а именно доля от единицы (q=0,9 или 90%) у пользователя определяется по его истории и кукам. Чем больше значение — тем выше вероятность, что пользователь использует этот язык как свой родной.
Значение после прямой черты в Заголовке и JavaScript определяется по настройкам в браузере. (В Chrome: Настройки → Дополнительные → Языки → Язык).
До изменения настроек в Chrome:
После изменения настроек в Chrome:
Значение в скобках 100% будет разное у разных виртуалок с разной историей в браузере.
TCP/IP stack fingerprinting (Passive OS fingerprinting)
Насчет операционной системы обмусоливать ничего не буду, виртуалки это дело закрывают точно. Интересен здесь последний параметр, TCP/IP.
Что почитать по этому поводу:
https://www.netresec.com/index.ashx?page=Blog&month=2011-11&post=Passive-OS-Fingerprinting
Вкратце — значение MTU у проводного интернета и некоторых Wi-Fi модемов должно быть 1500 (максимальное значение).
У мобильных операторов 1400 или 1500 (бывает встречается меньше 1400, обычно кратно 10, как например 1380). У некоторых usb-модемов 1340-1380, тех же usb-модемов 1340.
Также текстовое значение (Windows NT kernel) выдает в вас пользователя не мобильным оператором, а десктопного интернета. У того же пользователя Android там будет как минимум текст про Linux 2.2.x-3.x и т.д. Иногда у некоторых (модем Мегафон) встречается надпись про VPN.
К чему я всё это? Если эмулируете мобильного пользователя, но сидите с модема — этот пункт сдаст вас с потрохами. Плохие поставщики услуг аренды VPN/Proxy, которые не заморачиваются с подобной настройкой безопасности — тоже «сдадут» этим пунктом. Причем проблему с числовым значением MTU они, может быть, закроют, но решения с текстовым значением есть мало у кого на рынке на данный момент.
Одно из решений: происходит эмуляция мобильного устройства — используйте мобильное устройство для раздачи интернета. С десктопа — естественно десктоп, модем, кабель.
DNS
Ничего страшного в DNS от гугла я не вижу (8.8.8.8 и 8.8.4.4), но на дистанции использовать только его на одной подсети — это уже подозрительная вещь для ИИ. Лучше, как по мне, использовать стандартные DNS вашей подсети:
- Выдает в вас менее опытного пользователя компьютера;
- Расстояние до DNS серверов ближе (у гугла ближайшие находятся в Финляндии);
- Разные подсети — разные DNS.
Навигатор
Необходимые для нас данные:
- hardwareConcurrency — количество ядер.
- deviceMemory — количество ГБ оперативы.
По моему мнению, не нужно их подменять, если они более менее стандартные (к примеру 4 и 4). Но если у вас машина на 32 гб оперативы — на дистанции это будет плохим знаком.
Тут в плане подмены я не смогу ничего подсказать (как минимум в этой статье на данный момент, так как использую для этого свои шаблоны). Но в одной из следующих статей думаю, что затрону.
Оставшиеся данные в подменю Навигатор — не имеют значения, виртуалка закрывает с ними проблему.
Плагины
Если хром — вам покажет более или менее стандартный набор из трех плагинов. Естественно, сайт их видит больше. Для этого вы должны иметь набор из ссылок на самые популярные 25-30 плагинов и каждый раз при настройке собственного антидетект-браузера устанавливать 2-3 плагина.
Местоположение
Не вижу смысла обсуждать местоположение, так как при правильной настройке IP местоположение будет завязано на нём.
Разрешение экрана и битность
Нет резона извращаться и использовать какие-то изжившие себя разрешения компьютера. Можете использовать стандартный и самый популярный 1366х768 и сильно не парится. Конечно на дистанции в 50-100 уже нужно что-нибудь поменять, но я не думаю что по этому параметру пойдет негатив от ИИ.
Статистика самых популярных разрешений:
https://www.w3counter.com/globalstats.php
http://gs.statcounter.com/screen-resolution-stats
Битность 24 — стандарт. И менять его смысла нет.
HTTP заголовки
Виртуалка так же закрывает проблему с ними.
Что будет во второй части статьи?
Я затрону AudioContext Fingerprint (отпечаток по звуковой карте) и как его обходить, отпечаток по шрифтам, SocialMedia Login Detection и т.д.
Автор статьи — Арбитраж от Гика