Блог
Что Amazon читает у вас, кроме куки
Команда ARMANOS7 мин
Куки это одна строка из многих
Куки это строка, которую сайт положил вам в браузер и просит показать при следующем визите. Стереть её легко, и сайт правда теряет метку, которую сам же и выдал, а вместе с ней и вход в аккаунт.
Машина под браузером при этом остаётся прежней, и страница читает её описание заново при каждом открытии. Чистые куки при старой машине это тоже сочетание, и для Amazon оно заметное: та же машина вернулась без своей метки.
Что страница берёт без вашего согласия
Ни одна из этих величин не спрашивает разрешения: браузер отдаёт их любому скрипту на странице. Девять групп ниже площадка успевает прочитать до того, как вы нажали «войти», и на это ей хватает первой секунды загрузки.
Сами по себе они обычные, и любая из них встречается у миллионов машин. Опасно не отдельное значение, а то, как они сходятся между собой, и сходятся ли вообще.
| Что площадка спрашивает | Что она получает |
|---|---|
| Рисунок WebGL | Пиксели, разные у каждой машины |
| Часы и язык | Пояс, язык, календарь, разделители |
| Шрифты | Какие семейства стоят именно у вас |
| Приборы ввода и вывода | Есть ли камеры, микрофоны и колонки |
| Голоса синтеза речи | Набор голосов под заявленный язык |
| Связь | Скорость, задержка и вид подключения |
| Память | Предел кучи браузера ступенью |
| Снимок через WebGPU | Тот же рисунок другой дорогой |
| Поля связи Android | type, downlinkMax, ontypechange |
Шрифты отличают вас точнее адреса
Страница мерит ширину строки в нужном шрифте и по ответу понимает, стоит он у вас или нет. Перебрать сотню имён она успевает за доли секунды, и спрашивать вас для этого не нужно: ширина строки разрешения не требует.
У профиля Windows 14 шрифтов стоят всегда, а каждый из 18 необязательных приходит по своему жребию с порогом 55 из 100, то есть чуть чаще, чем через раз. На macOS это 15 и 20, на Linux 21 и 17, и два одинаковых списка встречаются реже, чем кажется.
Связь описывается тремя согласованными числами
Скорость связи страница читает тремя числами: задержка, скорость и вид связи. Настольный профиль отвечает задержкой от 50 до 200 миллисекунд и скоростью от 5 до 10 мегабит, а телефонный задержкой от 100 до 300 и скоростью от полутора до восьми.
Вид связи при этом не выпадает жребием, а выводится из задержки по порогам, снятым из исходного кода самого браузера: до 272 миллисекунд это 4g, дальше 3g, от 1420 это 2g. Пара «4g при задержке 300» у настоящего браузера не встречается, и у профиля её не будет.
Числа берутся из зерна профиля и не меняются между запусками, сколько бы раз вы ни открыли окно. Связь, которая у одного профиля утром быстрая, а вечером медленная в десять раз, была бы приметой сама по себе.
| Поле связи | Настольный профиль | Телефонный профиль |
|---|---|---|
| Задержка, мс | 50, 100, 150 или 200 | 100, 150, 200, 250 или 300 |
| Скорость, Мбит/с | от 5 до 10 | от 1,5 до 8 |
| Вид связи | 4g | 4g, а при 300 мс 3g |
Память браузер называет ступенью
Точного числа памяти браузер странице не говорит: он кладёт его на одну из ста ступеней между 10 МБ и 4 ГБ, и ступени эти у всех одинаковые. Верхняя ступень при этом 3 760 000 000, и ровно четырёх гигабайтов страница не видит никогда.
Значит точное число там, где у всех стоит ступень, выделяет вас сильнее любой из самих ступеней. Это тот случай, когда округление помогает вам, а точность вредит, и профиль кладёт своё число ровно на ту ступень, что и настоящий браузер.
Ядра и память идут за видеокартой
Имя видеокарты, число ядер и объём памяти площадка спрашивает по отдельности, а сверяет вместе. Старое встроенное видео рядом с шестнадцатью ядрами это пара, которой в ноутбуках не бывает, и площадке с таблицей железа она видна сразу.
Поэтому в вашем профиле ядра и память следуют за названной видеокартой, а не выпадают отдельным жребием, и менять их порознь вам не приходится. У каждого класса карт свой набор, и согласование срабатывает при сохранении правок: карту, которой в наборе нет, согласовывать не с чем.
Голоса синтеза говорят на языке профиля
Список голосов для чтения вслух страница тоже читает, и он называет язык машины не хуже часов, потому что голоса ставятся вместе с системой под её язык. Голоса профиля берутся по его основному языку, первому в списке языков браузера: у профиля с немецким языком нет русских голосов, а у русского нет немецких.
На встроенном движке имена этих голосов при этом идут на языке вашего компьютера: это ресурсы самой программы, один язык на все профили. ARMANOS Browser на macOS называет их на языке профиля.
Автопроверка отпечатка внутри программы (меню профиля > Проверить отпечаток) считает чужие голоса отдельной строкой «Голоса только на языке профиля»: список, в котором есть голос не на языке профиля, красит её красным.
Amazon считает и ваши действия
Читает площадка не только браузер: в счёт идёт и то, что вы делаете за сутки, и с чем сравнить у неё есть. Новые товары, правки товаров, ответы покупателям и запросы отзывов она ждёт в обычном для продавца темпе.
Сценарий использования «Электронная коммерция» вашего профиля держит дневные потолки заранее, а Amazon, eBay, Etsy, Walmart, Shopify, WooCommerce и BigCommerce перечислены в нём поимённо. Потолки это подсказка в числах: считает программа только открытые страницы, а решение остаётся вам.
| Что вы делаете за сутки | Потолок |
|---|---|
| Новые товары | 10 |
| Правки товаров | 40 |
| Ответы покупателям | 30 |
| Запросы отзывов | 40 |
| Смены аккаунта | 2 |
Окно шире экрана выдаёт профиль
Экран и окно ваш браузер называет двумя обычными числами, и страница читает оба в одну строку. Окно шире объявленного экрана описывает машину, которой не бывает, и для этого площадке не нужен ни один скрипт сложнее двух чисел.
На наборе из 900 профилей развёрнутое окно не помещалось в объявленный экран примерно у шести профилей из десяти, и это замер для монитора 1920 на 1080. Разных экранов в наборе было 18, и профиль держит окно внутри объявленного экрана сам.
Как прочитать это у себя за вечер
Всё названное выше видно из окна браузера, и ставить для этого ничего не нужно ни на машину, ни в профиль. Самопроверка внутри программы снимает до 37 показаний в настоящем браузере, но первые шаги вы сделаете и без неё.
Начните с самого дешёвого: часы, язык, экран, окно. Дальше идут шрифты, память и видеокарта, и там расхождения встречаются чаще всего, потому что эти ответы человек правит руками.
- 1
Откройте бесплатную проверку
Она читает 12 значений прямо в окне и никуда их не отправляет.
- 2
Сравните два своих профиля
Те, что должны остаться чужими, обязаны разойтись хотя бы экраном и шрифтами.
- 3
Посмотрите на память и карту
Точное число памяти рядом с чужими ядрами это сочетание, которого не бывает.
- 4
Сосчитайте свои действия за сутки
Темп продавца площадка ведёт сама, и резкий скачок виден ей раньше всего.
Чего это не утверждает
- Это не полный список того, что читает Amazon. Названы девять групп, которые вы можете проверить сами, а свой список не публикует ни одна площадка.
- Это не утверждает, что сошедшиеся ответы делают аккаунт безопасным. Поведение, платёжные данные и история жалоб остаются вашими, и браузер их не меняет.
- Порядок групп ничего не говорит об их весе. Что площадка считает важнее, она не называет, и вывести это снаружи нельзя.
- Числа шрифтов и дневных потолков описывают сегодняшний набор. Площадки двигают свои правила, и набор идёт за ними.
Где это можно увидеть самому
Каждое число выше выходит из кода, который можно открыть и запустить.
- Девять групп ответов выводятся из собранного дерева движка
- packages/shared/src/index.js · apps/desktop/test/опись-умений-снимается.js
- Список шрифтов у каждого профиля свой и не меняется между запусками
- apps/desktop/test/fingerprint-consistency.js
- Сто ступеней памяти сходятся с движком до единицы
- packages/shared/src/index.js · packages/shared/test/ступени-памяти-как-у-движка.js
- Ядра и память не расходятся с названной видеокартой
- apps/desktop/test/fingerprint-consistency.js
- Дневные потолки сценария «Электронная коммерция» лежат одной строкой
- packages/shared/src/index.js
- Показания снимаются в настоящем браузере, а не разбором правил
- apps/desktop/test/audit-on-builtin.js
- Окно профиля не открывается шире объявленного экрана
- apps/desktop/test/окно-не-шире-экрана.js
Вопросы
- Я чищу куки после каждого входа, этого мало?
- Куки это одна строка из многих. Машина под браузером после чистки остаётся прежней, и по ней вас узнают так же, как вчера.
- Режим инкогнито закрывает это?
- Он забывает куки при закрытии окна и не трогает ни шрифты, ни память, ни видеокарту, ни часы. Большая часть ответов остаётся на месте.
- Разве смена User-Agent не решает вопрос?
- Это одно поле из многих. Подмена одного поля чаще создаёт новое расхождение, чем закрывает старое.
- Прокси меняет что-нибудь из этого?
- Адрес приходит со стороны, а шрифты, память и видеокарта рождаются на машине перед вами. Прокси закрывает одну величину и не трогает остальные.
- Сколько аккаунтов Amazon тянет один компьютер?
- Предел ставит не компьютер, а сходство профилей между собой и ваш темп за сутки. Когда экран, шрифты и память расходятся, вопрос становится другим: насколько они непохожи.
Рядом с этим
Аккаунты Amazon
Дневные потолки, первая неделя и цена смены аккаунта.
Отпечаток по шрифтам
Как страница перебирает имена и что показывает ответ.
Окно шире объявленного экрана
Откуда здесь 900 профилей, 18 экранов и эта доля.
Бесплатная проверка отпечатка
12 значений, прочитанных в вашем браузере, и ни одного запроса наружу.
Посмотрите, что отвечает ваш браузер
Проверка читает 12 значений в окне и никуда их не отправляет.