Chrome 90 vrystelling

Google het die vrystelling van die Chrome 90 webblaaier onthul. Terselfdertyd is 'n stabiele vrystelling van die gratis Chromium-projek, wat as die basis van Chrome dien, beskikbaar. Die Chrome-blaaier word onderskei deur die gebruik van Google-logo's, die teenwoordigheid van 'n stelsel vir die stuur van kennisgewings in geval van 'n ongeluk, modules vir die speel van beskermde video-inhoud (DRM), 'n stelsel vir outomatiese installering van opdaterings en die oordrag van RLZ-parameters wanneer jy soek. Die volgende weergawe van Chrome 91 is geskeduleer vir 25 Mei.

Sleutelveranderinge in Chrome 90:

  • Alle gebruikers word by verstek in staat gestel om werwe via HTTPS oop te maak wanneer gasheername in die adresbalk ingetik word. Byvoorbeeld, wanneer jy die gasheer example.com betree, sal die werf https://example.com by verstek oopgemaak word, en as probleme opduik tydens die opening, sal dit teruggerol word na http://example.com. Om die gebruik van die verstek "https://" te beheer, word die instelling "chrome://flags#omnibox-default-typed-navigations-to-https" voorgestel.
  • Dit is nou moontlik om verskillende etikette aan vensters toe te ken om dit visueel in die lessenaarpaneel te skei. Ondersteuning vir die verandering van die vensternaam sal die organisasie van werk vereenvoudig wanneer aparte blaaiervensters vir verskillende take gebruik word, byvoorbeeld wanneer aparte vensters oopgemaak word vir werktake, persoonlike belangstellings, vermaak, uitgestelde materiaal, ens. Die naam word verander deur die item "Voeg venstertitel by" in die kontekskieslys wat verskyn wanneer jy regskliek op 'n leë area in die oortjiebalk. Nadat die naam in die toepassingspaneel verander is, in plaas van die werfnaam vanaf die aktiewe oortjie, word die geselekteerde naam vertoon, wat nuttig kan wees wanneer dieselfde werwe oopgemaak word in verskillende vensters wat aan aparte rekeninge gekoppel is. Die binding word tussen sessies behou en na 'n herbegin sal die vensters met die geselekteerde name herstel word.
    Chrome 90 vrystelling
  • Het die vermoë bygevoeg om die "Leeslys" te versteek sonder om instellings in "chrome://vlags" te verander ("chrome://flags#read-later"). Om weg te steek, kan jy nou die opsie "Wys leeslys" gebruik onderaan die kontekskieslys wat gewys word wanneer jy regskliek op die boekmerkbalk. Laat ons u daaraan herinner dat in die laaste weergawe, wanneer sommige gebruikers op die asterisk in die adresbalk klik, benewens die "Voeg boekmerk"-knoppie, 'n tweede knoppie "Voeg by leeslys" verskyn, en in die regterhoek van die boekmerkpaneel die "Leeslys"-kieslys verskyn, wat al die vorige bladsye wat by die lys gevoeg is, lys. Wanneer jy 'n bladsy vanaf die lys oopmaak, word dit as gelees gemerk. Bladsye in die lys kan ook met die hand as gelees of ongelees gemerk word, of van die lys verwyder word.
  • Bygevoeg ondersteuning vir netwerksegmentering om te beskerm teen metodes om gebruikersbewegings tussen werwe op te spoor gebaseer op die stoor van identifiseerders in gebiede wat nie bedoel is vir permanente berging van inligting nie (“Superkoekies”). Omdat kashulpbronne in 'n gemeenskaplike naamruimte gestoor word, ongeag die oorsprongdomein, kan een werf bepaal dat 'n ander werf besig is om hulpbronne te laai deur te kontroleer of daardie hulpbron in die kas is. Die beskerming is gebaseer op die gebruik van netwerksegmentering (Network Partitioning), waarvan die essensie is om by gedeelde kas bykomende binding van rekords by die domein te voeg vanwaar die hoofbladsy oopgemaak word, wat die kasdekking vir slegs bewegingsopsporingsskrifte beperk na die huidige webwerf ('n skrip vanaf 'n iframe sal nie kan kyk of die hulpbron van 'n ander webwerf afgelaai is nie). Die prys van segmentering is 'n afname in kasdoeltreffendheid, wat lei tot 'n effense toename in bladsylaaityd (maksimum met 1.32%, maar vir 80% van werwe met 0.09-0.75%).
  • Die swart lys van netwerkpoorte waarvoor die stuur van HTTP-, HTTPS- en FTP-versoeke geblokkeer word, is aangevul om teen NAT-slipstreaming-aanvalle te beskerm, wat dit moontlik maak om 'n netwerk te vestig wanneer 'n webblad wat spesiaal deur die aanvaller in 'n blaaier voorberei is, oopgemaak word. verbinding vanaf die aanvaller se bediener na enige UDP- of TCP-poort op die gebruiker se stelsel, ten spyte van die gebruik van die interne adresreeks (192.168.xx, 10.xxx). Het 554 (RTSP-protokol) en 10080 (gebruik in Amanda-rugsteun en VMWare vCenter) by die lys van verbode poorte gevoeg. Voorheen was poorte 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 en 6566 reeds geblokkeer.
  • Bygevoeg aanvanklike ondersteuning vir die opening van PDF-dokumente met XFA-vorms in die blaaier.
  • Vir sommige gebruikers is 'n nuwe instellingsafdeling "Chrome-instellings > Privaatheid en sekuriteit > Privaatheidsandbak" geaktiveer, wat jou toelaat om die parameters van die FLoC API te bestuur, wat daarop gemik is om die kategorie van gebruikersbelange te bepaal sonder individuele identifikasie en sonder verwysing na die geskiedenis van besoeke aan spesifieke terreine.
  • 'n Duideliker kennisgewing met 'n lys van toegelate handelinge word nou vertoon wanneer 'n gebruiker koppel aan 'n profiel waarvoor gesentraliseerde bestuur geaktiveer is.
  • Het die toestemmingsversoek-koppelvlak minder opdringerig gemaak. Versoeke wat die gebruiker waarskynlik sal afkeur, word nou outomaties geblokkeer met 'n ooreenstemmende aanwyser wat in die adresbalk vertoon word, waarmee die gebruiker na die koppelvlak kan gaan vir die bestuur van toestemmings op 'n per-werf-basis.
    Chrome 90 vrystelling
  • Ondersteuning vir Intel CET (Intel Control-flow Enforcement Technology)-uitbreidings is ingesluit vir hardewarebeskerming teen uitbuitings wat gebou is met behulp van terugkeer-georiënteerde programmering (ROP, Return-Oriented Programming) tegnieke.
  • Werk gaan voort om die blaaier oor te skakel om inklusiewe terminologie te gebruik. Die "meester_voorkeure"-lêer is hernoem na "aanvanklike_voorkeure" om te verhoed dat die gevoelens van gebruikers wat die woord "meester" beskou as 'n wenk oor die voormalige slawerny van hul voorvaders, seergemaak word. Om versoenbaarheid te handhaaf, sal ondersteuning vir "master_preferences" vir 'n geruime tyd in die blaaier bly. Voorheen het die blaaier reeds ontslae geraak van die gebruik van die woorde “witlys”, “swartlys” en “inheems”.
  • In die Android-weergawe, wanneer die "Lite"-verkeerbesparingsmodus geaktiveer is, word die bitsnelheid verminder wanneer video afgelaai word wanneer dit deur die netwerke van mobiele operateurs gekoppel is, wat die koste sal verminder van gebruikers wat verkeersgebaseerde tariewe geaktiveer het. "Lite"-modus bied ook kompressie van beelde wat van publieke beskikbare bronne aangevra word (wat nie verifikasie vereis nie) via HTTPS.
  • Bygevoeg AV1 video formaat enkodeerder, spesiaal geoptimaliseer vir gebruik in video konferensies gebaseer op die WebRTC protokol. Die gebruik van AV1 in videokonferensies maak dit moontlik om kompressiedoeltreffendheid te verhoog en bied die vermoë om op kanale met 'n bandwydte van 30 kbit/sek uit te saai.
  • In JavaScript implementeer die Array-, String- en TypedArrays-objekte die at() metode, wat jou toelaat om relatiewe indeksering te gebruik ('n relatiewe posisie word gespesifiseer as die skikkingsindeks), insluitend die spesifikasie van negatiewe waardes relatief tot die einde (byvoorbeeld , "arr.at(-1)" sal die laaste element van die skikking terugstuur).
  • JavaScript het die ".indices"-eienskap vir gereelde uitdrukkings bygevoeg, wat 'n skikking bevat met die begin- en eindposisies van groepe passings. Die eiendom word slegs gevul wanneer die gewone uitdrukking met die "/d" vlag uitgevoer word. const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indekse[0]); // 0 — alle wedstrydgroepe // → [0, 2] console.log(m.indices[1]); // 1 is die eerste groep wedstryde // → [0, 1] console.log(m.indices[2]); // 2 - tweede groep wedstryde // → [1, 2]
  • Die werkverrigting van "super"-eienskappe (byvoorbeeld super.x) waarvoor die inlyn-kas geaktiveer is, is geoptimaliseer. Die prestasie van die gebruik van "super" is nou naby aan die prestasie van toegang tot gewone eiendomme.
  • Die oproep van WebAssembly-funksies vanaf JavaScript is aansienlik versnel as gevolg van die gebruik van inlyn-ontplooiing. Hierdie optimalisering bly vir eers eksperimenteel en vereis dat dit met die "-turbo-inline-js-wasm-calls"-vlag hardloop.
  • Bygevoeg die WebXR Depth Sensing API, wat jou toelaat om die afstand tussen voorwerpe in die gebruiker se omgewing en die gebruiker se toestel te bepaal, byvoorbeeld om meer realistiese augmented reality-toepassings te skep. Laat ons jou daaraan herinner dat die WebXR API jou toelaat om werk te verenig met verskeie klasse virtuele realiteitstoestelle, van stilstaande 3D-helms tot oplossings gebaseer op mobiele toestelle.
  • Die WebXR AR Lighting Estimation kenmerk is gestabiliseer, wat WebXR AR sessies toelaat om omgewingsbeligting parameters te bepaal om modelle 'n meer natuurlike voorkoms en beter integrasie met die gebruiker se omgewing te gee.
  • Oorsprongproewe-modus (eksperimentele kenmerke wat afsonderlike aktivering vereis) voeg verskeie nuwe API's by wat tans beperk is tot die Android-platform. Oorsprongproef impliseer die vermoë om met die gespesifiseerde API te werk vanaf toepassings wat van localhost of 127.0.0.1 afgelaai is, of nadat 'n spesiale teken geregistreer en ontvang is wat vir 'n beperkte tyd geldig is vir 'n spesifieke webwerf.
    • Die getCurrentBrowsingContextMedia() metode, wat dit moontlik maak om 'n MediaStream-videostroom vas te vang wat die inhoud van die huidige oortjie weerspieël. In teenstelling met die soortgelyke getDisplayMedia() metode, wanneer getCurrentBrowsingContextMedia() gebel word, word 'n eenvoudige dialoog aan die gebruiker aangebied om die bewerking van die oordrag van video met die inhoud van die oortjie te bevestig of te blokkeer.
    • Invoegbare Streams API, wat jou toelaat om rou mediastrome wat deur die MediaStreamTrack API oorgedra word, te manipuleer, soos kamera- en mikrofoondata, skermopnameresultate of intermediêre kodek-dekoderingsdata. WebCodec-koppelvlakke word gebruik om rou rame aan te bied en 'n stroom word gegenereer soortgelyk aan wat die WebRTC Insertable Streams API genereer gebaseer op RTCPeerConnections. Op die praktiese kant maak die nuwe API voorsiening vir funksionaliteit soos die toepassing van masjienleertegnieke om voorwerpe intyds te identifiseer of annoteer, of die toevoeging van effekte soos agtergrondknipsel voor enkodering of na dekodering deur 'n kodek.
    • Die vermoë om hulpbronne in pakkette te verpak (Web Bundle) om meer doeltreffende laai van 'n groot aantal gepaardgaande lêers (CSS-style, JavaScript, beelde, iframes) te organiseer. Onder die tekortkominge in die bestaande ondersteuning vir pakkette vir JavaScript-lêers (webpack), wat die Webbundel probeer uitskakel: die pakket self, maar nie sy samestellende dele nie, kan in die HTTP-kas beland; samestelling en uitvoering kan eers begin nadat die pakket heeltemal afgelaai is; Bykomende hulpbronne soos CSS en beelde moet geënkodeer word in die vorm van JavaScript-stringe, wat die grootte vergroot en nog 'n ontledingstap vereis.
    • Ondersteuning vir uitsonderingshantering in WebAssembly.
  • Het die Declarative Shadow DOM API gestabiliseer om nuwe worteltakke in die Shadow DOM te skep, byvoorbeeld om 'n ingevoerde derdeparty-elementstyl en sy geassosieerde DOM-subtak van die hoofdokument te skei. Die voorgestelde verklarende API laat jou toe om slegs HTML te gebruik om DOM-takke los te maak sonder dat jy JavaScript-kode hoef te skryf.
  • Die aspekverhouding CSS-eienskap, wat jou toelaat om die aspekverhouding eksplisiet aan enige element te bind (om outomaties die ontbrekende grootte te bereken wanneer slegs die hoogte of breedte gespesifiseer word), implementeer die vermoë om waardes tydens animasie te interpoleer (gladde oorgang van een aspekverhouding tot 'n ander).
  • Bygevoeg die vermoë om die toestand van persoonlike HTML-elemente in CSS te weerspieël deur die pseudo-klas ": state ()". Die funksionaliteit word geïmplementeer in analogie met die vermoë van standaard HTML-elemente om hul toestand te verander na gelang van gebruikersinteraksie.
  • Die CSS-eienskap "voorkoms" ondersteun nou die waarde 'outo', wat by verstek gestel is vir En , en op die Android-platform addisioneel vir , , , En .
  • Ondersteuning vir die "clip"-waarde is by die "overflow" CSS-eienskap gevoeg, wanneer dit gestel is, word inhoud wat verder as die blok strek, geknip tot die limiet van die blok se toelaatbare oorloop sonder die moontlikheid om te blaai. Die waarde wat bepaal hoe ver inhoud verby die werklike grens van die boks kan strek voordat knip begin, word gestel via die nuwe CSS-eienskap "overflow-clip-margin". In vergelyking met "oorloop: verborge", maak die gebruik van "oorloop: clip" beter werkverrigting moontlik.
    Chrome 90 vrystellingChrome 90 vrystelling
  • Die Feature-Policy HTTP-opskrif is vervang deur 'n nuwe Permissions-Policy-kopskrif om delegering van toestemmings en aktivering van gevorderde kenmerke te beheer, wat ondersteuning vir gestruktureerde veldwaardes insluit (jy kan byvoorbeeld nou spesifiseer "Permissions-Policy: geolocation" =()" in plaas van "Kenmerk-beleid: geoligging 'geen'").
  • Versterkte beskerming teen die gebruik van Protokolbuffers vir aanvalle wat veroorsaak word deur spekulatiewe uitvoering van instruksies in verwerkers. Beskerming word geïmplementeer deur die "toepassing/x-protobuffer" MIME-tipe by die lys van nooit gesnuifde MIME-tipes te voeg nie, wat deur die Cross-Origin-Read-Blocking-meganisme verwerk word. Voorheen was die MIME-tipe "toepassing/x-protobuf" reeds in 'n soortgelyke lys ingesluit, maar "toepassing/x-protobuffer" is uitgelaat.
  • Die File System Access API implementeer die vermoë om die huidige posisie in 'n lêer verby sy einde te skuif, en vul die gevolglike gaping met nulle tydens daaropvolgende skryf deur die FileSystemWritableFileStream.write() oproep. Hierdie kenmerk laat jou toe om yl lêers met leë spasies te skep en vereenvoudig die organisasie van skryf na 'n lêerstrome aansienlik met ongeordende aankoms van datablokke (dit word byvoorbeeld in BitTorrent beoefen).
  • Bygevoeg StaticRange konstruktor met implementering van liggewig reeks tipes wat nie die opdatering van alle geassosieerde voorwerpe vereis elke keer as die DOM-boom verander nie.
  • Implementeer die vermoë om breedte- en hoogteparameters vir elemente te spesifiseer in die element gespesifiseer . Hierdie kenmerk laat jou toe om die aspekverhouding vir elemente te bereken , na analogie van hoe dit gedoen word vir , En .
  • Nie-gestandaardiseerde ondersteuning vir RTP-datakanale is van WebRTC verwyder, en dit word aanbeveel om eerder SCTP-gebaseerde datakanale te gebruik.
  • Die navigator.plugins en navigator.mimeTypes eienskappe gee nou altyd 'n leë waarde terug (nadat Flash-ondersteuning geëindig het, was hierdie eienskappe nie meer nodig nie).
  • 'n Groot gedeelte van klein verbeterings is aangebring aan die nutsgoed vir webontwikkelaars en 'n nuwe CSS-ontfoutingsinstrument, flexbox, is bygevoeg.
    Chrome 90 vrystelling

Benewens innovasies en foutoplossings, skakel die nuwe weergawe 37 kwesbaarhede uit. Baie van die kwesbaarhede is geïdentifiseer as gevolg van outomatiese toetsing met behulp van die AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL-nutsgoed. Geen kritieke probleme is geïdentifiseer wat 'n mens sal toelaat om alle vlakke van blaaierbeskerming te omseil en kode buite die sandbox-omgewing op die stelsel uit te voer nie. As deel van die kontantbeloningsprogram vir die ontdekking van kwesbaarhede vir die huidige vrystelling, het Google 19 toekennings ter waarde van $54000 betaal (een $20000-toekenning, een $10000-toekenning, twee $5000-toekennings, drie $3000-toekennings, een $2000-toekenning, een $1000-toekenning, en vier $500-toekennings en vier toekennings. ). ). Die grootte van die 6 belonings is nog nie bepaal nie.

Afsonderlik kan opgemerk word dat gister, na die vorming van die regstellende vrystelling 89.0.4389.128, maar voor die vrystelling van Chrome 90, 'n ander uitbuiting gepubliseer is, wat 'n nuwe 0-dag kwesbaarheid gebruik het wat nie in Chrome 89.0.4389.128 reggestel is nie. . Dit is nog nie duidelik of hierdie probleem in Chrome 90 reggestel is nie. Soos in die eerste geval, dek die ontginning slegs een kwesbaarheid en bevat dit nie kode om sandbox-isolasie te omseil nie (wanneer Chrome met die “--no-sandbox”-vlag uitgevoer word , vind die uitbuiting plaas wanneer 'n webblad op Windows-platform oopgemaak word, sodat jy Notepad kan laat loop). Die kwesbaarheid wat met die nuwe ontginning geassosieer word, beïnvloed WebAssembly-tegnologie.

Bron: opennet.ru

Voeg 'n opmerking