Google har lansert utgivelsen av nettleseren Chrome 93. Samtidig er den stabile utgaven av det Äpne prosjektet Chromium tilgjengelig, som er grunnlaget for Chrome. Nettleseren Chrome kjennetegnes ved bruken av Google-logotyper, et system for varsling ved krasj, moduler for avspilling av beskyttet videoinnhold (DRM), en automatisk oppdateringssystem og overfÞring av RLZ-parametere ved sÞk. Neste utgave av Chrome 94 er planlagt for 21. september (utviklingen er overfÞrt til en 4-ukers utgivelsessyklus).
Viktige endringer i Chrome 93:
- Designet av informasjonsboksen (page info) er oppgradert, der stÞtte for innebygde seksjoner er implementert, mens nedtrekkslistene med tilgangsrettigheter er blitt erstattet med brytere. I listene vises den viktigste informasjonen fÞrst. Endringen er ikke aktivert for alle brukere; for Ä aktivere den kan man bruke innstillingen «chrome://flags/#page-info-version-2-desktop».

- For en liten prosentandel av brukerne er indikatorene for sikret forbindelse i adressefeltet eksperimentelt blitt endret til et mer nĂžytralt og ikke-dobbelt betydningssymbol (lĂ„sen er erstattet med symbolet «V»). For forbindelser opprettet uten kryptering, vises indikator «ikke sikret». Ă
rsaken til byttet av indikatorene nevnes Ä vÊre at mange brukere assosierer lÄs-indikatoren med at innholdet pÄ nettstedet kan stoles pÄ, snarere enn Ä oppfatte det som et tegn pÄ kryptert forbindelse. IfÞlge en undersÞkelse fra Google forstÄr bare 11% av brukerne meningen med lÄsikonet.

- I listen over nylig lukkede faner vises innholdet i lukkede fanegrupper (tidligere ble det bare vist navnet pÄ gruppen uten detaljering av innholdet), med mulighet for Ä gjenopprette bÄde hele gruppen og enkeltfaner fra gruppen samtidig. Muligheten er ikke aktivert for alle brukere, sÄ for Ä aktivere det kan det vÊre nÞdvendig Ä endre innstillingen «chrome://flags/#tab-restore-sub-menus».

- For businesses, new settings DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites, and JavaScriptJitBlockedForSites have been implemented, allowing management of the JIT-less mode that disables JIT compilation when executing JavaScript (only the Ignition interpreter is used) and prohibits memory allocation during code execution. Disabling JIT can be beneficial for enhancing the security of potentially dangerous web applications at the cost of reducing JavaScript performance by approximately 17%. Notably, Microsoft has gone further and introduced in the Edge browser an experimental mode called 'Super Duper Secure,' allowing users to disable JIT and activate hardware protection mechanisms that are incompatible with JIT, such as CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard), and CFG (Control Flow Guard) for processes handling web content. If successful, this experiment could be expected to transition into the main version of Chrome.
- The new tab page provides a list of the most requested documents saved in Google Drive. The contents of the list correspond to the Priority section in drive.google.com. To manage the display of Google Drive content, you can use the settings 'chrome://flags/#ntp-modules' and 'chrome://flags/#ntp-drive-module'.

