Компания Google представи версия на уеб браузъра Chrome 98. В същото време е налична стабилна версия на свободния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава с използването на логотипи на Google, наличието на система за изпращане на уведомления при срив, модули за възпроизвеждане на защитено от копиране видеосъдържание (DRM), система за автоматично инсталиране на актуализации и предаване на RLZ параметри при търсене. Следващата версия на Chrome 99 е планирана за 1 март.
Основни промени в Chrome 98:
- В браузъра е вградена собствена хранилища на коренни сертификати на удостоверяващи центрове (Chrome Root Store), което ще се използва вместо външни хранилища, специфични за всяка операционна система. Хранилището е реализирано аналогично на независимото хранилище на коренни сертификати във Firefox, което се използва като първо звено за проверка на веригата на доверие на сертификатите при отваряне на сайтове по HTTPS. Новото хранилище засега не се използва по подразбиране. За да се улесни преносимостта и конфигурацията, свързана със системни хранилища, ще съществува преходен период, през който в Chrome Root Store ще бъде включена пълната селекция от сертификати, одобрени от повечето поддържани платформи.
- Продължава реализацията на плана за усилване на защитата срещу атаки, свързани с достъпа до ресурси в локалната мрежа или на компютъра на потребителя (localhost) от скриптове, зареждани при отварянето на сайт. Подобни заявки се използват от престъпниците за извършване на CSRF атаки срещу рутери, точки за достъп, принтери, корпоративни уеб интерфейси и други устройства и услуги, които приемат заявки само от локалната мрежа.
За защита от подобни атаки, в случай на достъп до всякакви субресурси в вътрешната мрежа, браузърът ще започне да изпраща явен иск за разрешение за зареждане на подобни субресурси. Искането за разрешение се извършва чрез изпращане на сървър основния сайт за CORS (Cross-Origin Resource Sharing) с заглавие «Access-Control-Request-Private-Network: true», преди да се свърже с вътрешна мрежа или с localhost. При потвърждение на операцията в отговор на това запитване, сървърът трябва да върне заглавие «Access-Control-Allow-Private-Network: true». В Chrome 98 проверката е реализирана в тестов режим и, в случай на липса на потвърждение, в уеб конзолата се показва предупреждение, но самото запитване за подресурса не се блокира. Блокирането ще бъде включено не по-рано от пускането на Chrome 101.
- В настройките на акаунта са интегрирани инструменти за управление на включването на разширен режим на защита от опасни сайтове (Enhanced Safe Browsing), при който се активират допълнителни проверки за защита от фишинг, злонамерена дейност и други заплахи в Web. При активиране на режима, в акаунта на Google сега ще бъде показано предложение за активиране на режима и в Chrome.
- Добавена е модел за откриване на опити за фишинг от страната на клиента, реализиран с помощта на платформата за машинно обучение TFLite (TensorFlow Lite), който не изисква изпращане на данни за извършване на проверка от страна на Google (при което се изпраща телеметрия с информация за версията на модела и изчислените теглови коефициенти за всяка категория). При откритие на опит за фишинг на потребителя ще бъде показана страница с предупреждение преди отваряне на подозрителен сайт.
- В API Client Hints, разработвано като заместител на заглавието User-Agent, позволяващо селективно предаване на данни за специфични параметри на браузъра и системата (версия, платформа и т.н.) само след заявка. сървъра., реализирана е възможност за временно заместване в списъка с идентификатори на браузъра с фиктивни имена, по аналогия със механизма GREASE (Generate Random Extensions And Sustain Extensibility), използван в TLS. Например, освен ‘»Chrome»; v=»98″‘ и ‘»Chromium»; v=»98″‘ в списъка може да бъде добавен случаен идентификатор на несъществуващ браузър ‘»(Not;Browser»; v=»12″‘. Тази подмяна ще позволи разкритие на проблеми с обработката на идентификатори на неизвестни браузъри, които принуждават алтернативните браузъри да се представят за други популярни браузъри, за да избегнат проверка от списъци с допустими браузъри.
- От 17 януари в каталога на Chrome Web Store вече не се приемат разширения, използващи втора версия на манифеста Chrome. Новите разширения ще се приемат само с трета версия на манифеста. Разработчиците на предишно добавени разширения, както преди, ще могат да публикуват актуализации с втора версия на манифеста. Пълното прекратяване на поддръжката на втора версия на манифеста е планирано за януари 2023 година.
- Добавена е поддръжка за цветни векторни шрифтове във формат COLRv1 (подмножество на шрифтове OpenType, което освен векторни глифове съдържа и слой с информация за цвят), които могат да се използват, например, за създаване на многоцветни emoji. В отличие от преди поддържания формат COLRv0, в COLRv1 се появи възможността за използване на градиенти, наложения и трансформации. Форматът също така предлага компактна форма на съхранение, осигурява ефективно компресиране и допуска повторно използване на контури, което значително намалява размера на шрифта. Например, шрифтът Noto Color Emoji в растрово представяне заема 9MB, а във векторен формат COLRv1 — 1.85MB.

- В режим Origin Trials (експериментални възможности, изискващи отделна активация) е реализиран API Region Capture, който позволява кадриране на заснеманото видео. Например, кадриране може да е необходимо в уеб приложения, които осъществяват уебсъдържание от своята вкладка, за да изрежат определено съдържание преди изпращане. 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).
- За разработените изолирани уеб приложения е добавен компонент Window Controls Overlay, който разширява екранната площ на приложението на цялото прозорец, включително и областта на заглавието, върху която се налагат стандартните бутони за управление на прозореца (затваряне, минимизиране, максимизиране). Уеб приложението може да управлява графичното представяне и обработката на входа в цялото прозорец, с изключение на наложения блок с бутони за управление на прозореца.
- В 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, са премахнати.
- Направени са подобрения в инструментите за уеб разработчици. Добавена е раздел за оценка на работата на кеша на връщане (Back-forward cache), който осигурява мигновен преход при използване на бутоните 'Назад' и 'Напред'. Добавена е възможност за емулация на медиа запитвания forced-colors. В редактора Flexbox са добавени бутони за поддръжка на свойства row-reverse и column-reverse. В раздела 'Changes' е осигурено показване на промените след форматиране на кода, което опростява анализа на минифицирани страници.

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

Освен нововъведенията и поправките на грешки, в новата версия са устранени 27 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти като AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox средата, не са открити. В рамките на програмата за изплащане на парични награди за откритие на уязвимости, компанията Google е изплатила 19 награди на стойност 88 хиляди долара (две награди по 20 000 долара, една награда от 12 000 долара, две награди по 7 500 долара, четири награди по 1 000 долара и по една награда от 7 000, 5 000, 3 000 и 2 000 долара.
Източник: opennet.ru



