Компания 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 Prewarming (Default Search Engine Prewarming) для ускорения открытия страницы с результатами поиска после выполнения запроса через адресную строку. При включении DSE Prewarming сразу после перехода фокуса ввода на адресую строку осуществляется пререндеринг макета страницы с результатами поиска и загрузка необходимых для этой страницы ресурсов. Загруженные ресурсы также используются для ускорения следующих запросов. Возможность пока активирована по умолчанию только для части пользователей.
- Расширены средства автозаполнения форм, которые задействуют AI-модель для понимания web-формы и автоматического заполнения полей, отталкиваясь от того, как ранее пользователь заполнял похожие формы.
Настройка "Autofill with AI" переименована в "Enhanced autofill". В новой версии расширено число стран и языков, для которых доступна функция, а также добавлена поддержка дополнительных типов информации.
- Для пользователей из США активирован встроенный в браузер чат-бот Gemini, который может пояснять содержимое просматриваемой страницы и отвечать на связанные со страницей вопросы, не переключаясь с текущей вкладки. Поддерживается текстовое и голосовое взаимодействие с Gemini.
В дальнейшем планируется включения чат-бота и для пользователей из других стран.
- Для всех пользователей включена возможность присоединения к уже созданным группам совместных вкладок, с которыми одновременно могут работать несколько пользователей. Поддержка создания групп пока доступна только для пользователей тестовых сборок (Beta/Dev/Canary), подразумевается, что они могут создать набор вкладок и поделиться им с другими пользователями, которые будут видеть те же вкладки на своих устройствах. В случае, если кто-то из участников поменяет вкладку в группе, изменение будет сразу отражено и на устройствах других пользователей.
- Изменено оформление предупреждений, показываемых при попытке открытия сайта без HTTPS в случае выставления в настройках (chrome://settings/security) режима установки только безопасных соединений. Вместо вывода страницы с предупреждением реализован диалог, всплывающий под адресной строкой и блокирующий загрузку данных без шифрования до выбора действия пользователем.
- В запросах, связанных с упреждающей загрузкой ресурсов или отрисовкой (<link rel=prefetch> или <link rel=prerender>), обеспечена отправка HTTP-заголовка "Sec-Purpose". Ранее применяемый для этих целей HTTP-заголовок "Purpose: prefetch" объявлен устаревшим, но пока не отключён по умолчанию для сохранения совместимости.
- В API ToggleEvent добавлено свойство source, содержащее объект Element, представляющий элемент управления, инициировавший изменение состояния, в ответ на которое было сгенерировано событие Toggle. Например, когда пользователь кликнет на элемент "<button>" с атрибутом "popovertarget" при открытии всплывающего окна будет сгенерировано событие ToggleEvent, свойство "source" в котором позволит понять какой элемент "<button>" был нажат.
- Добавлена возможность использования функций counter() и counters() внутри альтернативного текста в свойстве "content" (например, 'content: "Chapter" counter(chapter);').
- Добавлено CSS-свойство "caret-animation", позволяющее управлять анимацией изменения курсора в полях ввода (например, мигание курсора можно заменить на собственную анимацию). Также добавлены свойства animation-timing-function,
animation-iteration-count,
animation-direction и animation-play-state для управления переходными анимационными эффектами.
- В СSS-правиле "@font-face" реализована поддержка свойства font-variation-settings для настройки глифов в вариативных шрифтах (толщина линий, ширина символов, наклон символов и т.п.)
- В CSS добавлена поддержка типизированной арифметики, позволяющей использовать такие выражения, как "calc(10em / 1px)" и "calc(20% / 0.5em * 1px)".
- Добавлены методы Uint8Array.prototype.toBase64, Uint8Array.prototype.toHex, Uint8Array.fromBase64 и Uint8Array.fromHex для преобразования между Uint8Array и данными в формате base64 или шестнадцатеричным представлением.
- В инструментах для web-разработчиков расширены возможности, связанные с применением AI для отладки проблем с производительностью.
Добавлена поддержка эмуляции поведения при использовании HTTP-заголовка "Save-Data".
Кроме нововведений и исправления ошибок в новой версии устранены 6 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 4 премии на сумму 10 тысяч долларов США (по одной премии $5000, $4000 и $1000). Размер одного вознаграждения пока не определён.
|