Перейти к содержанию

Краб

Рекомендуемые сообщения

 Релиз Chrome 120

Спойлер

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

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

  • Начался эксперимент по отключению поддержки сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики. В январе 2024 года сторонние Cookie будут отключены для 1% пользователей браузера. Изменения продвигаются в рамках инициативы Privacy Sandbox, нацеленной на достижение компромисса между потребностью пользователей сохранить конфиденциальность и желанием рекламных сетей и сайтов отслеживать предпочтения посетителей.

    Вместо отслеживающих Cookie предлагается использовать следующие API:

    • FedCM (Federated Credential Management), позволяет создавать объединённые сервисы идентификации, обеспечивающие сохранение конфиденциальности и работающие без сторонних Cookie.
    • Private State Tokens, позволяет разделять разных пользователей без использования межсайтовых идентификаторов и передавать сведения о подлинности пользователя между разными контекстами.
    • Topics (критика), даёт возможность определять категории интересов пользователя, которые можно использовать для выделения групп пользователей со сходными интересами без идентификации отдельных пользователей при помощи отслеживающих Cookie. Интересы вычисляются на основе активности пользователя в браузере и сохраняются на устройстве пользователя. При помощи API Topics рекламная сеть может получить общие сведения об отдельных интересах без наличия информации о конкретной активности пользователя.
    • Protected Audience, решение задач ретаргетинга и оценки собственной аудитории (работа с пользователями, уже посещавшими ранее сайт).
    • Attribution Reporting, позволяет оценивать такие характеристики эффективности рекламы, как переходы и конверсия (покупка на сайте после перехода).
    • Storage Access API, может применяться для запроса у пользователя полномочий на получение доступа к хранилищу Cookie, если по умолчанию сторонние Cookie блокируются.
  • В соответствии с требованиями принятого в Евросоюзе закона DMA (Digital Markets Act) некоторым пользователям будет показан диалог для выбора поисковой системы по умолчанию, возможности которого соответствуют настройкам chrome://settings/search. В Chrome 120 диалог будет показан 1% пользователей, а к моменту публикации Chrome 122 доведён до 100%.
  • Начался процесс прекращения поддержки видеокодека Theora. На начальном этапе Theora отключён для 1% пользователей, но до 16 января его планируют отключить для всех пользователей. На переходном этапе для возвращения кодека предусмотрена настройка "chrome://flags/#theora-video-codec". В качестве причины прекращения поддержки Theora упоминаются опасения, что в реализации Theora, в которой имеется достаточно сложная логика разбора бинарных данных и декодирования потоков, могут присутствовать уязвимости, похожие на недавние критические проблемы с кодировщиком VP8.
  • Оформление каталога Chrome Web Store переработано для упрощения поиска и управления дополнениями. Добавлены новые категории дополнений (например, добавлена категория с дополнениями на базе машинного обучения и раздел "выбор редакции"). В меню " ⋮ " добавлена возможность возвращения прошлого дизайна.
    CFD0C5CECEC5D4_1701847809.png
  • Расширена функциональность интерфейса "Проверка безопасности" (Safety check), показывающего сводку о возможных проблемах с безопасностью, таких как использование скомпрометированных паролей, состояние проверки вредоносных сайтов (Safe Browsing), наличие неустановленных обновлений и выявление вредоносных дополнений. В новой версии предложен проактивный режим, периодически выполняющий связанные с безопасностью проверки браузера и информирующий пользователя в случае выявления проблем. В настройки добавлены параметры для управления действиями в проактивном режиме.
    CFD0C5CECEC5D4_1701849877.png
  • Реализована адаптивная панель инструментов, меняющаяся в зависимости от изменения размера окна.
  • В менеджере паролей разрешено предоставление совместного доступа к отдельным паролям для членов группы Google Family Group, настроенной через Google Account. За один раз можно предоставить доступ только к одному паролю, после чего совместно используемый пароль не сможет быть обновлён или отозван отправителем.
  • Взаимодействие с принтерами перенесено в отдельный сервисный процесс, что позволило повысить стабильность браузера и улучшить отзывчивость интерфейса предпросмотра страницы перед выводом на печать.
  • В TLS включена реализация механизма инкапсуляции ключей (KEM, Key Encapsulation Mechanism), использующего гибридный алгоритм X25519Kyber768, устойчивый к подбору на квантовых компьютерах. Для создания сессионных ключей, применяемых для шифрования данных внутри TLS-соединений, теперь может использоваться комбинация из механизма обмена ключами X25519, основанного на эллиптических кривых и ныне применяемого в TLS, c алгоритмом Kyber-768, использующим методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • В сервисе автоподавления запросов на подтверждение полномочий (Permission Suggestions Service) обеспечен учёт URL страницы, запрашивающей полномочия (на серверы Google будут передаваться хэши от запрашивающих полномочия URL).
  • В версии для Android прекращена поддержка платформы Android 7.0 "Nougat".

     
  • Добавлен фреймворк с реализацией концепции Close-запросов, позволяющих пользователю запрашивать закрытие модальных и всплывающих диалогов через нажатие клавиши Esc или используя экранный жест или кнопку "Назад" на смартфонах. Поддержка Close-запросов добавлена для диалогов, созданных при помощи элемента <dialog> или свойства "popover". Также добавлен API CloseWatcher, дающий возможность разработчикам приложений отслеживать Close-запросы и реагировать на их поступление (например, можно создать обработчик нажатия кнопки "назад" на Android-смартфоне).
  • В элемент "<details>" добавлена поддержка атрибута "name", позволяющего создавать группы через определение серии элементов "<details>" с одним именем.
  • В API Media Session добавлено событие "enterpictureinpicture", позволяющее сайту зарегистрировать обработчик, вызываемый при открытии содержимого в режиме "картинка в картинке".
  • Упрощён синтаксис вложенных CSS-блоков - вложенные CSS-правила теперь могут начинаться с любого элемента, без необходимости указания перед вложенным правилом символа амперсанда или использования функции is().
    
    
  • В CSS-свойстве "background-clip добавлена поддержка параметра "text" для отображения выбранного фона только в области, ограниченной символами текста. Например, указание "background: linear-gradient(60deg, red, yellow, red, yellow, red); background-clip: text; color: rgba(0, 0, 0, 0.2)" приведёт к отображению:
    CFD0C5CECEC5D4_1701850860.png
  • В CSS добавлен медиазапрос "scripting", который можно использовать для определения возможности выполнения скриптов, например на языке JavaScript, на текущей странице.
  • В CSS добавлен псевдокласс ":dir()", позволяющий выбрать элементы в зависимости от направленности текста (например, ":dir(ltr)" будет охватывать элементы, в которых текст выводится слева направо).
  • В CSS добавлены экспоненциальные функции pow(), sqrt(), hypot(), log() и exp().
  • В CSS добавлена поддержка свойств mask, mask-image, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, mask-composite и mask-mode для скрытия элемента путём наложения изображения по определённым точкам.
  • В API FontFaceSet добавлен метод check(), позволяющий проверить может ли быть отображён текст при выбранных шрифтах без использования в FontFaceSet шрифтов, загрузка которых ещё не завершена.
  • В API WebGPU добавлена возможность использования в шейдерах 16-битного типа с плавающей запятой f16.
  • В API Media Capabilities в метод decodingInfo() добавлены поля hdrMetadataType, colorGamut и transferFunction для определения поддержки HDR.
  • В API MediaStreamTrack добавлена возможность получения информации о счётчиках полученных и отброшенных кадров видео.
  • Добавлена возможность передачи объекта ArrayBuffer в конструкторы VideoFrame, AudioData, EncodedVideoChunk, EncodedAudioChunk и ImageDecoder для прямого использования байтового массива без создания его копии.
  • В соответствии с изменившейся спецификацией для повышения защиты от XSS-атак и для улучшения переносимости между браузерами в SVGUseElement прекращена поддержка URL "data:", который до этого не поддерживался в движке WebKit.
  • Добавлена экспериментальная (origin trial) поддержка HTTP-заголовка "Priority", через который можно передать сведения о приоритете обработки запроса (RFC 9218) на стадии первого обращения к ресурсу.
  • Внесены улучшения в инструменты для web-разработчиков. В отладчике по умолчанию включено игнорирование скриптов размещённых в каталогах "/node_modules/" и "/bower_components/" с модулями Node.js. В режиме удалённой отладки реализован переключатель для выбора между мышью и сенсорным экраном. Улучшена отладка анимации. В панель Elements добавлен переключатель "media" для отладки элементов <audio> и <video>. По умолчанию включён вывод предупреждений об использовании сторонних Cookie. В утилиту Privacy Sandbox Analysis добавлен анализ используемых на сайте Cookie и вывод рекомендаций по использованию вместо Cookie новых API.
     

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

 

