Chrome'i väljalase 90

Google avalikustas veebibrauseri Chrome 90 versiooni. Samal ajal on saadaval ka Chrome'i aluseks oleva tasuta Chromiumi projekti stabiilne väljalase. Chrome'i brauserit eristab Google'i logode kasutamine, krahhi korral teadete saatmise süsteemi olemasolu, kaitstud videosisu (DRM) esitamise moodulid, värskenduste automaatse installimise süsteem ja RLZ-parameetrite edastamine otsimisel. Chrome 91 järgmine väljalase on kavandatud 25. maiks.

Peamised muudatused Chrome'is 90:

  • Kõigil kasutajatel on vaikimisi lubatud aadressiribale hostinimede tippimisel saite HTTPS-i kaudu avada. Näiteks kui sisestate hosti example.com, avatakse vaikimisi sait https://example.com ja kui avamisel ilmnevad probleemid, veeretatakse see tagasi aadressile http://example.com. Vaikimisi "https://" kasutamise juhtimiseks pakutakse seadet "chrome://flags#omnibox-default-typed-navigations-to-https".
  • Nüüd on võimalik akendele määrata erinevaid silte, et neid töölauapaneelil visuaalselt eraldada. Akna nime muutmise tugi lihtsustab töökorraldust, kui kasutate erinevate ülesannete jaoks eraldi brauseriaknaid, näiteks kui avate eraldi aknad tööülesannete, isiklike huvide, meelelahutuse, edasilükatud materjalide jms jaoks. Nime muudetakse kontekstimenüü üksuse „Lisa akna pealkiri” kaudu, mis kuvatakse, kui paremklõpsate vahekaardiribal tühjal alal. Pärast nime muutmist rakenduste paneelil kuvatakse aktiivsel vahekaardil saidi nime asemel valitud nimi, mis võib olla kasulik samade saitide avamisel erinevates akendes, mis on lingitud eraldi kontodega. Seansside vahel säilitatakse sidumine ja pärast taaskäivitamist taastatakse aknad valitud nimedega.
    Chrome'i väljalase 90
  • Lisati võimalus peita "Lugemisloend" ilma "chrome://flags" ("chrome://flags#read-later") seadeid muutmata. Peitmiseks saate nüüd kasutada järjehoidjaribal paremklõpsates kuvatava kontekstimenüü allosas olevat valikut "Näita lugemisloendit". Tuletame meelde, et viimases versioonis, kui mõned kasutajad klõpsavad aadressiribal tärnil, ilmub lisaks nupule "Lisa järjehoidja" ka teine ​​nupp "Lisa lugemisloendisse" ja akna paremas nurgas. järjehoidjate paneelil kuvatakse menüü "Lugemisloend", mis loetleb kõik varem loendisse lisatud lehed. Kui avate loendist lehe, märgitakse see loetuks. Loendis olevaid lehti saab ka käsitsi loetuks või mitteloetuks märkida või loendist eemaldada.
  • Lisatud tugi võrgu segmenteerimisele, et kaitsta kasutajate liikumiste jälgimise meetodite eest saitide vahel, mis põhinevad identifikaatorite salvestamisel piirkondades, mis ei ole ette nähtud teabe alaliseks salvestamiseks ("Superküpsised"). Kuna vahemällu salvestatud ressursid on salvestatud ühisesse nimeruumi, olenemata päritoludomeenist, saab üks sait kindlaks teha, et teine ​​sait laadib ressursse, kontrollides, kas see ressurss on vahemälus. Kaitse põhineb võrgu segmenteerimise (Network Partitioning) kasutamisel, mille põhiolemus on lisada jagatud vahemäludesse kirjete täiendav sidumine domeeniga, kust avaleht avatakse, mis piirab vahemälu katvust ainult liikumise jälgimise skriptide jaoks. praegusele saidile (iframe'i skript ei saa kontrollida, kas ressurss laaditi alla teiselt saidilt). Segmenteerimise hind on vahemällu salvestamise efektiivsuse vähenemine, mis toob kaasa lehe laadimisaja mõningase pikenemise (maksimaalselt 1.32%, kuid 80% saitide puhul 0.09–0.75%).
  • NAT-i libisemisrünnakute eest kaitsmiseks on täiendatud võrguportide musta nimekirja, mille jaoks HTTP, HTTPS ja FTP päringute saatmine on blokeeritud, mis võimaldab brauseris ründaja poolt spetsiaalselt koostatud veebilehe avamisel luua võrku ühendus ründaja serverist kasutaja süsteemi mis tahes UDP- või TCP-pordiga, hoolimata sisemise aadressivahemiku (192.168.x.x, 10.x.x.x) kasutamisest. Lisati keelatud portide loendisse 554 (RTSP-protokoll) ja 10080 (kasutatakse Amanda varunduses ja VMWare vCenteris). Varem olid pordid 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 ja 6566 juba blokeeritud.
  • Lisatud esialgne tugi PDF-dokumentide avamiseks brauseris XFA-vormidega.
  • Mõne kasutaja jaoks on aktiveeritud uus seadete jaotis "Chrome'i seaded > Privaatsus ja turvalisus > Privaatsusliivakast", mis võimaldab hallata FLoC API parameetreid, mille eesmärk on määrata kasutaja huvide kategooria ilma individuaalse identifitseerimiseta ja viitamata konkreetsete saitide külastamise ajalugu.
  • Kui kasutaja loob ühenduse profiiliga, mille tsentraliseeritud haldamine on lubatud, kuvatakse nüüd selgem teatis koos lubatud toimingute loendiga.
  • Muutis lubade taotlemise liidese vähem pealetükkivaks. Taotlused, mida kasutaja tõenäoliselt tagasi lükkab, blokeeritakse nüüd automaatselt ja aadressiribal kuvatakse vastav indikaator, millega kasutaja saab minna saidipõhiselt lubade haldamise liidesesse.
    Chrome'i väljalase 90
  • Kaasas on Intel CET (Intel Control-flow Enforcement Technology) laienduste tugi, et kaitsta riistvara ärakasutamise eest, mis on loodud tagasipöörduva programmeerimise (ROP, Return-Oriented Programming) tehnikaid kasutades.
  • Jätkub töö brauseri üleminekul kaasava terminoloogia kasutamisele. Fail "master_preferences" on ümber nimetatud "initial_preferences", et vältida nende kasutajate tunnete kahjustamist, kes tajuvad sõna "master" vihjena oma esivanemate kunagisele orjusele. Ühilduvuse säilitamiseks jääb „master_preferences” tugi mõneks ajaks brauserisse. Varem oli brauser juba vabanenud sõnade "valge nimekiri", "must nimekiri" ja "native" kasutamisest.
  • Androidi versioonis, kui liikluse säästurežiim Lite on lubatud, väheneb bitikiirus video allalaadimisel, kui see on ühendatud mobiilsideoperaatorite võrkude kaudu, mis vähendab nende kasutajate kulusid, kellel on lubatud liikluspõhised tariifid. Lihtsustatud režiim pakub ka avalikult kättesaadavatest ressurssidest taotletud kujutiste tihendamist (ei vaja autentimist) HTTPS-i kaudu.
  • Lisatud AV1 videovormingu kodeerija, mis on spetsiaalselt optimeeritud WebRTC protokollil põhinevate videokonverentside jaoks. AV1 kasutamine videokonverentsides võimaldab suurendada tihendamise efektiivsust ja pakkuda 30 kbit/sek ribalaiusega kanalitel edastamise võimalust.
  • JavaScriptis rakendavad objektid Array, String ja TypedArrays meetodit at(), mis võimaldab kasutada suhtelist indekseerimist (massiiviindeksina määratakse suhteline asukoht), sealhulgas määrata negatiivsed väärtused lõpu suhtes (näiteks , tagastab "arr.at(-1)" massiivi viimase elemendi).
  • JavaScript on lisanud regulaaravaldiste atribuudi ".indexes", mis sisaldab massiivi vastete rühmade algus- ja lõpupositsioonidega. Atribuut täidetakse ainult regulaaravaldise täitmisel lipuga "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — kõik vasterühmad // → [0, 2] console.log(m.indices[1]); // 1 on esimene vastete rühm // → [0, 1] console.log(m.indices[2]); // 2 - teine ​​vastete rühm // → [1, 2]
  • "Super" atribuutide (nt super.x) jõudlus, mille jaoks on sisseehitatud vahemälu lubatud, on optimeeritud. "Super" kasutamise jõudlus on nüüd lähedal tavalistele atribuutidele juurdepääsu jõudlusele.
  • WebAssembly funktsioonide kutsumine JavaScriptist on tänu sisemise juurutamise kasutamisele oluliselt kiirendatud. See optimeerimine jääb praegu eksperimentaalseks ja nõuab käitamist lipuga „-turbo-inline-js-wasm-calls”.
  • Lisatud on WebXR Depth Sensing API, mis võimaldab määrata näiteks kasutaja keskkonnas olevate objektide ja kasutaja seadme vahelist kaugust, et luua realistlikumaid liitreaalsuse rakendusi. Tuletame meelde, et WebXR API võimaldab ühtlustada tööd erinevate virtuaalreaalsuse seadmete klassidega, alates statsionaarsetest 3D-kiivritest kuni mobiilseadmetel põhinevate lahendusteni.
  • WebXR AR Lighting Estimation funktsioon on stabiliseeritud, võimaldades WebXR AR seanssidel määrata ümbritseva valgustuse parameetreid, et anda mudelitele loomulikum välimus ja parem integreerumine kasutaja keskkonnaga.
  • Origin Trials režiim (eksperimentaalsed funktsioonid, mis nõuavad eraldi aktiveerimist) lisab mitu uut API-d, mis on praegu piiratud Androidi platvormiga. Origin Trial tähendab võimalust töötada määratud API-ga kohalikest hostidest või versioonist 127.0.0.1 alla laaditud rakendustes või pärast registreerimist ja spetsiaalse loa saamist, mis kehtib konkreetse saidi jaoks piiratud aja.
    • GetCurrentBrowsingContextMedia() meetod, mis võimaldab jäädvustada MediaStreami videovoogu, mis kajastab praeguse vahekaardi sisu. Erinevalt sarnasest meetodist getDisplayMedia() kuvatakse getCurrentBrowsingContextMedia() kutsumisel kasutajale lihtne dialoog, mis kinnitab või blokeerib video edastamise vahekaardi sisuga.
    • Insertable Streams API, mis võimaldab teil manipuleerida MediaStreamTracki API kaudu edastatavate toormeediumivoogudega, nagu kaamera- ja mikrofoniandmed, ekraanihõive tulemused või vahepealsed kodeki dekodeerimise andmed. WebCodeci liideseid kasutatakse töötlemata kaadrite esitamiseks ja voog luuakse sarnaselt sellele, mida WebRTC Insertable Streams API genereerib RTCPeerConnectionsi põhjal. Praktilise poole pealt võimaldab uus API kasutada selliseid funktsioone nagu masinõppetehnikate rakendamine objektide reaalajas tuvastamiseks või märkuste lisamiseks või selliste efektide lisamine, nagu tausta lõikamine enne kodeerimist või pärast koodekiga dekodeerimist.
    • Võimalus pakkida ressursse pakettidesse (Web Bundle), et korraldada suure hulga kaasnevate failide (CSS-stiilid, JavaScript, pildid, iframe) tõhusam laadimine. JavaScripti failide pakettide (veebipaketi) olemasoleva toe puuduste hulgas, mida Web Bundle püüab kõrvaldada: pakett ise, kuid mitte selle komponendid, võib sattuda HTTP vahemällu; kompileerimist ja täitmist saab alustada alles pärast paketi täielikku allalaadimist; Täiendavad ressursid, nagu CSS ja pildid, tuleb kodeerida JavaScripti stringidena, mis suurendab suurust ja nõuab veel ühte sõelumisetappi.
    • Erandite käsitlemise tugi WebAssemblys.
  • Stabiliseeris Declarative Shadow DOM API, et luua Shadow DOM-is uued juurharud, näiteks eraldada põhidokumendist imporditud kolmanda osapoole elemendi stiil ja sellega seotud DOM-i alamharu. Pakutav deklaratiivne API võimaldab kasutada ainult HTML-i DOM-i harude vabastamiseks, ilma et oleks vaja JavaScripti koodi kirjutada.
  • Kuvasuhe CSS-i atribuut, mis võimaldab teil selgelt siduda kuvasuhte mis tahes elemendiga (arvutada automaatselt puuduvat suurust ainult kõrguse või laiuse määramisel), rakendab võimalust interpoleerida väärtusi animatsiooni ajal (sujuv üleminek ühest kuvasuhe teise suhtes).
  • Lisati võimalus peegeldada kohandatud HTML-i elementide olekut CSS-is pseudoklassi ":state()" kaudu. Funktsionaalsust rakendatakse analoogselt standardsete HTML-i elementide võimalusega muuta oma olekut sõltuvalt kasutaja interaktsioonist.
  • CSS-i atribuut „appearance” toetab nüüd väärtust „auto”, mis on vaikimisi määratud väärtustele ja ning Androidi platvormil lisaks väärtusele , , , ja .
  • CSS-i atribuudile „overflow” on lisatud „klipi” väärtuse tugi, kui see on määratud, kärbitakse plokist kaugemale ulatuv sisu ploki lubatud ületäitumise piirini ilma kerimise võimaluseta. Väärtus, mis määrab, kui kaugele sisu võib ulatuda üle kasti tegeliku piiri enne kärpimise algust, määratakse uue CSS-i atribuudi "ületäitmine-klipi-margin" kaudu. Võrreldes funktsiooniga "ülevool: peidetud", võimaldab "ületäitmine: klipp" kasutamine paremat jõudlust.
    Chrome'i väljalase 90Chrome'i väljalase 90
  • Funktsioonipoliitika HTTP päis on asendatud uue päisega Permissions-Policy, et juhtida õiguste delegeerimist ja täiustatud funktsioonide lubamist, mis hõlmab struktureeritud välja väärtuste tuge (näiteks saate nüüd määrata "Permissions-Policy: geolocation =()" asemel "Funktsioonipoliitika: geolokatsioon "puudub").
  • Tugevdatud kaitse protokollipuhvrite kasutamise eest rünnete puhul, mis on põhjustatud käskude spekulatiivsest täitmisest protsessorites. Kaitset rakendatakse, lisades MIME-tüübi „application/x-protobuffer” kunagi nuuskimata MIME-tüüpide loendisse, mida töödeldakse Cross-Origin-Read-Blocking mehhanismi kaudu. Varem oli MIME tüüp “application/x-protobuf” juba sarnases loendis, kuid “application/x-protobuffer” jäeti välja.
  • Failisüsteemi juurdepääsu API rakendab võimalust nihutada faili praegust asukohta selle lõpust kaugemale ja täita tekkinud tühimik nullidega hilisemal kirjutamisel läbi FileSystemWritableFileStream.write() kutse. See funktsioon võimaldab luua hõredaid faile tühjade tühikutega ja lihtsustab oluliselt andmeplokkide järjestamata saabumisega failivoogudesse kirjutamise korraldamist (näiteks seda praktiseeritakse BitTorrentis).
  • Lisatud StaticRange konstruktor kergete vahemikutüüpide juurutamisega, mis ei nõua kõigi seotud objektide värskendamist iga kord, kui DOM-puu muutub.
  • Rakendatud on võimalus määrata elemendis määratud elementide laiuse ja kõrguse parameetreid. See funktsioon võimaldab teil arvutada elementide kuvasuhte sarnaselt sellele, kuidas seda tehakse , ja puhul.
  • WebRTC-st on eemaldatud RTP andmekanalite mittestandardne tugi ja selle asemel on soovitatav kasutada SCTP-põhiseid andmekanaleid.
  • Atribuudid navigator.plugins ja navigator.mimeTypes tagastavad nüüd alati tühja väärtuse (pärast Flashi toe lõppemist polnud neid atribuute enam vaja).
  • Veebiarendajate tööriistadesse on tehtud suur osa väikestest täiustustest ja lisatud on uus CSS-i silumistööriist flexbox.
    Chrome'i väljalase 90

Lisaks uuendustele ja veaparandustele kõrvaldab uus versioon 37 turvaauku. Paljud haavatavused tuvastati AddressSanitizeri, MemorySanitizeri, Control Flow Integrity, LibFuzzeri ja AFL-i tööriistu kasutades automatiseeritud testimise tulemusena. Pole tuvastatud ühtegi kriitilist probleemi, mis võimaldaks mööda minna brauseri kõigist kaitsetasemetest ja käivitada süsteemis koodi väljaspool liivakastikeskkonda. Osana rahalise preemia programmi praeguse versiooni haavatavuste avastamise eest maksis Google 19 auhinda väärtuses 54000 20000 dollarit (üks 10000 5000 dollari auhind, üks 3000 2000 dollari auhind, kaks 1000 dollarit, kolm 500 dollarit, üks 6 dollari auhind, XNUMX neli XNUMX dollarit, XNUMX neli auhinda ). XNUMX preemia suurust pole veel kindlaks määratud.

Eraldi võib märkida, et eile, pärast parandusväljaande 89.0.4389.128 moodustamist, kuid enne Chrome 90 väljaandmist, avaldati veel üks exploit, mis kasutas uut 0-päevast haavatavust, mida Chrome 89.0.4389.128 ei parandanud. . Pole veel selge, kas see probleem on Chrome 90-s lahendatud. Nagu ka esimesel juhul, katab ärakasutamine ainult ühte haavatavust ega sisalda liivakasti isolatsioonist möödahiilimise koodi (kui Chrome'i käitatakse lipuga „--no-sandbox” , toimub ärakasutamine siis, kui Windowsi platvormil veebilehe avamine võimaldab teil käivitada Notepad). Uue ärakasutamisega seotud haavatavus mõjutab WebAssembly tehnoloogiat.

Allikas: opennet.ru

Lisa kommentaar