Компания 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 заявки е забранена обработката на трети страни бисквитки, зададени при достъп до сайтове, различни от домейна на текущата страница. Подобни бисквитки се използват за проследяване на движенията на потребителя между сайтовете в кодовете на рекламните мрежи, социалните медии и системите за уеб анализ.Напомняме, че за управление на предаването на Cookie се използва атрибутът SameSite, указан в заглавието Set-Cookie, който по подразбиране ще бъде зададен на «SameSite=Lax», ограничаващ изпращането на Cookie за междусайтови подзапитвания, като заявка за изображение или зареждане на съдържание през iframe от друг сайт. Сайтовете могат да преопределят приложимия по подразбиране режим SameSite, изрично задавайки стойността SameSite=None при инсталиране на Cookie. Освен това стойността SameSite=None за Cookie може да се задава само в режим Secure (действува за връзки чрез HTTPS). Промяната ще се прилага поетапно, първоначално за малък процент потребители, а след това постепенно разширявайки обхвата.
- Добавена е експериментална реализация , която може да се активира с настройката «chrome://flags/#enable-heavy-ad-intervention». Блокировачът позволява автоматично да се деактивират рекламни iframe блокове след надвишаване на праговите стойности на трафика и натоварването на CPU. Блокировката ще сработи, ако в основния поток е изразходвано повече от 60 секунди процесорно време в общо или 15 секунди в 30-секунден интервал (консумира 50% ресурси повече от 30 секунди), както и когато са изтеглени повече от 4 MB данни по мрежата.
Блокирането ще действа само ако до момента на превишаване на лимитите потребителят не е взаимодействал с рекламния блок (например, не е кликал върху него), което, предвид ограничението на трафика, ще позволи блокиране на автоматично възпроизвеждане на обемни видеа в рекламите без явна активация от потребителя. Предложените мерки ще освободят потребителите от реклама с неефективно реализиран код или намерена паразитна активност (например, тези, които извършват копаене на криптовалути). Според статистиката на 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
за управление на възпроизвеждането на уеб-анимация. В новото издание е добавена поддръжка на операции за композиране, позволяващи контролиране на начина, по който се комбинират ефектите и предоставящи нови обработчици, извиквани при настъпване на събития за замяна на съдържанието. 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. С други думи, Origin Isolation позволява организирането на разделение по различни процеси на базата на домейна на ресурса, а не на сайта с всички странични включвания на страниците.
- API за използване на векторни SIMD-инструкции в приложения в формат WebAssembly. За осигуряване на платформа-независимост се предлагат нов 128-битов тип, който може да представлява различни типове опаковани данни, и няколко основни векторни операции за обработка на опаковани данни. SIMD позволява увеличаване на производителността чрез паралелизиране на обработката на данни и ще бъде полезен при компилирането на нативен код в WebAssembly. За включване на поддръжка за SIMD можете да използвате настройката «chrome://flags/#enable-webassembly-simd.»
- Стабилизиран е и сега се разпространява извън Origin Trials
API , предоставящ метаданни за съдържанието, което преди това е било кеширано от уеб приложения, работещи в режим Progressive Web Apps (PWA). Приложението може да съхранява различни данни на страната на браузъра, включително изображения, видеа и статии, а при загуба на интернет връзка да ги използва чрез 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 поддръжка (слаба връзка) към JavaScript обекти, които позволяват запазване на референция към обект, без да блокират изтриването на свързания обект от сборщика на боклук. Също така е добавена поддръжка за финализатори, което позволява определяне на обработчик, който се извиква след извършване на събирането на боклука на посочения обект.
- Ускорен старта на приложения на WebAssembly, благодарение на реализация в началния (baseline) компилатор Liftoff и . Подобрени са средствата за отстраняване на грешки в WebAssembly, значително е повишена производителността на отстраняването на грешки при използване на точки на прекъсване (по-рано при отстраняване на грешки се е използвал интерпретатор, а сега компилаторът Liftoff).
- В инструментите за уеб-разработчици pphttps://developers.google.com/web/updates/2020/05/devtools е обновена]] панел за анализ на производителността. Добавена е обща информация за метриката (Total Blocking Time), показваща колко дълго страницата изглежда достъпна, но всъщност не е достъпна (т.е. страницата вече е визуализирана, но все още блокира изпълнението на основния поток и въвеждането на данни е невъзможно). Добавена е нова секция Experience за анализ на метриката (Cumulative Layout Shift), отразяваща визуалната стабилност на съдържанието. В панела за инспектиране на CSS-стилове е реализиран предварителен преглед на изображенията, зададени чрез свойството «background-image».
Освен нововъведенията и корекциите на грешки, в новата версия е отстранено . Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти , , , и . Проблем (CVE-2020-6510, преливане на буфера в обработчика на фонови операции fetch) е класифициран като критичен, т.е. позволява заобикаляне на всички нива на защита на браузъра и изпълняване на код в системата извън sandbox-околната среда. В рамките на програмата за възнаграждения за откриване на уязвимости за текущото издание, компанията Google е изплатила 26 награди на обща стойност 21500 долара (две награди от 5000 долара, две награди от 3000 долара, една награда от 2000 долара, две награди от 1000 долара и три награди от 500 долара). Размерът на 16 награди все още не е определен.
Източник: opennet.ru
