Google har slÀppt utgÄvan av webblÀsaren Chrome 91. Samtidigt finns en stabil version av det fria projektet Chromium tillgÀnglig, som utgör grunden för Chrome. WebblÀsaren Chrome kÀnnetecknas av anvÀndning av Googles logotyper, ett system för att skicka meddelanden vid krasch, moduler för uppspelning av skyddat videoinnehÄll (DRM), ett automatiskt uppdateringssystem och överföring av RLZ-parametrar vid sökning. NÀsta version av Chrome 92 Àr planerad till den 20 juli.
Huvudsakliga förÀndringar i Chrome 91:
- Möjlighet att pausa JavaScript-utförande i neddragna flikgrupper har införts. I Chrome 85 introducerades stöd för att gruppera flikar i grupper, som kan kopplas till en viss fĂ€rg och etikett. NĂ€r man klickar pĂ„ etiketten för gruppen minimeras de anslutna flikarna och istĂ€llet visas en etikett (ett ytterligare klick pĂ„ etiketten expanderar gruppen). I den nya versionen, för att minska CPU-belastningen och spara energi, har aktiviteten i neddragna flikar pausa. Undantag görs endast för flikar som spelar upp ljud, anvĂ€nder API:et Web Locks eller IndexedDB, har en anslutning till en USB-enhet, eller fĂ„ngar video, ljud eller innehĂ„ll frĂ„n fönster. Ăndringen kommer att införas gradvis, som börjar med en liten procentandel av anvĂ€ndarna.
- Stöd för en nyckelutbytesmetod som Àr motstÄndskraftig mot kvantdatorer har införts. Kvantdatorer löser uppgiften att bryta ner naturliga tal i primtalsfaktorer, som ligger till grund för moderna asymmetriska krypteringsalgoritmer, avsevÀrt snabbare och Àr effektivt olösligt pÄ klassiska processorer. För anvÀndning i TLSv1.3 finns en plugin CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), som kombinerar den klassiska nyckelutbytesmetoden X25519 med HRSS-schemat, baserat pÄ NTRU Prime-algoritmen, utvecklad för postkvantkryptosystem.
- Stödet för protokollen TLS 1.0 och TLS 1.1 har helt upphört, som IETF (Internet Engineering Task Force) har klassificerat som förÄldrade. Möjligheten att ÄtervÀnda till TLS 1.0/1.1 genom att Àndra policyn SSLVersionMin har ocksÄ tagits bort.
- I Linux-versioner ingÄr anvÀndningen av lÀget "DNS över HTTPS" (DoH, DNS over HTTPS), som tidigare har gjorts tillgÀngligt för anvÀndare av Windows, macOS, ChromeOS och Android. DNS-over-HTTPS kommer att aktiveras automatiskt för anvÀndare vars instÀllningar anger DNS-leverantörer som stöder denna teknik (för DNS-over-HTTPS anvÀnds samma leverantör som anvÀndes för DNS). Till exempel, om en anvÀndare har angett DNS 8.8.8.8 i sina systeminstÀllningar, kommer DNS-over-HTTPS-tjÀnsten frÄn Google ("https://dns.google.com/dns-query") att aktiveras i Chrome. Om DNS Àr 1.1.1.1 kommer DNS-over-HTTPS-tjÀnsten frÄn Cloudflare ("https://cloudflare-dns.com/dns-query") att aktiveras och sÄ vidare.
- Port 10080, som anvÀnds av Amanda backup och VMWare vCenter, har lagts till pÄ listan över förbjudna nÀtverksportar. Tidigare har portar 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 och 6566 blockerats. För portar i svarta listan blockeras skickandet av HTTP-, HTTPS- och FTP-begÀrningar för att skydda mot NAT slipstreaming-attacker, som gör det möjligt att etablera en nÀtverksanslutning frÄn en angripares server till valfri UDP- eller TCP-port i anvÀndarens system nÀr en speciellt förberedd webbsida öppnas i webblÀsaren, trots anvÀndningen av interna adressintervall (192.168.x.x, 10.x.x.x).
- Funktionen för att automatiskt starta fristĂ„ende webbapplikationer (PWA â Progressive Web Apps) vid inloggning av anvĂ€ndaren har erbjudits (Windows och macOS). Automatisk start kan konfigureras pĂ„ sidan chrome://apps. Funktionaliteten testas för nĂ€rvarande pĂ„ en liten procent av anvĂ€ndarna och krĂ€ver aktivering av instĂ€llningen "chrome://flags/#enable-desktop-pwas-run-on-os-login" för övriga.
- I arbetet med att förÀndra webblÀsarens terminologi till inkluderande sprÄk har filen "master_preferences" bytt namn till "initial_preferences". För att sÀkerstÀlla bakÄtkompatibilitet kommer stödet för "master_preferences" att finnas kvar i webblÀsaren under en tid. Tidigare har webblÀsaren redan avskaffat anvÀndningen av termerna "whitelist", "blacklist" och "native".
- I det utökade skyddslÀget för farliga webbplatser (Enhanced Safe Browsing) aktiveras ytterligare kontroller för att skydda mot phishing, skadlig verksamhet och andra hot pÄ webben, med möjligheten att skicka nedladdade filer för kontroll pÄ Googles sida. Dessutom har Enhanced Safe Browsing implementerat spÄrning av tokens kopplade till Google-kontot nÀr phishingförsök upptÀcks, samt skickar vÀrdena för Referrer-headern till Googles servrar för kontroll av genomslÀpp frÄn en skadlig webbplats.
- I versionen för Android-plattformen har utformningen av webblanketter förbÀttrats, vilket har optimerats för anvÀndning pÄ pekskÀrmar och system för personer med funktionsnedsÀttning (utformningen för skrivbordssystemen gjordes om i Chrome 83). MÄlet med omarbetningen var att enhetliggöra utformningen av formulÀrelement och eliminera stilmÀssiga inkonsekvenser - tidigare var vissa formulÀrelement utformade enligt grÀnssnittselementen i operativsystemen, medan andra följde de mest populÀra stilarna. Detta ledde till att olika element fungerade olikt för pekskÀrmar och system för personer med funktionsnedsÀttning.