Ссылка на комментарий
Поделиться на другие сайты

  • 1 month later...

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

Спойлер

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

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

  • Добавлено несколько экспериментальных возможностей, использующих машинное обучение, которые на начальном этапе будут доступны пользователям сборок для Windows и macOS из США. Для включения в конфигураторе добавлена секция "Experimental AI".
    • Режим умной группировки вкладок (Tab Organizer), позволяющий автоматически объединять в группы открытые вкладки схожей тематики, а также предлагающий для новых групп подходящие имена и emoji. Например, при наличии нескольких открытых вкладок c информацией, связанной с путешествиями и покупками в интернет-магазинах, новая возможность позволит без ручного разбора вынести данные страницы в соответствующие группы. Группировка вызывается через меню управления вкладками или опцию "Organize Similar Tabs" в контекстном меню вкладки.
       
    • Генератор тем оформления, позволяющий на основе заданного пользователем текстового описания на естественном языке персонализировать оформление браузера. Например, можно описать желаемые тематику, настроение, стиль и цвет, после чего браузер сам сформирует соответствующую тему оформления. Интерфейс для генерации тем можно вызвать через кнопку "Create with AI" на странице "Customize Chrome/Change theme".
       
    • Интерактивный помощник, позволяющий сгенерировать текст на заданную пользователем тему. Например, при помощи новой функции можно подготовить многословный и вежливый запрос или комментарий, задав простейший текстовый шаблон. Помощник вызывается через кнопку "Help me write" в контекстном меню, показываемом для полей в формах ввода.
      CFD0C5CECEC5D4_1706086649.gif
  • Для 1% пользователей браузера отключена поддержка сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы. Подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики. Изменения продвигаются в рамках инициативы Privacy Sandbox, нацеленной на достижение компромисса между потребностью пользователей сохранить конфиденциальность и желанием рекламных сетей и сайтов отслеживать предпочтения посетителей. Отключение сторонних Cookie планируют постепенно расширять и в 3 квартале 2024 года довести до 100%. Для отключения не дожидаясь внешних изменений предусмотрена настройка "chrome://flags/#test-third-party-cookie-phaseout".
  • При включении стандартной защиты браузера (Safe Browsing > Standard protection) реализована проверка безопасности загрузки зашифрованных архивов. После загрузки архива браузер запрашивает у пользователя пароль для расшифровки архива, вычисляет хэши от содержащихся в архиве файлов и передаёт хэши на серверы Google для проверки на наличие вредоносных компонентов.
  • Для части пользователей в качестве эксперимента изменено поведение при переходе по ссылкам, связанным с установленными PWA-приложениями. После нажатия на ссылку у таких пользователей будет сразу открыт обособленный интерфейс приложений или показан список приложений, поддерживающих тип содержимого в ссылке. В зависимости от результатов эксперимента будет принято решение о переводе в Chrome 123 всех пользователей на новое поведение или оставление старого метода обработки, при котором ссылка открывается в обычной вкладке, но в адресной строке показывается кнопка для перехода к обособленному приложению. Для тестирования нового поведения предложена настройка "chrome://flags/#enable-user-link-capturing-pwa".
  • Из заголовка боковой панели убрана пиктограмма активации панели, вместо которой предлагается использовать функции закрепления элементов из основной панели и вызов возможностей боковой панели из главного меню.
    CFD0C5CECEC5D4_1706090069.png
  • Включён Deprecation trial для тестирования предстоящего игнорирования обработчиков событий "unload", которые не позволяют эффективно использовать кэш перехода (BFCache - Back-forward cache), обеспечивающий мгновенный переход при использовании кнопок "Назад" и "Вперёд" или при навигации по ранее просмотренным страницам текущего сайта. Поведение стационарного Chrome будет приближено к мобильным браузерам, которые в большинстве случаев не генерируют событие "unload", отдавая приоритет кэшированию переходов.
  • В версии для платформы Android на устройствах с Android 12+ и GPU Qualcomm или ARM включена по умолчанию поддержка API WebGPU, который предоставляет схожий с Vulkan, Metal и Direct3D 12 программный интерфейс для выполнения операций на стороне GPU, таких как рендеринг и вычисления, а также позволяет использовать язык шейдров.
  • В CSS реализовано наследование свойств псевдоклассов подсветки элементов, таких как "::selection" и "::highlight", в привязке к псевдоэлементам родительского элемента.
  • В CSS-свойстве font-palette, позволяющем выбрать палитру для отрисовки цветного шрифта, реализована поддержка анимации. Анимация может использоваться для плавного перехода от одной палитры к другой в цветных шрифтах.
  • Добавлена поддержка CSS-свойств "scrollbar-color" и "scrollbar-width" для настройки цвета и ширины полосы прокрутки.
  • В CSS добавлены псевдо-элементы "::spelling-error" и "::grammar-error" для настройки цветового оформления и декорирования индикации синтаксических и грамматических ошибок.
  • Реализована возможность использования выражения supports() для импортирования стилей и слоёв CSS после выполнения определённых условий.
  • В CSS добавлена поддержка масок в SVG, позволяющих скрывать части содержимого путём наложения изображения по определённым точкам. Для настройки масок можно использовать свойства mask, mask-mode, mask-composite, mask-position и mask-repeat. Также для SVG допускается загрузка масок с внешних серверов, например, " mask: url(masks.svg#star)".
  • Расширена поддержка спекулятивных правил (API Speculation rules), позволяющих авторам сайтов передать браузеру сведения о наиболее вероятных страницах, на которые пользователь может перейти. Браузер использует эту информацию для упреждающей загрузки и отрисовки содержимого страниц. В новой версии предоставлена возможность передачи правил через HTTP-заголовок Speculation-Rules и добавлена поддержка расширенного синтаксиса ("document rules"), позволяющего браузеру определить список URL для спекулятивной загрузки из элементов <a> на странице.
  • Добавлен экспериментальный (origin trial) API Element Capture, позволяющий при захвате видео сузить охват до отдельных частей DOM и элементов. Например, в приложениях для проведения видеоконференций новый API позволяет встроить в iframe сторонние приложения и обеспечить передачу видео с содержимым этого iframe другим участникам.
  • В API Document Picture-in-Picture для использования методов resizeBy() и resizeTo() теперь требуется подтверждение пользователя.
  • Добавлена возможность использования метода showPicker с элементами <select> для программного вызова предоставляемой браузером реализации выпадающего меню.
  • В API Media Capabilities в decodingInfo() добавлены новые поля hdrMetadataType, colorGamut и transferFunction, которые можно использовать для определения поддержки HDR.
  • В TLS включена поддержка механизма инкапсуляции ключей (KEM, Key Encapsulation Mechanism), использующего гибридный алгоритм X25519Kyber768, устойчивый к подбору на квантовых компьютерах. X25519Kyber768 представляет собой комбинацию из механизма обмена ключами X25519, основанного на эллиптических кривых и ныне применяемого в TLS, c алгоритмом Kyber-768, использующим методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • Внесены улучшения в инструменты для web-разработчиков. В панели Elements добавлена поддержка CSS-правил "@font-palette-values". Улучшена поддержка source map. Улучшено отслеживания интерактивных операций в панели для оценки производительности. В панели Sources реализованы метки для наглядного представления отступов.
    CFD0C5CECEC5D4_1706098229.png

