Издание на Chrome 91

Компания Google представи версия на уеб браузъра Chrome 91. В същото време е наличен стабилен релиз на свободния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава с използването на логото на Google, наличието на система за уведомление при срив, модули за възпроизвеждане на защитено видео съдържание (DRM), автоматична система за обновления и предаване на RLZ-параметри при търсене. Следващият релиз на Chrome 92 е планиран за 20 юли.

Основни промени в Chrome 91:

  • Реализирана е възможността за спиране на изпълнението на JavaScript в свивна група от раздели. В Chrome 85 се появи поддръжка на обединяване на раздели в групи, които могат да бъдат свързани с определен цвят и етикет. Когато кликнете върху етикета на групата, свързаните с нея раздели се свиват и остава само един етикет (повторният клик върху етикета разкрива групата). В новия релиз, с цел намаляване на натоварването на CPU и спестяване на енергия, е реализирано преустановяване на активността в свитите раздели. Изключение се прави само за раздели, в които се възпроизвежда звук, използва се API Web Locks или IndexedDB, осъществява се свързване с USB устройство, извършва се захващане на видео, звук или съдържание на прозорци. Промяната ще бъде внедрявана постепенно, започвайки с малък процент от потребителите.
  • Включена е поддръжка на метод за споразумение за ключове, устойчив на подбор с квантови компютри. Квантовите компютри решават задачата за разлагане на натурално число на прости множители много по-бързо, което е основата на съвременните асиметрични алгоритми за криптиране и не може ефективно да се реши на класически процесори. За използване в TLSv1.3 е предоставен плъгин CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), който комбинира класическия механизъм за обмен на ключове X25519 със схемата HRSS, базирана на алгоритъма NTRU Prime, разработен за постквантови криптосистеми.
  • Напълно е прекратена поддръжката на протоколите TLS 1.0 и TLS 1.1, които комитетът IETF (Internet Engineering Task Force) е обявил за остарели. Включително е премахната възможността за възстановяване на TLS 1.0/1.1 чрез промяна на политиката SSLVersionMin.
  • В сборките за Linux платформата е включена функцията за "DNS над HTTPS" (DoH, DNS over HTTPS), която преди това беше достъпна за потребителите на Windows, macOS, ChromeOS и Android. DNS-over-HTTPS ще бъде активирана автоматично за потребители, които имат конфигурирани DNS доставчици, които поддържат тази технология (за DNS-over-HTTPS се използва същият доставчик, който е посочен за DNS). Например, ако потребителят е настроил DNS 8.8.8.8, тогава в Chrome ще се активира услугата DNS-over-HTTPS на Google ("https://dns.google.com/dns-query"), а ако DNS е 1.1.1.1, тогава услугата DNS-over-HTTPS на Cloudflare ("https://cloudflare-dns.com/dns-query").
  • В списъка на забранените мрежови портове е добавен порт 10080, който се използва в Amanda backup и VMWare vCenter. По-рано вече бяха блокирани портовете 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 и 6566. За портовете в черния списък е блокирано изпращането на HTTP, HTTPS и FTP заявки с цел защита от атака на NAT slipstreaming, позволяваща на нападателя да установи мрежова връзка с устройство, когато потребителят отвори специално приготвена уеб страница в браузъра, независимо от използването на вътрешен диапазон на адреси (192.168.x.x, 10.x.x.x).
  • Предоставена е възможност за настройка на автоматичен старт на отделни уеб приложения (PWA — Progressive Web Apps) при входа на потребителя в системата (Windows и macOS). Автозапускът се настройва на страницата chrome://apps. Функционалността в момента се тества на малък процент от потребителите, а за останалите е необходимо активирането на настройката "chrome://flags/#enable-desktop-pwas-run-on-os-login".
  • В рамките на усилията за превод на браузъра към инклузивна терминология, файлът "master_preferences" е преименуван на "initial_preferences". За запазване на съвместимостта поддръжката на "master_preferences" ще бъде налична за известно време в браузъра. Преди това браузърът вече премахна използването на термини като "whitelist", "blacklist" и "native".
  • В разширения режим за защита от опасни сайтов (Enhanced Safe Browsing), в който се активират допълнителни проверки за защита от фишинг, злонамерена активност и други заплахи в мрежата, е реализирана възможността за изпращане на качени файлове за проверка на страната на Google. В допълнение, в Enhanced Safe Browsing е реализиран отчет на токените, свързани с акаунта в Google, при установяване на опити за фишинг, както и изпращането на сървърите на Google стойностите на заглавието Referrer за проверка на пробиви от злонамерен сайт.
  • В редакцията за платформата Android е подобрено оформлението на елементите на уеб формите, които са оптимизирани за използване на сензорни екрани и системи за хора с увреждания (за настолни системи оформлението беше преработено в Chrome 83). Целта на преработката беше унификация на оформлението на елементите на формите и премахване на несъответствието на стиловете — преди част от елементите на формите беше проектирана в съответствие с елементите на интерфейса на операционните системи, а част — в съответствие с най-популярните стилове. Заради това различните елементи се подходиха по различен начин за сензорни екрани и системи за хора с увреждания.
    Издание на Chrome 91Издание на Chrome 91
  • Добавено е проучване на мнението на потребителите, показвано при отваряне на настройките Privacy Sandbox (chrome://settings/privacySandbox).
  • При стартиране на Android версията на Chrome на таблети с голям екран е осигурен запитване за десктоп версията на сайта, а не редакции за мобилни устройства. Промяната на поведението може да се извърши с помощта на настройката „chrome://flags/#request-desktop-site-for-tablets“.
  • Преработен е кодът за визуализиране на таблици, което позволи решаването на проблеми с несъответствието на поведението при извеждането на таблиците в Chrome и в Firefox/Safari.
  • Спряна е обработката на сървърни сертификати от испанския удостоверяващ център Camerfirma поради повтарящи се инциденти от 2017 година, свързани с нарушения при издаването на сертификати. Подкрепата на клиентските сертификати е запазена, блокировката се прилага само за сертификати, използвани на сайтове за HTTPS.
  • Подобрена реализация поддръжка на сегментиране на мрежата за защита от методи за проследяване на местоположението на потребителите между сайтовете, основани на съхраняването на идентификатори в области, не предназначени за постоянно съхранение на информация («Supercookies»). Тъй като ресурсите в кеша се съхраняват в общо пространство от имена, независимо от изходния домейн, един сайт може да установи зареждането на ресурси от друг сайт чрез проверка за наличието на този ресурс в кеша. Защитата се основава на прилагането на сегментиране на мрежата (Network Partitioning), чиято същност е добавянето в споделените кешове на допълнителна връзка на записите към домейн, от който е отворена основната страница, което ограничава обхвата на кеша за скриптовете за проследяване на местоположението единствено до текущия сайт (скрипт от iframe не може да провери дали ресурсът е зареден от друг сайт).

    Цената на сегментиране е намаляване на ефективността на кеширането, което води до незначително увеличаване на времето за зареждане на страницата (максимум с 1.32%, но за 80% от сайтовете с 0.09-0.75%). За тестване на режима на сегментиране можете да стартирате браузъра с опция «—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey».

  • Добавен е външен REST API VersionHistory (https://versionhistory.googleapis.com/v1/chrome), чрез който можете да получите информация за версиите на Chrome, свързани с платформите и клоновете, както и история на актуализациите на браузъра.
  • В iframe, заредени от домейни, различни от домейна на основната страница, е забранен извеждането на JavaScript-диалогови прозорци alert(), confirm() и prompt(), което ще защити потребителите от опити на външни скриптове да извеждат съобщения под претекст, че известието е извлечено от основния сайт.
  • Стабилизиран и предложен по подразбиране API WebAssembly SIMD за използване на векторни SIMD-инструкции в приложения във формат WebAssembly. За осигуряване на платформа независимост се предлагат нов 128-битов тип, който може да представя различни типове опаковани данни, и няколко основни векторни операции за обработка на опаковани данни. SIMD позволява увеличаване на производителността чрез паралелна обработка на данни и ще бъде полезен при компилиране на нативен код в WebAssembly.
  • В режима Origin Trials (експериментални функции, изискващи отделна активация) са добавени няколко нови API. Origin Trial предполага възможността за работа с определен API от приложения, заредени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който е валиден за ограничен период от време за конкретен сайт.
    • WebTransport — протокол и съответстващ JavaScript API за изпращане и получаване на данни между браузера и сървър. Каналът за комуникация се организира над HTTP/3, използвайки протокола QUIC като транспорт, който от своя страна е надстройка над UDP протокола, поддържаща мултиплексиране на множество връзки и осигуряваща методи за криптиране, еквивалентни на TLS/SSL.

      WebTransport може да се използва вместо механизмите WebSockets и RTCDataChannel, предлагащи допълнителни възможности, като организиране на предаване в множество потоци, еднопосочни потоци, доставка без вземане под внимание на реда на предаване на пакети (out-of-order), надежден и ненадежден режим на доставка. Освен това, WebTransport може да се прилага вместо механизма Server Push, от който Google се отказа в Chrome.

    • Декларативен интерфейс за определяне на линкове към отделни web-приложения (PWA), включен с параметъра capture_links в манифеста на web-приложението и позволяващ на сайтовете автоматично да отварят ново PWA-прозорец при клик на линк на приложението или да преминават в единичен режим, подобно на мобилни приложения.
    • Добавен е API за засичане на равнини в WebXR, предоставяща информация за плоски повърхности в виртуалната 3D среда. Указаният API позволява да се избегне ресурсоемката обработка на данни, получени чрез MediaDevices.getUserMedia(), използвайки собствени реализации на алгоритми за машинно зрение. Напомняме, че API WebXR позволява унифицирана работа с различни класове устройства за виртуална реалност, от стационарни 3D шлемове до решения на базата на мобилни устройства.
  • Реализирана е поддръжка за работа с WebSockets над HTTP/2 (RFC 8441), която действа само за защитени заявки към WebSockets и при наличие на вече установена HTTP/2 връзка с сървера, в която е анонсирана поддръжката на разширението „WebSockets over HTTP/2“.
  • Ограниченията на точността на стойностите на таймера, предоставяни от performance.now(), са унифицирани за всички поддържани платформи и адаптирани с оглед на възможната изолация на обработчиците в отделни процеси. Например, на десктоп системи точността при работа в неизолирани контексти е намалена от 5 на 100 микросекунди.
  • В сборките за настолни системи е реализирана възможност за четене на файлове от буфера наClipboard (записването на файлове в буфера наClipboard продължава да бъде забранено). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
  • В CSS е реализирано правило @counter-style, позволяващо определяне на собствен стил за броячи и етикети в номерирани списъци.
  • В CSS псевдо-класовете «:host()» и «:host-context()» добавиха възможност за предаване на единични стойности на съставни селектори (<compound-selector>) в допълнение към списъците на селекторите (<compound-selector-list>).
  • Добавен е интерфейсът GravitySensor за определяне на обемни (по трите оси на координатите) данни с датчика на гравитацията.
  • В API File System Access е предоставена възможност за определяне на препоръки за избор на име на файл и каталог, предлаган в диалоговия прозорец за създаване или отваряне на файл.
  • В iframe, заредени от други домейни, е разрешено достъп до API WebOTP при предоставяне на съответните разрешения от потребителя. WebOTP позволява четенето на еднократни кодове за потвърждение, изпратени чрез SMS.
  • Разрешено е предоставянето на споделен достъп до удостоверители за сайтове, свързани чрез механизма DAL (Digital Asset Links), който позволява асоцииране на Android приложения със сайтове за улесняване на влизането.
  • В Service worker е разрешено използването на JavaScript модули. При указване на типа ‘module’ по време на извикването на конструктора, посочените скриптове ще бъдат заредени под формата на модули и налични за импортиране в контекста на worker-а. Поддръжката на модули опростява споделянето на код на уеб-страници и в Service worker-и.
  • В JavaScript е предоставена възможност за проверка на съществуването на закрити полета в обект, използвайки синтаксиса «#foo in obj». class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
  • В JavaScript по подразбиране е разрешено използването на ключовата дума await на горно ниво в модулите, което позволява по-мек интегрира с асинхронни извиквания в процеса на зареждане на модули, без да е необходимо да се опакова в «async function». Например, вместо (async function() { await Promise.resolve(console.log(‘test’)); }()); сега може да се напише await Promise.resolve(console.log(‘test’));
  • В JavaScript двигателя V8 е повишена ефективността на кеширането на шаблони, което доведе до увеличение на скоростта на теста Speedometer2-FlightJS с 4.5%.
  • Внедрен е нов режим за инспектиране на паметта (Memory inspector), който предоставя средства за анализ на данни от ArrayBuffer и паметта на Wasm.
    Издание на Chrome 91

    В панела Performance е добавен обобщаващ индикатор за производителността, който помага да се прецени дали сайтът се нуждае от оптимизация.

    Издание на Chrome 91

    При предварителен преглед на изображения в панела Elements и в анализа на мрежовите заявки се предоставя информация за съотношението на страните на изображението, параметрите на визуализацията и размера на файла.

    Издание на Chrome 91

    В панела за инспектиране на мрежата се появи възможност за промяна на получените стойности за заглавието Content-Encoding.

    Издание на Chrome 91

    В панела за работа със стилове се появи опция за бърз преглед на изчислената стойност при навигация по параметрите на CSS, избирайки "View computed value" в контекстното меню.

    Издание на Chrome 91

Освен новите функции и корекциите в новата версия са поправени 32 уязвимости. Много от уязвимостите са открити с автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са открити критични проблеми, които да позволят заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox-а. В рамките на програмата за парични награди за открити уязвимости, компанията Google е изплатила 21 награда на обща стойност 92000 долара (една награда от $20000, една награда от $15000, четири награди от $7500, три награди от $5000, три награди от $3000, две награди от $1000 и две награди от $500). Размерът на 5 от наградите все още не е определен.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster