22.04.2024

Выпуск web-браузера Chrome 123

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

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

  • На странице, показываемой при открытии новой вкладки, предложена новая секция, в которой отображаются ссылки из вкладок, недавно открытых на других устройствах, привязанных к одной учётной записи в Google.
  • Добавлена поддержка кодирования контента при помощи алгоритма сжатия Zstandard (zstd), помимо ранее поддерживаемых алгоритмов gzip, brotli и deflate.
  • Удалена реализация свободного видеокодека Theora, созданного организацией Xiph.org Foundation на основе кодека VP3 и поддерживаемого в Firefox и Chrome c 2009 года, но не поддерживаемый в Chrome для Android и в браузерах на базе WebKit, таких как Safari. В качестве причины прекращения поддержки Theora упоминаются опасения, что в реализации Theora, в которой имеется достаточно сложная логика разбора бинарных данных и декодирования потоков, могут присутствовать уязвимости, похожие на недавние критические проблемы с кодировщиком VP8. По мнению разработчиков из-за участившихся 0-day атак на медиакодеки, связанные с безопасностью риски перекрывают уровень востребованности кодека Theora, который почти не используется на практике, но остаётся значительной целью для потенциальных атак.
  • Продолжено постепенное наращивание процента пользователей для которых отключена поддержка сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики. Изменения продвигаются в рамках инициативы Privacy Sandbox, нацеленной на достижение компромисса между потребностью пользователей сохранить конфиденциальность и желанием рекламных сетей и сайтов отслеживать предпочтения посетителей. Отключение сторонних Cookie планируют постепенно расширять и в 3 квартале 2024 года довести до 100%. Для отключения не дожидаясь внешних изменений предусмотрена настройка «chrome://flags/#test-third-party-cookie-phaseout».
  • Для небольшого процента пользователей из США включена поддержка возможностей, использующих машинное обучение — режима умной группировки вкладок, генератора тем оформления и интерактивного помощника, о которых было рассказано в анонсе выпуска Chrome 121. Для систем с централизованным управлением конфигурацией, администратор может включить AI-инструменты на уровне политик, без необходимости включения экспериментального режима.
  • В сервисе синхронизации настроек, истории и закладок (Chrome Sync) прекращена поддержка выпусков до версии Chrome 82.
  • При включении расширенной защиты браузера (Safe Browsing > Enhanced protection) реализована отправка в Google сведений с информацией о выводе сайтами запросов расширенных полномочий (подобные страницы проверяются по внешней базе вредоносного содержимого и в случае пересечения пользователю сразу показывается предупреждение). Также включена отправка телеметрии об отмене пользователем предупреждений, показываемых перед открытием страниц, занесённых Google в чёрный список.
  • Google опубликовал статью с пояснением методов, используемых для проверки в Google безопасности открываемых пользователем страниц. Для сохранения конфиденциальности при проверке открываемых пользователем URL на сторону Google передаются не полные хэши от URL, а лишь префикс с первыми 4 байтами хэша. На сервере данный префикс проверяется в базе вредоносных страниц и в случае наличия совпадения список соответствующих префиксу полных хэшей возвращается в браузер пользователя, на стороне которого уже осуществляется финальная сверка с полным 32-байтовым хэшем URL. Для исключения сопоставления запроса с IP-адресом пользователя префикс хэша вначале направляется на промежуточный прокси, который от своего имени передаёт запрос на сервер системы Safe Browsing.
  • Реализован вывод предупреждений в консоли инструментов для web-разработчика при отправке страницей запроса во внутреннюю сеть (192.168.x.x, 10.x.x.x и т.п.), если подобные запросы выполнены вне безопасного контекста и не прошли упреждающую проверку. Перед фактической отправкой инициированного сайтом запроса к ресурсу во внутренней сети, браузер вначале отправит упреждающий тестовый запрос и проверит, возвращён ли сервером HTTP-заголовок «Access-Control-Allow-Private-Network: true», разрешающий доступ к интранет сети. Если доступ не разрешён имеет место попытка нецелевого обращения к внутреннему сервису, что может быть свидетельством попытки осуществления атаки через браузер на ресурсы в локальной сети (например, атакующий может подставить в iframe запрос к web-интерфейсу домашнего маршрутизатора, типа «‹iframe href=»https://admin:admin@router.local/set_dns?server1=1.2.3.4″›‹/iframe›»). В выпуске Chrome 130 предупреждение планируют заменить на вывод ошибки и блокирование не прошедших проверку запросов.
  • В Chrome для Android и iOS добавлена возможность продолжения просмотра сайтов, ранее открытых на других устройствах, прикреплённых к той же учётной записи в Google.
  • В Chrome для Android изменён метод хранения локальных паролей, которые не синхронизируются с другими устройствами. Ранее локальные пароли хранились в профиле Chrome, а теперь будуд перенесены в хранилище паролей, предоставляемое сервисами Google Play, которое уже используется для хранения пароля к учётной записи в Google. В Chrome 123 новый режим хранения задействован для пользователей без локальных паролей, а в версии Chrome 124 будет применён и к пользователям с локальными паролями.
  • Добавлен API для статической маршрутизации ServiceWorker-ов (Service Worker Static Routing), который позволяет исключить выполнение JavaScript и перехваты ServiceWorker-ами при запросе ресурсов, соответствующих заданным условиям. Иными словами, API позволяет определить как следует загружать определённые ресурсы и отключить вызов ServiceWorker-а для ресурсов, которые можно извлечь из кэша или загрузить напрямую. В качестве признаков для принятия решения могут использоваться шаблоны URL, методы запроса, тип контента (document, embed, font, video и т.п.) и статус выполнения («running», «not-running»). Например, для отправки post-запроса с данными web-формы напрямую, без вызова ServiceWorker-а, можно указать:
     addEventListener('install', (event) => { event.addRoutes({ condition: { urlPattern: "/form/*", requestMethod: "post" }, source: "network" });
    });
    
  • В CSS добавлена новая функция light-dark() для адаптации цветовой схемы к настройкам светлого или тёмного режима — в функции можно указать два значения, которые будут выбраны в зависимости от светлого или тёмного режима. Например «background-color: light-dark(lime, green);».
  • Добавлен API Long Animation Frames для диагностики отзывчивости интерфейса сайта и выявления узких мест при отрисовке.
  • В медиазапрос «display-mode» добавлена поддержка значения «picture-in-picture», позволяющего создавать CSS-правила, применимые только при показе web-приложения в режиме «картинка в картинке».
     @media all and (display-mode: picture-in-picture) { body { margin: 0; } h1 { font-size: 0.8em; } }
    
  • В CSS-свойстве «align-content» реализована возможность работы с блочными контейнерами и ячейками таблиц. Например «display: block», «display: list-item», «display: table-cell» теперь могут быть выровнены при помощи «align-content».
  • Добавлено CSS-свойство «field-sizing», позволяющее сделать размер элементов формы зависимым от их содержимого, например, для автоматического увеличения размера текстового поля по мере ввода данных.
  • В JavaScript-интерфейс NavigationActivation добавлен параметр navigation.activation, который отражает состояние активации документа (например, можно определить, что документ восстановлен из кэша после нажатия кнопок навигации «вперёд» или «назад»). Параметр может использоваться для настройки содержимого страницы в зависимости от того, от куда на неё попал пользователь, например, может показываться другая анимация, если пользователь пришёл в домашней страницы.
  • Внесены улучшения в инструменты для web-разработчиков.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=60813 Источник.