
Когда веб-сайт хочет идентифицировать ваш браузер и тип компьютера или устройства, с которого вы просматриваете, он в первую очередь обращается к строке User Agent. В неожиданном шаге команда Google Chromium представила новое предложение, которое включает отказ от строки User Agent начиная с Chrome 81.
Проблемы конфиденциальности User Agent
В то время как веб-браузеры постепенно становились более ориентированными на конфиденциальность на протяжении многих лет, строка User Agent, настоящий реликт интернета, каким мы его знали, стала основным инструментом для составления «цифрового отпечатка» пользователя. По данным Google, до 90% веб-сайтов читают и используют User Agent вашего браузера в той или иной форме.
Достаточно взглянуть на страницу, которая интерпретирует вашу строку User Agent, чтобы понять последствия для конфиденциальности. Выбранный вами браузер, его версия, используемая операционная система, а в некоторых случаях и устройство, с которого вы осуществляете доступ, — все это раскрывается и легко передается любому веб-сайту, который запрашивает эту информацию.
Первоначальное намерение предоставления этой информации заключалось в том, чтобы серверы могли убедиться, что вы получаете страницу, оптимизированную для нужд вашего конкретного браузера. Если вы давний пользователь Интернета, вы, возможно, помните, что некоторые веб-сайты выглядели и вели себя по-разному в зависимости от того, использовали ли вы Internet Explorer, Firefox или Opera, поскольку каждый из них имел свой уникальный набор отсутствующих или поддерживаемых функций.
В настоящее время веб-браузеры гораздо более конкурентоспособны и прилагают все усилия, чтобы максимизировать количество функций, общих для них. Google, Apple, Mozilla и другие поставщики браузеров работают вместе над новыми веб-предложениями, чтобы обеспечить совместимость между браузерами, где это возможно. Теперь, когда существует меньше причин для совместимости, по которым сайту важно, используете ли вы Chrome или Firefox, строка User Agent приобрела новые, к сожалению, цели.
По умолчанию большинство браузеров, включая Chrome, блокируют многие способы, с помощью которых некоторые веб-сайты и реклама «создают цифровой отпечаток» для злонамеренного отслеживания вашего просмотра и таргетированной рекламы, даже в режиме инкогнито. Однако во многих случаях строка User Agent может предоставить более чем достаточно информации для уникальной идентификации вашего компьютера.
Хуже того, User-Agent иногда используется для дискриминации одного браузера по сравнению с другим, независимо от того, совместим ли этот браузер с веб-сайтом. Google, в частности, кажется, виновен в этом.
В прошлом месяце Vivaldi, еще один браузер, основанный на том же исходном коде Chromium, что и Google Chrome, начал подделывать свою строку User Agent , чтобы выглядеть как Chrome. Причиной этого были казалось бы необъяснимые ошибки, которые возникают только тогда, когда браузер идентифицирует себя как Vivaldi.
https://twitter.com/ruari/status/1205125779144740864?s=19
Отказаться и заморозить User Agent
Так в чем же решение? Ради сохранения работоспособности старых, неподдерживаемых веб-сайтов, строку User Agent нельзя просто удалить из Chrome. Сегодня, как заметил Оуэн Уильямс, Google публично представил подробное предложение, чтобы раз и навсегда пресечь злоупотребление строкой User Agent как в Chrome, так и в Интернете в целом.
Согласно предложению, первым шагом является отказ от метода «navigator.userAgent», используемого для доступа к строке User Agent, предполагаемый старт в марте с Chrome 81. Это изменение не будет иметь видимого эффекта для большинства пользователей, и веб-сайты будут продолжать работать совершенно нормально. Однако веб-разработчики получат явные предупреждения в консоли разработчика Chrome о том, что получение строки User Agent больше не является хорошей идеей.
Далее, с выходом Chrome 83 в июне, Google начнет замораживать, или останавливать обновление, строку User Agent при каждом обновлении Chrome. Одновременно Chrome также «унифицирует» информацию, передаваемую об операционной системе вашего устройства, например, это означает, что два компьютера с немного разными обновлениями Windows 10 будут иметь одинаковый User Agent. Это устранит еще один потенциальный метод составления «цифрового отпечатка».
Наконец, начиная с выпуска Chrome 85 в сентябре, каждый браузер Chrome, работающий на настольной операционной системе, такой как Windows, macOS или Linux, будет сообщать абсолютно одинаковую строку User Agent, исключая любое составление «цифрового отпечатка» по User Agent. Аналогично, Chrome 85 унифицирует User Agent на мобильных устройствах, хотя устройства, по-видимому, будут сгруппированы в одну из нескольких категорий на основе размера экрана.
Замена User Agent
То, что Google представил здесь, не обязательно является новой идеей. В предложении отмечается, что еще в 2017 году Apple пошла похожим путем с Safari, пытаясь полностью заморозить строку User Agent. Будучи очень ориентированным на конфиденциальность, это предложение не предоставляло альтернативного способа для разработчиков получить дополнительную информацию, которая им может понадобиться для обеспечения согласованного опыта на различных устройствах, и поэтому столкнулось с противодействием со стороны веб-разработчиков.
Вторая часть предложения Google заключается во внесении разумного компромисса, чтобы предоставить веб-разработчикам необходимую информацию, при этом уважая конфиденциальность пользователя. *До* отказа от строки User Agent Chrome представит новую функцию под названием User Agent Client Hints или UA-CH.
Проще говоря, UA-CH предоставит всю ту же информацию, которую предоставляет строка User Agent сегодня, но каждая часть данных должна быть явно запрошена и одобрена браузером. На начальном этапе никакой защиты этой информации нет, но браузеру будет легко обнаруживать и блокировать любые ненужные запросы UA-CH.
Собирая все вместе
Несомненно, это шаг Google в пользу конфиденциальности, который должен привести к тому, что веб-сайты будут получать меньше информации о «цифровом отпечатке» вашего браузера. Многие сайты смогут обойтись только унифицированной строкой User Agent, в то время как более сложные веб-сайты смогут получать только необходимую им информацию, не раскрывая ее всему миру.
Если предложения по отказу от строки User Agent и внедрению UA-CH будут приняты в их нынешнем виде, мы должны скоро увидеть первые результаты, поскольку Chrome 81 уже доступен в Canary и планируется к выпуску в марте этого года.