Рэліз Chrome 91

Кампанія Google прадставіла рэліз web-браўзэра Chrome 91. Адначасова даступны стабільны выпуск вольнага праекта Chromium, які выступае асновай Chrome. Браўзэр Chrome адрозніваецца выкарыстаннем лагатыпаў Google, наяўнасцю сістэмы адпраўкі апавяшчэнняў у выпадку краху, модулямі для прайгравання абароненага відэакантэнту (DRM), сістэмай аўтаматычнай усталёўкі абнаўленняў і перадачай пры пошуку RLZ-параметраў. Наступны выпуск Chrome 92 запланаваны на 20 ліпеня.

Асноўныя змены ў Chrome 91:

  • Рэалізавана магчымасць спынення выканання JavaScript у згорнутай групе ўкладак. У Chrome 85 з'явілася падтрымка аб'яднання ўкладак у групы, якія могуць быць злучаны з вызначаным колерам і пазнакай. Пры кліку на пазнацы групы злучаныя з ёй укладкі згортваюцца і замест іх застаецца адна пазнака (паўторны клік на пазнацы расчыняе групу). У новым выпуску c мэтай зніжэння нагрузкі на 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-запытаў з мэтай абароны ад атак спецыяльна падрыхтаванай атакавалым web-старонкі ў браўзэры ўсталяваць сеткавае злучэнне з сервера атакавалага да любога UDP ці TCP порце на сістэме карыстача, нягледзячы на ​​ўжыванне ўнутранага дыяпазону адрасоў (192.168.xx, 10.xxx).
  • Прадастаўлена магчымасць налады аўтаматычнага запуску адасобленых web-прыкладанняў (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), у якім актывуюцца дадатковыя праверкі для абароны ад фішынгу, шкоднаснай актыўнасці і іншых пагроз у Web, рэалізаваная магчымасць адпраўкі загружаных файлаў для праверкі на баку Google. Акрамя таго, у Enhanced Safe Browsing рэалізаваны ўлік токенаў, прывязаных у ўліковага запісу ў Google, пры выяўленні спроб фішынгу, а таксама адпраўка на сервера Google значэнняў загалоўка Referrer для праверкі пракіду з шкоднаснага сайта.
  • У рэдакцыі для платформы Android палепшана афармленне элементаў web-формаў, якія былі аптымізаваны для выкарыстання на сэнсарных экранах і сістэмах для людзей з абмежаванымі магчымасцямі (для настольных сістэм афармленне было перароблена ў 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, PartitionNelAndReportingByNetworkI acheByNetworkIsolationKey».

  • Дададзены вонкавы 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, ад выкарыстання якога ў Chrome адмовілася кампанія Google.

    • Дэкларатыўны інтэрфейс для вызначэння спасылак на адасобленыя web-прыкладанні (PWA), які ўключаецца пры дапамозе параметра capture_links у маніфесце web-прыкладанні і які дазваляе сайтам аўтаматычна адчыняць новае PWA-акно пры кліку на спасылцы прыкладання або пераходзіць у аднааконны рэжым па аналогіі з мабільнымі прыкладаннямі.
    • Дададзены API WebXR Plane Detection, які прадстаўляе звесткі аб плоскіх паверхнях у віртуальным 3D-акружэнні. Указаны API дае магчымасць абыйсціся без рэсурсаёмістай апрацоўкі дадзеных, атрыманых праз выклік MediaDevices.getUserMedia(), з выкарыстаннем уласных рэалізацый алгарытмаў машыннага зроку. Нагадаем, што API WebXR дазваляе ўніфікаваць працу з рознымі класамі прылад віртуальнай рэальнасці, ад стацыянарных 3D-шлемаў да рашэнняў на базе мабільных прылад.
  • Рэалізаваная падтрымка працы з WebSockets па-над HTTP/2 (RFC 8441), якая дзейнічае толькі для абароненых запытаў да WebSockets і пры наяўнасці ўжо ўсталяванага з серверам злучэння HTTP/2, у якім анансаваная падтрымка пашырэння «WebSockets over HTTP/2».
  • Абмежаванні дакладнасці значэнняў таймера, якія выдаюцца выклікам performance.now(), уніфікаваны для ўсіх падтрымліваемых платформаў і адаптаваны з улікам магчымай ізаляцыі апрацоўшчыкаў у асобных працэсах. Напрыклад, на дэсктоп-сістэмах дакладнасць пры апрацоўцы ў неізаляваных кантэкстах скарочана з 5 да 100 мікрасекунд.
  • У зборках для настольных сістэм рэалізавана магчымасць чытання файлаў з буфера абмену (запіс файлаў у буфер абмену па-ранейшаму забаронены). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
  • У CSS рэалізавана правіла @counter-style, якое дазваляе вызначаць уласны стыль лічыльнікаў і пазнак у нумараваных спісах.
  • У CSS псеўда-класы ":host()" і ":host-context()" дададзена магчымасць перадачы адзінкавых значэнняў складовых селектараў ( ) у дадатак да спісаў селектараў ( ).
  • Дададзены інтэрфейс GravitySensor для вызначэння аб'ёмных (па трох восях каардынат) дадзеных з датчыка гравітацыі.
  • У API File System Access прадстаўлена магчымасць вызначэння рэкамендацый выбару імя файла і каталога, прапанаваным у дыялогу стварэння ці адкрыцці файла.
  • У загружаных з іншых даменаў iframe дазволены зварот да API WebOTP пры падаванні карыстачом адпаведных паўнамоцтваў. WebOTP дазваляе чытаць аднаразовыя коды пацверджання, якія дасылаюцца праз SMS.
  • Дазволена прадастаўленне сумеснага доступу да ўліковых дадзеных для сайтаў, звязаных пры дапамозе механізму DAL (Digital Asset Links), які дазваляе асацыяваць Android-прыкладанні з сайтамі для спрашчэння ўваходу.
  • У Service worker дазволена выкарыстанне модуляў JavaScript. Пры ўказанні тыпу 'module' падчас выкліку канструктара паказаныя скрыпты будуць загружаныя ў форме модуляў і даступныя для імпартавання ў кантэксце worker-а. Падтрымка модуляў спрашчае сумеснае выкарыстанне кода на web-старонках і ў 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 падвышаная эфектыўнасць кэшавання шаблонаў, што дазволіла на 4.5% падвысіць хуткасць праходжання тэсту Speedometer2-FlightJS.
  • Унесена вялікая порцыя паляпшэнняў у інструменты для web-распрацоўшчыкаў. Дададзены новы рэжым інспектавання памяці (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 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

Дадаць каментар