Компания Google публикува новата версия на уеб браузъра Chrome 135. Също така е налично стабилно издание на отворения проект Chromium, който е основата на Chrome. Браузерът Chrome се различава от Chromium с използването на логотипите на Google, наличието на система за известяване при срив, модули за възпроизвеждане на защитено съдържание от копиране (DRM), автоматично инсталиране на актуализации, постоянно активиране на Sandbox изолация, предоставяне на ключове за Google API и предаване на RLZ параметри при търсене. За тези, които имат нужда от повече време за актуализация, се поддържа отделен клон Extended Stable, който ще получава актуализации на всеки 8 седмици. Следващото издание на Chrome 136 е планирано за 29 април.
Основни промени в Chrome 135:
- Добавена е защита от скрито идентифициране на потребителите с HSTS кеш (HTTP Strict Transport Security). HSTS позволява на сайтовете, при влизане по HTTP, да пренасочват потребителите към HTTPS. По време на работа името на хоста, зададено чрез HSTS, се запазва в вътрешен кеш, което позволява да се използва наличието или отсъствието на хоста в кеша за съхраняване на един бит информация.
За скрито съхранение на 32-битов идентификатор на потребителя може да се използва масив от 32 изображения, предавани от различни хостове по HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg и т.н.). Определянето на идентификатора се извършва чрез проверка на от които хостове изображенията са били заредени по HTTPS, а от които по HTTP (ако изображенията били предадени преди по HTTP и след това пренасочени към HTTPS чрез HSTS, при следващи заявки те ще се зареждат директно от HTTPS, без да минават през HTTP). Защитата се свежда до разрешаване на актуализация на HSTS само за ресурси от най-високо ниво и блокиране на актуализация на HSTS в заявки към субресурси.
- Добавена е локално извършвана машина за обучение, за да се подобри определянето на наличието на страници с полета за въвеждане на пароли и автоматична смяна на паролата. Ако паролата бъде призната за компрометирана, при опит за вход с тази парола в сайта, Chrome ще изведе предупреждение с предложение за смяна на паролата. При съгласие браузърът ще генерира устойчива на подбиране парола, ще смени паролата в сайта и ще запази новата парола в мениджъра на пароли — AI сам ще попълни и изпрати нужните уеб формуляри на необходимия сайт и ще обнови запазената парола.
- В режима на разширена защита на браузера (Safe Browsing > Enhanced protection) е добавена възможността за използване на голям езиков модел за определяне на фалшиви страници въз основа на тяхното съдържание. AI моделът се изпълнява на страната на клиента, но в случай на съмнения относно съмнително съдържание, се извършва допълнителна проверка на сървъри Google. Ако допълнителната проверка бъде потвърдена, на потребителя се извежда предупреждение. Проверката в момента се извършва само за страници, които използват API Keyboard Lock.
- За потребителите, свързали Chrome с техния Google акаунт, се появи възможността за запазване на инсталираните добавки в техния Google акаунт за последваща автоматична употреба на тези добавки на всички компютри, които потребителят използва.
- На потребителите, които наскоро са свързали своя Google акаунт или използват Chrome Sync, е осигурено съхранение на синхронизирани настройки, бързи връзки и теми отделно от локалните настройки. По този начин, след изключване на Chrome Sync на устройството, ще останат оригиналните настройки, а при свързване с Google не ще се зареждат локалните настройки.
- В версията за Android е прекратена поддръжката на вграден мениджър на пароли, заместен от унифицирания Google Password Manager, предоставян чрез Google Play. Потребителите могат да запазят съдържанието на стария мениджър на пароли във формат CSV за прехвърляне в други мениджъри на пароли.
- В режима инкогнито е реализирана неизключваема на страната на браузера блокировка на трети страни Cookies, които се задават при обращение към сайтове, различни от домейн текущата страница (подобни Cookies се използват за проследяване на движението на потребителя между сайтовете в кода на рекламните мрежи, социалните мрежи и системите за уеб анализ). Възможността за управление на блокировката на Cookies на трети страни на страната на сайтовете остава без промяна, но в браузера настройката BlockThirdPartyCookies в режим инкогнито вече не може да бъде настроена на false.
- В CSS са добавени псевдоелементите «::column», «::scroll-button», «::scroll-marker» и «::scroll-marker-group», с помощта на които може да се реализира скролинг под формата на карусел.
- Реализирани са HTML атрибутите «command» и «commandfor», които могат да се използват в бутоните вместо атрибутите «popovertargetaction» и «popovertarget» за декларативна настройка на взаимодействието с менюто, извиквано при натискане на бутона. При използването на новите атрибути цялата логика на взаимодействие с менюто е поета от браузъра, без необходимост от свързване на собствени обработчици на JavaScript. Например, за създаване на падащо меню е достатъчно да се посочи: <button commandfor="»my-menu»" command="»show-popover»">Отвори менюто</button> <div popover id="»my-menu»"> … </div>
- В CSS е добавена функция shape(), позволяваща формирането на фигури с използване на CSS-свойствата clip-path и offset-path. Функцията shape() поддържа команди за формиране на фигури, еквивалентни на функцията path(), но позволява използването на стандартния синтаксис на CSS.
- В API Web Speech, предоставящо функции за синтез и разпознаване на реч, е добавена поддръжка на интерфейса MediaStreamTrack за обработка на звук, идващ от различни източници, включително външни звукови тракове. По-рано API Web Speech можеше да обработва само звук, постъпващ през избрания по подразбиране микрофон.
- В JavaScript е добавена поддръжка на типизирани масиви Float16Array, предназначени за съхранение на стойности с тип Float16.
- Добавен е API Observable за обработка на потоци от събития в асинхронен режим. API дава възможност за подписване на обект за получаване на събития при постъпването им и декларативно описание на потока от преобразования, които ще бъдат приложени към постъпващите събития.
- Методът navigator.xr.supportsSession, който преди беше обявен за остарял, е премахнат. Вместо него следва да се използва методът navigator.xr.isSessionSupported, деклариран в спецификацията WebXR.
- Настройките InsecurePrivateNetworkRequestsAllowedForUrls и InsecurePrivateNetworkRequestsAllowed, използвани за активиране на механизма PNA 1.0 (Private Network Access), който ограничава зареждането на ресурси от публични сайтове, свързващи се с хостове в локалната мрежа (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 и т.н.), са премахнати. Подобна активност се използва от злонамерени лица за извършване на CSRF атаки на рутери, точки за достъп, принтери, корпоративни уеб-интерфейси и други устройства и услуги, които приемат заявки само от локалната мрежа.
Поради несъвместимост с някои устройства, PNA 1.0 можеше да се активира само по желание. На мястото на PNA 1.0 е разработена спецификация PNA 2.0, за поддръжката на която не се изискват промени от страна на устройствата и са достатъчни промени от страната на сайтовете, които се нуждаят от достъп до интранет ресурси. PNA 1.0 и PNA 2.0 не са съвместими помежду си, затова преди внедряването на PNA 2.0 Google възнамерява първо да премахне поддръжката на PNA 1.0.
- Опцията за възстановяване на поддръжката на остарелия интерфейс MutationEvent и свързаните с него синхронно обработвани събития DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument и DOMCharacterDataModified е премахната. Интерфейсът е бил използван за проследяване на измененията в DOM дървото, но негативно е влияел на производителността на страниците и е пречел на внедряването на нови функции. Този API беше деактивиран по подразбиране през лятото на миналата година, но в Chrome оставаше опцията MutationEventsEnabled за възстановяване на поддръжката. Препоръчва се да се използва API Mutation Observer като алтернатива.
- В инструментите за уеб разработчици са разширени възможностите на средствата за анализ на производителността.
Освен нововъведенията и поправките на грешки в новата версия, са отстранени 14 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са открити критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на пясъчника. В рамките на програмата за награди за откриване на уязвимости, компанията Google е изплатила 8 награди на обща стойност 17 хиляди долара, една награда от $10000 и по две награди от $2000, $1000 и $500.
Източник: opennet.ru