- En anvÀndarundersökning har lagts till som visas nÀr instÀllningarna för Privacy Sandbox öppnas (chrome://settings/privacySandbox).
- Vid start av Android-versionen av Chrome pÄ surfplattor med stora skÀrmar begÀrs skrivbordsversionen av webbplatsen, snarare Àn mobilversionen. Beteendet kan Àndras med instÀllningen "chrome://flags/#request-desktop-site-for-tablets".
- Koden för att rendera tabeller har omarbetats, vilket löste problem med beteendeförskillnader vid tabellutskrift i Chrome och Firefox/Safari.
- Behandlingen av servercertifikat frÄn den spanska certifieringsmyndigheten Camerfirma har avslutats pÄ grund av upprepade incidenter med certifikatutfÀrdande sedan 2017. Stödet för klientcertifikat kvarstÄr, blockeringen gÀller endast för certifikat som anvÀnds pÄ webbplatser för HTTPS.
- Implementeringen av nÀtverkssegmentering för att skydda mot metoder för att spÄra anvÀndarens rörelser mellan webbplatser, baserat pÄ lagring av identifierare i omrÄden som inte Àr avsedda för permanent lagring av information («Supercookies»), har fortsatt. Eftersom resurser i cache lagras i ett gemensamt namnrymd oavsett ursprungsdomÀn, kan en webbplats upptÀcka laddning av resurser frÄn en annan webbplats genom att kontrollera om denna resurs finns i cachen. Skyddet baseras pÄ tillÀmpningen av nÀtverkssegmentering, vars kÀrna Àr att lÀgga till en ytterligare bindning av poster till domÀn, frÄn vilken huvudwebbsidan öppnades, vilket begrÀnsar rÀckvidden för cachen för spÄrningsscript endast till den aktuella webbplatsen (ett script i iframe kan inte kontrollera om resursen laddades frÄn en annan webbplats).
Kostnaden för segmentering Ă€r en minskning av cacheeffektiviteten, vilket resulterar i en obetydlig ökning av sidladdningstiden (maximalt 1,32 %, men för 80% av webbplatserna mellan 0,09-0,75%). För att testa segmenteringslĂ€get kan du starta webblĂ€saren med alternativet «âenable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey».
- En extern REST API VersionHistory (https://versionhistory.googleapis.com/v1/chrome) har lagts till, via vilken du kan fÄ information om versionerna av Chrome kopplade till plattformar och grenar samt webblÀsarens uppdateringshistorik.
- I iframes som laddas frÄn domÀner som Àr olika frÄn baswebbplatsens domÀn har utmatningen av JavaScript-dialoger alert(), confirm() och prompt() förbjudits, vilket skyddar anvÀndarna frÄn försök av externa skript att visa meddelanden som pÄstÄs vara frÄn den huvudsakliga webbplatsen.
- API WebAssembly SIMD har stabiliserats och föreslagits som standard för anvÀndning av vektorinstruktioner i formatet WebAssembly. För att sÀkerstÀlla plattformsoberoende föreslÄs en ny 128-bitars typ som kan representera olika typer av packade data och flera grundlÀggande vektoroperationer för att bearbeta packade data. SIMD möjliggör ökad prestanda genom att parallellisera databehandling och kommer att vara anvÀndbart vid kompilering av inbyggd kod till WebAssembly.
- I lÀget Origin Trials (experimentella funktioner som krÀver separat aktivering) har flera nya API:er lagts till. Origin Trial innebÀr möjlighet att arbeta med det angivna API:et frÄn applikationer som laddas frÄn localhost eller 127.0.0.1, eller efter registrering och erhÄllande av en speciell token som gÀller under en begrÀnsad tid för en specifik webbplats.
- WebTransport â ett protokoll och motsvarande JavaScript API för att skicka och ta emot data mellan webblĂ€saren och servern. Kommunikationskanalen organiseras ovanpĂ„ HTTP/3 med anvĂ€ndning av QUIC-protokollet som transport, vilket i sin tur Ă€r en överbyggnad ovanpĂ„ UDP-protokollet. Detta stödjer multiplexering av flera anslutningar och erbjuder krypteringsmetoder som motsvarar TLS/SSL.
WebTransport kan anvÀndas istÀllet för mekanismerna WebSockets och RTCDataChannel, och erbjuder ytterligare funktioner som organisering av dataöverföring i flera strömmar, enkelfunktionströmmar, leverans utan att ta hÀnsyn till paketens skickade ordning (out-of-order) samt pÄlitliga och opÄlitliga leveranslÀgen. Dessutom kan WebTransport tillÀmpas istÀllet för Server Push-mekanismen som Google avstod frÄn anvÀndning i Chrome.
- Ett deklarativt grÀnssnitt för att definiera lÀnkar till separata web-appar (PWA), aktiverat med hjÀlp av parameter capture_links i manifestfilen för web-appen, vilket gör det möjligt för webbplatser att automatiskt öppna ett nytt PWA-fönster vid klick pÄ en.app-lÀnk eller gÄ till ett en-fönsterslÀge liknande mobilappar.
- API WebXR Plane Detection har lagts till och ger information om plana ytor i en virtuell 3D-miljö. Det angivna API:et gör det möjligt att undvika resurskrÀvande databehandling frÄn MediaDevices.getUserMedia()-anropet genom att anvÀnda egna implementeringar av datorseendealgoritmer. Vi pÄminner om att WebXR API:et gör det möjligt att enhetliggöra arbetet med olika klasser av virtuella verklighetsenheter, frÄn stationÀra 3D-hjÀlmar till lösningar baserade pÄ mobila enheter.
- WebTransport â ett protokoll och motsvarande JavaScript API för att skicka och ta emot data mellan webblĂ€saren och servern. Kommunikationskanalen organiseras ovanpĂ„ HTTP/3 med anvĂ€ndning av QUIC-protokollet som transport, vilket i sin tur Ă€r en överbyggnad ovanpĂ„ UDP-protokollet. Detta stödjer multiplexering av flera anslutningar och erbjuder krypteringsmetoder som motsvarar TLS/SSL.
- Stödet för WebSockets över HTTP/2 (RFC 8441) har implementerats, vilket endast gÀller för skyddade WebSockets-förfrÄgningar och nÀr det redan finns en etablerad HTTP/2-anslutning till servern, dÀr stöd för tillÀgget "WebSockets over HTTP/2" annonseras.
- BegrÀnsningar för noggrannheten av timer-vÀrden som ges av anropet performance.now() har enhetliggjorts för alla stödda plattformar och anpassats med hÀnsyn till möjlig isolering av handlÀggare i separata processer. Till exempel har noggrannheten för behandling i icke-isolerade sammanhang pÄ skrivbordssystem minskats frÄn 5 till 100 mikrosatser.
- I sammansÀttningarna för skrivbordssystem finns det möjlighet att lÀsa filer frÄn urklipp (att skriva filer till urklippet Àr fortfarande förbjudet). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
- I CSS har regeln @counter-style implementerats, vilket gör det möjligt att definiera egna stilar för rÀknare och etiketter i numrerade listor.
- I CSS pseudo-klasserna ':host()' och ':host-context()' har möjligheten att överföra enskilda vÀrden för sammansatta selektorer () lagts till, utöver listor med selektorer ().
- Gravitationens sensorgrÀnssnitt, GravitySensor, har lagts till för att bestÀmma volymetriska (i tre koordinaxlar) data frÄn gravitationssensorn.
- I API:t för filsystemÄtkomst har möjligheten att ange rekommendationer för att vÀlja fil- och katalognamn, som erbjuds i dialogrutan för att skapa eller öppna filer, införts.
- I iframes som laddas frÄn andra domÀner tillÄts Ätkomst till API:t WebOTP nÀr anvÀndaren ger motsvarande behörigheter. WebOTP möjliggör lÀsning av engÄngskoder för bekrÀftelse som skickas via SMS.
- Det Àr nu tillÄtet att dela inloggningsuppgifter mellan webbplatser kopplade via mekanismen DAL (Digital Asset Links), vilket gör det möjligt att koppla Android-applikationer till webbplatser för att förenkla inloggningen.
- I service-arbetare Àr anvÀndning av JavaScript-moduler nu tillÄten. Genom att ange typen 'module' under anropet av konstruktorn kommer de angivna skripten att laddas som moduler och vara tillgÀngliga för import i arbetssammanhanget. Stödet för moduler underlÀttar delning av kod pÄ webbsidor och i service-arbetare.
- I JavaScript finns det nu möjlighet att kontrollera om privata fÀlt existerar i ett objekt med syntaxen '#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 Àr det som standard tillÄtet att anvÀnda nyckelordet await pÄ högsta nivÄ i moduler, vilket gör att asynkrona anrop kan integreras mer smidigt i modulernas inlÀsningsprocess utan att behöva vara inslutna i en 'async function'. Till exempel, istÀllet för (async function() { await Promise.resolve(console.log('test')); }()); kan man nu skriva await Promise.resolve(console.log('test'));
- I JavaScript-motorn V8 har effektiviteten för cachelagring av mallar förbÀttrats, vilket har ökat hastigheten pÄ Speedometer2-FlightJS-testet med 4,5%.
- En betydande mÀngd förbÀttringar har genomförts i verktyg för webbutvecklare. En ny minnesinspektionslÀge (Memory inspector) har lagts till, vilket tillhandahÄller verktyg för att undersöka ArrayBuffer- och Wasm-minnesdata.

I panelen för prestanda har en sammanfattande prestandaindikator lagts till, vilket gör det möjligt att bedöma om webbplatsen behöver optimering eller inte.

Vid förhandsvisning av bilder i panelerna Elements och nÀtverksanalys presenteras information om bildförhÄllandet, visualiseringsinstÀllningarna och filstorleken.

I nÀtverksinspektionspanelen har möjligheten att Àndra de mottagna vÀrdena för rubriken Content-Encoding lagts till.

I stilpanelen har möjligheten för snabbvisning av det berÀknade vÀrdet lagts till nÀr man navigerar i CSS-parametrarna, genom att vÀlja "View computed value" i kontextmenyn.

Förutom nya funktioner och buggfixar har 32 sÄrbarheter ÄtgÀrdats i den nya versionen. MÄnga av sÄrbarheterna upptÀcktes genom automatiserade tester med verktyg som AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer och AFL. Inga kritiska problem som tillÄter kringgÄende av alla nivÄer av webblÀsarskydd och exekvering av kod utanför sandbox-miljön har upptÀckts. Inom ramen för programmet för belöningar för att upptÀcka sÄrbarheter har Google betalat ut 21 belöningar vÀrda totalt 92 000 USD (en belöning pÄ 20 000 USD, en belöning pÄ 15 000 USD, fyra belöningar pÄ 7 500 USD, tre belöningar pÄ 5 000 USD, tre belöningar pÄ 3 000 USD, tvÄ belöningar pÄ 1 000 USD och tvÄ belöningar pÄ 500 USD). Störrelsen pÄ fem belöningar har Ànnu inte faststÀllts.
KĂ€lla: opennet.ru







