Рэліз Chrome 93

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

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

  • Праведзена мадэрнізацыя афармлення блока з інфармацыяй аб старонцы (page info), у якім рэалізавана падтрымка ўкладзеных блокаў, а выпадаючыя спісы з правамі доступу заменены на перамыкачы. У спісах забяспечаны вывад найбольш важнай інфармацыі ў першую чаргу. Змена ўключана не для ўсіх карыстальнікаў, для актывацыі можна выкарыстоўваць настройку "chrome://flags/#page-info-version-2-desktop".
    Рэліз Chrome 93
  • Для невялікага адсотка карыстачоў у якасці эксперыменту індыкатар абароненага злучэння ў адрасным радку заменены на больш нейтральны і не выклікае падвойнай трактоўкі знак (замак заменены на знак «V»). Для злучэнняў, усталяваных без шыфравання, працягвае паказвацца індыкатар "не абаронена". У якасці чынніку замены індыкатара згадваецца тое, што шматлікія карыстачы асацыююць індыкатар замка з тым, што змесціва сайта можна давяраць, а не ўспрымаюць яго як прыкмета шыфравання злучэння. Судзячы па апытанні Google толькі 11% адсоткаў карыстачоў разумеюць сэнс піктаграмы з замкам.
    Рэліз Chrome 93
  • У спісе нядаўна зачыненых укладак забяспечана адлюстраванне змесціва зачыненых груп укладак (раней у спісе проста паказвалася назва групы без дэталізацыі змесціва) з магчымасцю зараз вярнуць як усю групу, так і асобныя ўкладкі з групы. Магчымасць актываваная не для ўсіх карыстачоў, таму для ўключэння можа запатрабавацца змена налады "chrome://flags/#tab-restore-sub-menus".
    Рэліз Chrome 93
  • Для прадпрыемстваў рэалізаваны новыя налады DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites і JavaScriptJitBlockedForSites, якія дазваляюць кіраваць рэжымам JIT-less, адключальным ужыванне JIT-кампіляцыі пры выкананні JavaScript (выкарыстоўваецца толькі інтэрпрэтатар Ignition) і забараняльным вылучэнне выкананай памяці ў. Адключэнне JIT можа быць карысным для падвышэння бяспекі працы з патэнцыйна небяспечнымі web-прыкладаннямі коштам паніжэння прадукцыйнасці выканання JavaScript прыкладна на 17%. Характэрна, што кампанія Microsoft пайшла яшчэ далей і рэалізавала ў браўзэры Edge эксперыментальны рэжым "Super Duper Secure", які дазваляе карыстачу адключыць JIT і актываваць несумяшчальныя з JIT апаратныя механізмы абароны CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) Control Flow Guard) для працэсаў, якія выконваюць апрацоўку web-кантэнту. Калі эксперымент апынецца ўдалым, то можна чакаць пераносу яго ў асноўны склад Chrome.
  • На старонцы новай укладкі забяспечаны вывад спісу найбольш запатрабаваных дакументаў, захаваных у Google Drive. Змест спісу адпавядае падзелу Priority у drive.google.com. Для кіравання паказам змесціва Google Drive можна выкарыстоўваць налады "chrome://flags/#ntp-modules" і "chrome://flags/#ntp-drive-module".
    Рэліз Chrome 93
  • Для старонкі адкрыцця новай укладкі прапанаваны новыя інфармацыйныя карты, якія дапамагаюць знайсці нядаўна прагляданы кантэнт і звязаную з ім інфармацыю. Карты закліканы спрасціць працяг працы з інфармацыяй, прагляд якой быў перапынены, напрыклад, карты дапамогуць знайсці рэцэпт стравы, які нядаўна быў знойдзены ў сетцы, але страчаны пасля закрыцця старонкі, або працягнуць выбар пакупак у крамах. У якасці эксперыменту карыстальнікам прапанаваны дзве новыя карты: "Рэцэпты" (chrome://flags/#ntp-recipe-tasks-module) для пошуку кулінарных рэцэптаў і паказу нядаўна прагледжаных рэцэптаў; «Пакупкі» (chrome://flags/#ntp-chrome-cart-module) для напамінкаў аб выбраных у інтэрнэт-крамах таварах.
  • У версію для платформы Android дададзена апцыянальная падтрымка панэлі бесперапыннага пошуку (chrome://flags/#continuous-search), якая дазваляе трымаць навідавоку нядаўнія вынікі пошуку ў Google (панэль працягвае паказваць вынікі пасля пераходу на іншыя старонкі).
    Рэліз Chrome 93
  • У версію для платформы Android дададзены эксперыментальны рэжым абмену цытатамі (chrome://flags/#webnotes-stylize), які дазваляе захаваць выдзелены фрагмент старонкі ў форме цытаты і падзяліцца ім з іншымі карыстальнікамі.
  • Пры публікацыі новых дадаткаў ці абнаўленняў версій у Chrome Web Store зараз абавязкова ўжыванне двухфактарнай верыфікацыі распрацоўніка.
  • Для карыстальнікаў Google Account прадстаўлена опцыя для захавання інфармацыі аб плацяжах у сваім уліковым запісе ў Google.
  • У рэжыме інкогніта, у выпадку актывацыі опцыі ачысткі дадзеных навігацыі, рэалізаваны новы дыялог пацверджання аперацыі, які тлумачыць, што чыстка дадзеных прывядзе да зачынення акна і завяршэння ўсіх сеансаў у рэжыме інкогніта.
  • З-за выяўленых несумяшчальнасцяў з прашыўкамі некаторых прылад часова адключаная падтрымка дададзенага ў Chrome 91 новага метаду ўзгаднення ключоў, устойлівага да падбору на квантавых кампутарах, заснаванага на выкарыстанні ў TLSv1.3 пашырэнні CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), камбіні класічны механізм абмену ключамі X25519 са схемай HRSS, заснаванай на алгарытме NTRU Prime, распрацаванай для постквантавых крыптасістэм.
  • У лік забароненых сеткавых партоў дададзеныя парты 989 (ftps-data) і 990 (ftps) з мэтай блакавання нападу ALPACA. Раней c мэтай абароны ад нападу NAT slipstreaming ужо былі заблакаваныя парты 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 і 10080.
  • У TLS спынена падтрымка шыфраў на базе алгарытму 3DES. У прыватнасці выдалены набор шыфраў TLS_RSA_WITH_3DES_EDE_CBC_SHA, схільны нападу Sweet32.
  • Спынена падтрымка дыстрыбутыва Ubuntu 16.04/XNUMX.
  • Прадастаўлена магчымасць выкарыстання API WebOTP паміж рознымі прыладамі, звязанымі праз агульны ўліковы запіс у Google. WebOTP дазваляе web-дадатку чытаць аднаразовыя коды пацверджання, якія дасылаюцца праз SMS. Прапанаваная змена дае магчымасць атрымаць код пацверджання на мабільнай прыладзе з Chrome для Android, а ўжыць яго на настольнай сістэме.
  • Пашыраны API User-Agent Client Hints, які развіваецца ў якасці замены загалоўка User-Agent. User-Agent Client Hints дазваляе арганізаваць выбарачную аддачу дадзеных аб пэўных параметрах браўзэра і сістэмы (версія, платформа і г.д.) толькі пасля запыту серверам. Карыстальнік, у сваю чаргу, можа вызначыць якую інфармацыю можна падаць уладальнікам сайтаў. Пры выкарыстанні User-Agent Client Hints ідэнтыфікатар браўзэра не перадаецца без відавочнага запыту, а па змаўчанні паказваюцца толькі базавыя параметры, што абцяжарвае правядзенне пасіўнай ідэнтыфікацыі.

    У новай версіі рэалізавана падтрымка параметра Sec-CH-UA-Bitness для вяртання даных аб разраднасці платформы, што можа выкарыстоўвацца для аддачы аптымізаваных бінарных файлаў. Па змаўчанні забяспечана адпраўка параметра Sec-CH-UA-Platform з агульнымі дадзенымі аб платформе. У значэнні UADataValues, які выдаецца пры выкліку getHighEntropyValues(), па змаўчанні ў рэалізаваная аддача абагульненых параметраў, калі немагчыма вярнуць дэталізаваны варыянт. У аб'ект NavigatorUAData дададзены метад toJSON, што дазваляе выкарыстоўваць канструкцыі выгляду JSON.stringify(navigator.userAgentData).

  • Стабілізаваная і прапанаваная па змаўчанні магчымасць пакавання рэсурсаў у пакеты ў фармаце Web Bundle, прыдатныя для арганізацыі больш эфектыўнай загрузкі вялікай колькасці спадарожных файлаў (CSS-стылі, JavaScript, малюнкі, iframe). Сярод недахопаў у наяўнай падтрымцы пакетаў для файлаў JavaScript (webpack), якія спрабуюць ухіліць у Web Bundle: у HTTP-кэшы можа абсоўвацца сам пакет, але не яго складовыя часткі; кампіляцыя і выкананне можа пачацца толькі пасля поўнай загрузкі пакета; дадатковыя рэсурсы, такія як CSS і выявы, павінны кадзіравацца ў форме JavaScript-радок, што прыводзіць да павелічэння памеру і выкананні яшчэ адной стадыі разбору.
  • Уключаны API WebXR Plane Detection, які прадстаўляе звесткі аб плоскіх паверхнях у віртуальным 3D-акружэнні. Указаны API дае магчымасць абыйсціся без рэсурсаёмістай апрацоўкі дадзеных, атрыманых праз выклік MediaDevices.getUserMedia(), з выкарыстаннем уласных рэалізацый алгарытмаў машыннага зроку. Нагадаем, што API WebXR дазваляе ўніфікаваць працу з рознымі класамі прылад віртуальнай рэальнасці, ад стацыянарных 3D-шлемаў да рашэнняў на базе мабільных прылад.
  • У рэжыме Origin Trials (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) дададзена некалькі новых API. Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.
    • Прапанаваны API Multi-Screen Window Placement, які дазваляе размяшчаць вокны на любым дысплеі, падлучаным да бягучай сістэмы, а таксама захоўваць пазіцыю акна і пры неабходнасці расчыняць акно на ўвесь экран. Напрыклад, пры дапамозе паказанага API web-прыкладанне для паказу прэзентацыі можа арганізаваць выснову слайдаў на адным экране, а паказваць нататку для дакладчыка на іншым.
    • У загаловак Cross-Origin-Embedder-Policy, які кіруе рэжымам ізаляцыі Cross-Origin і які дазваляе вызначаць правілы бяспечнага выкарыстання на старонцы прывілеяваных аперацый, дададзеная падтрымка параметра «credentialless» для адключэння перадачы інфармацыі, звязанай з уліковымі дадзенымі, такой як Cookie і кліенцкія сертыфікаты.
    • Для адасоблена ўсталёўваных web-прыкладанняў (PWA, Progressive Web Apps), якія кіруюць адмалёўкай змесціва акна і якія займаюцца апрацоўкай уводу, прадстаўлены овэрлэй з элементамі кіравання акном, такімі як вобласць з загалоўкам і кнопкі расчынення/згортванні акна. Аверлей пашырае даступную для змены вобласць на ўсё акно і дазваляе дадаваць свае элементы ў вобласць загалоўка.
      Рэліз Chrome 93
    • Дададзена магчымасць стварэння PWA-прыкладанняў, якія могуць выкарыстоўвацца ў якасці апрацоўшчыкаў URL. Напрыклад, прыкладанне music.example.com можа зарэгістраваць сябе як апрацоўшчык URL https://*.music.example.com і ўсе пераходы з вонкавых прыкладанняў па дадзеных спасылках, напрыклад, з месэнджараў і паштовых кліентаў, будуць прыводзіць да адкрыцця дадзенага PWA- прыкладанняў, а не новай укладкі ў браўзэры.
  • Дадзеная магчымасць загрузкі CSS-файлаў пры дапамозе выраза "import" па аналогіі з загрузкай модуляў JavaScript, што зручна пры стварэнні ўласных элементаў і дазваляе абыйсціся без прызначэння стыляў кодам на JavaScript. import sheet from './styles.css' assert { type: 'css' }; document.adoptedStyleSheets = [sheet]; shadowRoot.adoptedStyleSheets = [sheet];
  • Дадзены новы статычны метад AbortSignal.abort(), які вяртае аб'ект AbortSignal, для якога ўжо выстаўлены параметр aborted. Замест некалькіх радкоў кода для стварэння аб'екта AbortSignal у стане aborted зараз можна абыйсціся адным радком «return AbortSignal.abort()».
  • У элемент Flexbox дададзена падтрымка ключавых слоў start, end, self-start, self-end, left і right, якія дапаўняюць ключавыя словы center, flex-start і flex-end сродкамі для спрошчанага выраўноўвання пазіцыі flex-элементаў.
  • У канструктару Error() рэалізавана новая неабавязковая ўласцівасць "cause", пры дапамозе якога можна лёгка звязваць памылкі паміж сабой. const parentError = новы Error('parent'); const error = new Error('parent', { cause: parentError }); console.log(error.cause === parentError); // → true
  • Ва ўласцівасць HTMLMediaElement.controlsList дададзеная падтрымка рэжыму noplaybackrate, які дазваляе адключыць элементы які прадстаўляецца ў браўзэры інтэрфейсу для змены хуткасці прайгравання мультымедыйнага кантэнту.
  • Дададзены загаловак Sec-CH-Prefers-Color-Scheme, які дазваляе на этапе адпраўкі запыту перадаць дадзеныя аб упадабанай карыстачом каляровай схеме, выкарыстоўванай у медыязапросах «prefers-color-scheme», што дазволіць сайту аптымізаваць загрузку злучаных з абранай схемай CSS і пазбегнуць бачных з іншых схем.
  • Дададзена ўласцівасць Object.hasOwn, якое ўяўляе сабой спрошчаны варыянт Object.prototype.hasOwnProperty, рэалізаваны ў форме статычнага метаду. Object.hasOwn({ prop: 42 }, 'prop') // → true
  • У JIT-кампілятар Sparkplug, прызначаны для вельмі хуткага выканання грубіянскай кампіляцыі, дададзены рэжым пакетнага выканання аперацый, які дазваляе зменшыць накладныя выдаткі ад пераключэння старонак памяці паміж рэжымам запісу і выкананні. Sparkplug зараз кампілюе за раз адразу некалькі функцый і выклікае mprotect адзін раз для змены правоў доступу ўсёй групы. Прапанаваны рэжым значна скарачае час кампіляцыі (да 44%) без негатыўнага ўплыву на прадукцыйнасць выканання JavaScript.
    Рэліз Chrome 93
  • У версіі для Android адключаныя ўбудаваныя ў рухавічок V8 механізмы абароны ад нападаў па іншых каналах, такім як Spectre, якія прызнаныя не настолькі эфектыўнымі, як ізаляцыя сайтаў у асобных працэсах. У настольнай версіі названыя механізмы былі адключаныя яшчэ ў выпуску Chrome 70. Адключэнне лішніх праверак дазволіла падняць прадукцыйнасць на 2-15%.
    Рэліз Chrome 93
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. У рэжыме інспектавання табліц стыляў прадстаўлена магчымасць рэдагавання запытаў, сфарміраваны пры дапамозе выраза @container. У рэжыме інспектавання сеткі рэалізаваны прадпрагляд рэсурсаў у фармаце Web bundle. У web-кансолі ў кантэкстнае меню дададзены опцыі для капіявання радкоў у форме літаралаў JavaScript ці JSON. Спрошчаная адладка памылак, злучаных з CORS (Cross-Origin Resource Sharing).
    Рэліз Chrome 93

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 27 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Крытычных праблем, якія дазваляюць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні, не выяўлена. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 19 прэмій на суму 136500 даляраў ЗША (тры прэміі $20000, адна прэмія $15000, тры прэміі $10000, адна прэмія $7500, тры прэміі $5000. Памер 3000 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

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