- New informational cards have been proposed for the new tab opening page to help users find recently viewed content and related information. The cards are designed to simplify the process of continuing work with information that was interrupted, for example, these cards can help in finding a recipe that was recently discovered online but lost after closing the page, or in resuming selection of purchases in stores. As an experiment, two new cards have been offered to users: 'Recipes' (chrome://flags/#ntp-recipe-tasks-module) for finding culinary recipes and showing recently viewed recipes; 'Shopping' (chrome://flags/#ntp-chrome-cart-module) for reminders about items selected in online stores.
- The Android version has added optional support for a continuous search panel (chrome://flags/#continuous-search), allowing recent Google search results to remain visible (the panel continues to display results after navigating to other pages).

- I versjonen for Android-plattformen er det lagt til en eksperimentell sitatdelingsmodus (chrome://flags/#webnotes-stylize) som gjÞr det mulig Ä lagre et utvalgt omrÄde av en side som et sitat og dele dette med andre brukere.
- NÄr nye tillegg eller oppdateringer publiseres i Chrome Web Store, er det nÄ obligatorisk Ä bruke to-faktor autentisering for utviklere.
- Brukere av Google-kontoen har fÄtt muligheten til Ä lagre betalingsinformasjon i sin Google-konto.
- I inkognitomodus, nÄr alternativet for Ä tÞmme navigasjonsdata er aktivert, er det implementert en ny bekreftelsesdialog som forklarer at tÞmming av data vil fÞre til at vinduet lukkes og at alle Þkter i inkognitomodus avsluttes.
- PÄ grunn av identifiserte inkompatibiliteter med firmware pÄ enkelte enheter, er stÞtten for den nye metoden for nÞkkelutveksling som ble lagt til i Chrome 91, midlertidig deaktivert. Denne metoden er kvante-resistent og basert pÄ bruk av TLSv1.3-utvidelsen CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), som kombinerer den klassiske nÞkkelutvekslingsmekanismen X25519 med HRSS-skjemaet basert pÄ NTRU Prime-algoritmen, utviklet for post-kvante kryptosystemer.
- Portene 989 (ftps-data) og 990 (ftps) har blitt lagt til listen over blokkerte nettverksporter for Ă„ hindre ALPACA-angrep. Tidligere hadde portene 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 og 10080 allerede blitt blokkert for Ă„ beskytte mot NAT slipstreaming-angrep.
- StĂžtten for krypteringsalgoritmen 3DES er avsluttet i TLS. Spesifikt er svitsjet TLS_RSA_WITH_3DES_EDE_CBC_SHA, som er utsatt for Sweet32-angrep, blitt fjernet.
- StĂžtten for Ubuntu 16.04-distribusjonen er avsluttet.
- Muligheten til Ä bruke WebOTP API mellom ulike enheter knyttet via en felles Google-konto er nÄ tilgjengelig. WebOTP gjÞr det mulig for webapplikasjonen Ä lese engangskoder sendt via SMS. Den foreslÄtte endringen gir mulighet til Ä motta bekreftelseskoden pÄ en mobil enhet med Chrome for Android og bruke den pÄ et skrivebordssystem.
- API-et User-Agent Client Hints, som utvikles som en erstatning for User-Agent-headeren, er utvidet. User-Agent Client Hints gir mulighet for selektiv levering av data om bestemte nettleser- og systemparametere (versjon, plattform osv.) bare etter forespÞrsel. serverenBrukeren kan selv bestemme hvilken informasjon som kan gis til nettstedeiere. NÄr man bruker User-Agent Client Hints, overfÞres ikke nettleseridentifikatoren uten et eksplisitt forespÞrsel, og som standard oppgis bare grunnleggende parametere, noe som gjÞr det vanskelig Ä utfÞre passiv identifikasjon.
Den nye versjonen implementerer stĂžtte for parameteren Sec-CH-UA-Bitness for Ă„ returnere data om plattformens bitdybde, noe som kan brukes for Ă„ levere optimaliserte binĂŠrfiler. Som standard blir parameteren Sec-CH-UA-Platform sendt med generell informasjon om plattformen. I verdien UADataValues, som returneres ved anrop av getHighEntropyValues(), tilbakeholdes som standard forenklede parametere hvis det ikke er mulig Ă„ returnere en detaljert variant. I objektet NavigatorUAData er det lagt til en metode toJSON, som gjĂžr det mulig Ă„ bruke konstruksjoner som JSON.stringify(navigator.userAgentData).
- StÞtten for pakkede ressurser i formatet Web Bundle er stabilisert og tilbys som standard, noe som er passende for Ä organisere mer effektiv lasting av mange tilknyttede filer (CSS-stiler, JavaScript, bilder, iframe). Blant ulempene i den eksisterende stÞtten for pakker for JavaScript-filer (webpack), som man prÞver Ä lÞse i Web Bundle: HTTP-cachen kan bare lagre selve pakken, men ikke dens komponenter; kompilering og utfÞrelse kan fÞrst begynne etter at pakken er fullstendig lastet; ekstra ressurser som CSS og bilder mÄ kodes som JavaScript-strenger, noe som fÞrer til Þkt stÞrrelse og til ytterligere parsing.
- API WebXR Plane Detection er inkludert, som gir informasjon om flate overflater i et virtuelt 3D-miljÞ. Det angitte API-et gjÞr det mulig Ä unngÄ ressurskrevende behandling av data mottatt via anrop av MediaDevices.getUserMedia(), ved Ä bruke egne implementeringer av maskinsynsalgoritmer. La oss minne om at API WebXR gjÞr det mulig Ä standardisere arbeidet med ulike typer VR-enheter, fra stasjonÊre 3D-hjelmer til lÞsninger basert pÄ mobile enheter.
- 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.
- Det er foreslÄtt et API for Multi-Screen Window Placement som lar vinduer plasseres pÄ hvilken som helst skjerm koblet til det nÄvÊrende systemet, samt Ä lagre vindusposisjonen og om nÞdvendig maksimere vinduet. For eksempel kan et webprogram for presentasjon bruke det nevnte API-et for Ä vise lysbilder pÄ en skjerm, mens det viser notater for foredragsholderen pÄ en annen.
- I headeren Cross-Origin-Embedder-Policy, som styrer Cross-Origin isolasjonsmodus og lar definere regler for sikker bruk av privilegerte operasjoner pÄ siden, er stÞtte for parameteren «credentialless» lagt til for Ä deaktivere overfÞring av informasjon knyttet til legitimasjon, slik som Cookies og klientsertifikater.
- For isolerte webprogrammer (PWA, Progressive Web Apps) som hÄndterer innholdstegning og behandling av brukerinput, er det levert et overlappingslag med vinduskontroller som tittelomrÄde og knapper for Ä maksimere/minimere vinduet. Overlappingslaget utvider det tilgjengelige omrÄdet for modifikasjon til hele vinduet og tillater Ä legge til egne elementer i tittelomrÄdet.

- Det er lagt til muligheten for Ä opprette PWA-applikasjoner som kan brukes som URL-hÄndterere. For eksempel kan applikasjonen music.example.com registrere seg som hÄndterer URL-en https://*.music.example.com, og alle overganger fra eksterne applikasjoner via disse lenkene, som fra meldingsapper og e-postklienter, vil Äpne denne PWA-applikasjonen i stedet for en ny fane i nettleseren.
- Det er nÄ mulig Ä laste inn CSS-filer ved hjelp av uttrykket «import» pÄ samme mÄte som for JavaScript-moduler, noe som er praktisk ved oppretting av egne elementer og lar oss unngÄ Ä tilordne stiler med JavaScript-kode. import sheet from './styles.css' assert { type: 'css' }; document.adoptedStyleSheets = [sheet]; shadowRoot.adoptedStyleSheets = [sheet];
- Det er introdusert en ny statisk metode AbortSignal.abort() som returnerer et AbortSignal-objekt, hvor parameteret aborted allerede er satt. I stedet for flere linjer med kode for Ä opprette et AbortSignal-objekt i tilstanden aborted, kan vi nÄ nÞye oss med én linje: «return AbortSignal.abort()».
- I Flexbox-elementet er stĂžtte for nĂžkkelordene start, end, self-start, self-end, left og right lagt til, som supplerer nĂžkkelordene center, flex-start og flex-end med verktĂžy for forenklet justering av posisjonen til flex-elementene.
- I konstruktĂžren Error() er det implementert et nytt valgfritt egenskap «cause», som gjĂžr det enkelt Ă„ knytte feil til hverandre. const parentError = new Error(âparentâ); const error = new Error(âparentâ, { cause: parentError }); console.log(error.cause === parentError); \/\/ â true
- I egenskapen HTMLMediaElement.controlsList er stÞtte for modusen noplaybackrate lagt til, som lar deg deaktivere elementene i nettlesergrensesnittet for Ä endre hastigheten pÄ avspilling av multimediainnhold.
- Det er lagt til en header Sec-CH-Prefers-Color-Scheme, som lar deg sende data om brukerens foretrukne fargeskjema under forespÞrsler, noe som gjÞr at nettstedet kan optimalisere lastingen av CSS knyttet til det valgte skjemaet og unngÄ synlige bytter fra andre skjemaer.
- Det er lagt til en egenskap Object.hasOwn, som er en forenklet versjon av Object.prototype.hasOwnProperty, implementert som en statisk metode. Object.hasOwn({ prop: 42 }, âpropâ) \/\/ â true
- JIT-kompilatoren Sparkplug, som er designet for rask kjÞring av rÄ kompilering, har fÄtt lagt til en modus for batchbehandling av operasjoner, som reduserer overhead fra Ä bytte mellom skriving og utfÞring av minnesider. Sparkplug kompilerer nÄ flere funksjoner om gangen og kaller mprotect én gang for Ä endre tilgangsrettighetene for hele gruppen. Den foreslÄtte modusen reduserer kompileringstiden med opptil 44% uten negativ innvirkning pÄ ytelsen for JavaScript.

- I Android-versjonen er de innebygde beskyttelsesmekanismene i V8-motoren mot angrep fra sidekanaler, som Spectre, deaktivert, ettersom de ikke anses Ä vÊre sÄ effektive som isolering av nettsteder i separate prosesser. I skrivebordsversjonen ble de nevnte mekanismene deaktivert allerede i Chrome 70. Deaktiveringen av unÞdvendige sjekker har Þkt ytelsen med 2-15%.

- Det er gjort forbedringer i verktÞyene for webutviklere. I inspiseringsmodus for stilark er det nÄ mulig Ä redigere forespÞrslene opprettet med uttrykket @container. I inspektÞrverktÞyet for nettverket er det implementert forhÄndsvisning av ressurser i Web bundle-format. I webkonsollen er det lagt til alternativer i kontekstmenyen for Ä kopiere linjer som JavaScript-litteraler eller JSON. FeilsÞking av problemer relatert til CORS (Cross-Origin Resource Sharing) er forenklet.

I den nye versjonen er 27 sÄrbarheter rettet, i tillegg til nye funksjoner og feilrettinger. Mange av sÄrbarhetene ble avdekket gjennom automatisert testing med verktÞyene AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Det ble ikke avdekket noen kritiske problemer som kan omgÄ alle beskyttelseslagene i nettleseren og kjÞre kode pÄ systemet utenfor sandbox-miljÞet. I lÞpet av programmet for utbetaling av belÞnninger for sÄrbarhetserkjennelse, har Google betalt ut 19 premier med en totalverdi av 136500 dollar (tre premier pÄ 20000 dollar, én premie pÄ 15000 dollar, tre premier pÄ 10000 dollar, én premie pÄ 7500 dollar, tre premier pÄ 5000 dollar og tre premier pÄ 3000 dollar). StÞrrelsen pÄ 5 av belÞnningene er ennÄ ikke fastslÄtt.
Kilde: opennet.ru









