Выпуск Web-браузера Chrome 140 с поддержкой скрытия IP и блокировки скриптов

Компания Google опубликовала релиз web-браузера Chrome 140. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 141 запланирован на 30 сентября.

Основные изменения в Chrome 140:

  • Для усиления защиты от отслеживания перемещения между сайтами в режиме инкогнито реализована возможность скрытия сведений об IP-адресе пользователя в сторонних контекстах (например, для страниц, загружаемых через iframe). Скрытие применяется только для доменов, присутствующих в списке MDL (Masked Domain List), и реализовано через отправку запроса не напрямую, а через прокси-сервер Google. Соответственно, сайт увидит в качестве входящего IP-адреса адрес прокси, а не пользователя.
  • Для получения выборочной информации об IP-адресах пользователей при включении в браузере режима защиты IP-адресов, отправляющем запросы через транзитный прокси, реализован механизм PRT (Probabilistic Reveal Token). PRT подразумевает отправку заголовка с зашифрованным токеном, позволяющим получить случайную урезанную выборку реальных IP-адресов клиентов, обращавшихся к заданному домену, но не привязанных к конкретным запросам.
    Часть PRT-токенов содержит информацию о реальном IP, а часть нет, и определить содержимое токена можно только после истечения определённого времени, расшифровав их ключом, выданным Google после отдельного запроса. Подобная информация об IP-адресах может использоваться в системах защиты от мошенников и для анализа качества web-трафика.

  • В режиме инкогнито реализован механизм “Script Blocking“, выборочно блокирующий доступ к некоторым JavaScript API, которые можно использовать для скрытой идентификации пользователя. Например, как дополнительный признак для идентификации могут учитываться различия в отрисовке разными браузерами изображений через API Canvas. Блокировка осуществляется только для стороннего контента (например, встроенного на страницу через теги iframe или script) при выявлении активности, специфичной для скрытой идентификации и для доменов, уличённых в такой идентификации и занесённых в чёрный список MDL (Masked Domain List).
  • Включён режим OverrideDefaultOzonePlatformHintToAuto для автоматического выбор бэкенда в прослойке Ozone, абстрагирующей взаимодействие с графической подсистемой. Изменение позволяет адаптивно активировать Wayland-бэкенд на системах с поддержкой Wayland, не привязываясь по умолчанию с бэкенду X11.
  • Включена функция автоматической смены пароля, основанная на использовании AI. Если пароль присутствует в известных базах скомпрометированных учётных записей, то при попытке входа c данным паролем на сайт Chrome выведет предупреждение с предложением изменить пароль. При согласии браузер сгенерирует стойкий к подбору пароль, сменит пароль на сайте (сам заполнит и отправит нужные web-формы) и сохранит новый пароль в менеджере паролей.

  • Добавлена оптимизация DSE (Default Search Engine) Prewarming для ускорения открытия страницы с результатами поиска после выполнения запроса через адресную строку. При включении DSE Prewarming сразу после перехода фокуса ввода на адресую строку осуществляется пререндеринг макета страницы с результатами поиска и загрузка необходимых для этой страницы ресурсов. Загруженные ресурсы также используются для ускорения следующих запросов. Возможность пока активирована по умолчанию только для части пользователей.
  • Расширены средства автозаполнения форм, которые задействуют AI-модель для понимания web-формы и автоматического заполнения полей, отталкиваясь от того, как ранее пользователь заполнял похожие формы.
    Настройка “Autofill with AI” переименована в “Enhanced autofill”. В новой версии расширено число стран и языков, для которых доступна функция, а также добавлена поддержка дополнительных типов информации.
  • Для пользователей из США активирован встроенный в браузер чат-бот Gemini, который может пояснять содержимое просматриваемой страницы и отвечать на связанные со страницей вопросы, не переключаясь с текущей вкладки. Поддерживается текстовое и голосовое взаимодействие с Gemini.
    В дальнейшем планируется включения чат-бота и для пользователей из других стран.
  • Для всех пользователей включена возможность присоединения к уже созданным группам совместных вкладок, с которыми одновременно могут работать несколько пользователей. Поддержка создания групп пока доступна только для пользователей тестовых сборок (Beta/Dev/Canary), подразумевается, что они могут создать набор вкладок и поделиться им с другими пользователями, которые будут видеть те же вкладки на своих устройствах. В случае, если кто-то из участников поменяет вкладку в группе, изменение будет сразу отражено и на устройствах других пользователей.
  • Изменено оформление предупреждений, показываемых при попытке открытия сайта без HTTPS в случае выставления в настройках (chrome://settings/security) режима установки только безопасных соединений. Вместо вывода страницы с предупреждением реализован диалог, всплывающий под адресной строкой и блокирующий загрузку данных без шифрования до выбора действия пользователем.

  • В запросах, связанных с упреждающей загрузкой ресурсов или отрисовкой ( или ), обеспечена отправка HTTP-заголовка “Sec-Purpose”. Ранее применяемый для этих целей HTTP-заголовок “Purpose: prefetch” объявлен устаревшим, но пока не отключён по умолчанию для сохранения совместимости.
  • В API ToggleEvent добавлено свойство source, содержащее объект Element, представляющий элемент управления, инициировавший изменение состояния, в ответ на которое было сгенерировано событие Toggle. Например, когда пользователь кликнет на элемент “” с атрибутом “popovertarget” при открытии всплывающего окна будет сгенерировано событие ToggleEvent, свойство “source” в котором позволит понять какой элемент “” был нажат.
  • Добавлена возможность использования функций counter() и counters() внутри альтернативного текста в свойстве “content”.
  • В СSS-правиле “@font-face” реализована поддержка свойства font-variation-settings для настройки глифов в вариативных шрифтах (толщина линий, ширина символов, наклон символов и т.п.)
  • В инструментах для web-разработчиков расширены возможности, связанные с применением AI для отладки проблем с производительностью.
    Добавлена поддержка эмуляции поведения при использовании HTTP-заголовка “Save-Data“.

Кроме нововведений и исправления ошибок в новой версии устранены 6 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 4 премии на сумму 10 тысяч долларов США (по одной премии $5000, $4000 и $1000). Размер одного вознаграждения пока не определён.

Release. Ссылка here.