Google har lansert versjonen av nettleseren Chrome 91. Samtidig er en stabil utgave av det frie prosjektet Chromium tilgjengelig, som danner grunnlaget for Chrome. Nettleseren Chrome kjennetegnes av bruken av Googles logo, et varslingssystem ved krasj, moduler for avspilling av beskyttet videoinnhold (DRM), automatisk oppdateringssystem og overføring av RLZ-parametre under søkingen. Neste utgave av Chrome 92 er planlagt til 20. juli.
Hovedendringer i Chrome 91:
- Muligheten for å stoppe kjøringen av JavaScript i sammenfoldede faner er implementert. I Chrome 85 ble støtte for gruppering av faner introdusert, som kan knyttes til en bestemt farge og etikett. Ved klikk på etiketten samles de tilknyttede fanene, og det forblir én etikett, (et nytt klikk på etiketten vil utvide gruppen). I den nye versjonen er det implementert pause i aktivitetene i sammenfoldede faner for å redusere CPU-belastningen og spare energi. Unntaket er faner som spiller av lyd, benytter API Web Locks eller IndexedDB, har koblet til en USB-enhet, eller er i ferd med å fange video, lyd eller vindusinnhold. Endringen vil bli implementert gradvis, som begynner med en liten prosentandel av brukerne.
- Støtte for kvante-resistant nøkkelutvekslingsmetode er aktivert. Kvantecomputere løser oppgave med faktorisering av naturlige tall mye raskere enn klassiske prosessorer, noe som ligger til grunn for moderne asymmetriske krypteringsalgoritmer og er effektivt uløselig på klassiske prosessorer. For bruk i TLSv1.3 er det gitt en CECPQ2-plugin (Combined Elliptic-Curve and Post-Quantum 2), som kombinerer den klassiske nøkkelutvekslingen X25519 med HRSS-skjemaet, basert på NTRU Prime-algoritmen, utviklet for post-kvante-kryptosystemer.
- Støtten for protokollene TLS 1.0 og TLS 1.1 er fullstendig fjernet, da de er klassifisert som utdaterte av IETF (Internet Engineering Task Force). Dette inkluderer fjerning av muligheten til å gjenopprette TLS 1.0/1.1 ved å endre SSLVersionMin-policyen.
- I byggene for Linux-plattformer er bruken av «DNS over HTTPS» (DoH, DNS over HTTPS) inkludert, en funksjon som tidligere har blitt gjort tilgjengelig for brukere av Windows, macOS, ChromeOS og Android. DNS-over-HTTPS vil automatisk bli aktivert for brukere hvis DNS-leverandører er angitt i innstillingene og støtter denne teknologien (for DNS-over-HTTPS brukes den samme leverandøren som ble brukt for DNS). For eksempel, hvis en bruker har angitt DNS 8.8.8.8 i systeminnstillingene, vil Googles DNS-over-HTTPS-tjeneste («https://dns.google.com/dns-query») bli aktivert i Chrome; hvis DNS er 1.1.1.1, så vil Cloudflares DNS-over-HTTPS-tjeneste («https://cloudflare-dns.com/dns-query») bli aktivert, osv.
- Port 10080 er lagt til listen over blokkerte nettverksporter, som brukes i Amanda backup og VMWare vCenter. Tidligere har portene 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 og 6566 blitt blokkert. For porter på svartelisten blir sending av HTTP-, HTTPS- og FTP-forespørsel blokkert for å beskytte mot NAT slipstreaming-angrep, som gjør det mulig å opprette en nettverksforbindelse fra angrep-serveren til enhver UDP- eller TCP-port på brukerens system ved å åpne en spesielt utformet nettside i nettleseren, til tross for bruken av interne adressespenn (192.168.x.x, 10.x.x.x).
- Det er nå mulig å konfigurere automatisk oppstart av isolerte web-applikasjoner (PWA — Progressive Web Apps) når brukeren logger seg på systemet (Windows og macOS). Autostart kan konfigureres på siden chrome://apps. Funksjonaliteten er ennå under testing på en liten prosentandel brukere, mens det for øvrige krever aktivering av innstillingen «chrome://flags/#enable-desktop-pwas-run-on-os-login».
- I forbindelse med arbeidet med å oversette nettleseren til bruk av inkluderende terminologi, har filen «master_preferences» blitt omdøpt til «initial_preferences». For å opprettholde 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 utvidet modus for beskyttelse mot skadelige nettsteder (Enhanced Safe Browsing), der ekstra kontroller aktiveres for å beskytte mot phishing, ondsinnet aktivitet og andre trusler på nettet, er det implementert mulighet for å sende opplastede filer for sjekk på Googles side. I tillegg er det i Enhanced Safe Browsing innført en registrering av tokens knyttet til Google-kontoen ved påvisning av phishing-forsøk, samt sending av Referrer-headerverdier til Googles servere for kontroll av videresending fra ondsinnede nettsteder.
- I utgaven for Android-plattformen er utformingen av webskjemaelementer forbedret, optimert for bruk på berøringsskjermer og systemer for personer med nedsatt funksjonsevne (for stasjonære systemer ble utformingen redesignet i Chrome 83). Målet med omarbeidingen var å forene utformingen av skjemaelementer og eliminere stilmessige uoverensstemmelser – tidligere ble en del skjemaelementer utformet i henhold til grensesnittkomponenter fra operativsystemer, mens en annen del ble designet i henhold til mest populære stiler. Dette medførte at forskjellige elementer passer ulikt for berøringsskjermer og systemer for personer med nedsatt funksjonsevne.


- Brukerundersøkelse er lagt til, som vises ved åpning av innstillingene for Privacy Sandbox (chrome://settings/privacySandbox).
- Når Android-versjonen av Chrome startes på nettbrett med stor skjerm, forespørres det en skrivebordsversjon av nettstedet, ikke mobilutgaven. Atferden kan endres ved hjelp av innstillingen «chrome://flags/#request-desktop-site-for-tablets».
- Koden for tegning av tabeller er omarbeidet, noe som løste problemer med avvik i oppførselen ved visning av tabeller i Chrome og i Firefox/Safari.
- Behandlingen av serversertifikater fra det spanske sertifiseringsorganet Camerfirma er stoppet på grunn av gjentatte hendelser relatert til brudd på sertifikatene som har blitt påvist siden 2017. Støtte for klientsertifikater er opprettholdt, og blokkeringen gjelder bare sertifikater som brukes på nettsteder for HTTPS.
- Støtten for segmentering av nettverket er fortsatt implementert for å beskytte mot metoder for sporing av brukernes bevegelser mellom nettsteder, basert på lagring av identifikatorer i områder som ikke er ment for permanent lagring av informasjon ("Supercookies"). Siden ressurser i hurtigbufferen lagres i et delt navnerom, uavhengig av det opprinnelige domenet, kan ett nettsted identifisere innlasting av ressurser fra et annet nettsted ved å sjekke om denne ressursen finnes i hurtigbufferen. Beskyttelsen er basert på bruk av nettverkssegmentering, som innebærer å legge til en ekstra binding av poster til the domain, fra hvilket den primære siden er åpnet, noe som begrenser dekningen av hurtigbufferen for sporingsskripter til den nåværende siden (et skript fra iframe kan ikke sjekke om ressursen ble lastet ned fra et annet nettsted).
Prisen for segmentering er en reduksjon i effektiviteten av hurtigbufferen, noe som fører til en liten økning i lastetiden for siden (maksimalt 1,32 %, men for 80 % av nettstedene mellom 0,09-0,75 %). For å teste segmenteringsmodusen kan nettleseren startes med alternativet "—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey".
- En ekstern REST API VersionHistory er lagt til (https://versionhistory.googleapis.com/v1/chrome), hvor du kan få informasjon om versjoner av Chrome knyttet til plattformer og grener, samt oppdateringshistorikk for nettleseren.
- I iframes som er lastet fra domener som er forskjellig fra domenet til den grunnleggende siden, er utgang av JavaScript-dialoger alert(), confirm() og prompt() forbudt, noe som vil beskytte brukerne mot at eksterne skript prøver å vise meldinger under påskudd av at varslingen er produsert av den primære siden.
- API WebAssembly SIMD er stabilisert og tilbys som standard for å bruke vektor-SIMD-instruksjoner i applikasjoner i WebAssembly-format. For å sikre plattformuavhengighet foreslås en ny 128-bits type som kan representere forskjellige typer pakket data, samt flere grunnleggende vektoroperasjoner for behandling av pakket data. SIMD muliggjør økt ytelse ved å parallellisere databehandling og vil være nyttig ved kompilering av innfødt kode til WebAssembly.
- I Origin Trials-modus (eksperimentelle funksjoner som krever separat aktivering) er flere nye API-er lagt til. Origin Trial betyr muligheten til å jobbe med den spesifiserte API-en fra applikasjoner lastet inn fra localhost eller 127.0.0.1, eller etter registrering og mottak av et spesialtoken som er gyldig i en begrenset periode for et spesifikt nettsted.
- WebTransport — en protokoll og tilhørende JavaScript API for sending og mottak av data mellom nettleseren og serveren. Kommunikasjonskanalen opprettes over HTTP/3 ved å bruke QUIC-protokollen som transport, som i sin tur er et lag over UDP-protokollen, og støtter multiplexing av flere forbindelser samt gir krypteringsmetoder tilsvarende TLS/SSL.
WebTransport kan brukes i stedet for mekanismene for WebSockets og RTCDataChannel, og tilbyr både muligheten til å organisere overføring i flere strømmer, ensrettede strømmer, levering uten hensyn til rekkefølge på pakkene (out-of-order), pålitelige og upålitelige leveringsmoduser. I tillegg kan WebTransport brukes i stedet for Server Push-mekanismen, som Google har droppet i Chrome.
- Et deklarativt grensesnitt for å definere lenker til isolerte web-applikasjoner (PWA), aktivert ved hjelp av parameteren capture_links i manifestet for web-applikasjonen, som gjør at nettsteder automatisk kan åpne et nytt PWA-vindu når man klikker på en app-lenke, eller gå til én-vindus modus som likner på mobile applikasjoner.
- WebXR Plane Detection API er lagt til, som gir informasjon om flate overflater i et virtuelt 3D-miljø. Dette APIet gjør det mulig å unngå ressurskrevende databehandling fra MediaDevices.getUserMedia()-anrop, ved hjelp av egne implementasjoner av algoritmer for datamaskinsyn. Som en påminnelse tillater WebXR API at man kan standardisere bruken av ulike typer virtuelle virkelighets-enheter, fra stasjonære 3D-hodeputer til løsninger basert på mobile enheter.
- WebTransport — en protokoll og tilhørende JavaScript API for sending og mottak av data mellom nettleseren og serveren. Kommunikasjonskanalen opprettes over HTTP/3 ved å bruke QUIC-protokollen som transport, som i sin tur er et lag over UDP-protokollen, og støtter multiplexing av flere forbindelser samt gir krypteringsmetoder tilsvarende TLS/SSL.
- Støtte for WebSockets over HTTP/2 (RFC 8441) er implementert, som kun gjelder for sikre forespørsel til WebSockets og forutsatt at det allerede er etablert en HTTP/2-forbindelse med serveren, hvor støtten for utvidelsen «WebSockets over HTTP/2» er annonsert.
- Nøyaktighetsbegrensninger for timerverdier utgitt av performance.now() er standardisert for alle støttede plattformer og tilpasset med tanke på potensiell isolering av håndterere i separate prosesser. For eksempel er nøyaktigheten ved behandling i ikke-isolerte kontekster på stasjonære systemer redusert fra 5 til 100 mikrosekunder.
- I desktop-systemene har det blitt mulig å lese filer fra utklippstavlen (skriving av filer til utklippstavlen er fortsatt forbudt). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
- CSS har fått regelen @counter-style, som gjør det mulig å definere egne stiler for modeller og etiketter i nummererte lister.
- I CSS-pseudo-klassene «:host()» og «:host-context()» er det lagt til muligheten for å overføre individuelle verdier av sammensatte selektorer (<compound-selector>) i tillegg til lister av selektorer (<compound-selector-list>).
- Gravitasjonsføler-grensesnittet GravitySensor er lagt til for å bestemme volumetriske (i tre koordinater) data fra gravitasjonssensoren.
- I API-en File System Access er det nå mulig å definere anbefalinger for valg av fil- og katalognavn som tilbys i dialogboksen for oppretting eller åpning av filer.
- Det er tillatt med tilgang til WebOTP API fra iframes lastet inn fra andre domener, forutsatt at brukeren gir de nødvendige tillatelsene. WebOTP lar deg lese engangskoder som sendes via SMS.
- Det er tillatt å gi felles tilgang til tilgangsdata for nettsteder som er knyttet sammen ved hjelp av mekanismen DAL (Digital Asset Links), som gjør det lettere å koble Android-apper til nettsteder for forenklet innlogging.
- I Service Worker er det tillatt å bruke JavaScript-moduler. Når typen ‘module’ angis under opprettelsen av konstruktøren, vil de angitte skriptene bli lastet inn som moduler og være tilgjengelige for import i worker-konteksten. Moduler gjør det lettere å dele kode mellom websidene og Service Workers.
- I JavaScript er det nå mulig å sjekke om lukkede felt finnes i et objekt, ved å bruke syntaksen «#foo in obj». class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
- I JavaScript er bruken av nøkkelordet await på toppen av moduler som standard tillatt, noe som gir en mykere integrering av asynkrone anrop i modulinnlastingsprosessen og gjør det unødvendig å pakke dem inn i en «async function». For eksempel, i stedet for (async function() { await Promise.resolve(console.log(‘test’)); }()); kan man nå skrive await Promise.resolve(console.log(‘test’));
- Effektiviteten av cachelagring av maler i JavaScript-motoren V8 er forbedret, noe som har økt hastigheten på å gå gjennom testen Speedometer2-FlightJS med 4,5%.
- Det er gjort en stor rekke forbedringer i verktøyene for webutviklere. Det er lagt til en ny minneinspeksjonsmodus (Memory inspector) som gir verktøy for å undersøke data i ArrayBuffer og Wasm-minne.

I Performance-panelet er det lagt til en oppsummeringsindikator for ytelse, som gjør det mulig å vurdere om nettstedet krever optimalisering eller ikke.

Når du forhåndsviser bilder i Elements-panelet og nettverksanalysatoren, vises informasjon om bildeforhold, visningsparametere og filstørrelse.

I nettverksinspeksjonspanelet har det blitt mulig å endre de mottatte verdiene av headeren Content-Encoding.

I stilpanelet har det blitt mulig å raskt se den beregnede verdien ved å navigere til CSS-parametere og velge "Vis beregnet verdi" i kontekstmenyen.

I tillegg til nye funksjoner og feilrettinger har den nye versjonen fikset 32 sårbarheter. Mange av sårbarhetene ble oppdaget ved hjelp av automatisert testing med verktøyene AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Det ble ikke funnet kritiske problemer som lar deg omgå alle nivåer av beskyttelse i nettleseren og kjøre kode i systemet utenfor sandbox-miljøet. I henhold til programmet for utbetaling av belønninger for oppdagelse av sårbarheter, har Google utbetalt 21 premier på totalt 92000 dollar for denne utgivelsen (én premie på 20000 dollar, én premie på 15000 dollar, fire premier på 7500 dollar, tre premier på 5000 dollar, tre premier på 3000 dollar, to premier på 1000 dollar og to premier på 500 dollar). Størrelsen på fem av belønningene er foreløpig ikke fastsatt.
Kilde: opennet.ru







