|
Компания Google опубликовала релиз web-браузера Chrome 145. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 146 запланирован на 10 марта.
Основные изменения в Chrome 145:
- Добавлена поддержка формата изображений JPEG XL, для декодирования которого задействована библиотека jxl-rs с реализацией JPEG-XL на языке Rust. Поддержка JPEG XL пока отключена по умолчанию и требует активации параметра "chrome://flags/#enable-jxl-image-format".
- Продолжено развитие AI-режима, позволяющего взаимодействовать с AI-агентом из адресной строки или со страницы, показываемой при открытии новой вкладки. AI-режим даёт возможность задавать сложные вопросы на естественном языке и получать ответы на основе агрегирования информации из наиболее релевантных страниц на заданную тему. При необходимости пользователь может уточнять информацию наводящими вопросами. Режим также позволяет задавать вопросы о содержимом страницы прямо из адресной строки. В Chrome 145 AI-режим реализован в версиях для платформ Android и iOS. Для пользователей из Канады, Индии и Новой Зеландии началось включение по умолчанию
чат-бота Gemini (при использовании английского языка).
- Добавлен механизм DBSC (Device Bound Session Credentials), позволяющий привязать сеанс аутентификации на сайте к определённому устройству для усложнения совершения с других систем атак с использованием перехваченных сессионных Cookie. Для создания привязанного к устройству сеанса предложен HTTP-заголовок
"Secure-Session-Registration". Метод защиты сводится к предоставлению пары криптографических ключей, привязанных к текущему устройству, генерируемых при подключении и сохраняемых в TPM (Trusted Platform Module). В сеансе используются Cookie с небольшим временем жизни, которые периодически обновляются с использованием закрытого ключа и могут быть проверены открытым ключом.
- Убран параметр, позволявший отключить блокировку принудительно установленных браузерных дополнений, в которых выявлены несущественные нарушения правил каталога Chrome Web Store. К несущественным нарушениям причисляется наличие потенциальных уязвимостей, навязывание дополнения без ведома пользователя, манипуляции с метаданными, нарушение правил работы с пользовательскими данными и введение в заблуждение о функциональности.
- В версии для платформы Android при активации режима расширенной защиты (AAPM, Android Advanced Protection Mode) отключён Javascript API WebGPU. Сайты, использующие WebGPU для отрисовки 3D-контента (например, Google Maps), могут использовать более медленные альтернативы, такие как WebGL (в тестах на 5.78% медленнее). Для определения отключения WebGPU можно использовать свойство navigator.gpu.
- В версии для Android при включении режима расширенной защиты браузера (Enhanced Safe Browsing) реализован локальный анализ внешнего вида страниц на предмет наличия признаков мошенничества. Если локальная проверка выявила подозрения на сомнительный контент, то выполняется дополнительная проверка на серверах Google и в случае подтверждения выводится предупреждение пользователю.
- Добавлен API Origin, предоставляющий объект Origin, реализующий концепцию Web Origin и предлагающий методы для сравнения, сериализации и разбора Web Origin. Термин "Web Origin" определён в RFC 6454 для разделения границ изоляции и доверия к контенту. Web Origin охватывает часть URL с названием протокола, именем хоста и номером порта (например, https://opennet.ru). Новый API введён для унификации операций с Web Origin для исключения уязвимостей из-за некорректных сравнений сериализированных ASCII-представлений Web Origin при определении принадлежности ресурсов к одному сайту.
- Разделены права доступа к локальной системе при взаимодействии с публичными сайтами. Обращения с сайта к IP-адресам локальной сети (интранет или внутренние адреса) и loopback-интерфейсу (127.0.0.0/8) теперь обрабатываются с использованием разных полномочий (local-network и loopback-network), требующих от пользователя подтверждения операции в специальном диалоге. Под действия защиты попадают попытки загрузки ресурсов, запросы fetch() и iframe-вставки. Обращение к внутренним ресурсам используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Кроме того, сканирование внутренних ресурсов может использоваться для косвенной идентификации или сбора сведений о локальной сети.
- Убрана настройка UserAgentReduction, позволявшая вернуть передачу неурезанной информации в HTTP-заголовке User-Agent и JavaScript параметрах navigator.userAgent, navigator.appVersion и navigator.platform. Брузер теперь всегда передаёт сокращённый вариант User-Agent без детальной информации о платформе (например, "Android 16; S" вместо "Android 16; SM-A205U").
- Во встроенный PDF-просмотрщик добавлена возможность сохранения документа в облачное хранилище Google Drive. В Google Drive документы из Chrome сохраняются в папке "Saved from Chrome".
- API LayoutShift, позволяющий отслеживать изменение позиции элементов DOM на экране, переведён на вывод информации в CSS-пикселях вместо экранных пикселей.
CSS-пиксель учитывает DPI экрана и визуально одинаков на любых экранах, в том числе на мониторах с высокой плотностью пикселей. Изменение выполнено для приведения Chrome к поведению других браузеров.
- Для API Controlled Frame реализован метод WebRequest.SecurityInfo, позволяющий web-приложению перехватить HTTPS, WSS или WebTransport запрос на сервер, получить слепок сертификата сервера и использовать его для ручной верификации сертификата, использованного при прямом соединении с этим же сервером по TCP/UDP.
- Добавлена поддержка CSS-свойств column-wrap и column-height, определённых в спецификации CSS Multi-column Layout 2. Свойство column-wrap позволяет перемещать колонки на новую строку вместо горизонтальной прокрутки, если колонки не умещаются по высоте, заданной через свойство column-height.
- Добавлено CSS-свойство text-justify, позволяющее определить тип выравнивания текста при использовании "text-align: justify";
- В CSS-свойствах letter-spacing и word-spacing разрешено указание размера отступа в процентах.
- В JavaScript-объектах Map и WeakMap реализована спецификация "upsert", упрощающая работу с коллекциями пар ключ/значение. Добавлены методы getOrInsert и getOrInsertComputed, возвращающие уже имеющееся в коллекции значение, ассоциированное с указанными ключом, или создающие новую запись, если ключа не нашлось.
- Реализация API IndexedDB переписана с использованием СУБД SQLite в качестве бэкенда (прошлая реализация основывалась на LevelDB в отдельных файлах). Новый вариант пока используется только в контекстах, размещаемых в оперативной памяти, например, применяется в режиме инкогнито.
- Внесены улучшения в инструменты для web-разработчиков.
В интерфейсе инспектирования сети в панели "Request conditions" включена по умолчанию возможность ограничивать скорость отдельных сетевых запросов.
Кроме нововведений и исправления ошибок в новой версии устранено 11 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google учредила 11 премий и выплатила 18.5 тысяч долларов США (по одной премии в $8000, $5000, $2000 и $500, три премии по $1000). Размер 4 вознаграждений пока не определён.
|