Chromen julkaisu 90

Google on julkistanut Chrome 90 -verkkoselaimen julkaisun. Samaan aikaan Chromen perustana toimivasta ilmaisesta Chromium-projektista on saatavilla vakaa julkaisu. Chrome-selain erottuu Google-logojen käytöstä, järjestelmän läsnäolosta ilmoitusten lähettämiseksi kaatuessa, suojatun videosisällön (DRM) toistamiseen tarkoitetuista moduuleista, järjestelmästä päivitysten automaattiseen asentamiseen ja RLZ-parametrien lähettämiseen haun aikana. Chrome 91:n seuraavan julkaisun on määrä julkaista 25. toukokuuta.

Tärkeimmät muutokset Chrome 90:ssa:

  • Kaikki käyttäjät voivat oletusarvoisesti avata sivustoja HTTPS:n kautta kirjoittaessaan isäntänimiä osoitepalkkiin. Kun esimerkiksi syötät isäntäosoitteen example.com, sivusto https://example.com avataan oletuksena, ja jos avaamisen yhteydessä ilmenee ongelmia, se palautetaan osoitteeseen http://example.com. Oletusarvon "https://" käytön hallitsemiseksi ehdotetaan asetusta "chrome://flags#omnibox-default-typed-navigations-to-https".
  • Ikkunoihin on nyt mahdollista määrittää erilaisia ​​tunnisteita niiden visuaaliseksi erottamiseksi työpöytäpaneelissa. Ikkunan nimen muuttamisen tuki yksinkertaistaa työn organisointia käytettäessä erillisiä selainikkunoita eri tehtäviin, esimerkiksi avattaessa erillisiä ikkunoita työtehtäville, henkilökohtaisille kiinnostuksen kohteille, viihteelle, viivästetyille materiaaleille jne. Nimi muutetaan "Lisää ikkunan otsikko" -kohdassa pikavalikon kautta, joka tulee näkyviin, kun napsautat hiiren kakkospainikkeella välilehtipalkin tyhjää aluetta. Kun nimeä on muutettu sovelluspaneelissa, aktiivisen välilehden sivuston nimen sijaan näytetään valittu nimi, mikä voi olla hyödyllistä avattaessa samoja sivustoja eri tileihin linkitetyissä ikkunoissa. Sidonta säilyy istuntojen välillä ja uudelleenkäynnistyksen jälkeen ikkunat palautetaan valituilla nimillä.
    Chromen julkaisu 90
  • Lisätty mahdollisuus piilottaa "Lukulista" ilman, että "chrome://flags" ("chrome://flags#read-later") asetuksia tarvitsee muuttaa. Piilotaksesi voit nyt käyttää "Näytä lukulista" -vaihtoehtoa kontekstivalikon alaosassa, joka näkyy, kun napsautat hiiren kakkospainikkeella kirjanmerkkipalkkia. Muistutetaan, että viimeisessä julkaisussa, kun jotkut käyttäjät napsauttavat osoitepalkin tähteä, "Lisää kirjanmerkki" -painikkeen lisäksi ilmestyy toinen painike "Lisää lukulistaan" ja sen oikeaan kulmaan. kirjanmerkkipaneelin "Lukulista"-valikko tulee näkyviin, jossa luetellaan kaikki aiemmin luetteloon lisätyt sivut. Kun avaat sivun luettelosta, se merkitään luetuksi. Listan sivut voidaan myös manuaalisesti merkitä luetuiksi tai lukemattomiksi tai poistaa luettelosta.
  • Lisätty tuki verkon segmentoinnille suojatakseen menetelmiä, joilla seurataan käyttäjien liikkumista sivustojen välillä, jotka perustuvat tunnisteiden tallentamiseen alueille, joita ei ole tarkoitettu pysyvään tietojen tallentamiseen ("superevästeet"). Koska välimuistissa olevat resurssit on tallennettu yhteiseen nimiavaruuteen riippumatta alkuperäisestä toimialueesta, yksi sivusto voi määrittää, että toinen sivusto lataa resursseja tarkistamalla, onko kyseinen resurssi välimuistissa. Suojaus perustuu verkkosegmentoinnin käyttöön (Network Partitioning), jonka ydin on lisätä jaettuun välimuistiin tietueiden lisäsidonta verkkotunnukseen, josta pääsivu avataan, mikä rajoittaa välimuistin kattavuutta vain liikkeenseurantaskripteille. nykyiselle sivustolle (skripti iframe-kehyksestä ei voi tarkistaa, onko resurssi ladattu toiselta sivustolta). Segmentoinnin hinta on välimuistin tehokkuuden heikkeneminen, mikä johtaa sivun latausaikaan hieman pidentymiseen (enintään 1.32 %, mutta 80 %:lla sivustoista 0.09-0.75 %).
  • Musta lista verkkoporteista, joille HTTP-, HTTPS- ja FTP-pyyntöjen lähettäminen on estetty, on täydennetty suojaamaan NAT-slipstreaming-hyökkäyksiltä, ​​mikä mahdollistaa verkon muodostamisen avattaessa selaimessa hyökkääjän erityisesti valmistelemaa verkkosivua. yhteys hyökkääjän palvelimelta mihin tahansa käyttäjän järjestelmän UDP- tai TCP-porttiin huolimatta sisäisen osoitealueen (192.168.xx, 10.xxx) käytöstä. Lisätty 554 (RTSP-protokolla) ja 10080 (käytetään Amanda-varmuuskopioinnissa ja VMWare vCenterissä) kiellettyjen porttien luetteloon. Aiemmin portit 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 ja 6566 oli jo estetty.
  • Lisätty alustava tuki PDF-dokumenttien avaamiseen XFA-lomakkeilla selaimessa.
  • Joillekin käyttäjille on aktivoitu uusi asetusosio "Chromen asetukset > Tietosuoja ja suojaus > Tietosuoja hiekkalaatikko", jonka avulla voit hallita FLoC API:n parametreja, joiden tarkoituksena on määrittää käyttäjän kiinnostuksen kohteiden luokka ilman yksilöllistä tunnistamista ja viittaamatta tietyissä paikoissa käyntien historiaa.
  • Selkeämpi ilmoitus ja luettelo sallituista toiminnoista näytetään nyt, kun käyttäjä muodostaa yhteyden profiiliin, jonka keskitetty hallinta on käytössä.
  • Teki käyttöoikeuspyyntöliittymästä vähemmän häiritsevän. Pyynnöt, jotka käyttäjä todennäköisesti hylkäävät, estetään nyt automaattisesti vastaavalla osoittimella, joka näkyy osoitepalkissa, jolla käyttäjä voi siirtyä käyttöliittymän hallintaan sivustokohtaisesti.
    Chromen julkaisu 90
  • Mukana on tuki Intel CET (Intel Control-flow Enforcement Technology) -laajennuksille, jotka suojaavat laitteistoa paluusuuntautuneella ohjelmointitekniikalla (ROP, Return-Oriented Programming) luotuja hyväksikäyttöjä vastaan.
  • Selaimen siirtäminen osallistavan terminologian käyttöön jatkuu. "master_preferences"-tiedosto on nimetty uudelleen muotoon "initial_preferences", jotta vältytään vahingoittamasta niiden käyttäjien tunteita, jotka pitävät sanaa "master" vihjeenä esi-isiensä entisestä orjuudesta. Yhteensopivuuden ylläpitämiseksi "master_preferences"-tuki säilyy selaimessa jonkin aikaa. Aiemmin selain oli jo päässyt eroon sanojen "valkoinen lista", "musta lista" ja "natiivi" käytöstä.
  • Android-versiossa, kun "Lite" liikenteensäästötila on käytössä, bittinopeus pienenee, kun videota ladataan, kun se on yhdistetty matkapuhelinoperaattoreiden verkkojen kautta, mikä pienentää käyttäjien kustannuksia, joilla on käytössä liikennepohjaiset tariffit. "Lite"-tila tarjoaa myös julkisesti saatavilla olevista resursseista pyydettyjen kuvien pakkaamisen (ei vaadi todennusta) HTTPS:n kautta.
  • Lisätty AV1-videoformaatin kooderi, joka on erityisesti optimoitu käytettäväksi WebRTC-protokollaan perustuvissa videoneuvotteluissa. AV1:n käyttö videoneuvotteluissa mahdollistaa pakkaustehokkuuden lisäämisen ja mahdollistaa lähetyksen 30 kbit/s kaistanleveydellä olevilla kanavilla.
  • JavaScriptissä Array-, String- ja TypedArrays-objektit toteuttavat at()-menetelmän, jonka avulla voit käyttää suhteellista indeksointia (suhteellinen sijainti määritetään taulukon indeksiksi), mukaan lukien negatiivisten arvojen määrittäminen loppuun (esim. "arr.at(-1)" palauttaa taulukon viimeisen elementin).
  • JavaScript on lisännyt säännöllisten lausekkeiden ".indexes"-ominaisuuden, joka sisältää taulukon, jossa on hakuryhmien aloitus- ja loppupaikat. Ominaisuus täytetään vain, kun säännöllinen lauseke suoritetaan "/d"-lipulla. const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indexes[0]); // 0 — kaikki hakuryhmät // → [0, 2] console.log(m.indices[1]); // 1 on ensimmäinen vastaavuusryhmä // → [0, 1] console.log(m.indices[2]); // 2 - toinen otteluryhmä // → [1, 2]
  • "Super"-ominaisuuksien (esimerkiksi super.x) suorituskyky, joille sisäinen välimuisti on käytössä, on optimoitu. "Super"-käytön suorituskyky on nyt lähellä tavallisten ominaisuuksien käyttöä.
  • WebAssembly-toimintojen kutsuminen JavaScriptistä on nopeutunut merkittävästi sisäänrakennetun käyttöönoton ansiosta. Tämä optimointi on toistaiseksi kokeellinen ja vaatii suorittamisen "-turbo-inline-js-wasm-calls" -lipun kanssa.
  • Lisätty WebXR Depth Sensing API, jonka avulla voit määrittää käyttäjän ympäristössä olevien objektien ja käyttäjän laitteen välisen etäisyyden esimerkiksi realistisempien lisätyn todellisuuden sovellusten luomiseksi. Muistutetaan, että WebXR API mahdollistaa työn yhdistämisen erilaisten virtuaalitodellisuuslaitteiden luokkien kanssa kiinteistä 3D-kypäristä mobiililaitteisiin perustuviin ratkaisuihin.
  • WebXR AR Lighting Estimation -ominaisuus on vakiintunut, minkä ansiosta WebXR AR -istunnot voivat määrittää ympäristön valaistusparametrit antaakseen malleille luonnollisemman ulkonäön ja paremman integraation käyttäjän ympäristöön.
  • Origin Trials -tila (kokeelliset ominaisuudet, jotka vaativat erillisen aktivoinnin) lisää useita uusia sovellusliittymiä, jotka on tällä hetkellä rajoitettu Android-alustalle. Origin Trial tarkoittaa kykyä työskennellä määritetyn API:n kanssa localhostista tai 127.0.0.1:stä ladatuista sovelluksista tai rekisteröitymisen ja erityisen tunnuksen vastaanottamisen jälkeen, joka on voimassa rajoitetun ajan tietyllä sivustolla.
    • GetCurrentBrowsingContextMedia()-menetelmä, jonka avulla on mahdollista kaapata MediaStream-videovirta, joka heijastaa nykyisen välilehden sisältöä. Toisin kuin samanlainen getDisplayMedia()-menetelmä, kutsuttaessa getCurrentBrowsingContextMedia() käyttäjälle näytetään yksinkertainen valintaikkuna, jossa voit vahvistaa tai estää videon siirtämisen välilehden sisällön kanssa.
    • Insertable Streams API, jonka avulla voit käsitellä MediaStreamTrack API:n kautta lähetettyjä raakamediavirtoja, kuten kamera- ja mikrofonitietoja, näytön kaappaustuloksia tai keskitason koodekin dekoodaustietoja. WebCodec-rajapintoja käytetään esittämään raakakehyksiä, ja virta luodaan samankaltaisesti kuin WebRTC Insertable Streams -sovellusliittymä luo RTCPeerConnectionsin perusteella. Käytännön puolella uusi API mahdollistaa toimintoja, kuten koneoppimistekniikoiden soveltamisen objektien tunnistamiseen tai merkitsemiseen reaaliajassa, tai tehosteiden, kuten taustan leikkaamisen, lisäämisen ennen koodausta tai koodekin suorittaman dekoodauksen jälkeen.
    • Mahdollisuus pakata resursseja paketteihin (Web Bundle) tehokkaamman suuren määrän mukana tulevien tiedostojen (CSS-tyylit, JavaScript, kuvat, iframe) lataamisen järjestämiseksi. JavaScript-tiedostojen pakettien (webpack) olemassa olevan tuen puutteita, joita Web Bundle yrittää poistaa: itse paketti, mutta ei sen osat, voi päätyä HTTP-välimuistiin; kääntäminen ja suorittaminen voi alkaa vasta, kun paketti on ladattu kokonaan; Lisäresurssit, kuten CSS ja kuvat, on koodattava JavaScript-merkkijonojen muodossa, mikä kasvattaa kokoa ja vaatii toisen jäsennysvaiheen.
    • Tuki poikkeusten käsittelylle WebAssemblyssa.
  • Stabilisoi Declarative Shadow DOM -sovellusliittymän uusien juurihaarojen luomiseksi Shadow DOM:iin, esimerkiksi tuodun kolmannen osapuolen elementtityylin ja siihen liittyvän DOM-alihaaran erottamiseksi pääasiakirjasta. Ehdotetun deklaratiivisen API:n avulla voit käyttää vain HTML-koodia DOM-haarojen irrottamiseen ilman, että sinun tarvitsee kirjoittaa JavaScript-koodia.
  • Aspect-ratio CSS -ominaisuus, jonka avulla voit nimenomaisesti sitoa kuvasuhteen mihin tahansa elementtiin (laskeaksesi automaattisesti puuttuvan koon, kun määritetään vain korkeus tai leveys), toteuttaa mahdollisuuden interpoloida arvoja animaation aikana (tasainen siirtyminen yhdestä kuvasuhde toiseen).
  • Lisätty mahdollisuus heijastaa mukautettujen HTML-elementtien tilaa CSS:ssä pseudoluokan ":state()" kautta. Toiminto toteutetaan analogisesti standardien HTML-elementtien kyvyn kanssa muuttaa tilaansa käyttäjän vuorovaikutuksesta riippuen.
  • CSS-ominaisuus "appearance" tukee nyt arvoa "auto", joka on oletuksena asetettu arvolle Ja , ja Android-alustalla lisäksi varten , , , Ja .
  • "Clip"-arvon tuki on lisätty "overflow" CSS-ominaisuuteen, kun se on asetettu, lohkon yli ulottuva sisältö leikataan lohkon sallitun ylivuodon rajaan ilman vieritysmahdollisuutta. Arvo, joka määrittää, kuinka pitkälle sisältö voi ulottua laatikon todellisen rajan ulkopuolelle ennen leikkaamisen alkamista, asetetaan uudella CSS-ominaisuuden "overflow-clip-margin" avulla. Verrattuna "overflow: piilotettu" -toimintoon "overflow: clip" mahdollistaa paremman suorituskyvyn.
    Chromen julkaisu 90Chromen julkaisu 90
  • Feature-Policy HTTP-otsikko on korvattu uudella Permissions-Policy-otsikolla, jolla ohjataan käyttöoikeuksien delegointia ja lisäominaisuuksien käyttöönottoa, joka sisältää tuen strukturoiduille kenttäarvoille (voit nyt määrittää esimerkiksi "Permissions-Policy: geolocation =()" "Feature- Policy: geolocation 'none'" sijaan).
  • Vahvistettu suojaus protokollapuskurien käyttöä vastaan ​​hyökkäyksissä, jotka johtuvat käskyjen spekulatiivisesta suorittamisesta prosessoreissa. Suojaus toteutetaan lisäämällä "application/x-protobuffer" MIME-tyyppi koskaan haisteltujen MIME-tyyppien luetteloon, joka käsitellään Cross-Origin-Read-Blocking -mekanismin kautta. Aikaisemmin MIME-tyyppi "application/x-protobuf" sisältyi jo samanlaiseen luetteloon, mutta "application/x-protobuffer" jätettiin pois.
  • File System Access API toteuttaa mahdollisuuden siirtää tiedoston nykyistä sijaintia sen pään ulkopuolelle ja täyttää tuloksena olevan aukon nollilla myöhemmän kirjoituksen aikana FileSystemWritableFileStream.write()-kutsulla. Tämän ominaisuuden avulla voit luoda niukkoja tiedostoja, joissa on tyhjiä tiloja, ja yksinkertaistaa huomattavasti tiedostovirtaan kirjoittamisen järjestämistä tietolohkojen järjestämättömällä saapumisella (tätä harjoitetaan esimerkiksi BitTorrentissa).
  • Lisätty StaticRange-konstruktori, jossa on toteutettu kevyitä aluetyyppejä, jotka eivät vaadi kaikkien liittyvien objektien päivittämistä joka kerta, kun DOM-puu muuttuu.
  • Otettu käyttöön kyky määrittää elementtien leveys- ja korkeusparametrit määritetty elementin sisällä . Tämän ominaisuuden avulla voit laskea elementtien kuvasuhteen , analogisesti sen kanssa, miten se tehdään , Ja .
  • Standardoimaton tuki RTP-tietokanaville on poistettu WebRTC:stä, ja sen sijaan suositellaan SCTP-pohjaisten tietokanavien käyttöä.
  • Navigator.plugins- ja navigator.mimeTypes-ominaisuudet palauttavat nyt aina tyhjän arvon (Flash-tuen päätyttyä näitä ominaisuuksia ei enää tarvita).
  • Suuri osa pieniä parannuksia on tehty web-kehittäjien työkaluihin ja uusi CSS-virheenkorjaustyökalu, flexbox, on lisätty.
    Chromen julkaisu 90

Innovaatioiden ja virheenkorjausten lisäksi uusi versio eliminoi 37 haavoittuvuutta. Monet haavoittuvuuksista tunnistettiin automaattisen testauksen tuloksena AddressSanitizer-, MemorySanitizer-, Control Flow Integrity-, LibFuzzer- ja AFL-työkaluilla. Ei ole tunnistettu kriittisiä ongelmia, jotka antaisivat mahdollisuuden ohittaa kaikki selaimen suojaustasot ja suorittaa koodia järjestelmässä hiekkalaatikkoympäristön ulkopuolella. Osana käteispalkkioohjelmaa nykyisen julkaisun haavoittuvuuksien löytämisestä Google maksoi 19 palkintoa arvoltaan 54000 20000 dollaria (yksi 10000 5000 dollarin palkinto, yksi 3000 2000 dollarin palkinto, kaksi 1000 500 dollarin palkintoa, kolme 6 XNUMX dollarin palkintoa, yksi XNUMX XNUMX dollarin palkinto, XNUMX neljä palkintoa, XNUMX XNUMX dollaria, ).). Kuuden palkinnon kokoa ei ole vielä päätetty.

Erikseen voidaan huomauttaa, että eilen, korjaavan julkaisun 89.0.4389.128 muodostamisen jälkeen, mutta ennen Chrome 90:n julkaisua, julkaistiin toinen hyväksikäyttö, joka käytti uutta 0-päivän haavoittuvuutta, jota ei korjattu Chromessa 89.0.4389.128. . Ei ole vielä selvää, onko tämä ongelma korjattu Chrome 90:ssä. Kuten ensimmäisessä tapauksessa, hyväksikäyttö kattaa vain yhden haavoittuvuuden eikä sisällä koodia hiekkalaatikon eristämisen ohittamiseksi (kun Chromea käytetään "--no-sandbox"-lipulla , hyväksikäyttö tapahtuu, kun verkkosivun avaaminen Windows-alustalla mahdollistaa Notepadin suorittamisen). Uuteen hyväksikäyttöön liittyvä haavoittuvuus vaikuttaa WebAssembly-tekniikkaan.

Lähde: opennet.ru

Lisää kommentti