Реліз Chrome 102

Компанія Google представила реліз web-браузера Chrome 102. Одночасно доступний стабільний випуск вільного проекту Chromium, який є основою Chrome. Браузер Chrome відрізняється від Chromium використанням логотипів Google, наявністю системи відправлення повідомлень у разі краху, модулями для відтворення захищеного від копіювання відеоконтенту (DRM), системою автоматичної установки оновлень, постійним включенням Sandbox-ізоляції, постачанням ключів до Google API та передачею при пошуку RL параметрів. Для тих, кому потрібно більше часу на оновлення, окремо підтримується гілка Extended Stable, що супроводжується 8 тижнів. Наступний випуск Chrome 103 заплановано на 21 червня.

Основні зміни в Chrome 102:

  • Для блокування експлуатації вразливостей, викликаних зверненням до вже звільнених блоків пам'яті (use-after-free) замість звичайних покажчиків почалося застосування типу MiraclePtr (raw_ptr). MiraclePtr надає обв'язку над вказівниками, яка виконує додаткові перевірки звернення до звільнених областей пам'яті та аварійно завершує роботу у разі виявлення подібних звернень. Вплив нового методу захисту на продуктивність та споживання пам'яті оцінюється як незначне. Механізм MiraclePtr застосовується не у всіх процесах, зокрема не використовується в процесах відтворення, але може суттєво посилити безпеку. Наприклад, у поточному випуску із 32 виправлених уразливостей, 12 було викликано проблемами класу use-after-free.
  • Змінено оформлення інтерфейсу з інформацією про завантаження. Замість нижнього рядка з даними про хід завантаження в панель з адресним рядком додано новий індикатор, при натисканні на який відображається прогрес завантаження файлів та історія зі списком вже завантажених файлів. На відміну від нижньої панелі, кнопка постійно з'являється на панелі і дозволяє швидко звернутися до історії завантажень. Новий інтерфейс поки що запропонований за промовчанням лише частини користувачів і буде розповсюджений на всіх у разі відсутності проблем. Для повернення старого інтерфейсу або включення нового передбачено налаштування "chrome://flags#download-bubble".
    Реліз Chrome 102
  • При пошуку зображень через контекстне меню ("Search image with Google Lens" або "Знайти через Google Об'єктив") результати тепер показуються не на окремій сторінці, а в бічній панелі поряд із вмістом вихідної сторінки (в одному вікні одночасно можна бачити як вміст сторінки, і результат звернення до пошукової системі).
    Реліз Chrome 102
  • У налаштуваннях у розділі «Конфіденційність та безпека» додано розділ «Посібник з конфіденційності» («Privacy Guide»), в якому запропоновано загальний огляд основних налаштувань, що впливають на конфіденційність із докладними поясненнями про вплив кожної настройки. Наприклад, у секції можна визначити політику надсилання даних до сервісів Google, керувати синхронізацією, обробкою Cookie та збереженням історії. Функція запропонована частині користувачів, для активації можна використовувати налаштування "chrome://flags#privacy-guide".
    Реліз Chrome 102
  • Забезпечено структурування історії пошуку та переглянутих сторінок. При спробі повторного пошуку в адресному рядку виводиться підказка "Продовжити пошук в історії" ("Resume your journey"), що дозволяє продовжити пошук з місця, де він був перерваний минулого разу.
    Реліз Chrome 102
  • У каталозі Chrome Web Store запропонована сторінка «Extensions Starter Kit» з початковою добіркою додатків, що рекомендуються.
  • У тестовому режимі включено відправлення на сервер основного сайту запиту підтвердження повноважень CORS (Cross-Origin Resource Sharing) із заголовком "Access-Control-Request-Private-Network: true", у разі звернення зі сторінки до ресурсу у внутрішній мережі (192.168.xx , 10.xxx, 172.16.xx) або localhost (128.xxx). При підтвердженні операції у відповідь на запит сервер повинен повернути заголовок «Access-Control-Allow-Private-Network: true». У версії Chrome 102 результат підтвердження ще не впливає на обробку запиту - у разі відсутності підтвердження на веб-консолі відображається попередження, але сам запит субресурсу не блокується. Увімкнення блокування за відсутності підтвердження від сервера очікується не раніше, ніж у випуску Chrome 105. Для включення блокування в попередніх випусках можна активувати налаштування «chrome://flags/#private-network-access-respect-preflight-results».

    Підтвердження повноважень сервером введено для посилення захисту від атак, пов'язаних із зверненням до ресурсів у локальній мережі або на комп'ютері користувача (localhost) із скриптів, що завантажуються під час відкриття сайту. Подібні запити використовуються зловмисниками для CSRF-атак на маршрутизатори, точки доступу, принтери, корпоративні web-інтерфейси та інші пристрої та сервіси, що приймають запити тільки з локальної мережі. Для захисту від подібних атак у разі звернення до будь-яких субресурсів у внутрішній мережі, браузер надсилатиме явний запит повноваження завантаження цих субресурсів.

  • При відкритті посилань у режимі інкогніто через контекстне меню забезпечене автоматичне видалення з URL деяких параметрів, що впливають на конфіденційність.
  • Змінено стратегію доставки оновлень для Windows та Android. Для повнішого порівняння поведінки нового і старого випуску для завантаження тепер формується кілька збірок нової версії.
  • Стабілізовано технологію сегментування мережі для захисту від методів відстеження переміщень користувача між сайтами, що ґрунтуються на зберіганні ідентифікаторів у областях, не призначених для постійного зберігання інформації («Supercookies»). Оскільки ресурси в кеші зберігаються у загальному просторі імен, незалежно від вихідного домену, один сайт може визначити завантаження ресурсів з іншого сайту через перевірку наявності цього ресурсу в кеші. Захист заснований на застосуванні сегментування мережі (Network Partitioning), суть якого в додаванні до спільно використовуються кеші додаткової прив'язки записів до домену, з якого відкрита основна сторінка, що обмежує область охоплення кешу для скриптів відстеження переміщень тільки поточним сайтом (скрипт з iframe не зможе перевірити чи завантажувався ресурс з іншого сайту). Поділ стану охоплює мережеві з'єднання (HTTP/1, HTTP/2, HTTP/3, websocket), кеш DNS, дані ALPN/HTTP2, TLS/HTTP3, конфігурацію, завантаження та інформацію в заголовку Expect-CT.
  • Для відокремлених web-додатків (PWA, Progressive Web App), що встановлюються, надано можливість зміни оформлення області заголовка вікна за допомогою компонентів Window Controls Overlay, що розширюють екранну область web-додатка на все вікно. Web-додаток може керувати відмальовуванням та обробкою введення у всьому вікні, за винятком накладеного блоку зі штатними кнопками управління вікном (закриття, згортання, розгортання), для надання web-додатку форми звичайної настільної програми.
    Реліз Chrome 102
  • У системі автозапалення форм додано підтримку генерації віртуальних номерів кредитних карток у полях з реквізитами оплати товару в інтернет-магазинах. Використання віртуальної картки, номер якої генерується для кожної оплати, дозволяє не передавати дані про реальну кредитну картку, але вимагає надання необхідного сервісу банком. В даний час функція може використовуватися лише клієнтами деяких банків США. Для керування включенням функції запропоновано налаштування "chrome://flags/#autofill-enable-virtual-card".
  • Активовано за замовчуванням механізм Capture Handle, що дозволяє передавати інформацію додатків, що здійснюють захоплення відео. API дає можливість організувати взаємодію додатків, чий вміст записується, та додатків, які здійснюють запис. Наприклад, програма для ведення відеоконференцій, яка здійснює захоплення відео для трансляції презентації, може отримати відомості про елементи керування презентацією та вивести їх у вікні з відео.
  • За замовчуванням включена підтримка спекулятивних правил (Speculation rules), що надають гнучкий синтаксис для визначення можливості запобіжного завантаження пов'язаних з посиланням даних, що проводиться на етапі до переходу користувача за посиланням.
  • Стабілізовано механізм пакування ресурсів у пакети у форматі Web Bundle, що дозволяє збільшити ефективність завантаження великої кількості супутніх файлів (CSS-стилі, JavaScript, зображення, iframe). На відміну від пакетів у форматі Webpack, формат Web Bundle має такі переваги: ​​в HTTP-кеші осідає не сам пакет, а його складові; компіляція та виконання JavaScript починається не чекаючи повного завантаження пакета; допускається включення додаткових ресурсів, таких як CSS та зображення, які у webpack мали кодуватися у формі JavaScript-рядків.
  • Надано можливість визначення PWA-додатка як обробник певних MIME-типів і розширень файлів. Після визначення прив'язки через поле file_handlers в маніфесті, програма отримає спеціальну подію при спробі користувача відкрити файл, асоційований з програмою.
  • Додано новий атрибут inert, що дозволяє позначити частину дерева DOM як «недіючу». Для вузлів DOM у цьому стані відключаються обробники виділення тексту та наведення покажчика, тобто. CSS-властивості pointer-events та user-select завжди виставлені у значення 'none'. Якщо вузол допускав редагування, то в режимі inert він стає нередагованим.
  • Доданий API Navigation, що дозволяє web-додаткам перехоплювати операції навігації у вікні, ініціювати перехід та аналізувати історію дій із програмою. API надає альтернативу властивостям window.history та window.location, оптимізовану для односторінкових веб-додатків.
  • Для атрибуту hidden запропонований новий прапор until-found, який робить елемент доступним для пошуку на сторінці і прокручування по текстовій масці. Наприклад, можна додати на сторінку прихований текст, вміст якого буде знаходитись при локальному пошуку.
  • В API WebHID, призначений для низькорівневого доступу до HID-пристроїв (Human interface device, клавіатури, миші, геймпади, сенсорні панелі) та організації роботи без наявності в системі специфічних драйверів, в об'єкт requestDevice() додано властивість exclusionFilters, що дозволяє виключати показ браузером списку доступних пристроїв. Наприклад, можна виключити ідентифікатори пристроїв, які мають певні проблеми.
  • Заборонено виводити форму платежу через виклик PaymentRequest.show() без явної дії користувача, наприклад, кліка на елементі, пов'язаному з обробником.
  • Припинено підтримку альтернативної реалізації протоколу SDP (Session Description Protocol), що застосовується для встановлення сеансу WebRTC. У Chrome пропонувалося два варіанти SDP – уніфікований з іншими браузерами та специфічний для Chrome. Відтепер залишено лише варіант, що переноситься.
  • Внесено покращення до інструментів для web-розробників. На панелі Styles додані кнопки для симуляції застосування темної та світлої теми оформлення. Посилено захист вкладки Preview в режимі інспектування мережі (включено застосування Content Security Policy). У налагоджувачі реалізовано завершення виконання скрипту для перезавантаження точок зупинки. Запропоновано попередню реалізацію нової панелі «Performance insights», що дозволяє проаналізувати продуктивність виконання певних операцій на сторінці.
    Реліз Chrome 102

Окрім нововведень та виправлення помилок у новій версії усунуто 32 вразливості. Багато вразливостей виявлено в результаті автоматизованого тестування інструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer та AFL. Однією з проблем (CVE-2022-1853) надано критичний рівень небезпеки, який передбачає можливість обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення. Деталі щодо цієї вразливості поки не розголошуються, відомо тільки, що вона викликана зверненням до звільненого блоку пам'яті (use-after-free) у реалізації API Indexed DB.

У рамках програми з виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 24 премії на суму 65600 доларів США (одна премія $10000, одна премія $7500, дві премії $7000, три премії $5000, чотири премії $3000, дві $2000 та дві премії $1000). Розмір 500 винагород поки не визначений.

Джерело: opennet.ru

Додати коментар або відгук