Рэліз Chrome 102

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

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

  • Для блакавання эксплуатацыі ўразлівасцяў, выкліканых зваротам да ўжо вызваленых блокаў памяці (use-after-free), замест звычайных паказальнікаў пачалося ўжыванне тыпу MiraclePtr (raw_ptr). MiraclePtr дае абвязку над паказальнікамі, якая выконвае дадатковыя праверкі звароту да вызваленых абласцей памяці і аварыйна завяршальную працу ў выпадку выяўлення падобных зваротаў. Уплыў новага метаду абароны на прадукцыйнасць і спажыванне памяці ацэньваецца як нязначнае. Механізм MiraclePtr прымяняецца не ва ўсіх працэсах, у прыватнасці не выкарыстоўваецца ў працэсах адмалёўкі, але можа істотна ўзмацніць бяспеку. Напрыклад, у бягучым выпуску з 32 выпраўленых уразлівасцяў, 12 было выклікана праблемамі класа use-after-free.
  • Зменена афармленне інтэрфейсу з інфармацыяй аб загрузках. Замест ніжняга радка з дадзенымі аб ходзе загрузкі ў панэль з адрасным радком дададзены новы індыкатар, пры кліку на які паказваецца прагрэс загрузкі файлаў і гісторыя са спісам ужо загружаных файлаў. У адрозненне ад ніжняй панэлі, кнопка ўвесь час паказваецца на панэлі і дазваляе хутка звярнуцца да гісторыі загрузак. Новы інтэрфейс пакуль прапанаваны па змаўчанні толькі часткі карыстачоў і будзе распаўсюджаны на ўсіх у выпадку адсутнасці праблем. Для вяртання старога інтэрфейсу або ўключэння новага прадугледжана настройка "chrome://flags#download-bubble".
    Рэліз Chrome 102
  • Пры пошуку малюнкаў праз кантэкстнае меню ("Search image with Google Lens" або "Знайсці праз Google Аб'ектыў") вынікі зараз паказваюцца не на асобнай старонцы, а ў бакавой панэлі побач са змесцівам зыходнай старонкі (у адным акне адначасова можна бачыць як змесціва старонкі, так і вынік звароту да пошукавай сістэмы).
    Рэліз Chrome 102
  • У наладах у секцыі «Канфідэнцыяльнасць і бяспека» дададзены раздзел «Кіраўніцтва па канфідэнцыяльнасці» («Privacy Guide»), у якім прапанаваны агульны агляд асноўных налад, якія ўплываюць на канфідэнцыяльнасць з падрабязнымі тлумачэннямі аб уплыве кожнай наладкі. Напрыклад, у секцыі можна вызначыць палітыку адпраўкі дадзеных у сэрвісы Google, кіраваць сінхранізацыяй, апрацоўкай Cookie і захаваннем гісторыі. Функцыя прапанавана часткі карыстальнікаў, для актывацыі можна выкарыстоўваць настройку "chrome://flags#privacy-guide".
    Рэліз Chrome 102
  • Забяспечана структураванне гісторыі пошуку і прагледжаных старонак. Пры спробе паўторнага пошуку ў адрасным радку выводзіцца падказка "Працягнуць пошук у гісторыі" ("Resume your journey"), якая дазваляе працягнуць пошук з месца, на якім ён быў перапынены ў мінулы раз.
    Рэліз Chrome 102
  • У каталогу Chrome Web Store прапанавана старонка "Extensions Starter Kit" з пачатковай падборкай рэкамендуемых дапаўненняў.
  • У тэставым рэжыме ўключаная адпраўка на сервер асноўнага сайта запыту пацверджання паўнамоцтваў CORS (Cross-Origin Resource Sharing) з загалоўкам "Access-Control-Request-Private-Network: true", у выпадку звароту са старонкі да рэсурсу ва ўнутранай сетцы (192.168.xx , 10.xxx, 172.16.xx) або да localhost (128.xxx). Пры пацверджанні аперацыі ў адказ на дадзены запыт сервер павінен вярнуць загаловак "Access-Control-Allow-Private-Network: true". У версіі Chrome 102 вынік пацверджання яшчэ не ўплывае на апрацоўку запыту - у выпадку адсутнасці пацверджання ў web-кансолі адлюстроўваецца папярэджанне, але сам запыт субрэсурсу не блакуецца. Уключэнне блакавання пры адсутнасці пацверджання ад сервера чакаецца не раней, чым у выпуску Chrome 105. Для ўключэння блакавання ў больш ранніх выпусках можна актываваць наладу "chrome://flags/#private-network-access-respect-preflight-results".

    Пацвярджэнне паўнамоцтваў серверам уведзена для ўзмацнення абароны ад нападаў, злучаных са зваротам да рэсурсаў у лакальнай сетцы або на кампутары карыстача (localhost) з скрыптоў, загружаных пры адкрыцці сайта. Падобныя запыты выкарыстоўваюцца зламыснікамі для ажыццяўлення CSRF-нападаў на маршрутызатары, кропкі доступу, друкаркі, карпаратыўныя web-інтэрфейсы і іншыя прылады і сэрвісы, якія прымаюць запыты толькі з лакальнай сеткі. Для абароны ад падобных нападаў у выпадку звароту да любых субрэсурсаў ва ўнутранай сетцы, браўзэр будзе адпраўляць відавочны запыт паўнамоцтвы загрузкі гэтых субрэсурсаў.

  • Пры адкрыцці спасылак у рэжыме інкогніта праз кантэкстнае меню забяспечана аўтаматычнае выдаленне з URL некаторых параметраў, якія ўплываюць на канфідэнцыйнасць.
  • Зменена стратэгія дастаўкі абнаўленняў для Windows і Android. Для больш поўнага параўнання паводзін новага і старога выпуску для загрузкі зараз фармуецца некалькі зборак новай версіі.
  • Стабілізаваная тэхналогія сегментавання сеткі для абароны ад метадаў адсочвання перасоўванняў карыстальніка паміж сайтамі, заснаваных на захоўванні ідэнтыфікатараў у абласцях, не прызначаных для сталага захоўвання інфармацыі ("Supercookies"). Так як рэсурсы ў кэшы захоўваюцца ў агульнай прасторы імёнаў, незалежна ад зыходнага дамена, адзін сайт можа вызначыць загрузку рэсурсаў з іншага сайта праз праверку наяўнасці гэтага рэсурса ў кэшы. Абарона заснавана на ўжыванні сегментавання сеткі (Network Partitioning), сутнасць якога ў даданні ў сумесна выкарыстоўваныя кэшы дадатковай прывязкі запісаў да дамена, з якога адчыненая асноўная старонка, што абмяжоўвае вобласць ахопу кэша для скрыптоў адсочвання перасоўванняў толькі бягучым сайтам (скрыпт з iframe не зможа правер ці загружаўся рэсурс з іншага сайта). Падзел стану ахоплівае сеткавыя злучэнні (HTTP/1, HTTP/2, HTTP/3, websocket), кэш DNS, дадзеныя ALPN/HTTP2, TLS/HTTP3, канфігурацыю, загрузкі і інфармацыю ў загалоўку Expect-CT.
  • Для усталёўваных адасобленых web-прыкладанняў (PWA, Progressive Web App) прадстаўлена магчымасць змены афармлення вобласці загалоўка акна пры дапамозе кампанентаў Window Controls Overlay, якія пашыраюць экранную вобласць web-прыкладанні на ўсё акно. Web-дадатак можа кіраваць адмалёўкай і апрацоўкай уводу ва ўсім акне, за выключэннем накладзенага блока са штатнымі кнопкамі кіравання акном (зачыненне, згортванне, разгортванне), для надання web-дадатку формы звычайнага настольнага прыкладання.
    Рэліз Chrome 102
  • У сістэме аўтазапалення формаў дададзена падтрымка генерацыі віртуальных нумароў крэдытных карт у палях з рэквізітамі аплаты тавару ў інтэрнэт-крамах. Выкарыстанне віртуальнай карты, нумар якой генеруецца для кожнай аплаты, дазваляе не перадаваць даныя аб рэальнай крэдытнай карце, але патрабуе прадастаўлення неабходнага сэрвісу банкам. У наш час функцыя можа выкарыстоўвацца толькі кліентамі некаторых банкаў з ЗША. Для кіравання ўключэннем функцыі прапанавана настройка "chrome://flags/#autofill-enable-virtual-card".
  • Актываваны па змаўчанні механізм Capture Handle, які дазваляе перадаваць інфармацыю прыкладанням, якія ажыццяўляюць захоп відэа. API дае магчымасць арганізаваць узаемадзеянне прыкладанняў, чыё змесціва запісваецца, і прыкладанняў, якія ажыццяўляюць запіс. Напрыклад, прыкладанне для вядзення відэаканферэнцый, якое ажыццяўляе захоп відэа для трансляцыі прэзентацыі, можа атрымаць звесткі аб элементах кіравання прэзентацыяй і вывесці іх у акне з відэа.
  • Уключаная па змаўчанні падтрымка спекулятыўных правіл (Speculation rules), якія прадстаўляюць гнуткі сінтаксіс для вызначэння магчымасці папераджальнай загрузкі злучаных са спасылкай дадзеных, выраблянай на этапе да пераходу карыстача па спасылцы.
  • Стабілізаваны механізм пакавання рэсурсаў у пакеты ў фармаце Web Bundle, які дазваляе павялічыць эфектыўнасць загрузкі вялікай колькасці спадарожных файлаў (CSS-стылі, JavaScript, малюнкі, iframe). У адрозненне ад пакетаў у фармаце Webpack, фармат Web Bundle валодае наступнымі добрымі якасцямі: у HTTP-кэшы асядае не сам пакет, а яго складовыя часткі; кампіляцыя і выкананне JavaScript пачынаецца не чакаючы поўнай загрузкі пакета; дапускаецца ўключэнне дадатковых рэсурсаў, такіх як CSS і выявы, якія ў webpack павінны былі кадзіравацца ў форме JavaScript-радкоў.
  • Дадзена магчымасць вызначэння PWA-прыкладанні ў якасці апрацоўшчыка вызначаных MIME-тыпаў і пашырэнняў файлаў. Пасля вызначэння прывязкі праз поле file_handlers у маніфесце, прыкладанне атрымае спецыяльнае падзея пры спробе карыстальніка адкрыць файл, асацыіраваны з дадаткам.
  • Дададзены новы атрыбут inert, які дазваляе пазначыць частку дрэва DOM як «бяздзейную». Для вузлоў DOM у дадзеным стане адключаюцца апрацоўшчыкі вылучэння тэксту і навядзенні паказальніка, г.зн. CSS-уласцівасці pointer-events і user-select заўсёды выстаўлены ў значэнне 'none'. Калі вузел дапушчаў рэдагаванне, то ў рэжыме inert ён становіцца нерэдагуемым.
  • Дададзены API Navigation, які дазваляе web-прыкладанням перахапляць аперацыі навігацыі ў акне, ініцыяваць пераход і аналізаваць гісторыю дзеянняў з дадаткам. API дае альтэрнатыву ўласцівасцям window.history і window.location, аптымізаваную для аднастаронкавых web-прыкладанняў.
  • Для атрыбуту "hidden" прапанаваны новы сцяг "until-found", які робіць элемент даступным для пошуку на старонцы і пракруткі па тэкставай масцы. Напрыклад, можна дадаць на старонку схаваны тэкст, змест якога будзе знаходзіцца пры лакальным пошуку.
  • У API WebHID, прызначаны для нізкаўзроўневага доступу да HID-прылад (Human interface device, клавіятуры, мышы, геймпады, сэнсарныя панэлі) і арганізацыі працы без наяўнасці ў сістэме спецыфічных драйвераў, у аб'ект requestDevice() дададзена ўласцівасць exclusionFilters, якое дазваляе выключаць паказе браўзэрам спісу даступных прылад. Напрыклад, можна выключыць ідэнтыфікатары прылад, у якіх маюцца вядомыя праблемы.
  • Забаронены вывад формы плацяжу праз выклік PaymentRequest.show() без яўнага дзеяння карыстальніка, напрыклад, кліку на элеменце, звязаным з апрацоўшчыкам.
  • Спынена падтрымка альтэрнатыўнай рэалізацыі пратаколу SDP (Session Description Protocol), які ўжываецца для ўсталёўкі сеансу ў WebRTC. У Chrome прапаноўвалася два варыянты SDP – уніфікаваны з іншымі браўзэрамі і спецыфічны для Chrome. З гэтага часу пакінуты толькі пераносны варыянт.
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. У панэлі Styles дададзены кнопкі для сімуляцыі прымянення цёмнай і светлай тэмы афармлення. Узмоцнена абарона ўкладкі Preview у рэжыме інспектавання сеткі (уключана ўжыванне Content Security Policy). У адладчыку рэалізавана завяршэнне выканання скрыпту для перазагрузкі кропак супыну. Прапанавана папярэдняя рэалізацыя новай панэлі "Performance insights", якая дазваляе прааналізаваць прадукцыйнасць выканання пэўных аперацый на старонцы.
    Рэліз Chrome 102

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 32 уразлівасці. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Адной з праблем (CVE-2022-1853) прысвоены крытычны ўзровень небяспекі, які мае на ўвазе магчымасць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні. Дэталі па дадзенай уразлівасці пакуль не выдаюцца, вядома толькі, што яна выкліканая зваротам да вызваленага блока памяці (use-after-free) у рэалізацыі API Indexed DB.

У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 24 прэміі на суму 65600 даляраў ЗША (адна прэмія $10000, адна прэмія $7500, дзве прэміі $7000, тры прэміі $5000, чатыры прэміі $3000, дзве $2000 і дзве прэміі $1000). Памер 500 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

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