Google har lansert nettleseren Chrome 91. Samtidig er en stabil utgivelse av det gratis Chromium-prosjektet, som er grunnlaget for Chrome, tilgjengelig. Chrome-nettleseren kjennetegnes av bruken av Google-logoer, et system for å sende varsler ved krasj, moduler for avspilling av beskyttet videoinnhold (DRM), et system for automatisk installasjon av oppdateringer og overføring av RLZ-parametere under søk. Neste utgivelse av Chrome 92 er planlagt til 20. juli.
Viktige endringer i Chrome 91:
- Implementerte muligheten til å stoppe JavaScript-kjøring i en skjult fanegruppe. Chrome 85 introduserte støtte for å kombinere faner i grupper, som kan knyttes til en bestemt farge og etikett. Hvis du klikker på en gruppeetikett, skjules fanene som er tilknyttet den, og én enkelt etikett blir stående på plass (hvis du klikker på etiketten igjen, utvides gruppen). I den nye versjonen implementerte vi muligheten til å sette aktiviteten på pause i skjulte faner for å redusere belastningen på CPU-en og spare energi. De eneste unntakene er faner som spiller av lyd, bruker Web Locks eller IndexedDB API, er koblet til en USB-enhet eller tar opp video, lyd eller vindusinnhold. Endringen vil bli implementert gradvis, og starter med en liten prosentandel av brukerne.
- Støtte for en kvanteresistent nøkkelavtalemetode er inkludert. Kvantedatamaskiner er mye raskere til å løse problemet med å faktorisere et naturlig tall til primtallsfaktorer, som ligger til grunn for moderne asymmetriske krypteringsalgoritmer og ikke kan løses effektivt på klassiske prosessorer. CECPQ1.3-pluginen (Combined Elliptic-Curve and Post-Quantum 2) er tilgjengelig for bruk i TLSv2, og kombinerer den klassiske X25519-nøkkelutvekslingsmekanismen med HRSS-skjemaet basert på NTRU Prime-algoritmen utviklet for post-kvantekryptosystemer.
- Støtte for TLS 1.0- og TLS 1.1-protokollene er fullstendig avviklet og har blitt avskrevet av IETF (Internet Engineering Task Force). Spesielt muligheten til å gå tilbake til TLS 1.0/1.1 ved å endre SSLVersionMin-policyen er fjernet.
- I sammenstillinger for plattformen Linux Bruken av «DNS over HTTPS» (DoH)-modusen, som tidligere var tilgjengelig for brukere, er nå aktivert Windows, macOS, ChromeOS og AndroidDNS-over-HTTPS aktiveres automatisk for brukere med DNS-leverandører som støtter denne teknologien i innstillingene sine (samme leverandør som brukes for DNS brukes også for DNS-over-HTTPS). Hvis en bruker for eksempel har spesifisert DNS 8.8.8.8 i systeminnstillingene, aktiveres Googles DNS-over-HTTPS-tjeneste («https://dns.google.com/dns-query») i Chrome. Hvis DNS er 1.1.1.1, aktiveres Cloudflares DNS-over-HTTPS-tjeneste («https://cloudflare-dns.com/dns-query»), og så videre.
- Port 10080, som brukes i Amanda-sikkerhetskopiering og VMWare vCenter, er lagt til listen over forbudte nettverksporter. Portene 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 og 6566 er allerede blokkert. For porter på svartelisten er sending av HTTP-, HTTPS- og FTP-forespørsler blokkert for å beskytte mot et NAT-slipstreaming-angrep, som tillater, når en spesiallaget nettside åpnes i en nettleser, å opprette en nettverkstilkobling fra angriperens server til en hvilken som helst UDP- eller TCP-port på brukerens system, til tross for bruk av et internt adresseområde (192.168.xx, 10.xxx).
- Muligheten til å konfigurere automatisk oppstart av frittstående webapplikasjoner (PWA - Progressive Web Apps) når en bruker logger seg på er tilgjengelig.Windows и macOS). Autostart er konfigurert på chrome://apps-siden. Denne funksjonaliteten testes for øyeblikket på en liten prosentandel av brukerne, og for resten krever det at innstillingen «chrome://flags/#enable-desktop-pwas-run-on-os-login» aktiveres.
- Som en del av arbeidet med å konvertere nettleseren til å bruke inkluderende terminologi, har filen «master_preferences» blitt omdøpt til «initial_preferences». For å opprettholde kompatibilitet vil støtte for «master_preferences» forbli i nettleseren en stund fremover. Nettleseren har allerede kvittet seg med ordene «whitelist», «blacklist» og «native».
- Den forbedrede sikker nettlesingsmodusen, som aktiverer ekstra kontroller for å beskytte mot phishing, ondsinnet aktivitet og andre trusler på nettet, inkluderer nå muligheten til å sende nedlastede filer for verifisering på Google-siden. I tillegg tar forbedret sikker nettlesing hensyn til tokener knyttet til en Google-konto når den oppdager phishing-forsøk, samt sender referanseoverskriftsverdier til Googles servere for å sjekke om det er videresending fra et ondsinnet nettsted.
- I utgaven for plattformen Android Utformingen av nettskjemaelementer er forbedret og optimalisert for bruk på berøringsskjermer og tilgjengelige systemer (designet for skrivebordssystemer ble redesignet i Chrome 83). Denne redesignen forenet utformingen av skjemaelementer og eliminerte stilavvik. Tidligere ble noen skjemaelementer designet for å matche grensesnittelementer i operativsystemet, mens andre fulgte de mest populære stilene. Dette resulterte i at ulike elementer passet ulikt for berøringsskjermer og tilgjengelige systemer.


