Utgivelsen av Chrome 90

Google har lansert utgaven av nettleseren Chrome 90. Samtidig er den stabile utgaven av det frie prosjektet Chromium også tilgjengelig, som fungerer som grunnlag for Chrome. Chrome-nettleseren skiller seg ut ved bruken av Googles logoer, et varslingssystem ved krasj, moduler for avspilling av beskyttet videoinnhold (DRM), et system for automatisk oppdatering og overføring av RLZ-parametere under søk. Neste utgave, Chrome 91, er planlagt til 25. mai.

Hovedendringer i Chrome 90:

  • For alle brukere er det aktivert å åpne nettsteder som standard via HTTPS når vertsnavn tastes inn i adressefeltet. For eksempel, ved å skrive inn verten example.com, vil nettstedet https://example.com som standard åpnes, og hvis det oppstår problemer ved åpning, vil det gå tilbake til http://example.com. For å administrere standardbruken av «https://» er det foreslått en innstilling i «chrome://flags#omnibox-default-typed-navigations-to-https».
  • Muligheten for å tildele forskjellige etiketter til vinduer for bedre visuell separasjon på skrivebordspanelet er implementert. Støtten for å endre vindusnavnet vil forenkle organiseringen av arbeidet når man bruker separate nettleservinduer til ulike oppgaver, for eksempel ved å åpne separate vinduer for arbeidsoppgaver, personlige interesser, underholdning, utsatte materialer osv. Navnet endres via «Legg til vindusnavn» i kontekstmenyen som dukker opp ved høyreklikk på et tomt område i fanebladlinjen. Etter navneskiftet vises det valgte navnet i programpanelet i stedet for navnet på nettstedet fra den aktive fanen, noe som kan være nyttig når man åpner de samme nettstedene i forskjellige vinduer knyttet til separate kontoer. Bindingen beholdes mellom øktene og etter omstart vil vinduene bli gjenopprettet med de valgte navnene.
    Utgivelsen av Chrome 90
  • Muligheten til å skjule «Leselisten» (Reading List) uten å endre innstillinger i «chrome://flags» («chrome://flags#read-later») har blitt lagt til. For å skjule den kan du nå bruke alternativet «Show Reading List» i bunnen av kontekstmenyen som vises ved høyreklikk på bokmerkelinjen. Vi minner om at i forrige oppdatering fikk en del brukere en annen knapp «Legg til i leselisten» ved å klikke på stjernen i adresselinjen, i tillegg til «Legg til bokmerke», og i høyre hjørne av bokmerkelinjen vises menyen «Leseliste», hvor alle tidligere lagt til sider i listen er nevnt. Når en side åpnes fra listen, blir den merket som lest. Sider i listen kan også merkes som leste eller uleste manuelt, eller fjernes fra listen.
  • Støtte for nettverkssegmentering har blitt lagt til for å beskytte mot sporing av brukerbevegelser mellom nettsteder, basert på lagring av identifikatorer i områder som ikke er ment for permanent lagring av informasjon («Supercookies»). Siden ressurser i cachelagres i et felles navnerom, uavhengig av opprinnelsesdomenet, kan ett nettsted oppdage innlasting av ressurser fra et annet nettsted ved å sjekke om denne ressursen finnes i cachen. Beskyttelsen er basert på bruk av nettverkssegmentering (Network Partitioning), som innebærer at det legges til ekstra binding av poster i delte cacher til the domain, hvorfra den primære siden ble åpnet, noe som begrenser omfanget av cachen for sporingsskrav til kun det nåværende nettstedet (et skript fra iframe kan ikke sjekke om ressursen ble lastet inn fra et annet nettsted). Prisen for segmentering er en reduksjon i effektiviteten til caching, noe som fører til en ubetydelig økning i lastetid (maksimalt 1,32 %, men for 80 % av nettstedene er det mellom 0,09-0,75 %).
  • Svartelisten over nettverksporter som blokkerer sending av HTTP-, HTTPS- og FTP-forespørsel er oppdatert for å beskytte mot NAT slipstreaming-angrep, som gjør det mulig å etablere en nettverksforbindelse når en spesiallaget angrepsnettside åpnes i nettleseren. serveren tilang til å angripe enhver UDP eller TCP-port på brukerens system, til tross for bruk av interne adresseområder (192.168.x.x, 10.x.x.x). Portene 554 (RTSP-protokoll) og 10080 (brukt i Amanda backup og VMWare vCenter) er nå lagt til listen over forbudte porter. Tidligere ble portene 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 og 6566 allerede blokkert.
  • Innledende støtte for å åpne PDF-dokumenter med XFA-skjemaer i nettleseren er lagt til.
  • For en del brukere er den nye innstillingsseksjonen «Chrome Settings > Privacy and security > Privacy sandbox» aktivert, som lar dem administrere innstillingene for API FLoC, som er rettet mot å fastslå brukerens interessekategori uten individuell identifikasjon og uten å være knyttet til besøkshistorikk på spesifikke nettsteder.
  • Det er sørget for en mer forståelig varsling med en liste over tillatte handlinger, som vises når en bruker kobles til en profil med sentralisert styring aktivert.
  • Grensesnittet for forespørsel om tillatelser er gjort mindre påtrengende. Forespørslene som brukeren mest sannsynlig ikke vil godkjenne, blir nå automatisk blokkert med visning av tilhørende indikator i adresselinjen, hvor brukeren kan gå til grensesnittet for å administrere tillatelser for hvert nettsted.
    Utgivelsen av Chrome 90
  • Støtte for Intel CET (Intel Control-flow Enforcement Technology) for maskinbeskyttelse mot exploit-kjøringer bygget med teknikker for returoppstrategiske programmering (ROP, Return-Oriented Programming) er aktivert.
  • Arbeidet med å omsette nettleseren til bruk av inkluderende terminologi fortsetter. Filen «master_preferences» er omdøpt til «initial_preferences» for å unngå å såre følelsene til brukerne som oppfatter ordet master som en referanse til slaveri i sin fortid. For å bevare kompatibilitet vil støtten for «master_preferences» fortsatt være tilgjengelig i nettleseren en stund. Tidligere har nettleseren allerede fjernet bruken av ordene «whitelist», «blacklist» og «native».
  • I Android-versjonen, når trafikkbesparende modus «Lite» er aktivert, reduseres bithastigheten ved videolasting når man er tilkoblet via mobiloperatørenes nettverk. Dette vil redusere kostnadene for brukere med datakrevende abonnementer. I «Lite»-modus er det også implementert komprimering av bilder som blir forespurt fra offentlig tilgjengelige ressurser (som ikke krever autentisering) over HTTPS.
  • Det er lagt til en AV1 videokodek spesielt optimalisert for bruk i videokonferanser som er bygd på WebRTC-protokollen. Bruken av AV1 i videokonferanser gjør det mulig å forbedre komprimeringseffektiviteten og å muliggjøre sending over kanaler med båndbredde på nivået 30 kbit/sek.
  • I JavaScript er det implementert en metoden at() i Array, String og TypedArrays objekter, som gjør det mulig å bruke relativ indeksering (den relative posisjonen angis som indeksen til arrayet), også med negative verdier i forhold til slutten (for eksempel vil «arr.at(-1)» returnere det siste elementet i arrayet).
  • I JavaScript for regulære uttrykk er det lagt til en egenskap «.indices», som inneholder et array med start- og sluttposisjoner for treffgrupper. Egenskapen fylles kun ut når det regulære uttrykket utføres med flagget «/d». const re = /(a)(b)/d; const m = re.exec(‘ab’); console.log(m.indices[0]); // 0 — alle treffgrupper // → [0, 2] console.log(m.indices[1]); // 1 — første treffgruppe // → [0, 1] console.log(m.indices[2]); // 2 — andre treffgruppe // → [1, 2]
  • Det er gjennomført ytelsesoptimalisering av egenskaper «super» (for eksempel super.x), der det er brukt inline cache. Nå er ytelsen ved bruk av «super» nært ytelsen ved tilgang til vanlige egenskaper.
  • Kallet av WebAssembly-funksjoner fra JavaScript er blitt betydelig akselerert ved bruk av inline-utrullinger. Den nevnte optimaliseringen forblir eksperimentell og krever at flagget «—turbo-inline-js-wasm-calls» aktiveres.
  • API WebXR Depth Sensing er lagt til, som gjør det mulig å måle avstanden mellom objekter i brukerens omgivelser og brukerens enhet, for eksempel for å lage mer realistiske applikasjoner for utvidet virkelighet. Vi minner om at API WebXR lar deg standardisere bruken av forskjellige klasser av virtuelle virkelighetsenheter, fra stasjonære 3D-hodesett til mobile enhetsløsninger.
  • Muligheten for WebXR AR Lighting Estimation er stabilisert, noe som lar deg bestemme omgivelsesbelysningsparametrene i WebXR-økter for utvidet virkelighet, slik at modellene ser mer naturlige ut og integreres mer harmonisk med brukerens omgivelser.
  • I Origin Trials-modus (eksperimentelle funksjoner som krever separat aktivering) er det lagt til flere nye API-er som foreløpig er begrenset til Android-plattformen. Origin Trial innebærer muligheten til å bruke angitt API fra applikasjoner lastet opp fra localhost eller 127.0.0.1, eller etter å ha registrert seg og mottatt et spesialtoken som har begrenset holdbarhet for et spesifikt nettsted.
    • Metoden getCurrentBrowsingContextMedia() gir mulighet for å organisere fangst av videostrømmen MediaStream, som gjenspeiler innholdet på den nåværende fanen. I motsetning til den lignende metoden getDisplayMedia(), vises det en enkel dialog til brukeren for å bekrefte eller blokkere videostrømmen med innholdet fra fanen når getCurrentBrowsingContextMedia() kalles.
    • API Insertable Streams gir mulighet for å manipulere rå multimedia-strømmer som overføres via API MediaStreamTrack, slik som data fra kamera og mikrofon, skjermfangstresultater eller mellomliggende data for dekoding av kodek. For å representere rå bilder brukes WebCodec-grensesnitt, hvoretter det dannes en strøm som ligner den som API WebRTC Insertable Streams genererer basert på RTCPeerConnections. På praktisk side tillater det nye API-et funksjonalitet som bruk av maskinlæringsmetoder for identifisering eller annotering av objekter i sanntid, eller for å legge til effekter som bakgrunnsutskjæring før koding eller etter dekoding av kodek.
    • Muligheten til å pakke ressurser i pakker (Web Bundle) for å organisere en mer effektiv lasting av et stort antall tilknyttede filer (CSS-stiler, JavaScript, bilder, iframe). Blant ulempene med den nåværende støtten for pakker for JavaScript-filer (webpack) som de prøver å løse i Web Bundle: pakken kan bli liggende i HTTP-bufferen, men ikke dens bestanddeler; kompilering og kjøring kan begynne først etter at pakken er lastet helt ned; tilleggressurser, som CSS og bilder, må kodes i form av JavaScript-strenger, noe som fører til økt størrelse og utførelsen av en ekstra parsing-steg.
    • Støtte for håndtering av unntak i WebAssembly.
  • Stabilisert API Declarative Shadow DOM for å lage nye rotgrener i Shadow DOM, for eksempel å skille den importerte tredjepartsstilen til elementet og den tilknyttede DOM-undergreinen fra hoveddokumentet. Det foreslåtte deklarative APIet gjør det mulig å løsne DOM-grener med bare HTML uten behov for å skrive JavaScript-kode.
  • I CSS-egenskapen aspect-ratio, som lar deg eksplisitt binde forholdet mellom sider til ethvert element (for automatisk beregning av den manglende størrelsen når bare høyden eller bredden angis), er muligheten for interpolering av verdier ved animasjon (smidig overgang fra en sideforhold til en annen) implementert.
  • Muligheten for å reflektere tilstanden til egne HTML-elementer (custom element) i CSS gjennom pseudoklassen «:state()» har blitt lagt til. Funksjonaliteten er implementert på samme måte som standard HTML-elementer kan endre sin tilstand avhengig av brukerinteraksjon.
  • I CSS-egenskapen «appearance» har støtten for verdien 'auto' blitt introdusert, som som standard settes for og , og på Android-plattformen også for , , , og .
  • I CSS-egenskapen «overflow» er det lagt til støtte for verdien «clip», der innhold som går utenfor blokkens grenser klippes ved den tillatte overflow-grensen uten mulighet for rulling. Verdien som definerer hvor langt innholdet kan gå utenfor den faktiske blokkrensen før klipping skjer, angis gjennom den nye CSS-egenskapen «overflow-clip-margin». Sammenlignet med «overflow: hidden» gir bruken av «overflow: clip» bedre ytelse.
    Utgivelsen av Chrome 90Utgivelsen av Chrome 90
  • Den nye overskriften Permissions-Policy har kommet i stedet for HTTP-overskriften Feature-Policy for å administrere delegasjon av fullmakter og aktivering av utvidede funksjoner, og støtter strukturerte verdier for felt (for eksempel kan man nå angi «Permissions-Policy: geolocation=()» i stedet for «Feature-Policy: geolocation 'none'»).
  • Beskyttelsen mot bruk av Protocol Buffers for angrep forårsaket av spekulativ instruksjonsutførelse i prosessorer er styrket. Beskyttelsen er implementert ved å legge til MIME-typen «application/x-protobuffer» i listen over MIME-typer som aldri blir sniffet, hvor behandlingen skjer via mekanismen Cross-Origin-Read-Blocking. Tidligere var MIME-typen «application/x-protobuf» allerede lagt til i en lignende liste, men «application/x-protobuffer» ble oversett.
  • File System Access API har fått muligheten til å forskyve den nåværende posisjonen i filen forbi slutten av filen med nullfylling i det dannede intervallet ved etterfølgende skriving gjennom FileSystemWritableFileStream.write(). Denne muligheten gjør det enklere å opprette sparse filer med hull og forenkler organiseringen av skriving til filen av uordnede blokker med data (for eksempel praktiseres dette i BitTorrent).
  • Det er lagt til en StaticRange-konstruktør med implementering av lette typer Range, som ikke krever oppdatering av alle tilknyttede objekter ved hver endring i DOM-trær.
  • Mulighet til å angi parametrene width og height for elementer er nå implementert <source>, som er angitt innenfor elementet <picture>. Denne muligheten gjør det mulig å beregne forholdet mellom bredde og høyde for elementer <picture>, på samme måte som det er gjort for <img>, <canvas> og <video>.
  • Støtten for RTP (RTP Data Channels) datastrømmer som ikke er standardisert er fjernet fra WebRTC, og det anbefales å bruke SCTP-baserte datastrømmer i stedet.
  • Egenskapene navigator.plugins og navigator.mimeTypes returnerer nå alltid en tom verdi (etter at støtten for Flash ble fjernet, forsvant behovet for disse egenskapene).
  • Det er gjort en stor mengde små forbedringer i verktøyene for webutviklere, og et nytt verktøy for debugging av CSS flexbox er lagt til.
    Utgivelsen av Chrome 90

