Рэліз Chrome 86

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

Асноўныя змены в хром 86:

  • Дададзена абарона ад небяспечнай адпраўкі формаў уводу на старонках, загружаных па HTTPS, але якія адпраўляюць дадзеныя па HTTP, што стварае пагрозу перахопу і падмены дадзеных пры здзяйсненні MITM-нападаў. Абарона зводзіцца да трох змен:
    • Адключана аўтазапаўненне любых змешаных формаў уводу, па аналогіі з тым, як ужо досыць даўно адключана аўтазапаўненне формаў аўтэнтыфікацыі на старонках, адчыняных па HTTP. Калі раней прыкметай для адключэння служыла адкрыццё старонкі з формай па HTTPS ці HTTP, зараз улічваецца і ўжыванне шыфравання пры адпраўцы дадзеных апрацоўніку формы. Праца мэнэджара пароляў для змешаных формаў аўтэнтыфікацыі не адключаная, бо рызыка ад выкарыстання ненадзейнага пароля і паўторнага ўжывання пароляў на розных сайтах перавышае рызыку патэнцыйнага перахопу трафіку.
    • Пры пачатку ўводу ў змешаных формах забяспечаны вывад папярэджання, які інфармуе карыстальніка аб адпраўцы запоўненых дадзеных праз незашыфраваны канал сувязі.
    • Пры спробе адпраўкі змешанай формы выводзіцца асобная старонка з апавяшчэннем аб патэнцыйнай рызыцы перадачы дадзеных праз незашыфраваны канал сувязі. У мінулых версіях для індыкацыі змешаных формаў выкарыстоўваўся індыкатар замка ў адрасным радку, але падобная пазнака была не відавочнай для карыстачоў і эфектыўна не адлюстроўвала якія ўзнікаюць рызыкі.

      Рэліз Chrome 86

  • Блакаванне небяспечнай загрузкі (без шыфравання) выкананых файлаў дапоўнена блакіроўкай небяспечнай загрузкі архіваў (zip, iso і да т.п.) і высновай папярэджанняў пры небяспечнай загрузцы
    дакументаў (docx, pdf і да т.п.). У наступным выпуску чакаецца блакаванне дакументаў і вывад папярэджання для малюнкаў, тэкставых і мультымедыйных файлаў. Блакаванне рэалізаваная, бо загрузка файлаў без шыфравання можа выкарыстоўвацца для здзяйснення шкоднасных дзеянняў шляхам падмены змесціва падчас MITM-нападаў.

  • У кантэкстным меню па змаўчанні паказана опцыя "Заўсёды паказваць URL цалкам", для ўключэння якой раней патрабавалася змена параметраў на старонцы about:flags. Поўны URL таксама можна прагледзець клікнуўшы два разы на адрасным радку. Нагадаем, што пачынаючы з Хром 76 па змаўчанні адрас стаў паказвацца без пратакола і паддамена www. У Хром 79 была выдаленая настройка па вяртанні старых паводзін, але пасля незадаволенасці карыстальнікаў у Хром 83 быў дададзены новы эксперыментальны сцяг, які дадае ў кантэкстнае меню пункт для адключэння ўтойвання і паказу поўнага URL у любых умовах.
  • Для невялікага працэнта карыстальнікаў запушчаны эксперымент па адлюстраванню па змаўчанні ў адрасным радку толькі дамена, без элементаў шляху і параметраў запыту. Напрыклад, замест "https://example.com/secure-google-sign-in/" будзе паказана "example.com". Давядзенне прапанаванага рэжыму да ўсіх карыстальнікаў чакаецца ў адным з наступных выпускаў. Для адключэння названых паводзін можна выкарыстоўваць опцыю "Заўсёды паказваць URL цалкам", а для прагляду ўсяго URL можна клікнуць на адрасным радку. У якасці матыву змены паказваецца жаданне абараніць карыстачоў ад фішынгу, які маніпулюе параметрамі ў URL - зламыснікі карыстаюцца няўважлівасцю карыстачоў для стварэння бачнасці адкрыцця іншага сайта і здзяйсненні ашуканскіх дзеянняў (калі для тэхнічна пісьменнага карыстача падобныя падмены кідаюцца ў вочы, то неспрактыкаваныя абывацелі лёгка купляюцца на подоб. маніпуляцыі).
  • Адноўлена ініцыятыва па выдаленні падтрымкі FTP. У Chrome 86 FTP адключаны па змаўчанні прыкладна для 1% карыстачоў, а ў Chrome 87 ахоп адключэння будзе павялічаны да 50%, але падтрымку можна будзе вярнуць пры дапамозе сцяга "enable-ftp" або "enable-features=FtpProtocol". У Chrome 88 падтрымка FTP будзе поўнасцю адключаная.
  • У версіі для Android па аналогіі з версіяй для настольных сістэм у менеджэры пароляў рэалізавана праверка захаваных лагінаў і пароляў па базе скампраметаваных уліковых запісаў з высновай папярэджання ў выпадку выяўлення праблем або спробе выкарыстання трывіяльных пароляў. Праверка выконваецца па базе, якая ахоплівае больш за 4 мільярды скампраметаваных акаўнтаў, якія фігуравалі ва ўцечках карыстацкіх баз. Для захавання прыватнасці ўжываецца зверка хэш-прэфікса на баку карыстальніка, а самі паролі і іх поўныя хэшы не перадаюцца ў па-за.
  • У версію для Android таксама перанесены кнопка "Праверка бяспекі" (Safety check) і пашыраны рэжым абароны ад небяспечных сайтаў (Enhanced Safe Browsing). Кнопка "Safety check" паказвае зводку аб магчымых праблемах з бяспекай, такіх як выкарыстанне скампраметаваных пароляў, стан праверкі шкоднасных сайтаў (Safe Browsing), наяўнасць неўстаноўленых абнаўленняў і выяўленне шкоднасных дапаўненняў. Пашыраны рэжым абароны актывуе дадатковыя праверкі для абароны ад фішынгу, шкоднаснай актыўнасці і іншых пагроз у Web, а таксама ўключае дадатковую абарону для ўліковага запісу ў Google і сэрвісаў Google (Gmail, Drive і да т.п.). Калі ў звычайным рэжыме Safe Browsing праверкі выконваюцца лакальна па перыядычна загружанай на сістэму кліента БД, то ў Enhanced Safe Browsing інфармацыя аб старонках і загрузках у рэжыме рэальнага часу адпраўляецца для праверкі на боку Google, што дазваляе аператыўна рэагаваць на пагрозы адразу пасля іх выяўлення, не чакаючы пакуль абновіцца лакальны чорны спіс.
  • Дададзена падтрымка файла-індыкатара ".well-known/change-password", пры дапамозе якога ўладальнікі сайтаў могуць пазначыць адрас web-формы для змены пароля. У выпадку выяўлення кампраметацыі ўліковых дадзеных карыстальніка Chrome зараз адразу прапануе карыстачу форму для змены пароля, вызначаную на аснове інфармацыі з дадзенага файла.
  • Рэалізаваны вывад новага папярэджання "Safety Tip", які адлюстроўваецца пры адкрыцці сайтаў, дамен якіх вельмі падобны на іншы сайт і эўрыстыка паказвае, што вялікая верагоднасць спуфінгу (напрыклад, адкрыты goog0le.com замест google.com).
  • Рэалізавана падтрымка кэша пераходу (Back-forward cache), які забяспечвае імгненны пераход пры выкарыстанні кнопак «Назад» і «Наперад» або пры навігацыі па раней прагледжаных старонках бягучага сайта. Кэш уключаецца пры дапамозе налады chrome://flags/#back-forward-cache.
  • Праведзена аптымізацыя спажывання рэсурсаў CPU вокнамі
    па-за вобласцю бачнасці. Chrome правярае не перакрываецца ці акно браўзэра іншымі вокнамі і выключае адмалёўку пікселяў у абласцях перакрыцця. Паказаная аптымізацыя была ўключаная для невялікага адсотка карыстачоў у Chrome 84 і 85, а зараз актываваная паўсюдна. У параўнанні з мінулымі выпускамі таксама ўхіленая несумяшчальнасць з сістэмамі віртуалізацыі, з-за якой паказваліся пустыя белыя старонкі.

  • Узмоцнена зразанне рэсурсаў для фонавых укладак. Падобныя ўкладкі зараз не могуць спажываць больш за 1% рэсурсаў CPU і могуць актывавацца не часцей за адзін раз у хвіліну. Пасля пяці хвілін знаходжання ў фоне ўкладкі замарожваюцца, за выключэннем укладак у якіх прайграваецца мультымедыйнае змесціва ці вядзецца запіс.
  • Адноўлена праца па уніфікацыі HTTP-загалоўка User-Agent. У новай версіі для ўсіх карыстальнікаў актывавана падтрымка механізму User-Agent Client Hints, які развіваецца ў якасці замены User-Agent. Новы механізм мае на ўвазе выбарачную аддачу дадзеных аб пэўных параметрах браўзэра і сістэмы (версія, платформа і г.д.) толькі пасля запыту серверам і які дае карыстачам магчымасць выбарачна падаваць падобную інфармацыю ўладальнікам сайтаў. Пры выкарыстанні User-Agent Client Hints ідэнтыфікатар не перадаецца па змаўчанні без відавочнага запыту, што робіць немагчымым правядзенне пасіўнай ідэнтыфікацыі (па змаўчанні паказваецца толькі назоў браўзэра).
  • Зменена індыкацыя наяўнасці абнаўлення і неабходнасці перазапуску браўзэра для яго ўсталёўкі. Замест каляровай стрэлкі ў поле аватара ўліковага запісу зараз з'яўляецца надпіс "Update".

    Рэліз Chrome 86

  • Праведзена работа па перакладзе браўзэра на прымяненне інклюзіўнай тэрміналогіі. У імёнах палітык словы "whitelist" і "blacklist" заменены на "allowlist" і "blocklist" (ужо дададзеныя палітыкі працягнуць працаваць, але для іх будзе выводзіцца папярэджанне аб пераводзе ў разрад састарэлых). У кодзе и імёнах файлаў згадкі "blacklist" заменены на "blocklist".
    Бачныя карыстачу згадкі "blacklist" і "whitelist" былі замененыя яшчэ ў пачатку 2019 года.

  • Дададзена эксперыментальная магчымасць рэдагавання захаваных пароляў, якая актывуецца пры дапамозе сцяга "chrome://flags/#edit-passwords-in-settings".
  • Пераведзены ў разрад стабільных і агульнадаступных API Native File System, які дазваляе ствараць web-прыкладанні, якія ўзаемадзейнічаюць з файламі ў лакальнай ФС. Напрыклад, новы API можа быць запатрабаваны ў якія запускаюцца ў браўзэры інтэграваных асяроддзях распрацоўкі, рэдактарах тэксту, малюнкаў і відэа. Для атрымання магчымасці прамога запісу і чытанні файлаў або выкарыстанні дыялогаў для адкрыцця і захаванні файлаў, а таксама для навігацыі па змесце каталогаў, прыкладанне запытвае ў карыстача адмысловае пацверджанне.

    Рэліз Chrome 86

  • Дададзены CSS-селектар «:фокус-бачны«, які выкарыстоўвае тую ж эўрыстыкі, што выкарыстоўваецца браўзэрам пры прыняцці рашэння аб паказе індыкатара змены фокусу (пры перамяшчэнні фокусу на кнопку клавіятурнымі камбінацыямі індыкатар з'яўляецца, а пры кліку мышшу - не). Раней даступны CSS-селектар ": focus" заўсёды падсвятляе фокус.
    Акрамя таго, у налады дададзена опцыя "Quick Focus Highlight", пры ўключэнні якой побач з актыўнымі элементамі будзе паказвацца дадатковы індыкатар фокусу, які застаецца бачным нават калі на старонцы праз CSS адключаныя элементы стылю для візуальнага вылучэння фокусу.

  • У рэжыме Origin Trials (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) дададзена некалькі новых API. Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.
    • API WebHID для нізкаўзроўневага доступу да HID-прыладам (Human interface device, клавіятуры, мышы, геймпады, сэнсарныя панэлі), якія дазваляюць рэалізаваць логіку працы з HID-прыладай на JavaScript для арганізацыі працы з рэдкімі HID-прыладамі без наяўнасці ў сістэме спецыфічных драйвераў.
      Першым чынам новы API накіраваны на падаванне падтрымкі геймпадаў.

    • API Screen Information, пашырае магчымасці API Window Placement падтрымкай канфігурацый з некалькімі экранамі. У адрозненне ад window.screen новы API дазваляе маніпуляваць размяшчэннем акна ў агульнай экраннай прасторы шматманіторных сістэм, не абмяжоўваючыся бягучым экранам.
    • Мета-тэг battery-savings, пры дапамозе якога сайт можа інфармаваць браўзэр аб неабходнасці актывацыі рэжымаў зніжэння энергаспажывання і аптымізацыі нагрузкі на CPU.
    • API COOP Reporting для інфармавання аб патэнцыйных парушэннях рэжымаў ізаляцыі Cross-Origin-Embedder-Policy (COEP) і Cross-Origin-Opener-Policy (COOP), без прымянення фактычных абмежаванняў.
    • У API Кіраванне ўліковымі дадзенымі прапанаваны новы тып уліковых дадзеных PaymentCredential, Які забяспечвае дадатковае пацверджанне здзяйснянай плацежнай аперацыі. Правяраючы бок, напрыклад, банк, мае магчымасць згенераваць адкрыты ключ PublicKeyCredential, які можа быць запытаны прадаўцом для дадатковага бяспечнага пацверджання плацяжу.
  • У API PointerEvents для вызначэння нахілу стілуса дададзеная падтрымка кутоў вышыні (кут паміж стілусом і экранам) і азімута (кут паміж воссю X і праекцыяй стілуса на экран), замест кутоў TiltX і TiltY (куты паміж плоскасцю з стілуса і адной з восяў і плоскасцю з восяў Y і Z). Таксама дададзены функцыі пераўтварэння паміж вышынёй/азімутам і TiltX/TiltY.
  • Зменена кадаванне прабелу ў URL, пры ім вылічэнні ў апрацоўшчыках пратаколу - метад navigator.registerProtocolHandler() зараз замяняе прабелы на "%20" замест "+", што ўніфікуе паводзіны з іншымі браўзэрамі, такімі як Firefox.
  • У CSS дададзены псеўда-элемент «::marker«, які дазваляе наладзіць колер, памер, форму і тып лікаў і кропак для пералічэнняў у блоках і .
  • Дададзена падтрымка HTTP-загалоўка Document-Policy, які дазваляе задаць правілы доступу да дакументаў, падобныя на механізм sandbox-ізаляцыі для iframe, але больш універсальны. Напрыклад, праз Document-Policy можна абмежаваць выкарыстанне няякасных малюнкаў, адключыць павольныя JavaScript API наладзіць правілы загрузкі iframe, малюнкаў і скрыптоў, абмежаваць агульны памер дакумента і трафік, забараніць метады, якія прыводзяць да перамалёўкі старонкі, адключыць функцыю Scroll-To-Text.
  • У элемент дададзена падтрымка параметраў 'inline-grid', 'grid', 'inline-flex' і 'flex', якія задаюцца праз CSS-уласцівасць 'display'.
  • Дададзены метад ParentNode.replaceChildren() для замены ўсіх даччыных элементаў бацькоўскага вузла на іншы DOM-вузел. Раней для замены вузлоў можна было выкарыстоўваць камбінацыю з метадаў node.removeChild() і node.append() ці node.innerHTML і node.append().
  • Пашыраны спектр схем URL, дапушчальных для пераазначэння пры дапамозе registerProtocolHandler(). У спіс схем уключаны дэцэнтралізаваныя пратаколы cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns і ssb, што дазваляе вызначаць спасылкі на элементы незалежна ад сайта ці шлюза, які прадстаўляе доступ да рэсурсу.
  • У API Asynchronous Clipboard дададзена падтрымка фармату text/html для капіявання і ўстаўкі HTML праз буфер абмену (пры запісе і чытанні ў буфер абмену выконваецца чыстка небяспечных канструкцый HTML). Змена, напрыклад, дазваляе арганізаваць у web-рэдактарах устаўку і капіраванне адфарматаванага тэксту з выявамі і спасылкамі.
  • У WebRTC дададзена магчымасць падлучэння ўласных апрацоўшчыкаў дадзеных, выкліканых на стадыях кадавання ці дэкадаванні WebRTC MediaStreamTrack. Напрыклад, паказаную магчымасць можна выкарыстоўваць для дадання падтрымкі скразнога шыфравання дадзеных, якія перадаюцца праз прамежкавыя серверы.
  • У JavaScript-рухавічку V8 на 75% паскорана рэалізацыя Number.prototype.toString. У асінхронныя класы дададзена ўласцівасць .name з пустым значэннем. Выдалены метад Atomics.wake, які ў свой час быў пераназваны ў Atomics.notify для адпаведнасці спецыфікацыі ECMA-262. Адкрыты код інструментара fuzzing-тэставанні JS-Fuzzer.
  • У задзейнічаным у мінулым выпуску пачатковым (baseline) кампілятары Liftoff для WebAssembly уключана магчымасць выкарыстання вектарных інструкцый SIMD для паскарэння вылічэнняў. Мяркуючы па тэстах, аптымізацыя дазволіла паскорыць праходжанне некаторых тэстаў у 2.8 разоў. Іншая аптымізацыя дазволіла значна паскорыць выклік з WebAssembly імпартаваных функцый JavaScript.
  • Пашыраны прылады для web-распрацоўнікаў: У панэль Media дададзены звесткі пра прайгравальнікі, якія ўжываюцца для прайгравання відэа на старонцы, уключаючы дадзеныя аб падзеях, логі, значэнні ўласцівасцяў і параметры дэкадавання кадраў (напрыклад, можна вызначыць чыннікі страты кадраў і праблем пры ўзаемадзеянні з JavaScript).

    Рэліз Chrome 86

    У кантэкстным меню панэлі Elements дададзена магчымасць стварэння скрыншотаў абранага элемента (напрыклад, можна стварыць скрыншот зместа або табліцы).

    Рэліз Chrome 86

    У web-кансолі панэль з папярэджаннем аб праблемах заменена на звычайнае паведамленне, а праблемы са іншымі Cookie утоеныя па змаўчанні ва ўкладцы Issues і ўключаюцца адмысловым сцяжком.

    Рэліз Chrome 86

    Ва ўкладцы Rendering дададзеная кнопка "Disable local fonts", якая дазваляе сімуляваць адсутнасць лакальных шрыфтоў, а ва ўкладцы Sensors з'явілася магчымасць сімуляваць неактыўнасць карыстача (для прыкладанняў, выкарыстоўвалых API Idle Detection).

    Рэліз Chrome 86

    У панэлі Application прадстаўлена дэталёвая інфармацыя аб кожным iframe, адчыненым акне і pop-up-ах, уключаючы дадзеныя аб ізаляцыі Cross-Origin пры дапамозе COEP і COOP.

    Рэліз Chrome 86

  • пачалася замена рэалізацыі пратакола QUIC на варыянт, які развіваецца ў спецыфікацыі IETF, замест Google-варыянту QUIC.

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 35 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, Ачышчальнік памяці, Цэласнасць патоку кіравання, LibFuzzer и AFL. Адна ўразлівасць (CVE-2020-15967, зварот да вызваленай вобласці памяці ў кодзе для ўзаемадзеяння з Google Payments) пазначана як крытычная, г.зн. дазваляе абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 27 прэмій на суму 71500 даляраў ЗША (адна прэмія $15000, тры прэміі $7500, пяць прэмій $5000, дзве $3000, адна $200 і дзве прэміі $500. Памер 13 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

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