Кроме нововведений и исправления ошибок в новой версии устранено 17 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 11 премий на сумму 31 тысячу долларов США (по одной премии в $11000, $9000, $6000 и $2000, и три премии $1000). Размер 4 вознаграждений пока не определён. Наибольшее вознаграждение, размером 11 тысяч долларов, присуждено за выявление обращения к уже освобождённой памяти (Use-after-free) в реализации API WebAudio.

Ссылка на комментарий
Поделиться на другие сайты

  • 5 weeks later...

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

Спойлер

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

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

  • В соответствии с требованиями европейского закона DMA (Digital Markets Act) в браузер добавлен экран выбора поисковой системы, которая будет использоваться по умолчанию. На выбор предлагаются поисковые системы, доступные в разделе настроек "chrome://settings/search". Поисковые системы в списке отображаются в случайном порядке.
    CFD0C5CECEC5D4_1708537844.png
  • На страницу "chrome://settings/security" добавлена настройка, позволяющая отключить JIT-оптимизаторы в JavaScript-движке V8. Отключение JIT может быть полезным для повышения безопасности работы с потенциально опасными web-приложениями за счёт уменьшения возможных векторов для совершения атаки.
    CFD0C5CECEC5D4_1708587655.png
  • В версии для Android добавлена функция чтения вслух текста, имеющегося на web-странице. Режим чтения можно включить в выпадающем меню и управлять им при помощи типовых кнопок управления воспроизведением. Функция использует для работы внешний сервис и отправляет ссылку на серверы Google, которые осуществляют синтез речи.
  • Продолжается тестирование экспериментальных возможностей, использующих машинное обучение - режима умной группировки вкладок, генератора тем оформления и интерактивного помощника, о которых было рассказано в анонсе выпуска Chrome 121.
  • В режиме безопасного просмотра (Safe Browsing) реализована поддержка асинхронно выполняемых внешних проверок, не блокирующих загрузку проверяемой страницы. При этом проверки по локальным спискам по-прежнему осуществляются в синхронном режиме и страница не показывается до их завершения, чтобы защитить пользователя от использования на страницах эксплоитов. Что касается фишинга, то маловероятно, что пользователь успеет отреагировать на страницу до завершения внешней проверки и вывода предупреждения.
  • Переработан текст предупреждений, показываемых при попытке загрузки вредоносных файлов и для уже загруженных файлов в менеджере загрузок.
    CFD0C5CECEC5D4_1708539317.png
  • Начался постепенный переход к игнорированию обработчиков событий "unload", которые не позволяют эффективно использовать кэш перехода (BFCache - Back-forward cache), обеспечивающий мгновенный переход при использовании кнопок "Назад" и "Вперёд" или при навигации по ранее просмотренным страницам текущего сайта. Поведение стационарного Chrome будет приближено к мобильным браузерам, которые в большинстве случаев не генерируют событие "unload", отдавая приоритет кэшированию переходов. В Chrome 122 обработка события "unload" отключена для 1% пользователей.
  • В системе автозаполнения параметров платежей добавлена возможность сохранения кодов проверки подлинности (CVV/CVC) для локальных и серверных карт. Коды сохраняются после вывода предупреждения и явного согласия пользователя.

     
  • Добавлен API Storage Buckets, предоставляющий дополнительные возможности для управления постоянным хранением данных на локальной системе пользователя. Новый API позволяет организовать хранение данных с разбиением хранилища на отдельные сегменты, ассоциированные с API IndexedDB и CacheStorage. Сегменты удаляются браузером независимо друг от друга, а пользователю предоставлена возможность определения приоритетов, управляющих тем, какие из сегментов следует удалять в первую очередь. Подобная организация позволяет хранить важные данные в сегментах c высоким приоритетом, а вторичные, которые нестрашно потерять, - с низким. Таким образом решается проблема с потерей важных данных в случае исчерпания доступных лимитов на размер хранилища, предоставляемого через API IndexedDB и localStorage.
  • В API Async Clipboard в метод read() добавлена опция "unsanitized", применяемая при копировании из буфера обмена и вставки в него. При выставлении данной опции приложению предоставляется неизменное содержимое разметки HTML для данных из буфера обмена, без проведения чистки, нормализации и замены опасных конструкций (например, не преобразуется содержимое блока "<style>").
  • CSS-запросы "@container" теперь не будут срабатывать при указании неподдерживаемых возможностей, например, запрос "@container (width > 0px) or (unknown) {}" не сработает из-за выражения "unknown".
  • В CSS разрешено определение условий в правилах импорта "@import ... supports(...)". Если проверка не проходит импорт не производится. Например, для загрузки стилей в случае выставления "animation-timeline" в значение "auto" можно указать 'scroll-driven-animations.css '@import "scroll-driven-animations.css" supports(animation-timeline: auto);'.
  • В CSS изменена и приведена к требованиям обновлённой спецификации логика обработки псевдо-элемента "::backdrop", который теперь наследуется из исходного элемента (ранее "::backdrop" не наследовал значения других элементов, что не позволяло получить доступ к свойствам, определённым в корневом элементе).
  • Действие метода dataTransfer.clearData() ограничено только текстовыми объектами, т.е. данный метод больше не может применяться к объектам File.
  • В WebGL добавлена функция drawingBufferStorage, позволяющая настроить пиксельный формат для буфера отрисовки, что даёт возможность напрямую выводить содержимое с более 8 битами на цветовой канал и избежать лишних операций копирования, требовавшихся для преобразования в пиксельный формат, используемый по умолчанию.
  • Внесены улучшения в инструменты для web-разработчиков. Добавлена поддержка изменения цветового оформления и следования стилю, заданному в выбранной в браузере теме оформления.
    CFD0C5CECEC5D4_1708586425.png

    Расширены возможности панели для анализа производительности, в которой на шкале времени появилась поддержка сохранения диапазонов хода выполнения (отрезков на шкале времени) и переключения между ними.
     

    В основной трек (Performance > Main) добавлен показ инициаторов событий и их наглядной связи с событиями, которые они вызывают.

    CFD0C5CECEC5D4_1708582878.png

    В панели анализа сетевой активности в колонке с состоянием выполнения запросов обеспечен показ причин сбоев. Переработано контекстное меню для копирования ссылки или содержимого запроса.
     