I den nye versjonen er det blitt rettet 37 sårbarheter i tillegg til nyheter og feilrettinger. Mange av sårbarhetene ble identifisert gjennom automatisert testing ved hjelp av verktøyene AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Det er ikke oppdaget kritiske problemer som lar brukere omgå alle nivåer av nettleserbeskyttelse og kjøre kode utenfor sandkassemiljøet. Som en del av belønningsprogrammet for oppdagelse av sårbarheter har Google utbetalt 19 premier i forbindelse med den nåværende utgivelsen, med en total sum på 54 000 dollar (én premie på 20 000 dollar, én premie på 10 000 dollar, to premier på 5 000 dollar, tre premier på 3 000 dollar, én premie på 2 000 dollar, én på 1 000 dollar og fire premier på 500 dollar). Størrelsen på 6 av premierene er foreløpig ikke bestemt.

Det er også verdt å merke seg at i går, etter at den korrigerende utgivelsen 89.0.4389.128 ble dannet, men før Chrome 90 ble lansert, ble det publisert en annen exploit som utnyttet en ny 0-day sårbarhet som ikke ble rettet i Chrome 89.0.4389.128. Det er fortsatt uklart om dette problemet er løst i Chrome 90. Som i det første tilfellet omfatter exploit bare én sårbarhet og inneholder ikke kode for å omgå sandkasseisolasjonen (når Chrome kjøres med flagget "—no-sandbox", kan exploit ved åpning av en webside på Windows-plattformen starte notepad). Sårbarheten knyttet til den nye exploit berører WebAssembly-teknologien.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster