Рэліз Chrome 105

Кампанія Google прадставіла рэліз web-браўзэра Chrome 105. Адначасова даступны стабільны выпуск вольнага праекта Chromium, які выступае асновай Chrome. Браўзэр Chrome адрозніваецца ад Chromium выкарыстаннем лагатыпаў Google, наяўнасцю сістэмы адпраўкі апавяшчэнняў у выпадку краху, модулямі для прайгравання абароненага ад капіявання відэакантэнту (DRM), сістэмай аўтаматычнай усталёўкі абнаўленняў, сталым уключэннем Sandbox-ізаляцыі, пастаўкай ключоў да Google API і перадачай пры пошуку RL параметраў. Для тых, каму неабходна больш часу на абнаўленне, асобна падтрымліваецца галінка Extended Stable, якая суправаджаецца 8 тыдняў. Наступны выпуск Chrome 106 запланаваны на 27 верасня.

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

  • Спынена падтрымка спецыялізаваных web-прыкладанняў Chrome Apps, на змену якім дашлі адасобленыя web-прыкладанні на базе тэхналогіі Progressive Web Apps (PWA) і стандартных Web API. Першапачаткова Google абвясціў аб намеры адмовіцца ад Chrome Apps яшчэ 2016 годзе і планаваў спыніць іх падтрымку да 2018 года, але потым адклаў гэты план. У Chrome 105 пры спробе ўсталёўкі прыкладанняў Chrome Apps будзе выводзіцца папярэджанне аб спыненні іх падтрымкі, але самі прыкладанні працягнуць запускацца. У Chrome 109 магчымасць выканання Chrome Apps будзе адключаная.
  • Забяспечана дадатковая ізаляцыі працэсу "renderer", які адказвае за адмалёўку. Дадзены працэс зараз выконваецца ў дадатковым кантэйнеры (App Container), рэалізаваным па-над існай сістэмай sandbox-ізаляцыі. У выпадку эксплуатацыі ўразлівасці ў кодзе адмалёўкі дададзеныя абмежаванні не дазволяць атакаваламу атрымаць доступ да сеткі, дзякуючы забароне звароту да злучаных з сеткавымі магчымасцямі сістэмным выклікам.
  • Рэалізавана ўласнае уніфікаванае сховішча каранёвых сертыфікатаў якія сведчаць цэнтраў (Chrome Root Store). Новае сховішча пакуль не ўключана па змаўчанні і да заканчэння ўкаранення сертыфікаты працягваюць правярацца з выкарыстаннем спецыфічнага для кожнай аперацыйнай сістэмы сховішча. Тэставанае рашэнне нагадвае падыход кампаніі Mozilla, якая падтрымлівае асобнае незалежнае сховішча каранёвых сертыфікатаў для Firefox, якое выкарыстоўваецца ў якасці першага звяна для праверкі ланцужкі даверу сертыфікатаў пры адкрыцці сайтаў па HTTPS.
  • Пачалася падрыхтоўка да спынення падтрымкі API Web SQL, які не стандартызаваны, амаль не выкарыстоўваецца і патрабуе перапрацоўкі для адпаведнасці сучасным патрабаванням да бяспекі. У Chrome 105 забаронена зварот да Web SQL з кода, загружанага без выкарыстання HTTPS, а таксама дададзеная выснова ў DevTools папярэджання аб састарэнні тэхналогіі. У 2023 году API Web SQL плануюць выдаліць. Для распрацоўшчыкаў, якім неабходна падобная функцыянальнасць, будзе падрыхтавана замена на базе WebAssembly.
  • У Chrome sync спынена падтрымка сінхранізацыі з Chrome 73 і больш раннімі выпускамі.
  • Для платформаў macOS і Windows актываваны ўбудаваны прагляднік сертыфікатаў, які замяніў выклік інтэрфейсу які прадстаўляецца аперацыйнай сістэмай. Раней убудаваны прагляднік выкарыстоўваўся толькі ў зборках для Linux і ChromeOS.
  • У версію для платформы Android дададзеныя налады для кіравання API "Topics & Interest Group", які прасоўваецца ў рамках ініцыятывы Privacy Sandbox і дазваляе вызначаць катэгорыі інтарэсаў карыстальніка і выкарыстоўваць іх замест адсочваюць Cookie для вылучэння груп карыстальнікаў з падобнымі інтарэсамі без ідэнтыфікацыі асобных карыстальнікаў. У мінулым выпуску падобныя налады былі дададзены ў версіі для Linux, ChromeOS, macOS і Windows.
  • Пры ўключэнні пашыранай абароны браўзэра (Safe Browsing > Enhanced protection) рэалізаваны збор тэлеметрыі аб усталяваных дадатках, звароце да API і злучэнні з вонкавымі сайтамі. Указаныя дадзеныя выкарыстоўваюцца на серверах Google для выяўлення шкоднаснай актыўнасці і парушэнні правіл браўзэрнымі дадаткамі.
  • Перакладзена ў катэгорыю састарэлых і будзе блакіравана ў выпуску Chrome 106 магчымасць выкарыстання не-ASCII знакаў у даменах, паказваных у загалоўку Cookie (для IDN-даменаў варта паказваць дамены ў фармаце punycode). Змена прывядзе браўзэр у адпаведнасць з патрабаваннямі RFC 6265bis і паводзінамі, рэалізаваным у Firefox.
  • Прапанаваны API Custom Highlight, прызначаны для адвольнай змены стылю вылучаных абласцей тэксту і які дазваляе не абмяжоўвацца які прадстаўляецца браўзэрам фіксаваным стылем для вылучаных абласцей (::selection, ::inactive-selection) і падсвятленні сінтаксічных памылак (::spelling-error, ::grammar- error). У першым варыянце API прадстаўлена падтрымка змены колеру тэксту і фону пры дапамозе псеўдаэлементаў color і background-color, але ў далейшым будуць дададзены і іншыя магчымасці налады стылю.

    У якасці прыкладу задач, якія можна вырашыць пры дапамозе новага API, згадваецца даданне ў web-фрэймворкі, якія прадстаўляюць прылады для рэдагавання тэксту, уласных механізмаў вылучэння тэксту, рознага вылучэння пры адначасовым сумесным рэдагаванні некалькімі карыстачамі, пошуку ў віртуалізаваных дакументах і пазнакі памылак пры праверцы правапісу . Калі раней, для стварэння нестандартнага вылучэння патрабаваліся ўскладненыя маніпуляцыі з дрэвам DOM, то API Custom Highlight падае гатовыя аперацыі для дадання і выдаленні падсвятлення, не якія ўплываюць на структуру DOM і ўжывальныя стылі ў прывязцы да аб'ектаў Range.

  • У CSS дададзены запыт "@container", які дазваляе фармаваць стыль элементаў у залежнасці ад памеру бацькоўскага элемента. "@container" нагадвае запыты "@media", але ўжываецца ў прывязцы не да памеру ўсёй бачнай вобласці, а да памеру блока (кантэйнера), у які змешчаны элемент, што дазваляе задаваць для даччыных элементаў уласную логіку выбару стылю, якая не залежыць ад таго, у якім менавіта месцы на старонцы размешчаны элемент.
    Рэліз Chrome 105
  • Дададзены CSS-псеўдаклас «:has()» для праверкі з улікам наяўнасці даччынага элемента ў бацькоўскім. Напрыклад, "p:has(span)" ахоплівае элементы , усярэдзіне якіх маецца элемент .
  • Дададзены API HTML Sanitizer, які дазваляе выразаць з змесціва элементы, якія ўплываюць на адлюстраванне і выкананне пры выснове праз метад setHTML(). API можа быць карысны для чысткі якія паступаюць звонку дадзеных на прадмет выразання з іх HTML-тэгаў, якія могуць выкарыстоўвацца для здзяйснення XSS-нападаў.
  • Дадзеная магчымасць выкарыстання API Streams (ReadableStream) для адпраўкі fetch-запытаў да таго як загрузіцца цела адказу, г.зн. можна пачаць адпраўку дадзеных не чакаючы завяршэння генерацыі старонкі.
  • Для усталёўваных адасобленых web-прыкладанняў (PWA, Progressive Web App) прадстаўлена магчымасць змены афармлення вобласці загалоўка акна пры дапамозе кампанентаў Window Controls Overlay, якія пашыраюць экранную вобласць web-прыкладанні на ўсё акно і што дазваляюць надаць web-дадатку выгляд звычайнага настольнага прыкладання. Web-дадатак можа кіраваць адмалёўкай і апрацоўкай уводу ва ўсім акне, за выключэннем накладзенага блока са штатнымі кнопкамі кіравання акном (зачыненне, згортванне, разгортванне).
    Рэліз Chrome 105
  • Стабілізавана магчымасць доступу да Media Source Extensions з выдзеленых worker-ов (у кантэксце DedicatedWorker), што можна выкарыстоўваць, напрыклад, для павышэння прадукцыйнасці буферызаванага прайгравання мультымедыйных дадзеных праз стварэнне аб'екта MediaSource у асобным worker-е і трансляцыю вынікаў яго працы ў HTMLMediaElement у асноўным струмені .
  • У API Client Hints, які развіваецца для замены загалоўка User-Agent і дазваляе выбарачна аддаваць дадзеныя аб пэўных параметрах браўзэра і сістэмы (версія, платформа і г.д.) толькі пасля запыту серверам, дададзеная падтрымка ўласцівасці Sec-CH-Viewport-Heigh, які дазваляе атрымаць звесткі аб вышыні бачнай вобласці. Зменены фармат разметкі для задання ў тэгу "meta" параметраў Client Hints для знешніх рэсурсаў: Было: Стала:
  • Дададзена магчымасць стварэння глабальных апрацоўшчыкаў падзей onbeforeinput (document.documentElement.onbeforeinput), пры дапамозе якіх web-прыкладанні могуць перавызначыць паводзіны пры рэдагаванні тэксту ў блоках. , і іншых элементах з усталяваным атрыбутам "contenteditable", на стадыі да змены браўзэрам змесціва элемента і дрэва DOM.
  • Пашыраны магчымасці API Navigation, які дазваляе web-прыкладанням перахапляць аперацыі навігацыі ў акне, ініцыяваць пераход і аналізаваць гісторыю дзеянняў з дадаткам. Дададзены новыя метады intercept() для перахопу пераходу і scroll() для пракруткі ў зададзеную пазіцыю.
  • Дададзены статычны метад Response.json(), які дазваляе фармаваць цела адказу на аснове дадзеных з тыпам JSON.
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. У адладчыку пры спрацоўванні кропкі супыну дазволена рэдагаванне верхняй у стэку функцый, без перапынення адладкавага сеансу. У панэлі Recorder, пры дапамозе якой можна запісваць, прайграваць і аналізаваць дзеянні карыстальніка на старонцы, рэалізавана падтрымка кропак супыну, пакрокавага прайгравання і запісы падзей навядзення мышы.

    У панэлі аналізу прадукцыйнасці дададзены метрыкі LCP (Largest Contentful Paint) для выяўлення затрымак пры адмалёўцы буйных (прыкметных карыстачу) элементаў у бачнай вобласці, такіх як выявы, відэа і блокавыя элементы. У панэлі Elements рэалізавана пазнака верхніх пластоў, якія выводзяцца па-над іншым змесцівам, адмысловым значком. Для WebAssembly прадстаўлена магчымасць загрузкі адладкавых дадзеных у фармаце DWARF.

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

Крыніца: opennet.ru

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