Кроме нововведений и исправления ошибок в новой версии устранено 12 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премий на сумму 28 тысяч долларов США (по одной премии в $8000, $7000, $5000, $3000 и $2000, и три премии $1000). Наибольшие вознаграждения присуждены за ошибку в реализации изоляции сайтов, выявление переполнения буфера в движке Blink и обращение к уже освобождённой памяти (Use-after-free) в библиотеке Mojo.

 

Ссылка на комментарий
Поделиться на другие сайты

  • 4 weeks later...

Выпуск 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.
    CFD0C5CECEC5D4_1710925418.png
  • Добавлена поддержка кодирования контента при помощи алгоритма сжатия 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 опубликовал статью с пояснением методов, используемых для проверки безопасности открываемых пользователем страниц по базе вредоносного содержимого, размещённой на внешнем сервере. Для сохранения конфиденциальности при проверке открываемых пользователем URL на сторону Google передаются не полные хэши от URL, а лишь префикс с первыми 4 байтами хэша. На сервере данный префикс проверяется в базе вредоносных страниц и в случае наличия совпадения список соответствующих префиксу полных хэшей возвращается в браузер пользователя, на стороне которого уже осуществляется финальная сверка с полным 32-байтовым хэшем URL. Для исключения сопоставления запроса с IP-адресом пользователя префикс хэша вначале направляется на промежуточный прокси, который от своего имени передаёт запрос на сервер системы Safe Browsing.
     
    CFD0C5CECEC5D4_1710926897.png
  • Реализован вывод предупреждений в консоли инструментов для 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-а, можно указать:
    
    
  • В CSS добавлена функция light-dark() для адаптации цветовой схемы к настройкам светлого или тёмного режима. В функции можно указать два значения, которые будут выбраны в зависимости от светлого или тёмного режима. Например "background-color: light-dark(lime, green);".
     
  • Добавлен API Long Animation Frames для диагностики отзывчивости интерфейса сайта и выявления узких мест при отрисовке.
  • В медиазапрос "display-mode" добавлена поддержка значения "picture-in-picture", позволяющего создавать CSS-правила, применимые только при показе web-приложения в режиме "картинка в картинке".
    
    
  • В 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). Размер одного вознаграждения пока не определён.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 month later...

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

Спойлер

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

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

  • Компания Google отложила ожидавшееся в конце года прекращение поддержки сторонних Cookie, выставляемых при обращении к сайтам, отличным от домена текущей страницы (подобные Cookie применяются для отслеживания перемещений пользователя между сайтами в коде рекламных сетей, виджетов социальных сетей и систем web-аналитики). В новой версии для определения сайтов, осуществляющих использование сторонних Cookie, в адресную строку добавлен индикатор с изображением глаза, который при блокировке сторонних Cookie перечёркивается. Так как продолжается тестирование отключения сторонних Cookie на 1% пользователей и имеется возможности ручного отключения через настройку "chrome://flags/#test-third-party-cookie-phaseout", в контекстном меню предоставлена возможность временного возвращения поддержки сторонних Cookie для избранных сайтов. Отмена блокировки действует 90 дней после включения.
    CFD0C5CECEC5D4_1716134343.png
  • При включении расширенной защиты браузера (Safe Browsing > Enhanced protection) реализовано автоматическое глубокое сканирование загружаемых файлов, выполняемое через загрузку информации на серверы Google (раньше перед отправкой выводился запрос для подтверждения внешней проверки, а сейчас проверка будет выполняться автоматически).
  • Сборки для платформы Windows теперь предоставляются и для архитектуры ARM64.
  • Добавлен новый механизм для обновления компонентов, требующих загрузки большого объёма данных. Речь про обновление моделей для недавно добавленных возможностей, использующих машинное обучение - режима умной группировки вкладок, генератора тем оформления и интерактивного помощника.
  • Добавлено два новых типа потенциально проблемных дополнений, для которых пользователю будут выводиться предупреждения с рекомендацией подумать о целесообразности их дальнейшего использования: дополнения, установленные не из каталога Chrome Web Store, и дополнения, использующие обманные тактики для навязывания установки ненужного ПО.
  • Поведение при отмене события "mousemove" приведено к соответствию с другими браузерами - отмена события больше не блокирует операции выделения текста и drag&drop (для блокировки выделения и drag&drop следует отменять события selectstart и dragstart).
  • Добавлен набор CSS-свойств для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning), без использования JavaScript, например, для прикрепления к элементам всплывающих окон (popover), появляющихся по аналогии со всплывающими подсказками. Для настройки привязки элемента к другому элементу и определения области вывода предложены свойства anchor-name, position-anchor и inset-area, для получения сведения о месте привязки добавлена функция anchor().
  • В CSS добавлены математические функции round(), mod() и rem().
  • Добавлен новый синтаксис для отражения состояния собственных HTML-элементов (custom element) в CSS, позволяющий использовать псевдо-класс ":state()".
     
  • Добавлен API Compute Pressure, позволяющий получить высокоуровневую информацию о текущем состоянии аппаратного обеспечения, например, в общих чертах можно получить сведения о создаваемой нагрузке на CPU (указываются уровни: минимальная нагрузка с включением энергосбережения; допустимая нагрузка, позволяющая без проблем запускать дополнительные задания; высокая нагрузка, но в предельно допустимых значениях и не мешающая работе системы; критическая нагрузка, близкая к исчерпанию ресурсов).
  • API Storage Access, применяемый для запроса у пользователя полномочий на получение доступа к хранилищу Cookie, если сторонние Cookie блокируются, расширен возможностью запроса доступа из сторонних обработчиков (например, из контента внутри <iframe>) к хранилищам, не связанным с Cookie, таким как indexedDB.
  • Добавлена экспериментальная (origin trial) поддержка API Viewport Segments Enumeration, предназначенного для организации вывода на устройства со складными экранами.
  • Предоставлена возможность использования схем URL HTTP и HTTPS в конструкторе WebSocket вместо схем "ws:" и "wss:".
  • В JavaScript разрешено использовать модификаторы "?i", "?-i", "?m", "?-m", "?s", "?-s" внутри регулярных выражений для управления выставлением или отключением флагов "i", "s" и "m". Например, "?-i" в "re1 = /^[a-z](?-i:[a-z])$/i;" отключит применение "/i" (игнорирование регистра) для второго символа (re1.test("aB") вернёт false).
  • Внесены улучшения в инструменты для web-разработчиков. В web-консоль добавлена кнопка для показа пояснения о сути ошибки или предупреждения, сформированного через обращение к AI-чатботу Gemini. В панели CSS добавлена поддержка правил "@position-try". В панели для редактирования и просмотра исходного текста страницы добавлены настройки для приведения в читаемый вид упакованных страниц и автоматического закрытия скобок при редактировании. В панели отслеживания сетевой активности добавлена поддержка HTTP-заголовков, используемых в ответах с кодом 103 "Early Hints". В панели для анализа производительности добавлена статистика по селекторам CSS.
    CFD0C5CECEC5D4_1716143149.png

Кроме нововведений и исправления ошибок в новой версии устранено 9 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Уязвимость CVE-2024-4947, вызванная неправильной обработкой типов (Type Confusion) в движке V8 и отнесённая к категории опасных, до исправления применялась злоумышленниками для совершения атак (0-day). Компания Google пока не раскрывает детали по данной уязвимости, но независимые исследователи провели анализ и опубликовали технические детали, а также прототип эксплоита.

Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 4 премии на сумму 8 тысяч долларов США (по одной премии в $7000, $1000). Размер двух вознаграждений пока не определён.

 

Ссылка на комментарий
Поделиться на другие сайты

  • 4 weeks later...

Выпуск web-браузера Chrome 126 со встроенным OCR-движком

Спойлер

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

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

  • Во встроенный PDF-просмотрщик интегрирована возможность извлечения текста из документа, вызываемая через опцию "Extract text from PDF" в контекстном меню. Для извлечения текста из отсканированных документов, в которых текст вставлен в виде изображения, используется механизм оптического распознавания символов (OCR) на базе системы машинного обучения. Ожидается, что новая возможность упростит работу с PDF-документами людей, имеющих проблемы со зрением и пользующихся экранными ридерами. В дальнейшем планируется реализовать распознавание текста на показываемых на страницах изображениях и на скриншотах. OCR-движок включён по умолчанию у 50% пользователей, а остальные могут активировать его через настройку "chrome://flags/#pdf-ocr".
    CFD0C5CECEC5D4_1718263636.png
  • На страницу конфигуратора с параметрами производительности ("Производительность/ Экономия памяти" в разделе chrome://settings/performance) добавлена возможность настройки уровня агрессивности применения режима экономии памяти (Memory Saver), который снижает потребление оперативной памяти за счёт освобождения памяти, занимаемой неактивными вкладками. Например, при выборе умеренного уровня браузер будет выгружать из памяти меньше вкладок, чем при установки максимального. Настройку, которая по умолчанию доступна лишь для части пользователей, можно активировать через параметр "chrome://flags/#memory-saver-aggressiveness".
    CFD0C5CECEC5D4_1718265142.png
  • Для некоторых пользователей в просмотрщике PDF задействована по умолчанию новая архитектура OOPIF (out-of-process iframe), при которой содержимое документа обрабатывается в отдельном процессе. Новая архитектура избавлена от усложнений, свойственных реализации на базе механизма GuestView, и упрощает добавление новых возможностей в PDF-просмотрщик. Для включения новой архитектуры можно использовать настройку "chrome://flags/#pdf-oopif".
  • Добавлен режим реактивной упреждающей загрузки (Reactive prefetch), осуществляющий загрузку связанных со страницей ресурсов во время навигации, не дожидаясь их фактического запроса, что позволяет ускорить открытие новых страниц. Для предсказания ресурсов, которые могут потребоваться в дальнейшем, задействован внешний сервис Google, возвращающий список рекомендаций после отправки в него URL страниц, по которым выполняется навигация.
  • Добавлена возможность поиска в сервисе Google Lens по любым изображениям и тексту, видимым на экране. Возможность включается через контекстное меню, индикатор в адресной строке или меню "⋮", после чего пользователь может выделить интересующий объект на экране и получить информацию о нём из Google Lens. При выполнении операции на сервер Google осуществляется отправка скриншота экрана. Возможность пока активирована по умолчанию для 1% пользователей. Для включения и выключения поддержки Google Lens может использоваться параметр "chrome://flags/#enable-lens-region-search-static-page".
  • Подведены итоги оптимизаций для ускорения прохождения теста Speedometer 3 - за два года производительность Chrome в этом тесте увеличилась на 72%. Например, была ускорена работа функции SpaceSplitString, используемой при разборе выражений типа "class='foo bar'", оптимизированы функции работы с памятью, убраны лишние операции при работе с элементами web-форм и ускорены наиболее часто используемые действия, оптимизировано использование innerHTML, ускорена отрисовка шрифтов. Ускорения также удалось добиться благодаря оптимизации сборщика мусора в движке V8, эффективность которого повысилась благодаря активации сборки мусора во время простоя процесса отрисовки, что бы не конкурировать с приложением за ресурсы CPU.
    CFD0C5CECEC5D4_1718277464.png
  • Значительно повышена эффективность работы с Cookie, позволившая снизить задержки при работе с сайтами. Ранее при каждом обращении к Cookie, из занимающегося обработкой сайта процесса отправлялся синхронный IPC-запрос в процесс, обеспечивающий сетевое взаимодействие. Так как в web-приложениях достаточно активно используются значения из Cookie подобные запросы между процессами замедляли работу, при том, что 87% обращений к другому процессу были избыточны.

    Для решения проблемы задействована новая архитектура, при которой каждый процесс содержит свою копию данных Cookie и обращается к ней напрямую, а изменения в Cookie, которые, например, могут произойти при работе с теми же Cookie в другой вкладке, отслеживаются через механизм версионирования. Суть данного механизма в том, что к каждому значению document.cookie прикрепляется счётчик с номером версии, который хранится в разделяемой памяти, увеличивается при изменении значения и сверяется с имеющимся экземпляром при чтении.

    CFD0C5CECEC5D4_1718277849.png
  • Добавлена возможность использования API View Transitions для создание переходных анимационных эффектов перехода от одной страницы к другой в пределах одного сайта (same-origin). Ранее данный API мог применяться только для эффектов между разными состояниями DOM на одной странице (например, плавный переход от одного изображения к другому). Для применения эффектов перехода между разными документами следует использовать свойство "navigation: auto" в @-правиле "view-transition".
  • Включён API CloseWatcher, позволяющий отслеживать в web-приложениях Close-запросы и реагировать на их поступление (например, можно создать обработчик нажатия кнопки "назад" на Android-смартфоне). Close-запросы формируются при попытке закрытия модальных (<dialog>) и всплывающих диалогов (popover="") через нажатие клавиши Esc, использование кнопки "Назад" или экранный жест на смартфонах.
  • В API Gamepad, позволяющий отслеживать и обрабатывать события от геймпадов и игровых контроллеров, добавлена поддержка механизмов обеспечения обратной связи (trigger-rumble), например, вибрации.
  • В интерфейсы GeolocationCoordinates и GeolocationPosition добавлен метод .toJSON() для сериализации объектов с координатами формате JSON.
  • В версии для ChromeOS добавлена поддержка режима отображения вкладок (CSS-свойство "display: tabbed"), позволяющего использовать вкладки в одном web-приложении, например, для организации редактирования нескольких документов.
  • Добавлена экспериментальная возможность (origin trial) предпросмотра содержимого, получаемого с камеры или микрофона.
  • В API WebGPU значительно ускорена компиляция шейдеров. В бэкенде для графического API Vulkan оптимизирована загрузка данных в GPU (обеспечена прямая запись в буфер GPU без промежуточного копирования).
  • Внесены улучшения в инструменты для web-разработчиков. В секции 'Application > Storage' добавлена возможность инспектирования данных, сохранённых с использованием API Storage Buckets, позволяющим организовать хранение данных с разбиением хранилища на отдельные сегменты, ассоциированные с API IndexedDB и CacheStorage. В панели оценки производительности добавлена возможность перемещения и скрытия треков, а также исключения информации о выполнении скриптов из графика производительности и включения режима искусственного замедления производительности системы в 20 раз.
    CFD0C5CECEC5D4_1718275348.png

    В панели отслеживания сетевой активности предоставлена поддержка подстановки в полученный ответ полной строки с HTTP-заголовком в формате "имя: значение". В панель наблюдения за потреблением памяти добавлены фильтры для выявления неэффективной работы с памятью, например, наличия дубликатов строк или оставления объектов, связанных с отсоединёнными DOM-узлами.

    CFD0C5CECEC5D4_1718275806.png

Кроме нововведений и исправления ошибок в новой версии устранена 21 уязвимость. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. 9 проблемам присвоен высокий уровень опасности. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 11 премии на сумму более 168 тысяч долларов США.

За уязвимость CVE-2024-5839, связанную с проблемой в реализации механизма выделения памяти, выплачена рекордная премия, размером 100115 долларов. Данной уязвимости присвоен средний уровень опасности, при том, что она потенциально позволяет добиться повреждения памяти в куче при обработке специально оформленного HTML-содержимого. Кроме того, выплачено по одной премии в 25000, 7000, 3000, 2000, 1000 и 500 долларов, а также по две премии в 10000 и 5000 долларов. Размер 7 вознаграждений пока не определён.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 months later...

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

Спойлер

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

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

  • Предоставлена возможность поиска в истории посещений, учитывая содержимое открывавшихся страниц, а не только URL и заголовки. На данном этапе возможность доступна только для англоязычных пользователей из США. Функциональность поиска контента реализована с использованием работающей на стороне Google системы машинного обучения, для тренировки и оптимизации которой релевантные данные могут отправляться на серверы Google (отправку можно отключить в настройках).
  • Задействован новый парсер формата JSON, переписанный с C++ на язык Rust, и обеспечивающий более высокую защищённость за счёт снижения вероятности появления ошибок при работе с памятью. Отмечается, что переход на новый парсер может привести к прекращению разбора некоторого некорректно оформленного контента в формате JSON, но при этом он также решает проблемы при работе с некорректным JSON, который раньше вызывал аварийное завершение, а теперь приводит к возврату кода ошибки.
  • На страницу, показываемую при открытии новой вкладки, добавлена возможность размещения секции с данными из Google Calendar, позволяющей держать перед глазами предстоящие встречи и события.
    CFD0C5CECEC5D4_1724653281.png
  • В Chrome для Android в интерфейс переключения между вкладками добавлена новая секция, в которую автоматически переносятся неактивные вкладки, открытые больше 60 дней. Имеется возможность закрытия разом всех старых вкладок. По умолчанию новая возможность включена для 1% пользователей.
    CFD0C5CECEC5D4_1724651218.png
  • В Chrome для Android добавлена поддержка профилактических проверок безопасности (Safety Check), которые периодически проверяют наличие проблем в браузере и информируют пользователя в случае выявления требующих внимания угроз. Кроме того, изменено оформление страницы Safety Check в настройках (chrome://settings/safetyCheck).
    CFD0C5CECEC5D4_1724651323.png
  • В компоненте WebView в Chrome для Android решено временно отключить поддержку технологии CHIPS (Cookies Having Independent Partitioned State), развиваемой в рамках инициативы Privacy Sandbox и позволяющей изолировать Cookie в привязке к домену первого уровня, используя атрибут "Partitioned". Причиной отключения стали проблемы с обращением к секционированными Cookie при помощи API CookieManager, предоставляемого платформой Android.
  • В централизованно управляемых системах администратору предоставлены возможности для создания собственных ярлыков быстрого поиска через адресную строку (можно создать ярлык "@имя" для поиска на определённом сайте), а также управления нерасшифровываемыми паролями во встроенном менеджере паролей (например, можно настроить удаление подобных паролей, оставшимися после миграции на другое устройство при помощи стороннего ПО).
  • В версии для Chrome OS добавлена поддержка механизма запуска самодостаточных web-приложений IWA (Isolated Web Apps), который расширяет PWA (Progressive Web Apps) применением более строгой изоляции приложения на случай компрометации сервера. Изоляция достигается за счёт заверения пакета с приложением цифровой подписью, защищающей от внесения в пакет сторонних изменений, что позволяет распространять приложение через сторонние каналы без поддержания своего сервера.
  • CSS-свойство position-try-options переименовано в position-try-fallbacks, в соответствии с рекомендацией рабочей группы CSSWG (CSS working group), так как слово "options" вводит в заблуждение и не отражает реальную суть свойства.
  • В HTML-элементе <ruby>, позволяющем прикрепить к тексту аннотацию, показываемую сверху, снизу или рядом с текстом, например, для уточнения произношения или значения иероглифов, появилась возможность синхронной расстановки разрывов строк при переносе длинного базового текста и аннотации, которые не умещаются в одной строке и ранее переносились по отдельности. Также добавлено CSS-свойство ruby-align для управления выравниванием базового текста и аннотации.
  • Добавлен метод Promise.try(), позволяющий преобразовать в Promise результат выполнения любого callback-вызова для упрощения обработки ошибок при выполнении функций, выполняемых как в асинхронном, так и в синхронном режиме.
  • В интерфейс PointerEvent добавлен новый атрибут PointerEvent.deviceProperties, при помощи которого можно раздельно идентифицировать разные цифровые перья, используемые с графическим планшетом (например, для каждого устройства можно назначить свой цвет и форму пера).
  • К соответствию спецификации приведена реализация CSS-свойства zoom, позволяющего уменьшать или увеличивать масштаб отдельных элементов.
  • В режиме "Origin trials" реализована экспериментальная поддержка API Digital Credentials, позволяющего сайтам запрашивать необходимые для идентификации учётные данные из мобильных приложений-кошельков, используя предоставляемую в Android систему IdentityCredential CredMan.
  • В WebGPU добавлена экспериментальная поддержка субгрупп, позволяющих использовать принцип SIMD (Single instruction, multiple data) для распараллеливания вычислений.
  • Реализована экспериментальная возможность блокировки доступа к IP 0.0.0.0 для предотвращения атак на локальные сервисы.
  • Внесены улучшения в инструменты для web-разработчиков. В панель инспектирования анимации добавлена возможность захвата анимации и редактирования ключевых кадров на лету. Заметно расширены возможности панели для анализа производительности. Для большинства европейских стран включена возможность вывода в web-консоли пояснений о сути ошибок, генерируемых с использованием большой языковой AI-модели Gemini.
    CFD0C5CECEC5D4_1724660071.png

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

Ссылка на комментарий
Поделиться на другие сайты

  • 1 month later...

Для хрома есть расширение помогающее найти устаревшие пароли?  
В Firefox например видно дату последнего использования пароля и по ней можно выбрать новейший.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 weeks later...

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

Спойлер

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

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

  • Добавлена новая форма компактных уведомлений о совершённых операциях, показываемых под адресной строкой в виде небольшой полоски, перекрывающей контент. Например, подобный диалог может информировать пользователя об успешном добавлении элемента в список чтения и показывать кнопку для открытия списка для чтения в боковой панели. Внедрение новой формы уведомлений будет производиться постепенно, для управления показом предложена настройка "chrome://flags/#top-chrome-toasts".
    CFD0C5CECEC5D4_1729496874.png
  • При включённом режиме экономии потребления энергии (Energy saver) реализована экспериментальная поддержка автоматической заморозки вкладок, потребляющих много ресурсов CPU, но при этом не выводящих звук и скрытых в течение более 5 минут. Исключение делается только для вкладок, связанных с управлением внешними устройствами или проведением видео и аудио конференций (подобные вкладки определяются на основании доступа к API для работы с USB, Bluetooth, камерой, устройствами ввода и микрофоном, а также организации канала связи с использованием RTCDataChannel или MediaStreamTrack). Для включения автозаморозки добавлены настройки "chrome://flags/#freezing-on-energy-saver" и "chrome://flags/#freezing-on-energy-saver-testing". В Chrome 131 автозаморозку планируют постепенно активировать по умолчанию, начав с 1% пользователей.
  • В версии для платформы Android реализован встроенный просмотрщик документов в формате PDF, не требующий вызова внешних приложений (в качестве опции оставлены возможности для загрузки PDF и открытия в стороннем приложении).
  • Предоставлена возможность открытия в режиме "картинка в картинке" (picture-in-picture) не только видео, но и любых элементов для показа произвольного контента поверх другого содержимого. Например, в режиме "картинка в картинке" теперь можно отображать интерфейсы для видеоконференций, собственные проигрыватели видео, системы создания заметок, чаты, инструменты для разработчиков и т.п. Открытие содержимого в режиме "картинка в картинке" осуществляется при помощи метода documentPictureInPicture.requestWindow(), возвращающего объект, через который можно добавлять контент при помощи метода .document.body.append().
    CFD0C5CECEC5D4_1729501845.png
  • Добавлена возможность обращения к внешним словарям со сжатием ответов при помощи алгоритмов Brotli и Zstandard.
  • Добавлена поддержка активации областей прокрутки при навигации с использованием клавиатуры, что позволяет пользователям без мыши вначале переключиться в нужную область клавишей Tab, а затем прокрутить её содержимое стрелками управления курсором.
  • Добавлена поддержка разбора неспециальных схем URL (не включённых в список типовых схем) с разделением хоста и пути. Например, при разборе URL "git://example.com/path" значение "example.com" будет определено как хост, а "/path" как путь (до этого "//example.com/path" обрабатывался как один путь).
  • В версии для Android появилась интегрированная поддержка подключения сторонних провайдеров автоматического заполнения форм и сохранения паролей, не завязанная на API Accessibility.
  • Поведение элемента <meter> приведено к соответствию Safari и Firefox - в режиме видимости "none" элемент теперь не скрывается, а переключается на отдельный стиль.
  • Реализованы новые рекомендации CSS Working Group по обработке вложенных правил в CSS-блоках, которые теперь учитывают порядок определения CSS-свойств и CSS-правил в блоке (раньше все CSS-правила обрабатывались в первую очередь, что приводило к нелогичным с точки зрения разработчика результатам). Например, показанный ниже CSS-блок раньше выставлял красный цвет фона, а теперь будет выставлять зелёный:
    
       .foo {
           width: fit-content;
           @media screen {
               background-color: red;
           }
           background-color: green;
       }

     

  • Реализовано CSS-свойство box-decoration-break, указывающее как отрисовывать элемент в случае, когда его части оказываются разделены в разных строках, столбцах или страницах. Доступно два режима отрисовки: slice - элемент вначале полностью отрисовывается целиком, а потом разрезается на части; clone - каждый фрагмент отрисовывается отдельно со своими границами и отступами. В Firefox данное свойство поддерживается с 2014 года.
    CFD0C5CECEC5D4_1729504705.pngCFD0C5CECEC5D4_1729504725.png
  • В API WebGPU добавлен режим "dual-source-blending" для смешивания вывода из двух фрагментных шейдеров c записью результата в один фреймбуфер.
  • В режиме "Origin trials" реализован API Language Detector, позволяющий определять язык по фрагменту текста.
  • Расширены возможности инструментов для web-разработчиков. В панель анализа сетевой активности добавлено выпадающее меню с дополнительными фильтрами. Добавлена опция для чистки конфиденциальных данных перед сохранением HTTP-сеанса в формате HAR (HTTP Archive).
CFD0C5CECEC5D4_1729505469.png

 

 

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

Ссылка на комментарий
Поделиться на другие сайты

  • 4 weeks later...

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

Спойлер

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

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

  • Во встроенном PDF-просмотрщике расширена возможность распознавания текста в отсканированных PDF-документах, в которых текст размещён в виде изображения. Текст распознаётся на локальной системе при помощи встроенного движка оптического распознавания символов (OCR), построенного на базе машинного обучения. В отличие от прошлых версий отсканированные документы теперь автоматически преобразуются в текстовое представление, для которого доступны функции выделения, поиска и копирования в буфер обмена.
  • Представлена возможность включения расширенных проверок в системе распределения памяти PartitionAlloc, которые позволяют блокировать уязвимости, вызванные обращением к уже освобождённым областям памяти (use-after-free). По умолчанию данные проверки отключены из-за возможного негативного влияния на производительность. Тем не менее, для внедрений, в которых безопасность важнее производительности, теперь предоставляется отдельные enterprise-политики для активации дополнительной защиты.
  • Во встроенном хранилище корневых сертификатов (Chrome Root Store) прекращено доверие к удостоверяющему центру Entrust из-за множественных нарушений требований к удостоверяющим центрам, не соблюдение сроков реагирования на проблемные сертификаты, затягивание отзыва сертификатов, ненадлежащее оформление отчётов об инцидентах и не соблюдение правил при выдаче TLS-сертификатов уровня EV (Extended Validation), требующих проведения проверки документов о принадлежности домена и подтверждение владельца ресурса. В связи с отсутствием действий по устранению выявленных недостатков, TLS-сертификаты, выданные Entrust после 11 ноября 2024 года, воспринимаются в Chrome как не заслуживающие доверия. Сертификаты, выпущенные до 11 ноября, продолжают восприниматься как нормальные.
  • В версии для Android включена возможность подключения сторонних провайдеров автоматического заполнения форм и сохранения паролей, не завязанная на API Accessibility.
  • В версии для Android упрощено подключение к учётной записи в Google и управление синхронизацией данных между разными браузерами. Синхронизация больше не преподносится как отдельная функция в настройках, а объединена с функцией подключения к учётной записи Google, что позволяет использовать и сохранять в Google Account такую информацию, как пароли и закладки.
  • Началась постепенная активация среди пользователей нового режима экономии потребления энергии (Energy saver), при котором автоматически замораживаются вкладки, потребляющие много ресурсов CPU, но при этом не выводящие звук и скрытые в течение более 5 минут. Исключение делается только для вкладок, связанных с управлением внешними устройствами или проведением видео и аудио конференций (подобные вкладки определяются на основании доступа к API для работы с USB, Bluetooth, камерой, устройствами ввода и микрофоном, а также организации канала связи с использованием RTCDataChannel или MediaStreamTrack). Для управления включением автозаморозки можно использовать настройку "chrome://flags/#freezing-on-energy-saver".
  • Добавлены экспериментальные режимы экономии памяти (Memory saver) - Moderate, Balanced и Maximum, позволяющие выбрать метод высвобождения памяти от неактивных вкладок. В режиме Moderate память вкладки деактивируются только при нехватке памяти в системе, в режиме Maximum вкладки деактивируются через небольшое время после того как становятся неактивными, а в режиме Balanced неактивные вкладки деактивируются с учётом свободной памяти в системе.
  • Добавлены дополнительные настройки, связанные с производительностью, например, появилась возможность указания сайтов, постоянно остающихся в активном режиме (без замедления работы в фоне), выбора способа визуальной индикации деактивированных вкладок и показа потребления памяти во всплывающих эскизах вкладок.
  • Добавлен инструмент "Performance Detection", выявляющий потенциальные проблемы с производительностью просматриваемых страниц и выводящий уведомление с рекомендациями по решению проблемы в один клик. Например, чтобы ускорить текущую вкладку браузер может предложить деактивировать другие вкладки, потребляющие много ресурсов.
  • В TLS 1.3 и QUIC алгоритм инкапсуляции ключей (KEM, Key Encapsulation Mechanism) "X25519Kyber768", устойчивый к подбору на квантовых компьютерах, переведён на использование финальной спецификации ML-KEM (CRYSTALS-Kyber), стандартизированной Национальным институтом стандартов и технологий США (NIST). X25519Kyber768 представляет собой комбинацию из X25519 ECDH и алгоритма ML-KEM, использующего методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • В функцию поиска по изображению при помощи сервиса Google Lens, доступную через контекстное меню, добавлена поддержка наложения перевода на другой язык (переведённый текст показывается поверх исходного текста на изображении).
    CFD0C5CECEC5D4_1731742612.png
  • Добавлен API Direct Sockets, позволяющий устанавливать прямые TCP- и UDP-соединения с внешними системами, а также создавать слушающие сокеты для приёма соединений. При первой первой попытке соединения с новым хостом пользователю выводится запрос для подтверждения операции. Необходимость добавления нового API объясняется предоставлением возможности взаимодействия с сетевыми устройствами, которые используют собственные протоколы, работающие поверх TCP и UDP, и не поддерживают взаимодействие через HTTPS или WebSockets. API доступен только в изолированных web-приложениях, распространяемых в виде подписанного пакета.
  • В режиме "Origin trials" реализован API Summarizer для резюмирования текста (краткого изложения сути), используя большую языковую модель.
  • В режиме "Origin trials" добавлен API Playout Statistics, определяющий интерфейс AudioContext.playoutStats для получения статистики о качестве и задержках при воспроизведения звука через API WebAudio.
  • Для защиты от злоупотреблений добавлен вывод запроса подтверждения полномочий при использовании сайтом API Keyboard Lock и Pointer Lock, предоставляющих дополнительный контроль над клавиатурой и мышью (например, можно скрыть штатный указатель мыши и обеспечить собственную обработку перемещения мыши). Проверить статус предоставления полномочий можно через API Permissions.
  • Разрешено указание дополнительных тегов в HTML-элементе "<select>", помимо штатных тегов "<option>", "<optgroup>" и "<hr>". Изменение внесено в качестве подготовки к реализации в будущих выпусках настраиваемого варианта "<select>", расширяющего возможности оформления меню.
  • В CSS-свойствах "clip-path", "fill", "stroke" и "marker-*" добавлена поддержка указания внешних SVG-ресурсов. Например, теперь можно указывать 'clip-path: url("resources.svg#myPath")'.
  • Изменена модель наследования свойств стилей выделения текста, определяемых через псевдоклассы "::selection" и "::target-text", которая приведена к модели наследования псевдоклассов "::highlight", "::spelling-error" и "::grammar-error", и теперь зависит не от структуры документа (цепочки HTML-элементов), а от того, как выделяется текст (цепочки выделения). В примере ниже цвет вложенных элементов с текстом в параграфе "<p class="blue">" теперь будет выбран в соответствии со стилем псевдокласса "::selection", а не стилем цвета, указанного для параграфа.
    
    			
  • Убраны ограничения, не позволявшие выставлять CSS-свойства "display" для HTML-элементов "<details>" и "<summary>". В CSS добавлен псевдоэлемент "::details-content" для настройки оформления сворачиваемого и раскрываемого блока.
  • Добавлено CSS-свойство "font-variant-emoji" для настройки стиля отображения Emoji. Например, можно выбрать текстовое или графическое представление.
     
    CFD0C5CECEC5D4_1731753588.jpg
  • В CSS-правиле @page, предназначенном для изменения оформления страницы перед выводом на печать или экспортом в формат PDF, появилась возможность определения областей для размещения контента в области полей страницы, например, для добавления своего заголовка, примечания сбоку или футера.
     
    CFD0C5CECEC5D4_1731753729.png
  • Объявлено устаревшим CSS-свойство "inset-area", применявшееся для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning). В соответствии с рекомендацией рабочей группы, занимающейся стандартизацией СSS, на смену "inset-area" пришло полностью аналогичное свойство "position-area".
  • Расширены возможности инструментов для web-разработчиков. В панель Performance добавлены новые возможности для анализа производительности. Предложена экспериментальная панель с AI-ассистентом, в которой в форме чата можно получить ответы, возникающие при отладке, или уточнить какие-то моменты, связанные с CSS.
    CFD0C5CECEC5D4_1731755702.png
    CFD0C5CECEC5D4_1731755729.png
     

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

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...