- La til en brukerundersøkelse som vises når du åpner innstillingene for personvernsandkassen (chrome://settings/privacySandbox).
- Ved oppstart AndroidChrome-versjoner på nettbrett med store skjermer vil garantert be om desktopversjonen av et nettsted, ikke mobilversjonen. Denne oppførselen kan endres ved å bruke innstillingen «chrome://flags/#request-desktop-site-for-tablets».
- Koden for gjengivelse av tabeller er omarbeidet, noe som har løst problemer med inkonsekvenser i oppførselen til tabellutdata i Chrome og Firefox/Safari.
- Behandlingen av serversertifikater fra den spanske sertifiseringsinstansen Camerfirma har blitt stoppet på grunn av gjentatte hendelser knyttet til brudd på utstedelsen av sertifikater siden 2017. Støtte for klientsertifikater opprettholdes, blokkeringen gjelder kun sertifikater som brukes på nettsteder for HTTPS.
- Støtte for nettverkssegmentering er videreført for å beskytte mot sporingsmetoder på tvers av nettsteder basert på lagring av identifikatorer i områder som ikke er ment for permanent lagring ("supercookies"). Siden hurtigbufrede ressurser lagres i et delt navnerom, uavhengig av det opprinnelige domenet, kan ett nettsted oppdage lasting av ressurser fra et annet nettsted ved å sjekke om ressursen er tilstede i hurtigbufferen. Denne beskyttelsen er basert på bruk av nettverkspartisjonering, som innebærer å legge til ekstra tilordninger til delte hurtigbuffere. domene, som hovedsiden åpnes fra, noe som begrenser omfanget av hurtigbufferen for sporingsskript til kun det gjeldende nettstedet (et skript fra en iframe vil ikke kunne sjekke om ressursen ble lastet inn fra et annet nettsted).
Prisen for segmentering er en reduksjon i caching-effektivitet, noe som fører til en liten økning i sideinnlastingstid (maksimalt 1.32 %, men for 80 % av nettstedene med 0.09–0.75 %). For å teste segmenteringsmodusen kan du kjøre nettleseren med alternativet "--enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey".
- La til ekstern REST API VersionHistory (https://versionhistory.googleapis.com/v1/chrome), der du kan få informasjon om Chrome-versjoner i forhold til plattformer og grener, samt nettleserens oppdateringshistorikk.
- I iframes lastet inn fra andre domener enn domenet til basissiden, er det forbudt å vise JavaScript-dialogboksene alert(), confirm() og prompt(). Disse vil beskytte brukere mot forsøk fra tredjepartsskript på å vise meldinger under dekke av at varselet ble vist av hovedsiden.
- WebAssembly SIMD API-et har blitt stabilisert og gjort til standard for bruk av vektor-SIMD-instruksjoner i WebAssembly-applikasjoner. For å sikre plattformuavhengighet tilbys en ny 128-bits type som kan representere forskjellige typer pakkede data og flere grunnleggende vektoroperasjoner for behandling av pakkede data. SIMD gir økt ytelse ved å parallellisere databehandling og vil være nyttig når man kompilerer native kode til WebAssembly.
- Flere nye API-er er lagt til Origin Trials-modusen (eksperimentelle funksjoner som krever separat aktivering). Origin Trial innebærer muligheten til å arbeide med spesifisert API fra applikasjoner lastet ned fra localhost eller 127.0.0.1, eller etter registrering og mottak av en spesiell token som er gyldig i en begrenset periode for et spesifikt nettsted.
- WebTransport er en protokoll og et tilhørende JavaScript API for å sende og motta data mellom en nettleser og serverKommunikasjonskanalen er organisert oppå HTTP/3 ved hjelp av QUIC-protokollen som transport, som igjen er et tillegg til UDP-protokollen, som støtter multipleksing av flere tilkoblinger og tilbyr krypteringsmetoder tilsvarende TLS/SSL.
WebTransport kan brukes i stedet for WebSockets og RTCDataChannel-mekanismer, og tilbyr tilleggsfunksjoner som multistrømming, enveisstrømmer, levering i feil rekkefølge, pålitelige og upålitelige leveringsmoduser. I tillegg kan WebTransport brukes i stedet for Server Push-mekanismen, som Google har forlatt i Chrome.
- Et deklarativt grensesnitt for å definere lenker til frittstående webapplikasjoner (PWA-er), aktivert via capture_links-parameteren i webapplikasjonsmanifestet, som lar nettsteder automatisk åpne et nytt PWA-vindu når en lenke til applikasjonen klikkes, eller bytte til en enkeltvindumodus som ligner på mobilapper.
- WebXR Plane Detection API er lagt til, og gir informasjon om flate overflater i et virtuelt 3D-miljø. Dette API-et lar deg unngå ressurskrevende behandling av data innhentet gjennom MediaDevices.getUserMedia()-kallet, ved å bruke dine egne implementeringer av maskinsynsalgoritmer. La oss minne deg på at WebXR API lar deg forene arbeid med ulike klasser av virtuelle virkelighetsenheter, fra stasjonære 3D-hjelmer til løsninger basert på mobile enheter.
- WebTransport er en protokoll og et tilhørende JavaScript API for å sende og motta data mellom en nettleser og serverKommunikasjonskanalen er organisert oppå HTTP/3 ved hjelp av QUIC-protokollen som transport, som igjen er et tillegg til UDP-protokollen, som støtter multipleksing av flere tilkoblinger og tilbyr krypteringsmetoder tilsvarende TLS/SSL.
- Implementert støtte for arbeid med WebSockets over HTTP/2 (RFC 8441), som kun er gyldig for sikre forespørsler til WebSockets og i nærvær av en allerede etablert HTTP/2-forbindelse med serveren, der støtte for utvidelsen "WebSockets over HTTP/2" annonseres.
- Presisjonsgrensene for timerverdier returnert av performance.now()-kallet er blitt forent på tvers av alle støttede plattformer og tilpasset for å ta hensyn til mulig isolering av behandlere i separate prosesser. For eksempel, på stasjonære systemer, er presisjonen for behandling i ikke-isolerte kontekster redusert fra 5 til 100 mikrosekunder.
- Skrivebordsbygg støtter nå lesing av filer fra utklippstavlen (det er fortsatt forbudt å skrive filer til utklippstavlen). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
- CSS implementerer @counter-style-regelen, som lar deg definere din egen stil for tellere og etiketter i nummererte lister.
- CSS-pseudoklassene «:host()» og «:host-context()» har blitt oppdatert for å tillate overføring av enkeltverdier fra sammensatte selektorer ( ) i tillegg til valglistene ( ).
- La til GravitySensor-grensesnitt for å bestemme volumetriske (langs tre koordinatakser) data fra gravitasjonssensoren.
- File System Access API gir muligheten til å definere filnavn og kataloganbefalinger som tilbys i dialogboksen for filoppretting eller åpning.
- I iframes lastet inn fra andre domener, er tilgang til WebOTP API tillatt hvis brukeren gir de nødvendige tillatelsene. WebOTP tillater lesing av engangsbekreftelseskoder sendt via SMS.
- Deling av legitimasjon mellom nettsteder som er koblet sammen ved hjelp av DAL-mekanismen (Digital Asset Links) er nå mulig. Android-applikasjoner med nettsteder for å forenkle innlogging.
- JavaScript-moduler er tillatt i Service Worker. Ved å spesifisere typen «module» under konstruktørkallet, vil de spesifiserte skriptene lastes inn som moduler og være tilgjengelige for import i konteksten til workeren. Støtte for moduler gjør det enklere å dele kode mellom nettsider og Service Workers.
- JavaScript gir muligheten til å teste eksistensen av private felt i et objekt ved hjelp av syntaksen "#foo in obj". class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
- JavaScript tillater som standard bruk av await-nøkkelordet i moduler på toppnivå, noe som gjør at asynkrone anrop kan integreres jevnere i modullastingsprosessen og unngår å pakke dem inn i en "asynkronfunksjon". For eksempel, i stedet for (async function() { await Promise.resolve(console.log('test')); }()); nå kan du skrive await Promise.resolve(console.log('test'));
- V8 JavaScript-motoren har forbedret effektiviteten til malbufring, noe som resulterer i en økning på 4.5 % i Speedometer2-FlightJS-referanseindeksen.
- En stor del av forbedringene er gjort i verktøyene for webutviklere. En ny minneinspektørmodus er lagt til, som gir verktøy for å undersøke ArrayBuffer-data og Wasm-minne.

En sammendragsindikator for ytelse er lagt til i ytelsespanelet, slik at du kan bedømme om nettstedet trenger optimalisering eller ikke.

Når du forhåndsviser bilder i Elementer-panelet og Nettverksspørringsanalyse-panelet, får du informasjon om bildets sideforhold, gjengivelsesinnstillinger og filstørrelse.

Nettverksinspeksjonspanelet lar deg nå endre de aksepterte verdiene for Content-Encoding-overskriften.

Stilpanelet lar deg nå raskt se den beregnede verdien når du navigerer gjennom CSS-parametere ved å velge «Vis beregnet verdi» fra hurtigmenyen.

I tillegg til innovasjoner og feilrettinger, eliminerer den nye versjonen 32 sårbarheter. Mange av sårbarhetene ble identifisert som et resultat av automatisert testing med verktøyene AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Ingen kritiske problemer ble identifisert som ville tillate omgåelse av alle nivåer av nettleserbeskyttelse og kjøring av kode i systemet utenfor sandkassemiljøet. Som en del av programmet for å betale kontantbelønninger for å oppdage sårbarheter for den nåværende utgivelsen, har Google utbetalt 21 belønninger på totalt 92000 20000 dollar (én belønning på 15000 7500 dollar, én belønning på 5000 3000 dollar, fire belønninger på 1000 500 dollar, tre belønninger på 5 XNUMX dollar, tre belønninger på XNUMX XNUMX dollar, to belønninger på XNUMX XNUMX dollar og to belønninger på XNUMX dollar). Beløpet på de XNUMX belønningene er ennå ikke fastsatt.
Kilde: opennet.ru







