Session Context: сайт, показывающий, что о вас знает браузер
Проект Session Context (sessioncontext.org) — это не статья, а работающая иллюстрация: страница в реальном времени показывает, что ей удалось выяснить о зашедшем пользователе, и подчёркивает главное — ничего из этого не требовало согласия. Выводы появляются сами собой, как только завершается последний проход сбора данных.
Что читается без единого запроса
Сайт разбивает собранное на несколько групп: параметры браузера, экрана и документа; хранилище, сеть и устройства; отпечатки графики, звука и производительности; и, наконец, сведение всего этого к единому идентификатору. Отдельно демонстрируется, что часть данных браузер отправляет сам, с каждым запросом, ещё до того как выполнится хоть одна строка JavaScript, — заголовки, язык, поддерживаемые форматы сжатия. Блокировка скриптов этого не остановит.
Есть и интерактивный опыт: посетителю предлагают дважды набрать фразу «the quick brown fox…», после чего страница по ритму нажатий (а не по самому тексту) определяет, тот ли человек снова за клавиатурой.
Арифметика энтропии
Авторы честно отказываются сообщать, что вы «один из 286 777»: для такой оценки понадобилась бы база данных других посетителей — а хранить её значило бы стать именно тем, против чего страница выступает. Вместо этого приводятся результаты исследований (Laperdrix, Rudametkin, Baudry, IEEE S&P 2016, 118 934 браузера; Eckersley, PETS 2010). Показано, сколько бит энтропии даёт каждый сигнал и как ситуация изменилась: список плагинов, некогда сильнейший признак (11,1 бита), сегодня почти бесполезен, потому что браузеры его заморозили; отрисовка canvas (8,3 бита) по-прежнему держится, а Chrome, в отличие от Firefox и Safari, так и не добавил рандомизацию.
При этом делается важная оговорка: складывать биты можно лишь для независимых сигналов, а они сильно коррелируют — машина с Retina-экраном вероятнее сообщит и об Apple-шрифтах, и об Apple-чипе. Наивная сумма в 63 бита («один браузер на 7 квинтиллионов») названа абсурдной именно как предостережение.
Разрешения, которые не вернуть
Отдельный блок посвящён возможностям, которые всё-таки спрашивают согласия: точная геолокация, камера и микрофон, содержимое буфера обмена, подключённые мониторы, установленные шрифты и приложения. По каждому пункту показана «дистанция» между тем, что страница уже вычислила без спроса, и тем, что откроется после нажатия «Разрешить».
Финал особенно отрезвляет. Один идентификатор страница записывает сразу в семь мест на устройстве, а сервер добавляет восьмой — в кэш браузера. Смысл дублирования в том, что очистка одной копии не трогает остальные, и уцелевшая при следующем визите восстановит стёртые. А метод permissions.revoke() из браузеров давно убрали и не заменили: отозвать однажды выданное разрешение может только сам браузер, через настройки сайта.
Источник: Lobsters
Комментарии
Войдите, чтобы комментировать.