Цвет ссылок выдавал инфу о вас 20 лет. А вы думали — это просто дизайн?

Добро пожаловать на наш форум!

Спасибо за посещение нашего сообщества. Пожалуйста, зарегистрируйтесь или войдите, чтобы получить доступ ко всем функциям.


Gibby

Автор
Команда проекта

Регистрация
Сообщений
1,969
Репутация
53
Сделок
Даже самые неловкие интересы были на виду у тех, кому вы их не показывали

1.jpg

Компания Google наконец-то исправила давнюю уязвимость в браузере Chrome, которая позволяла сайтам отслеживать историю посещённых страниц пользователя. Речь идёт о механизме отображения ссылок — когда пользователь кликал на ссылку, она меняла цвет с синего на фиолетовый благодаря CSS-селектору «:visited». Это визуальное различие можно было использовать для создания сценариев, в которых сайты узнают, какие страницы человек открывал раньше.

Проблема была не просто теоретической. За последние годы исследователи продемонстрировали множество атак, связанных с этим механизмом. Среди них — тайминговые атаки, анализ изменения пикселей, взаимодействий с пользователем и даже атаки на уровне процессов. Всё это позволяло злоумышленникам извлекать сведения о поведении пользователя в браузере без его согласия.

В грядущей версии Chrome 136 компания Google внедрит механизм «тройной изоляции» базы посещённых ссылок. Теперь информация о том, что ссылка была посещена, будет сохраняться не глобально, а с учётом трёх параметров: самого URL, домена в адресной строке и источника фрейма, в котором отображается ссылка. Это означает, что сайт больше не сможет определить, была ли конкретная ссылка открыта на другом ресурсе — её статус «:visited» просто не сработает за пределами исходного контекста.

При этом Google сделала исключение для «внутренних ссылок»: если пользователь посетил одну страницу сайта, то на этом же сайте она будет отображаться как посещённая даже в том случае, если переход произошёл с другого ресурса. По мнению разработчиков, это не нарушает конфиденциальность, так как сам сайт и так знает, какие его страницы были открыты.

Инженеры компании решили не убирать поддержку селектора «:visited» полностью, поскольку он даёт важные визуальные подсказки и помогает в навигации. Также был отклонён вариант с системой разрешений, так как его легко обойти — или злоупотребить им, подталкивая пользователя к согласию на трекинг.

Функция изоляции «:visited» появилась в экспериментальном виде ещё в версии Chrome 132. Сейчас её можно включить вручную, перейдя по адресу «chrome://flags/partition-visited-link-database-with-self-links» и выбрав режим «enabled». Начиная с версии 136, технология должна быть активна по умолчанию, устраняя проблему, существовавшую почти два десятилетия.

В других браузерах ситуация пока менее надёжная. Firefox ограничивает стили для «:visited» и запрещает JavaScript считывать их, но не изолирует информацию по доменам. Safari использует агрессивные меры защиты конфиденциальности, в том числе систему Intelligent Tracking Prevention, но тоже не реализует полноценную изоляцию. Таким образом, компания Google стала первой, кто предложил полноценную архитектурную защиту от таких атак.

Эта мера закрывает одну из старейших лазеек в приватности браузеров и показывает, как долго даже очевидные проблемы могут оставаться неустранёнными из-за сложного баланса между удобством и безопасностью.
 
Сверху