Компания Google релиз на уеб браузъра . Водночас стабилна версия на свободния проект , който е основата на Chrome. Уеб браузърът Chrome използването на логото на Google, наличието на система за уведомления в случай на срив, възможността за зареждане на Flash модула при поискване, модули за възпроизвеждане на защитено видео съдържание (DRM), автоматична система за инсталиране на актуализации и предаване при търсене . Следващото издание на Chrome 85 е планирано за 25 август.
:
- поддръжка на протоколите TLS 1.0 и TLS 1.1. За достъп до сайтове по защитен канал, сървърът трябва да предостави поне TLS 1.2, в противен случай браузърът сега ще показва грешка. Според Google в момента около 0.5% от извлеченията на уеб страници все още се осъществяват с помощта на остарели версии на TLS. Изключването е извършено в съответствие с на IETF (Internet Engineering Task Force). Причината за отказа от TLS 1.0/1.1 е отсъствието на поддръжка на съвременни криптографски алгорими (например ECDHE и AEAD) и изискването за поддръжка на стари алгоритми, чиято надеждност в съвременната ера на компютърните технологии е поставена под съмнение (например, изисква се поддръжка на TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, за проверка на целостта и автентикацията се използват MD5 и SHA-1). Конфигурацията, позволяваща връщане на TLS 1.0/1.1 ще остане до януари 2021 година.
- Обезпечена блокировка на (без криптиране) на изпълними файлове и добавен извод на предупреждения при несигурно зареждане на архиви. В бъдеще постепенно се планира напълно прекратяване на поддръжката за зареждане на файлове без прилагане на криптиране. Блокировката е реализирана, тъй като зареждането на файлове без криптиране може да се използва за извършване на вредителски действия чрез подмяна на съдържанието при MITM атаки.
- начална поддръжка на , разработвано като алтернатива на заглавката User-Agent. Механизмът Client Hints предлага вместо User-Agent серия заглавки „Sec-CH-UA-*“, които позволяват селективно предоставяне на данни за конкретни параметри на браузъра и системата (версия, платформа и т.н.) само след запитване от сървъра. Потребителят получава възможност да определи кои параметри могат да бъдат предоставени и селективно да предоставя такава информация на собствениците на сайтове. При използване на Client Hints идентификаторът не се предава по подразбиране без изрично запитване, което прави невъзможно провеждането на пасивна идентификация (по подразбиране се указва само името на браузъра). по до следващата година.
- активиране
на по-строги за предаване на бисквитки между сайтове, което беше поради COVID-19. За не-HTTPS запитванията е забранена обработката на трети страни бисквитки, зададени при достъп до сайтове, различни от домейна на текущата страница. Такива бисквитки се използват за проследяване на движенията на потребителя между сайтове в кодове на рекламни мрежи, социални медии и системи за уеб анализ.Да припомним, че за управление на предаването на бисквитки се използва атрибутът SameSite, посочен в заглавието Set-Cookie, който по подразбиране ще бъде зададен на „SameSite=Lax“, ограничаващ изпращането на бисквитки за междусайтови подзаявки, като искане за изображение или зареждане на съдържание чрез iframe от друг сайт. Сайтовете могат да надвият приложимия по подразбиране режим SameSite, експлицитно задавайки при настройка на бисквитката стойност SameSite=None. Освен това стойността SameSite=None за бисквитките може да бъде зададена само в режим Secure (струва за връзки чрез HTTPS). Промяната ще бъде прилагана постепенно, първоначално за малък процент потребители, а след това постепенно разширявайки обхвата.
- Добавена е експериментална реализация , която може да бъде активирана чрез настройката «chrome://flags/#enable-heavy-ad-intervention». Блокировчикът автоматично деактивира рекламиращите iframe блокове след превишаване на праговите стойности за трафик и натоварване на CPU. Блокировката ще се активира, ако в основния поток са изразходвани над 60 секунди процесорно време в сумарен обем или 15 секунди в 30-секунден интервал (използващи 50% от ресурсите над 30 секунди), както и когато са загрузени над 4 Мб данни по мрежата.
Блокировката ще се активира само ако преди превишаване на лимитите потребителят не е взаимодействал с рекламния блок (например, не е кликал върху него), което с оглед на ограниченията за трафик ще позволи блокиране на автоматичното възпроизвеждане на обемни видеоклипове в рекламите без явна активация от страна на потребителя. Предлаганите мерки ще избавят потребителите от реклами с неефективна реализация на кода или преднамерена паразитна активност (например, майнинг). Според статистиката на Google, рекламите, попадащи под критериите за блокировка, съставляват едва 0.30% от всички рекламни блокировки, но същевременно подобни рекламни внедрявания консумират 28% от ресурсите на CPU и 27% от трафика от целия обем реклама.
- Проведена е работа по намаляване на потреблението на ресурси на CPU, когато прозорецът на браузъра не е в полето на видимост на потребителя. Chrome вече проверява дали прозорецът на браузъра е покрит от други прозорци и изключва визуализацията на пиксели в области на припокритие. Включването на новата функция ще бъде извършено постепенно: подбирано за определени потребители оптимизацията ще бъде включена в Chrome 84, а за останалите в Chrome 85.
- Включена по подразбиране защита от , например, спам заявки за получаване на push-уведомления. Тъй като подобни заявки нарушават работата на потребителя и отвлекат вниманието от действия в диалозите за потвърждение, вместо отделен диалог в адресната лента ще се показва информация, която не изисква действия от потребителя, с предупреждение за блокиране на заявката за разрешение, която автоматично ще се свива до индикатор с изображение на зачеркнато звънче. При кликване върху индикатора можете да активирате или отхвърлите исканото разрешение по всяко време.
- Осигурено е запомняне на избора на потребителя при отваряне на обработчици на външни протоколи — потребителят може да избере „винаги да разрешава за този сайт“ за определен обработчик и браузърът ще запомни това решение, свързано с текущия сайт.
- Добавена е защита от промяна на настройките на потребителя без явно съгласие. Ако разширението промени предложената по подразбиране търсачка или страницата, показваща се за нов таб, браузърът сега ще изведе диалог с предложение да потвърдите посочената операция или да отмените промяната.
- внедряване на защита от зареждане на смесено мултимедийно съдържание (когато на HTTPS-страница се зареждат ресурси по протокол http://). На страниците, отворени по HTTPS, сега автоматично ще се заменят линковете "http://" с "https://" в блоковете, свързани със зареждането на изображения (по-рано се замениха скриптове и iframe, автоматичната замяна на звукови и видео ресурси се очаква в следващата версия). Ако изображението не е достъпно по https, зареждането му се блокира (на ръка можете да отбележите блокирането чрез менюто, достъпно чрез символа на катинар в адресната лента).
- Добавена е поддръжка на API (развиван като SMS Receiver API), позволяващ организирането на въвеждането на еднократна парола на уебстраница, след получаване на SMS съобщение с код за потвърждение, доставен на Android смартфон на потребителя, на който е активиран браузър. SMS потвърждението, например, може да се използва за проверка на номера на телефона, посочен от потребителя при регистрация. Ако преди потребителят е трябвало да отвори приложението за работа с SMS, да копира кода в буфера за обмен, да се върне в браузъра и да постави този код, новият API предлага възможност за автоматизиране на този процес и да го намали до едно натискане.
- Разширено API
за управление на възпроизвеждането на web-анимации. В новата версия е добавена поддръжка на композиционни операции, позволяващи контрол на комбинирането на ефектите и предоставящи нови обработчици, извиквани при настъпване на събития за замяна на съдържанието. API Web Animations също така сега поддържа Promise за определяне на последователността на показване на анимацията и по-добро управление на начина, по който анимацията взаимодейства с другите възможности на приложението. - В режима Origin Trials (експериментални функции, изискващи отделна активация) са добавени няколко нови API. Origin Trial предполага възможността за работа с определен API от приложения, заредени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който е валиден за ограничен период от време за конкретен сайт.
- API за достъп на Service worker до HTTP Cookies, представляващ асинхронен вариант на използване на document.cookie.
- API за определяне на неактивността на потребителя, позволяваща да се определи времето, когато потребителят не взаимодейства с клавиатурата/мишката, е активиран екранния защитник, екранът е заключен или работа се извършва на друг монитор. Информираността на приложението относно неактивността става чрез изпращане на уведомление след достигане на зададения праг на неактивност.
- Режим , позволяваща на разработчика да използва по-пълна изолация на обработката на съдържанието в отделен процес, свързана с произхода (origin — домейн+порт+протокол), а не със сайта, на цената на прекратяване на поддръжката на някои остарели функции, като синхронното изпълнение на скриптове, използващи document.domain, и извикването на postMessage() за изпращане на съобщения към инстанциите на WebAssembly.Module. С други думи, Isolation от произхода позволява да се организира разделение на различни процеси на базата на домейна на ресурса, а не на сайта със всички чужди включвания на страниците.
- API за използване на векторни SIMD инструкции в приложения във формат WebAssembly. За осигуряване на платформа независимост се предлагат нов 128-битов тип, който може да представя различни типове опаковани данни, и няколко основни векторни операции за обработка на опаковани данни. SIMD позволява повишаване на производителността чрез паралелна обработка на данни и ще бъде полезно при компилация на нативен код в WebAssembly. За включване на поддръжката на SIMD може да се използва настройката „chrome://flags/#enable-webassembly-simd“.
- Стабилизиран и сега се разпространява извън Origin Trials
API , предоставящо метаданни за съдържанието, което преди това е било кеширано от уеб приложения, работещи в режим Progressive Web Apps (PWS). Приложението може да съхранява в браузъра различни данни, включително изображения, видеа и статии, и при загуба на интернет връзка да ги използва чрез API Cache Storage и IndexedDB. Content Indexing API позволява добавянето, намирането и изтриването на подобни ресурси. В браузъра този API вече се използва за изброяване на списъка с страници и мултимедийни данни, достъпни за преглед офлайн. - Стабилизирана версия на API на базата на механизма Promise, предоставящ безопасен начин за управление на деактивирането на автоблокирането на екрана и прехвърлянето на устройствата в енергоспестяващи режими.
- В версията за платформата Android поддръжка на символи на приложения, позволяващи бърз достъп до търсени типични действия в приложението. За създаване на символи е достатъчно да се добавят елементи в манифеста на уеб приложението в формат PWA (Progressive Web Apps).
- За Web Worker е разрешено използването на API , позволяващ определянето на обработчик за генериране на отчет, извикван при достъп до остарели функционалности. Генерираният отчет по избор на потребителя може да бъде запазен, изпратен на сървъра или обработен от скрипт на JavaScript.
- Актуализиран API , позволяващ свързването на обработчик, на който ще се изпращат известия за промяна на размера на определени елементи на страницата. В ResizeObserverEntry са добавени три нови свойства: contentBoxSize, borderBoxSize и devicePixelContentBoxSize за получаване на по-подробна информация, предоставяна под формата на масив от обекти ResizeObserverSize.
- Добавено е ключовото слово «» за нулиране на стила на елемента до стойността по подразбиране.
- Премахнати са префиксите на CSS свойствата «-webkit-appearance» и «-webkit-ruby-position», които вече са налични като «» и „«.
- В JavaScript поддръжка за маркиране на методи и свойства на клас като частни, след което достъпът до тях ще бъде разрешен само в рамките на класа (по-рано частни можеха да бъдат само полета). За маркиране на методи и свойства като частни трябва преди името на полето знак «#».
- В JavaScript подкрепа (weak reference) към обекти на JavaScript, позволяващи запазване на препратка към обекта, но без да блокират изтриването на свързания обект от сборщика на боклук. Също така е добавена поддръжка за финализатори, които предоставят възможност за дефиниране на обработчик, извикван след приключване на събирането на боклук за посочения обект.
- Ускорено е стартирането на приложения на WebAssembly, благодарение на имплементацията в началния (baseline) компилатор Liftoff и . Подобрени са инструментите за отстраняване на грешки в WebAssembly, значително е увеличена производителността на отстраняването на грешки при използване на точки на прекъсване (по-рано при отстраняването се използваше интерпретатор, а сега компилаторът Liftoff).
- В инструментите за уеб разработка, панелата за анализ на производителността е актуализирана с обща информация за метриката. (Общо Време за Блокиране), което показва колко дълго страницата изглежда налична, но всъщност не е налична (т.е. страницата вече е рендерирана, но все още блокира изпълнението на основния поток и не е възможен вход на данни). Добавена е нова секция Experience за анализ на метриката. (Кумулативно Изместване на Разположението), отразяваща визуалната стабилност на съдържанието. В панела за инспектиране на CSS стилове е реализиран преглед на изображенията, зададени чрез свойството „background-image“.
Освен нововъведенията и корекциите на грешки, в новата версия са отстранени . Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти. , , , и . Една от проблемите (CVE-2020-6510, препълване на буфера в обработчика на фонови операции fetch) е маркирана като критична, т.е. позволява преодоляване на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox средата. В рамките на програмата за изплащане на парични награди за откриване на уязвимости за текущия релиз, компанията Google е изплатила 26 награди на стойност 21500 долара (две награди от 5000 долара, две награди от 3000 долара, една награда от 2000 долара, две награди от 1000 долара и три награди от 500 долара). Размерът на 16 от наградите все още не е определен.
Източник: opennet.ru
