Chrome udgivelse 90

Google har løftet sløret for udgivelsen af ​​webbrowseren Chrome 90. Samtidig er en stabil udgivelse af det gratis Chromium-projekt, der fungerer som grundlaget for Chrome, tilgængelig. Chrome-browseren er kendetegnet ved brugen af ​​Google-logoer, tilstedeværelsen af ​​et system til at sende meddelelser i tilfælde af et nedbrud, moduler til afspilning af beskyttet videoindhold (DRM), et system til automatisk installation af opdateringer og transmission af RLZ-parametre ved søgning. Den næste udgivelse af Chrome 91 er planlagt til den 25. maj.

Vigtigste ændringer i Chrome 90:

  • Alle brugere er som standard aktiveret til at åbne websteder via HTTPS, når de indtaster værtsnavne i adresselinjen. For eksempel, når du indtaster værten example.com, åbnes webstedet https://example.com som standard, og hvis der opstår problemer under åbningen, vil det blive rullet tilbage til http://example.com. For at kontrollere brugen af ​​standard "https://", foreslås indstillingen "chrome://flags#omnibox-default-typed-navigations-to-https".
  • Muligheden for at tildele forskellige etiketter til vinduer for visuelt at adskille dem i skrivebordspanelet er blevet implementeret. Understøttelse af ændring af vinduesnavn vil forenkle tilrettelæggelsen af ​​arbejdet ved brug af separate browservinduer til forskellige opgaver, for eksempel ved åbning af separate vinduer til arbejdsopgaver, personlige interesser, underholdning, udskudte materialer osv. Navnet ændres gennem punktet "Tilføj vinduestitel" i kontekstmenuen, der vises, når du højreklikker på et tomt område i fanelinjen. Efter at have ændret navnet i applikationspanelet, vises det valgte navn i stedet for webstedsnavnet fra den aktive fane, hvilket kan være nyttigt, når du åbner de samme websteder i forskellige vinduer, der er knyttet til separate konti. Bindingen opretholdes mellem sessioner og efter en genstart vil vinduerne blive gendannet med de valgte navne.
    Chrome udgivelse 90
  • Tilføjet muligheden for at skjule "Læselisten" uden at skulle ændre indstillinger i "chrome://flags" ("chrome://flags#read-later"). For at skjule kan du nu bruge "Vis læseliste"-indstillingen nederst i kontekstmenuen, der vises, når du højreklikker på bogmærkelinjen. Lad os huske på, at i den sidste udgivelse, da nogle brugere klikkede på stjernen i adresselinjen, ud over knappen "Tilføj bogmærke", dukkede en anden knap "Tilføj til læseliste" op og i højre hjørne af bogmærkerne panelet "Læseliste"-menuen dukkede op, som viste alle tidligere sider tilføjet til listen. Når du åbner en side fra listen, markeres den som læst. Sider på listen kan også manuelt markeres som læste eller ulæste eller fjernes fra listen.
  • Tilføjet understøttelse af netværkssegmentering for at beskytte mod metoder til sporing af brugerbevægelser mellem websteder baseret på lagring af identifikatorer i områder, der ikke er beregnet til permanent lagring af information ("Supercookies"). Fordi cachelagrede ressourcer er gemt i et fælles navneområde, uanset det oprindelige domæne, kan et websted bestemme, at et andet websted indlæser ressourcer ved at kontrollere, om den ressource er i cachen. Beskyttelsen er baseret på brugen af ​​netværkssegmentering (netværkspartitionering), hvis essens er at tilføje til delte caches yderligere binding af poster til det domæne, hvorfra hovedsiden åbnes, hvilket begrænser cache-dækningen kun for bevægelsessporingsscripts til det aktuelle websted (et script fra en iframe vil ikke være i stand til at kontrollere, om ressourcen blev downloadet fra et andet websted). Prisen på segmentering er et fald i caching-effektiviteten, hvilket fører til en lille stigning i sideindlæsningstid (maksimalt med 1.32 %, men for 80 % af webstederne med 0.09-0.75 %).
  • Den sorte liste over netværksporte, for hvilke afsendelse af HTTP-, HTTPS- og FTP-anmodninger er blokeret, er blevet genopfyldt for at beskytte mod NAT-slipstreaming-angreb, som gør det muligt, når man åbner en webside, der er specielt forberedt af angriberen i en browser, at etablere et netværk forbindelse fra hackerens server til en hvilken som helst UDP- eller TCP-port på brugerens system, på trods af brug af det interne adresseområde (192.168.x.x, 10.x.x.x). Tilføjet 554 (RTSP-protokol) og 10080 (brugt i Amanda backup og VMWare vCenter) til listen over forbudte porte. Tidligere var porte 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 og 6566 allerede blokeret.
  • Tilføjet indledende support til åbning af PDF-dokumenter med XFA-formularer i browseren.
  • For nogle brugere er en ny indstillingssektion "Chrome Settings > Privacy and security > Privacy sandbox" blevet aktiveret, som giver dig mulighed for at administrere parametrene for FLoC API'et, rettet mod at bestemme kategorien af ​​brugerinteresser uden individuel identifikation og uden reference til historien om at besøge bestemte websteder.
  • En klarere meddelelse med en liste over tilladte handlinger vises, når en bruger opretter forbindelse til en profil, som centraliseret administration er aktiveret for.
  • Gjorde grænsefladen for anmodninger om tilladelser mindre påtrængende. Anmodninger, som brugeren sandsynligvis vil afvise, blokeres nu automatisk med en tilsvarende indikator vist i adresselinjen, hvormed brugeren kan gå til grænsefladen for at administrere tilladelser på en per-site-basis.
    Chrome udgivelse 90
  • Understøttelse af Intel CET-udvidelser (Intel Control-flow Enforcement Technology) er inkluderet til hardwarebeskyttelse mod udnyttelser bygget ved hjælp af returorienteret programmering (ROP, Return-Oriented Programming) teknikker.
  • Arbejdet fortsætter med at omstille browseren til at bruge inkluderende terminologi. Filen "master_preferences" er blevet omdøbt til "initial_preferences" for at undgå at såre følelserne hos brugere, der opfatter ordet "master" som et hint om deres forfædres tidligere slaveri. For at bevare kompatibiliteten vil understøttelse af "master_preferences" forblive i browseren i nogen tid. Tidligere var browseren allerede sluppet for brugen af ​​ordene "whitelist", "blacklist" og "native".
  • I Android-versionen, når "Lite" trafikbesparende tilstand er aktiveret, reduceres bithastigheden ved download af video, når den er tilsluttet via mobiloperatørernes netværk, hvilket vil reducere omkostningerne for brugere, der har trafikbaserede takster aktiveret. "Lite"-tilstand giver også komprimering af billeder, der er anmodet om fra offentligt tilgængelige ressourcer (kræver ikke godkendelse) via HTTPS.
  • Tilføjet AV1-videoformatkoder, specielt optimeret til brug i videokonferencer baseret på WebRTC-protokollen. Brugen af ​​AV1 i videokonferencer gør det muligt at øge komprimeringseffektiviteten og give mulighed for at sende på kanaler med en båndbredde på 30 kbit/sek.
  • I JavaScript implementerer Array-, String- og TypedArrays-objekterne at()-metoden, som giver dig mulighed for at bruge relativ indeksering (relativ position er angivet som array-indekset), herunder angivelse af negative værdier i forhold til slutningen (f.eks. "arr.at(-1)" vil returnere det sidste element i arrayet).
  • JavaScript har tilføjet egenskaben ".indices" for regulære udtryk, som indeholder en matrix med start- og slutpositioner for grupper af matches. Egenskaben udfyldes kun, når det regulære udtryk udføres med flaget "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indekser[0]); // 0 — alle kampgrupper // → [0, 2] console.log(m.indices[1]); // 1 er den første gruppe af kampe // → [0, 1] console.log(m.indices[2]); // 2 - anden gruppe af kampe // → [1, 2]
  • Ydeevnen af ​​"super" egenskaber (f.eks. super.x), som den inline cache er aktiveret for, er blevet optimeret. Ydeevnen ved at bruge "super" er nu tæt på ydeevnen ved at få adgang til almindelige egenskaber.
  • Kaldning af WebAssembly-funktioner fra JavaScript er blevet betydeligt fremskyndet på grund af brugen af ​​inline-implementering. Denne optimering forbliver eksperimentel indtil videre og kræver kørsel med flaget "-turbo-inline-js-wasm-calls".
  • Tilføjet WebXR Depth Sensing API, som giver dig mulighed for at bestemme afstanden mellem objekter i brugerens miljø og brugerens enhed, for eksempel for at skabe mere realistiske augmented reality-applikationer. Lad os minde dig om, at WebXR API giver dig mulighed for at forene arbejde med forskellige klasser af virtual reality-enheder, fra stationære 3D-hjelme til løsninger baseret på mobile enheder.
  • Funktionen WebXR AR Lighting Estimation er blevet stabiliseret, hvilket gør det muligt for WebXR AR-sessioner at bestemme parametre for omgivende belysning for at give modellerne et mere naturligt udseende og bedre integration med brugerens miljø.
  • Origin Trials-tilstand (eksperimentelle funktioner, der kræver separat aktivering) tilføjer flere nye API'er, der i øjeblikket er begrænset til Android-platformen. Origin Trial indebærer evnen til at arbejde med den specificerede API fra applikationer downloadet fra localhost eller 127.0.0.1, eller efter registrering og modtagelse af et særligt token, der er gyldigt i en begrænset periode for et specifikt websted.
    • GetCurrentBrowsingContextMedia()-metoden, som gør det muligt at optage en MediaStream-videostrøm, der afspejler indholdet af den aktuelle fane. I modsætning til den lignende getDisplayMedia()-metode, når man kalder getCurrentBrowsingContextMedia(), præsenteres en simpel dialogboks for brugeren for at bekræfte eller blokere operationen med at overføre video med indholdet af fanen.
    • Indsætbare Streams API, som giver dig mulighed for at manipulere råmediestrømme, der transmitteres gennem MediaStreamTrack API, såsom kamera- og mikrofondata, skærmoptagelsesresultater eller mellemliggende codec-afkodningsdata. WebCodec-grænseflader bruges til at præsentere rå rammer, og der genereres en strøm svarende til, hvad WebRTC Insertable Streams API genererer baseret på RTCPeerConnections. På den praktiske side giver den nye API mulighed for funktionalitet såsom at anvende maskinlæringsteknikker til at identificere eller kommentere objekter i realtid, eller tilføje effekter såsom baggrundsklip før kodning eller efter afkodning med et codec.
    • Evnen til at pakke ressourcer i pakker (Web Bundle) for at organisere mere effektiv indlæsning af et stort antal ledsagende filer (CSS-stile, JavaScript, billeder, iframes). Blandt manglerne i den eksisterende understøttelse af pakker til JavaScript-filer (webpack), som Web Bundle forsøger at eliminere: selve pakken, men ikke dens komponentdele, kan ende i HTTP-cachen; kompilering og eksekvering kan først begynde, efter at pakken er blevet fuldstændig downloadet; Yderligere ressourcer såsom CSS og billeder skal kodes i form af JavaScript-strenge, hvilket øger størrelsen og kræver endnu et parsing-trin.
    • Understøttelse af undtagelseshåndtering i WebAssembly.
  • Stabiliserede Declarative Shadow DOM API for at skabe nye rodgrene i Shadow DOM, for eksempel for at adskille en importeret tredjeparts elementtypografi og dens tilknyttede DOM-undergren fra hoveddokumentet. Den foreslåede deklarative API giver dig mulighed for kun at bruge HTML til at frigøre DOM-grene uden at skulle skrive JavaScript-kode.
  • Aspekt-forhold CSS-egenskaben, som giver dig mulighed for eksplicit at binde billedformatet til ethvert element (for automatisk at beregne den manglende størrelse, når du kun angiver højden eller bredden), implementerer muligheden for at interpolere værdier under animation (glat overgang fra en billedformat til et andet).
  • Tilføjet muligheden for at afspejle tilstanden af ​​tilpassede HTML-elementer i CSS gennem pseudoklassen ":state()". Funktionaliteten implementeres analogt med standard HTML-elementers evne til at ændre deres tilstand afhængigt af brugerinteraktion.
  • CSS-egenskaben "appearance" understøtter nu værdien 'auto', som er indstillet som standard for og , og på Android-platformen desuden for , , , og .
  • Understøttelse af "clip"-værdien er blevet tilføjet til "overflow" CSS-egenskaben, når den er indstillet, klippes indhold, der strækker sig ud over blokken, til grænsen for blokkens tilladte overflow uden mulighed for at rulle. Værdien, der bestemmer, hvor langt indhold kan strække sig ud over boksens faktiske grænse, før klipningen begynder, indstilles via den nye CSS-egenskab "overflow-clip-margin". Sammenlignet med "overflow: skjult" giver brug af "overflow: clip" mulighed for bedre ydeevne.
    Chrome udgivelse 90Chrome udgivelse 90
  • Feature-Policy HTTP-headeren er blevet erstattet af en ny Permissions-Policy-header til at kontrollere delegering af tilladelser og aktivering af avancerede funktioner, som inkluderer understøttelse af strukturerede feltværdier (du kan f.eks. nu angive "Permissions-Policy: geolocation" =()" i stedet for "Funktionspolitik: geolocation 'ingen'").
  • Styrket beskyttelse mod brug af protokolbuffere til angreb forårsaget af spekulativ udførelse af instruktioner i processorer. Beskyttelse implementeres ved at tilføje "application/x-protobuffer" MIME-typen til listen over aldrig sniffede MIME-typer, som behandles gennem Cross-Origin-Read-Blocking-mekanismen. Tidligere var MIME-typen "application/x-protobuf" allerede inkluderet på en lignende liste, men "application/x-protobuffer" blev udeladt.
  • File System Access API implementerer evnen til at flytte den aktuelle position i en fil ud over dens ende og udfylde det resulterende hul med nuller under efterfølgende skrivning gennem FileSystemWritableFileStream.write()-kaldet. Denne funktion giver dig mulighed for at oprette sparsomme filer med tomme mellemrum og forenkler markant organiseringen af ​​at skrive til en fil strømme med uordnet ankomst af datablokke (f.eks. praktiseres dette i BitTorrent).
  • Tilføjet StaticRange-konstruktør med implementering af lette Range-typer, der ikke kræver opdatering af alle tilknyttede objekter, hver gang DOM-træet ændres.
  • Implementeret muligheden for at angive bredde- og højdeparametre for -elementer, der er angivet inde i -elementet. Denne funktion giver dig mulighed for at beregne billedformatet for -elementer, svarende til hvordan det gøres for , og .
  • Ikke-standardiseret understøttelse af RTP-datakanaler er blevet fjernet fra WebRTC, og det anbefales at bruge SCTP-baserede datakanaler i stedet.
  • Egenskaberne navigator.plugins og navigator.mimeTypes returnerer nu altid en tom værdi (efter at Flash-understøttelse sluttede, var disse egenskaber ikke længere nødvendige).
  • Der er lavet en stor del af små forbedringer af værktøjerne til webudviklere og et nyt CSS-fejlretningsværktøj, flexbox, er blevet tilføjet.
    Chrome udgivelse 90

Ud over innovationer og fejlrettelser eliminerer den nye version 37 sårbarheder. Mange af sårbarhederne blev identificeret som et resultat af automatiseret test ved hjælp af AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL værktøjerne. Der er ikke identificeret nogen kritiske problemer, der ville tillade en at omgå alle niveauer af browserbeskyttelse og eksekvere kode på systemet uden for sandkassemiljøet. Som en del af kontantbelønningsprogrammet for at opdage sårbarheder for den aktuelle udgivelse, udbetalte Google 19 priser til en værdi af $54000 (en pris på $20000, en pris på $10000, to priser på $5000, tre priser på $3000, en pris på $2000, en pris på $1000 og fire priser på $500 ). ). Størrelsen af ​​de 6 belønninger er endnu ikke fastlagt.

Separat kan det bemærkes, at i går, efter dannelsen af ​​den korrigerende udgivelse 89.0.4389.128, men før udgivelsen af ​​Chrome 90, blev endnu en udnyttelse offentliggjort, som brugte en ny 0-dages sårbarhed, der ikke var rettet i Chrome 89.0.4389.128 . Det er endnu ikke klart, om dette problem er blevet rettet i Chrome 90. Som i det første tilfælde dækker udnyttelsen kun én sårbarhed og indeholder ikke kode til at omgå sandbox-isolation (når du kører Chrome med flaget "--no-sandbox" , opstår udnyttelsen, når du åbner en webside på Windows-platformen giver dig mulighed for at køre Notesblok). Sårbarheden forbundet med den nye udnyttelse påvirker WebAssembly-teknologien.

Kilde: opennet.ru

Tilføj en kommentar