Хром 86

Выйшаў чарговы рэліз Chrome 86 і стабільны выпуск Chromium.

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

  • абарона ад небяспечнай адпраўкі формаў уводу на старонках, загружаных па HTTPS, але якія адпраўляюць дадзеныя па HTTP.
  • Блакаванне небяспечнай загрузкі (http) выкананых файлаў дапоўнена блакіроўкай небяспечнай загрузкі архіваў (zip, iso і да т.п.) і высновай папярэджанняў пры небяспечнай загрузцы дакументаў (docx, pdf і да т.п.). У наступным выпуску чакаецца блакаванне дакументаў і вывад папярэджання для малюнкаў, тэкставых і мультымедыйных файлаў. Блакаванне рэалізаваная, бо загрузка файлаў без шыфравання можа выкарыстоўвацца для здзяйснення шкоднасных дзеянняў шляхам падмены змесціва падчас MITM-нападаў.
  • У кантэкстным меню па змаўчанні паказана опцыя "Заўсёды паказваць URL цалкам", для ўключэння якой раней патрабавалася змена параметраў на старонцы about:flags. Поўны URL таксама можна прагледзець клікнуўшы два разы на адрасным радку. Нагадаем, што пачынальна з Chrome 76 па змаўчанні адрас стаў паказвацца без пратаколу і паддамена www. У Chrome 79 была выдаленая налада па вяртанні старых паводзін, але пасля незадаволенасці карыстачоў у Chrome 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".
  • Праведзена работа па перакладзе браўзэра на прымяненне інклюзіўнай тэрміналогіі. У імёнах палітык словы "whitelist" і "blacklist" заменены на "allowlist" і "blocklist" (ужо дададзеныя палітыкі працягнуць працаваць, але для іх будзе выводзіцца папярэджанне аб пераводзе ў разрад састарэлых). У кодзе і імёнах файлаў згадкі "blacklist" заменены на "blocklist". Бачныя карыстачу згадкі "blacklist" і "whitelist" былі замененыя яшчэ ў пачатку 2019 года.
    Дададзена эксперыментальная магчымасць рэдагавання захаваных пароляў, якая актывуецца пры дапамозе сцяга "chrome://flags/#edit-passwords-in-settings".
  • Пераведзены ў разрад стабільных і агульнадаступных API Native File System, які дазваляе ствараць web-прыкладанні, якія ўзаемадзейнічаюць з файламі ў лакальнай ФС. Напрыклад, новы API можа быць запатрабаваны ў якія запускаюцца ў браўзэры інтэграваных асяроддзях распрацоўкі, рэдактарах тэксту, малюнкаў і відэа. Для атрымання магчымасці прамога запісу і чытанні файлаў або выкарыстанні дыялогаў для адкрыцця і захаванні файлаў, а таксама для навігацыі па змесце каталогаў, прыкладанне запытвае ў карыстача адмысловае пацверджанне.
  • Дададзены CSS-селектар ":focus-visible", які выкарыстоўвае тую ж эўрыстыку, што выкарыстоўваецца браўзэрам пры прыняцці рашэння аб паказе індыкатара змены фокусу (пры перасоўванні фокусу на кнопку клавіятурнымі камбінацыямі індыкатар з'яўляецца, а пры кліку мышшу - не). Раней даступны 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 Credential Management прапанаваны новы тып уліковых дадзеных 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) .
  • У кантэкстным меню панэлі Elements дададзена магчымасць стварэння скрыншотаў абранага элемента (напрыклад, можна стварыць скрыншот зместа або табліцы).
  • У web-кансолі панэль з папярэджаннем аб праблемах заменена на звычайнае паведамленне, а праблемы са іншымі Cookie утоеныя па змаўчанні ва ўкладцы Issues і ўключаюцца адмысловым сцяжком.
  • Ва ўкладцы Rendering дададзеная кнопка "Disable local fonts", якая дазваляе сімуляваць адсутнасць лакальных шрыфтоў, а ва ўкладцы Sensors з'явілася магчымасць сімуляваць неактыўнасць карыстача (для прыкладанняў, выкарыстоўвалых API Idle Detection).
  • У панэлі Application прадстаўлена дэталёвая інфармацыя аб кожным iframe, адчыненым акне і pop-up-ах, уключаючы дадзеныя аб ізаляцыі Cross-Origin пры дапамозе COEP і COOP.

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

ўзята з Opennet.ru

Крыніца: linux.org.ru

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