Chrome Release 98

Google Chrome 98 веб-браузеринин релизинин бет ачарын өткөрдү. Ошол эле учурда Chrome'дун негизи болгон акысыз Chromium долбоорунун туруктуу релизи бар. Chrome браузери Google логотиптерин колдонуу, бузулуу учурунда эскертмелерди жөнөтүү тутумунун, көчүрмөлөөдөн корголгон видео контентти (DRM) ойнотуу үчүн модулдардын, жаңыртууларды автоматтык түрдө орнотуу тутумунун жана RLZ параметрлерин жөнөтүү системасы менен айырмаланат. издөө. Кийинки Chrome 99 релизинин чыгышы 1-мартка пландаштырылган.

Chrome 98деги негизги өзгөрүүлөр:

  • В браузер встроено собственное хранилище корневых сертификатов удостоверяющих центров (Chrome Root Store), которое будет использоваться вместо внешних хранилищ, специфичных для каждой операционной системы. Хранилище реализовано по аналогии с независимым хранилищем корневых сертификатов в Firefox, используемом в качестве первого звена для проверки цепочки доверия сертификатов при открытии сайтов по HTTPS. Новое хранилище пока не используется по умолчанию. Для упрощения перевода конфигураций, завязанных на системные хранилища, и для обеспечения переносимости, какое-то время будет действовать переходный период, в течение которого в Chrome Root Store будет включена полная подборка сертификатов, одобренных на большинстве поддерживаемых платформ.
  • Продолжается реализация плана по усилению защиты от атак, связанных с обращением к ресурсам в локальной сети или на компьютере пользователя (localhost) из скриптов, загружаемых при открытии сайта. Подобные запросы используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети.

    Для защиты от подобных атак в случае обращения к любым субресурсам во внутренней сети, браузер начнёт отправлять явный запрос полномочия загрузки подобных субресурсов. Запрос полномочий осуществляется через отправку на сервер основного сайта запроса CORS (Cross-Origin Resource Sharing) с заголовком «Access-Control-Request-Private-Network: true», перед обращением ко внутренней сети или к localhost. При подтверждении операции в ответ на данный запрос сервер должен вернуть заголовок «Access-Control-Allow-Private-Network: true». В Chrome 98 проверка реализована в тестовом режиме и в случае отсутствия подтверждения в web-консоли отображается предупреждение, но сам запрос субресурса не блокируется. Блокировку планируется включить не раньше выпуска Chrome 101.

  • В настройки учётной записи интегрированы средства для управления включением расширенного режима защиты от опасных сайтов (Enhanced Safe Browsing), в котором активируются дополнительные проверки для защиты от фишинга, вредоносной активности и прочих угроз в Web. При активации режима в учётной записи Google теперь будет выводиться предложение активировать режим и в Chrome.
  • Добавлена модель для выявления попыток фишинга на стороне клиента, реализованная с использованием платформы машинного обучения TFLite (TensorFlow Lite) и не требующая отправки данных для выполнения проверки на стороне Google (при этом отправляется телеметрия c информацией о версии модели и вычисленных весовых коэфициентах для каждой категории). При выявлении попытки фишинга пользователю перед открытием подозрительного сайта будет показана страница с предупреждением.
  • В API Client Hints, развиваемого в качестве замены заголовка User-Agent и позволяющего выборочно отдавать данные о конкретных параметрах браузера и системы (версия, платформа и т.д.) только после запроса сервером, реализована возможность подстановки в список идентификаторов браузера фиктивных названий, по аналогии с используемым в TLS механизмом GREASE (Generate Random Extensions And Sustain Extensibility). Например, помимо ‘»Chrome»; v=»98″‘ и ‘»Chromium»; v=»98″‘ в список может быть добавлен случайный идентификатор несуществующего браузера ‘»(Not;Browser»; v=»12″‘. Подобная подстановка позволит выявлять проблемы с обработкой идентификаторов неизвестных браузеров, которые приводят к тому, что альтернативные браузеры вынуждены притворяться другими популярными браузерами, чтобы обойти проверку по спискам допустимых браузеров.
  • Начиная с 17 января в каталог Chrome Web Store перестали приниматься дополнения, использующие вторую версию манифеста Chrome. Новые дополнения теперь будут приниматься только с третьей версией манифеста. Разработчики ранее добавленных дополнений, как и раньше, смогут публиковать обновления со второй версией манифеста. Полное прекращение поддержки второй версии манифеста запланировано на январь 2023 года.
  • Добавлена поддержка цветных векторных шрифтов в формате COLRv1 (подмножество шрифтов OpenType, содержащих помимо векторных глифов слой c информацией о цвете), которые могут применяться, например, для создания многоцветных emoji. В отличие от ранее поддерживаемого формата COLRv0 в COLRv1 появилась возможность использования градиентов, наложений и трансформаций. Формат также предоставляет компактную форму хранения, обеспечивает эффективное сжатие и допускает повторное использование контуров, что позволяет существенно уменьшить размер шрифта. Например, шрифт Noto Color Emoji в растровом представлении занимает 9MB, а в векторном формате COLRv1 — 1.85MB.
    Chrome Release 98
  • В режиме Origin Trials (экспериментальные возможности, требующие отдельной активации) реализован API Region Capture, позволяющий кадрировать захватываемое видео. Например, кадрирование может понадобиться в web-приложениях, осуществляющих захват видео с содержимыми своей вкладки, для вырезания определённого содержимого перед отправкой. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта.
  • В CSS-свойство «contain-intrinsic-size» добавлена поддержка значения «auto», при указании которого будет использован последний запомненный размер элемента (при использовании вместе с «content-visibility: auto» разработчику не нужно угадывать отрисованный размер элемента).
  • Добавлено свойство AudioContext.outputLatency, через которое можно узнать сведения о прогнозируемой задержке перед выводом звука (задержка между запросом звука и началом обработки полученных данных устройством вывода звука).
  • CSS-свойство color-scheme, дающее возможность определить в каких цветовых схемах может быть корректно показан элемент («light», «dark», «day mode» и «night mode»), добавлен параметр «only», позволяющий исключить принудительное изменение цветовой схемы для отдельных HTML-элементов. Например, для если указать «div { color-scheme: only light }», то для элемента div будет использоваться только светлая тема, даже если в браузере будет принудительно включено тёмное оформление.
  • В CSS добавлена поддержка media-запросов ‘dynamic-range’ и ‘video-dynamic-range’ для определения наличия экрана, поддерживающего HDR (High Dynamic Range).
  • В функцию window.open() добавлена возможность выбора открытия ссылки в новой вкладке, новом окне или всплывающем окне. Кроме того, свойство window.statusbar.visible теперь возвращает «false» для всплывающих окон и «true» для вкладок и окон. const popup = window.open(‘_blank’,»,’popup=1′); // Открыть во всплывающем окне const tab = window.open(‘_blank’,»,’popup=0′); // Открыть во вкладке
  • Для окон и worker-ов реализован метод structuredClone(), позволяющий создавать рекурсивные копии объектов, включающие свойства не только указанного объекта, но и всех других объектов, на которые ссылается текущий объект.
  • В Web Authentication API добавлена поддержка расширения спецификации FIDO CTAP2, позволяющего задать минимальный допустимый размер PIN-кода (minPinLength).
  • Для устанавливаемых обособленных web-приложений добавлен компонент Window Controls Overlay, расширяющий экранную область приложения на всё окно, включая область заголовка, на который накладываются штатные кнопки управления окном (закрытие, минимизация, максимизация). Web-приложение может управлять отрисовкой и обработкой ввода во всём окне, за исключением наложенного блока с кнопками управления окном.
  • В WritableStreamDefaultController добавлено свойство обработки сигналов, возвращающее объект AbortSignal, при помощи которого можно сразу останавливать операции записи в WritableStream, не дожидаясь их завершения.
  • В WebRTC удалена поддержка механизма согласования ключей SDES, который в 2013 году был объявлен организацией IETF устаревшим из-за проблем с безопасностью.
  • По умолчанию отключён API U2F (Cryptotoken), который ранее объявлен устаревшим и ему на смену пришёл API Web Authentication. API U2F будет полностью удалён в Chrome 104.
  • В API Directory объявлено устаревшим поле installed_browser_version, вместо которого предложено новое поле pending_browser_version, отличающееся тем, что в нём содержится информация о версии браузера с учётом загруженных, но не применённых обновлений (т.е. версия, которая будет действовать после перезапуска браузера).
  • Убраны параметры, позволявшие вернуть поддержку TLS 1.0 и 1.1.
  • Внесены улучшения в инструменты для web-разработчиков. Добавлена вкладка для оценки работы кэша перехода (Back-forward cache), обеспечивающего мгновенный переход при использовании кнопок «Назад» и «Вперёд». Добавлена возможность эмуляции медаизапросов forced-colors. В редакторе Flexbox добавлены кнопки для поддержки свойств row-reverse и column-reverse. Во вкладке «Changes» обеспечено отображение изменений после форматирования кода, что упрощает разбор минифицированных страниц.
    Chrome Release 98

    Реализация панели просмотра кода обновлена до выпуска редактора кода CodeMirror 6, в котором значительно повышена производительность работы с очень большими файлами (WASM, JavaScript), решены проблемы со случайными смещениями при навигации и улучшены рекомендации системы автодополнения при редактировании кода. В панель с CSS-свойствами добавлена возможность фильтрации вывода по имени или значению свойства.

    Chrome Release 98

Кроме нововведений и исправления ошибок в новой версии устранено 27 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 19 премий на сумму 88 тысяч долларов США (две премии $20000, одна премия $12000, две премии $7500, четыре премии $1000 и по одной премии в $7000, $5000, $3000 и $2000.

Source: opennet.ru

Комментарий кошуу