Рэліз Chrome 79

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

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

  • Актываваны кампанент Password Checkup, прызначаны для аналізу надзейнасці выкарыстоўваных карыстачом пароляў. Пры спробе ўваходу на любы сайт Password Checkup выконвае праверку лагіна і пароля па базе скампраметаваных уліковых запісаў з высновай папярэджання ў выпадку выяўлення праблем (праверка ажыццяўляецца на аснове хэш-прэфікса на баку карыстальніка). Праверка ажыццяўляецца па базе, якая ахоплівае больш за 4 мільярды скампраметаваных акаўнтаў, якія фігуравалі ва ўцечках карыстацкіх баз. Папярэджанне таксама выводзіцца пры спробе выкарыстання трывіяльных пароляў, такіх як "abc123". Для кіравання уключэннем Password Checkup у секцыі "Sync and Google Services" рэалізавана спецыяльная настройка.
  • Прадстаўлена новая тэхналогія выяўлення фішынгу ў рэжыме рэальнага часу. Раней праверка выконвалася праз зварот да лакальна загружаных чорных спісаў Safe Browsing, якія абнаўляліся прыкладна раз у 30 хвілін, чаго аказалася недастаткова, напрыклад, ва ўмовах частага пераключэння даменаў зламыснікамі. Новы метад дазваляе правяраць URL на лета з папярэдняй праверкай па белых спісах, у якія ўключаны хэшы тысяч папулярных сайтаў, якія заслугоўваюць даверу. Калі адчыняны сайт адсутнічае ў белым спісе, то браўзэр правярае URL на серверы Google, перадаючы першыя 32 біта хэша SHA-256 спасылкі, з якой выразаюцца магчымыя персанальныя дадзеныя. Па ацэнцы Google новы падыход дазваляе на 30% павысіць эфектыўнасць вываду папярэджанняў для новых фішынг-сайтаў.
  • Дададзена папераджальная абарона ад перадачы ўліковых дадзеных Google і любых пароляў, захаваных мэнэджару пароляў, праз фішынгавыя старонкі. Пры спробе ўводу захаванага пароля на сайце, на якім гэты пароль звычайна не прымяняецца, карыстачу будзе выводзіцца папярэджанне аб патэнцыйна небяспечным дзеянні.
  • Для злучэнняў з выкарыстаннем TLS 1.0 і 1.1 зараз паказваецца індыкатар небяспечнага злучэння. Цалкам падтрымка TLS 1.0 і 1.1 будзе адключана у Chrome 81, вызначаным на 17 сакавіка 2020 гады.
  • Дададзена магчымасць замарозкі неактыўных укладак, якая дазваляе аўтаматычна выгрузіць з памяці ўкладкі, якія знаходзяцца ў фонавым стане больш за 5 хвілін і не выконваюць якія маюць значэнне дзеянняў. Рашэнне аб прыдатнасці той ці іншай укладкі для замарозкі прымаюцца на аснове эўрыстыкі. Кіраванне ўключэннем функцыі ажыццяўляецца праз сцяг "chrome://flags/#proactive-tab-freeze".
  • Забяспечана блакаванне змешанага кантэнту на старонках, адчыненых па HTTPS для таго, каб гарантаваць, што старонкі, адчыненыя па https:// утрымоўваюць толькі рэсурсы, загружаныя па абароненым канале сувязі. Нягледзячы на ​​тое, што найбольш небяспечныя віды змешанага кантэнту, такія як скрыпты і iframe, ужо блакуюцца па змаўчанні, выявы, гукавыя файлы і відэа да гэтага часу маглі быць загружаны па http://. Раней які ўжываўся індыкатар змяшанага кантэнту для такіх уставак прызнаны неэфектыўным і якія ўводзяць карыстача ў памылку, бо ён не дае адназначнай адзнакі бяспекі старонкі. Напрыклад, праз падмену малюнкаў атакавалы можа падставіць адсочваюць дзеянні карыстача Cookie, паспрабаваць эксплуатаваць уразлівасці ў апрацоўшчыках малюнкаў або здзейсніць падробку, замяніўшы прадстаўленую на малюнку інфармацыю. Для адключэння блакавання змешаных кампанентаў дададзена спецыяльная настройка, якая выклікаецца праз меню, якое выпадае пры кліку на сімвал замка.
  • Дададзена эксперыментальная магчымасць сумеснага доступу да змесціва буфера абмену паміж настольнай і мабільнай версіямі Chrome. У злучаных адным уліковым запісам асобніках Chrome зараз можна атрымаць доступ да змесціва буфера абмену іншай прылады, у тым ліку магчымы сумесны доступ да буфера абмену паміж мабільнай і настольнай сістэмай. Змест буфера абмену шыфруецца з ужываннем скразнога (end-to-end) шыфравання, які не дазваляе атрымаць доступ да тэксту на серверах Google. Функцыя ўключаецца праз опцыі chrome://flags#shared-clipboard-receiver, chrome://flags#shared-clipboard-ui і chrome://flags#sync-clipboard-service.
  • У адрасным радку ў вызначаныя моманты (напрыклад, пры захаванні пароля) пры выключанай сінхранізацыі профіля апроч аватара забяспечана адлюстраванне імя бягучага ўліковага запісу ў Google, каб карыстач мог сапраўды ідэнтыфікаваць бягучы актыўны ўліковы запіс.
  • Для 1% карыстальнікаў актывавана падтрымка "DNS па-над HTTPS" (DoH, DNS over HTTPS). У эксперыменце ўдзельнічаюць толькі карыстачы, у сістэмных наладах якіх ужо пазначаны DNS-правайдэры, якія падтрымліваюць DoH. Напрыклад, калі ў карыстача ў сістэмных наладах паказаны DNS 8.8.8.8, то ў Chrome будзе актываваны DoH-сэрвіс Google ("https://dns.google.com/dns-query"), калі DNS - 1.1.1.1, то DoH сэрвіс Cloudflare ("https://cloudflare-dns.com/dns-query") і да т.п. Для кіравання уключэннем DoH прадугледжана настройка "chrome://flags/#dns-over-https". Падтрымліваецца тры рэжыму працы "secure", "automatic" і "off". У рэжыме «secure» хасты вызначаюцца толькі на аснове раней пракэшаваных бяспечных значэнняў (атрыманых праз абароненае злучэнне) і запытаў праз DoH, адкат на звычайны DNS не прымяняецца. У рэжыме "automatic" калі DoH і абаронены кэш недаступныя дапушчаецца атрыманне дадзеных з небяспечнага кэша і зварот праз традыцыйны DNS. У рэжыме "off" спачатку правяраецца агульны кэш і калі дадзеных няма, запыт адпраўляецца праз сістэмны DNS.
  • Дададзена эксперыментальная падтрымка кэшавання адмаляванага змесціва пры змене старонак кнопкамі наперад і назад, якая дазваляе істотна зменшыць затрымкі пры падобным выглядзе навігацыі за рахунак поўнага кэшавання ўсёй старонкі, не які патрабуе паўторнага адмалёўкі і загрузкі рэсурсаў. Аптымізацыя асабліва прыкметная ў версіі для мабільных прылад, на якой прырост прадукцыйнасці пры навігацыі дасягае 19%. Рэжым уключаецца пры дапамозе опцыі "chrome://flags#back-forward-cache".
  • Выдалена настройка "chrome://flags/#omnibox-ui-hide-steady-state-url-scheme-and-subdomains", якая дазваляла вярнуць паказ пратакола ў адрасным радку (зараз усе спасылкі заўсёды паказваюцца без https:// і http:/ /, а таксама без "www.").
  • У зборках для Windows уключаная sandbox-ізаляцыя сэрвісу прайгравання гуку. Для кіравання уключэннем ізаляцыі прапанавана ўласцівасць AudioSandboxEnabled.
  • У сродкі цэнтралізаванага адміністравання для прадпрыемстваў рэалізавана магчымасць вызначэння правілаў, якія задаюць памер памяці, які экзэмпляр браўзэра можа спажыць да таго, як пачнуць выгружацца фонавыя ўкладкі. Вызваленая пасля выгрузкі ўкладкі памяць становіцца даступная для выкарыстання, а змесціва ўкладкі зноў загружаецца пры пераключэнні на яе.
  • У Linux задзейнічаны ўбудаваны апрацоўшчык верыфікацыі сертыфікатаў, які прыйшоў на змену раней ужывальнай сістэмы NSS. Пры гэтым убудаваны апрацоўшчык працягвае выкарыстоўваць сховішча NSS пры праверцы, але прад'яўляе больш цвёрдыя патрабаванні пры апрацоўцы некарэктна закадаваных і адасоблена завераных сертыфікатаў (усе сертыфікаты абавязкова павінны завярацца які сведчыць цэнтрам).
  • У версіі для платформы Android дададзена магчымасць прызначэння адаптыўных піктаграм для усталёўваных web-прыкладанняў, якія працуюць у рэжыме Progressive Web Apps (PWA). Адаптыўныя піктаграмы могуць падладжвацца пад інтэрфейс, які ўжываецца вытворцам прылады, напрыклад, быць круглымі, квадратнымі ці са згладжанымі кутамі.
  • Дададзены API WebXR Device, які прадстаўляе доступ да кампанентаў для стварэння віртуальнай і дапоўненай рэальнасці. API дазваляе ўніфікаваць працу з рознымі класамі прылад, ад стацыянарных шлемаў віртуальнай рэальнасці, падобных да Oculus Rift, HTC Vive і Windows Mixed Reality, да рашэнняў на базе мабільных прылад, такіх як Google Daydream View і Samsung Gear VR. З прыкладанняў, у якіх можа быць дастасавальны новы API згадваюцца праграмы для прагляду відэа ў рэжыме 360 °, сістэмы візуалізацыі трохмернай прасторы, стварэнне віртуальных кінатэатраў для прэзентацыі відэа, правядзенне эксперыментаў па стварэнні 3D-інтэрфейсаў крам і галерэй;

    Рэліз Chrome 79

  • У рэжыме Origin Trials (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) прапанавана некалькі новых API. Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.
    • Для ўсіх элементаў HTML прапанаваны атрыбут "rendersubtree", які забяспечвае фіксацыю адлюстравання DOM-элемента. Пры прысваенні атрыбуту значэння "invisible" змесціва элемента не будзе адмалёўвацца і правярацца, што дазваляе аптымізаваць рэндэрынг. Пры ўсталёўцы значэння "activatable" браўзэр выдаліць нябачны атрыбут, адмалюе змесціва і зробіць яго бачным.
    • Дададзены варыянт API Блакаванне абуджэння на аснове механізму Promise, які прадстаўляе больш бяспечны спосаб кіравання адключэннем аўтаблакіроўкі экрана і пераводу прылад у энергазберагальныя рэжымы.
  • Рэалізавана магчымасць прымянення атрыбута аўтафокус для ўсіх элементаў HTML і SVG, на якія можа быць усталяваны фокус уводу.
  • Для малюнкаў і відэа забяспечана вылічэнне каэфіцыента суадносін бакоў на аснове атрыбутаў Width або Height, што можа выкарыстоўвацца для вызначэння памеру выявы пры дапамозе CSS на стадыі, калі малюнак яшчэ не загружана (вырашае праблему з перастраеннем старонкі пасля загрузкі малюнкаў).
  • Паведамленні CSS-ўласцівасць font-optical-sizing, якое аўтаматычна выстаўляе памер зменлівага шрыфта (variable font) у аптычных каардынатахopsz“, калі шрыфт іх падтрымлівае. Рэжым дазваляе абраць аптымальную форму гліфа для паказанага памеру, напрыклад, выкарыстоўваць больш кантрасныя гліфы для загалоўкаў.
  • Паведамленні CSS-ўласцівасць list-style-type, якое дазваляе выкарыстоўваць любыя сімвалы замест кропак у спісах, напрыклад, "-", "+", "★" і "▸".
  • Пры немагчымасці выканаць Worklet.addModule() зараз вяртаецца аб'ект з дэталёвай інфармацыяй аб характары памылкі, які дазваляе больш дакладна ацаніць прычыну памылкі (праблемы з сеткавым злучэннем, некарэктны сінтаксіс і да т.п.).
  • Спынена апрацоўка элементаў при их перемещении между документами. При переносе между документами также отключено выполнение связанных со скриптом событий «error» и «load».
  • У JavaScript-рухавічку V8 праведзена аптымізацыя апрацоўкі змены ўяўлення палёў у аб'ектах, у выніку якой выкананне кода AngularJS у тэставым наборы Speedometer стала выконвацца на 4% хутчэй.

    Рэліз Chrome 79

  • У V8 таксама праведзена аптымізацыя апрацоўкі гетараў, вызначаных ва ўбудаваных API, такіх як Node.nodeType і Node.nodeName, ва ўмовах адсутнасці апрацоўшчыка IC (inline caching). Змена прыкладна на 12% скараціла выдаткі часу на IC runtime пры выкананні тэстаў Backbone і jQuery з набору Speedometer.
    Рэліз Chrome 79

  • Забяспечана кэшаванне вынікаў працы механізму OSR (called on-stack replacement), які ажыццяўляе падстаноўку аптымізаванага кода ў працэсе выканання функцыі (дазваляе пачаць выкарыстоўваць аптымізаваны код для доўга выкананых функцый, не чакаючы іх паўторнага запуску). Кэшаванне OSR дае магчымасць выкарыстоўваць вынікі аптымізацыі і пры паўторным запуску функцыі, без неабходнасці праходжання паўторнай аптымізацыі.
    У некаторых тэстах змена дазволіла падняць пікавую прадукцыйнасць на 5-18%.

    Рэліз Chrome 79

  • Змены ў інструментах для web-распрацоўшчыкаў:
      з'явіўся адладкавы рэжым для вызначэння прычын блакіроўкі запыту або аддачы Cookie.

      Рэліз Chrome 79

    • У блоку са спісам Cookie дададзена магчымасць хуткага прагляду значэння абранай Cookie праз клік на вызначаным радку.

      Рэліз Chrome 79

    • Дададзена магчымасць сімуляцыі розных настроек для media-запытаў prefers-color-scheme і prefers-reduced-motion (напрыклад, для праверкі паводзін старонкі пры цёмнай сістэмнай тэме афармлення або пры адключаных анімаваных эфектах).
      Рэліз Chrome 79

    • Мадэрнізавана афармленне ўкладкі Coverage, якая дазваляе ацаніць які выкарыстоўваецца і не выкарыстоўваецца код. Дададзена магчымасць фільтрацыі інфармацыі па яе тыпе (JavaScript, CSS). Інфармацыя аб выкарыстанні кода таксама дададзена пры адлюстраванні зыходнага тэксту.

      Рэліз Chrome 79

    • Дададзена магчымасць адладкі прычын запыту таго ці іншага сеткавага рэсурсу пасля запісу сеткавай актыўнасці (можна прагледзець трасіроўку выкліку JavaScript-кода, які прывёў да загрузкі рэсурсу).
      Рэліз Chrome 79

    • Дададзена налада "Settings > Preferences > Sources > Default Indentation" для вызначэння выгляду водступу (2/4/8 прабелаў або табуляцыя) у кодзе, які выводзіцца ў панэлях Console і Sources.

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхіленая 51 уразлівасць. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Дзве праблемы (CVE-2019-13725, зварот да ўжо вызваленай вобласці памяці ў кодзе для падтрымкі Bluetooth, і CVE-2019-13726, перапаўненне кучы ў мэнэджары пароляў) пазначаныя як крытычныя, г.зн. дазваляюць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні. Адразу дзве крытычныя праблемы ў рамках аднаго цыкла распрацоўкі ў Chrome выяўлены ўпершыню. Першая ўразлівасць была знойдзена даследнікамі з кампаніі Tencent Keen Security Lab і прадэманстравана на спаборніцтве Tianfu Cup, а другую знайшоў Сяргей Глазуноў з Google Project Zero.

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

Крыніца: opennet.ru

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