Google har presenterat utgÄvan av webblÀsaren Chrome 90. Samtidigt finns den stabila versionen av det fria projektet Chromium tillgÀnglig, som utgör grunden för Chrome. WebblÀsaren Chrome kÀnnetecknas av anvÀndningen av Googles logotyper, ett system för att skicka meddelanden vid krasch, moduler för att spela upp skyddat videoinnehÄll (DRM), ett system för automatisk installation av uppdateringar och överföring av RLZ-parametrar vid sökning. NÀsta utgÄva av Chrome 91 Àr planerad till den 25 maj.
Huvudsakliga förÀndringar i Chrome 90:
- För alla anvÀndare har standardöppningen av webbplatser via HTTPS aktiverats nÀr man skriver in vÀrdnamn i adressfÀltet. Till exempel, nÀr man skriver in vÀrden example.com kommer webbplatsen https://example.com att öppnas som standard, och om det uppstÄr problem vid öppningen kommer det att göras en ÄtergÄng till http://example.com. För att hantera standardanvÀndning av "https://" har instÀllningen "chrome://flags#omnibox-default-typed-navigations-to-https" föreslagits.
- Möjligheten att tilldela olika etiketter till fönster för att visuellt skilja dem Ät pÄ skrivbordspanelen har genomförts. Stödet för att Àndra fönsternamn förenklar arbetsorganisationen nÀr man anvÀnder separata webblÀsarfönster för olika uppgifter, till exempel nÀr man öppnar separata fönster för arbetsuppgifter, personliga intressen, underhÄllning, sparade material osv. Namnet Àndras via punkt "LÀgg till fönsternamn" i den kontextmeny som visas genom att högerklicka pÄ ett tomt omrÄde i flikfÀltet. Efter namnbytet visas det valda namnet i programpanelen istÀllet för namnet pÄ webbplatsen i den aktiva fliken, vilket kan vara anvÀndbart nÀr man öppnar samma webbplatser i olika fönster kopplade till separata konton. Kopplingen sparas mellan sessionerna och efter en omstart av fönstret kommer valda namn att ÄterstÀllas.

- Möjligheten att dölja «LÀslista» utan att behöva Àndra instÀllningar i «chrome://flags» («chrome://flags#read-later») har lagts till. För att dölja det kan du nu anvÀnda alternativet «Show Reading List» lÀngst ner i kontextmenyn som visas nÀr du högerklickar pÄ bokmÀrkesfÀltet. Vi pÄminner om att i förra versionen visades en andra knapp «LÀgg till i lÀslista» för vissa anvÀndare nÀr de klickade pÄ stjÀrnan i adressfÀltet, och i det högra hörnet av bokmÀrkesfÀltet dyker upp menyn «LÀslista» dÀr alla tidigare tillagda sidor listas. NÀr en sida öppnas frÄn listan markeras den som lÀst. Sidor i listan kan Àven manuellt markeras som lÀsta eller olÀsta eller tas bort frÄn listan.
- Stöd för nĂ€tverkssegmentering har lagts till för att skydda mot metoder som spĂ„rar 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»). Eftersom cachade resurser lagras i ett gemensamt namnutrymme, oavsett ursprungsdomĂ€nen, kan en webbplats avgöra om resurser frĂ„n en annan webbplats har laddats genom att kontrollera om denna resurs finns i cachen. Skyddet bygger pĂ„ anvĂ€ndning av nĂ€tverkssegmentering, vars kĂ€rna Ă€r att lĂ€gga till ytterligare bindning av poster till domĂ€n, frĂ„n vilken huvudsidan öppnas, vilket begrĂ€nsar rĂ€ckvidden av cachen för spĂ„rningsskript endast till den aktuella webbplatsen (ett skript frĂ„n iframe kan inte kontrollera om resursen laddades frĂ„n en annan webbplats). Kostnaden för segmenteringen Ă€r en minskning av cacheeffektiviteten, vilket leder till en obetydlig ökning av sidladdningstiden (maximalt 1,32 %, men för 80 % av webbplatserna mellan 0,09â0,75 %).
- Svartlistan över nÀtverksportar har uppdaterats för att blockera avsÀndning av HTTP-, HTTPS- och FTP-förfrÄgningar för att skydda mot NAT slipstreaming-attacker, vilket gör det möjligt att etablera en nÀtverksanslutning vid öppnandet av en av de attackerande förberedda webbsidorna i webblÀsaren. servern en angripare till valfri UDP- eller TCP-port i anvÀndarens system, oavsett anvÀndningen av interna adressintervall (192.168.x.x, 10.x.x.x). Portarna 554 (RTSP-protokoll) och 10080 (som anvÀnds i Amanda-backup och VMWare vCenter) har lagts till i den förbudna portlistan. Tidigare blockerades redan portarna 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 och 6566.
- Initialt stöd för att öppna PDF-dokument med XFA-formulÀr i webblÀsaren har lagts till.
- För en del anvÀndare har den nya instÀllningssektionen "Chrome Settings > Privacy and security > Privacy sandbox" aktiverats, vilket gör det möjligt att hantera instÀllningar för FLoC API, som syftar till att faststÀlla anvÀndarens intressekategori utan individuell identifiering och utan koppling till besökshistorik för specifika webbplatser.
- Ett mer förstÄeligt meddelande med en lista över godkÀnda ÄtgÀrder har tillhandahÄllits, som visas nÀr en anvÀndare ansluter till en profil med centraliserad hantering aktiverad.
- GrÀnssnittet för begÀran om behörighet har gjorts mindre pÄtrÀngande. BegÀrningar som anvÀndaren antagligen inte kommer att godkÀnna blockeras automatiskt med en motsvarande indikator i adressfÀltet, som gör det möjligt för anvÀndaren att gÄ till grÀnssnittet för behörighetsadministration kopplad till varje webbplats.

- Stöd för Intel CET (Intel Control-flow Enforcement Technology) har införts för hÄrdvaruskydd mot exploater som bygger pÄ tekniker för ÄtervÀndande-orienterad programmering (ROP, Return-Oriented Programming).
- Arbetet med att översÀtta webblÀsaren till att anvÀnda inkluderande terminologi har fortsatt. Filen "master_preferences" har döpts om till "initial_preferences" för att inte sÄra kÀnslorna hos anvÀndare som uppfattar ordet master som en anspelning pÄ sina förfÀders tidigare slaveri. För att sÀkerstÀlla kompatibilitet kommer stödet för "master_preferences" att kvarstÄ i webblÀsaren ett tag till. WebblÀsaren har tidigare redan blivit av med anvÀndningen av orden "whitelist", "blacklist" och "native".
- I Android-versionen, nÀr data-sparlÀget "Lite" aktiveras, minskas bithastigheten vid videouppspelning över mobilnÀt, vilket gör att kostnaderna för anvÀndare med datakostnadsplaner kan sÀnkas. I "Lite"-lÀget komprimeras Àven bilder som hÀmtas frÄn offentligt tillgÀngliga resurser (som inte krÀver autentisering) via HTTPS.
- En AV1-videokodare har lagts till, speciellt optimerad för anvÀndning i videokonferenser som byggs pÄ WebRTC-protokollet. AnvÀndningen av AV1 i videokonferenser förbÀttrar kompressionseffektiviteten och möjliggör överföring pÄ kanaler med en hastighet pÄ 30 kbit/s.
- I JavaScript har objekten Array, String och TypedArrays fÄtt en metod at(), som tillÄter relativ indeksiering (dÀr indexet Àr den relativa positionen), inklusive negativa vÀrden i förhÄllande till slutet (till exempel "arr.at(-1)" returnerar det sista elementet i arrayen).
- I JavaScript för reguljĂ€ra uttryck har egenskapen ".indices" lagts till, som innehĂ„ller en array med start- och slutpositionerna för matchande grupper. Egenskapen fylls endast om det reguljĂ€ra uttrycket körs med flaggan "\/d". const re = \/(a)(b)\/d; const m = re.exec(âabâ); console.log(m.indices[0]); \/\/ 0 â alla matchande grupper \/\/ â [0, 2] console.log(m.indices[1]); \/\/ 1 â första matchande gruppen \/\/ â [0, 1] console.log(m.indices[2]); \/\/ 2 â andra matchande gruppen \/\/ â [1, 2]
- Prestanda för egenskaperna "super" (till exempel super.x) har optimerats, dÀr inline-cache anvÀnds. Prestandan för anvÀndning av "super" Àr nu nÀra prestandan för Ätkomst till vanliga egenskaper.
- Anropet av WebAssembly-funktioner frĂ„n JavaScript har betydligt snabbsatsats genom anvĂ€ndning av inline-utveckling. Denna optimering förblir för nĂ€rvarande experimentell och krĂ€ver aktivering med flaggan "âturbo-inline-js-wasm-calls".
- API WebXR Depth Sensing har lagts till, vilket gör det möjligt att mÀta avstÄndet mellan objekten i anvÀndarens omgivning och anvÀndarens enhet, till exempel för att skapa mer realistiska applikationer för augmented reality. Vi pÄminner om att API WebXR gör det möjligt att standardisera arbetet med olika klasser av virtuella verklighetsenheter, frÄn stationÀra 3D-headset till lösningar som baseras pÄ mobila enheter.
- Möjligheten för WebXR AR Lighting Estimation har stabiliserats, vilket gör det möjligt att bestÀmma parametrarna för det omgivande ljuset i WebXR-sessioner för augmented reality, vilket ger modellerna ett mer naturligt utseende och en mer harmonisk integration med anvÀndarens omgivning.
- Flera nya API har lagts till i Origin Trials-lÀget (experimentella funktioner som krÀver separat aktivering), som Ànnu Àr begrÀnsade till Android-plattformen. Origin Trial innebÀr att man kan arbeta med det angivna API:et frÄn appar som laddats ner frÄn localhost eller 127.0.0.1, eller efter registrering och erhÄllande av en speciell token som Àr giltig under en begrÀnsad tid för en specifik webbplats.
- Metoden getCurrentBrowsingContextMedia() gör det möjligt att organisera fÄngst av videoströmmar i MediaStream som speglar innehÄllet pÄ den aktuella fliken. Till skillnad frÄn den liknande metoden getDisplayMedia() visas en enkel dialog för anvÀndaren för att bekrÀfta eller blockera videoöverföringen frÄn flikens innehÄll nÀr getCurrentBrowsingContextMedia() anropas.
- API Insertable Streams gör det möjligt att manipulera rÄa (raw) multimediaflöden som överförs via API MediaStreamTrack, som data frÄn kamera och mikrofon, resultatet av skÀrmfÄngst eller mellanresultat av avkodning av en codec. För att representera rÄa bilder anvÀnds WebCodec-grÀnssnitt, varefter en ström bildas, liknande den som API WebRTC Insertable Streams genererar utifrÄn RTCPeerConnections. Ur praktisk synvinkel möjliggör det nya API:et funktioner som att tillÀmpa maskininlÀrningsmetoder för att identifiera eller annotera objekt i realtid eller för att lÀgga till effekter, sÄsom bakgrundsavskÀrning, före kodning eller efter avkodning av en codec.
- Möjlighet att paketera resurser i paket (Web Bundle) för att organisera en mer effektiv nedladdning av mÄnga tillhörande filer (CSS-stilar, JavaScript, bilder, iframe). Bland nackdelarna med den befintliga stödet för paket av JavaScript-filer (webpack) som man försöker ÄtgÀrda i Web Bundle: i HTTP-cachen kan sjÀlva paketet sitta kvar, men inte dess komponenter; kompileringen och körningen kan börja först efter att hela paketet har laddats; ytterligare resurser, som CSS och bilder, mÄste kodas i form av JavaScript-strÀngar, vilket leder till ökad storlek och utförande av ytterligare en tolkningssteg.
- Stöd för undantagshantering i WebAssembly.
- API Declarative Shadow DOM har stabiliserats för att skapa nya rotgrenar i Shadow DOM, till exempel för att separera importerat tredjepartsstil för elementet och den relaterade undergrenen av DOM frÄn huvuddokumentet. Det föreslagna deklarativa API:t tillÄter att lossa DOM-grenar enbart med HTML utan behov av att skriva JavaScript-kod.
- I CSS-egenskapen aspect-ratio, som tillÄter att tydligt koppla aspektsförhÄllandet till vilket element som helst (för automatisk berÀkning av den saknade storleken nÀr endast höjd eller bredd anges), har möjligheten till interpolering av vÀrden vid animationer (smidig övergÄng frÄn ett aspektsförhÄllande till ett annat) implementerats.
- Möjlighet att spegla tillstÄndet för egna HTML-element (custom element) i CSS genom pseudoklass " :state()". Funktionaliteten har genomförts pÄ liknande sÀtt som normala HTML-element kan Àndra sitt tillstÄnd beroende pÄ anvÀndarinteraktion.
- I CSS-egenskapen "appearance" har stöd för vÀrdet 'auto' lagts till, vilket som standard stÀlls in för <input type=color> och <select>, och pÄ Android-plattformen dessutom för <input type=date>, <input type=datetime-local>, <input type=month>, <input type=time> och <input type=week>.
- CSS-egenskapen «overflow» har fÄtt stöd för vÀrdet «clip», vilket innebÀr att innehÄll som strÀcker sig utanför blockets grÀnser skÀrs av vid grÀnsen för tillÄten överflöde av blocket utan möjlighet till rullning. VÀrdet som bestÀmmer hur lÄngt innehÄllet kan strÀcka sig utanför den faktiska blockgrÀnsen innan det börjar skÀras av anges genom den nya CSS-egenskapen «overflow-clip-margin». JÀmfört med «overflow: hidden» ger anvÀndningen av «overflow: clip» högre prestanda.


- Den nya HTTP-headern Permissions-Policy har ersatt den tidigare Feature-Policy för att hantera delegering av befogenheter och aktivering av avancerade funktioner, med stöd för strukturerade vÀrden i fÀlten (till exempel kan du nu ange «Permissions-Policy: geolocation=()» istÀllet för «Feature-Policy: geolocation 'none'»).
- Skyddet mot anvÀndning av Protocol Buffers för att genomföra attacker orsakade av spekulativ körning av instruktioner i processorer har förstÀrkts. Skyddet implementerades genom att lÀgga till MIME-typen «application/x-protobuffer» till listan över MIME-typer som aldrig fÄr sniffas, vilket hanteras genom mekanismen Cross-Origin-Read-Blocking. Tidigare har MIME-typen «application/x-protobuf» redan lagts till i en sÄdan lista, men «application/x-protobuffer» hade blivit utelÀmnad.
- I API:et File System Access har möjligheten att förflytta den aktuella positionen i filen bortom dess slut med nollfyllning av det skapade gapet vid efterföljande skrivning via anropet FileSystemWritableFileStream.write() implementerats. Denna funktion gör det möjligt att skapa sparsame filer med hÄl och förenklar i stor utstrÀckning organiseringen av skrivning i filen med oregelbundet inflöde av datablock (till exempel anvÀnds detta i BitTorrent).
- En konstruktor för StaticRange har lagts till med implementering av lÀtta typer av Range, som inte krÀver att alla relaterade objekt uppdateras vid varje förÀndring av DOM-trÀdet.
- Möjlighet att ange parametrarna width och height för elementen <source>, som anges inuti elementet <picture>. Denna funktion gör det möjligt att beräkna förhållandet mellan bredd och höjd för elementen <picture>, på liknande sätt som det görs för <img>, <canvas> och <video>.
- Den icke-standardiserade stöd för RTP-datakommunikationskanaler (RTP Data Channels) har tagits bort frÄn WebRTC, och istÀllet rekommenderas det att anvÀnda SCTP-baserade datakanaler.
- Egenskaperna navigator.plugins och navigator.mimeTypes returnerar nu alltid ett tomt vÀrde (efter att stödet för Flash upphört finns det ingen behov av dessa egenskaper).
- En stor mÀngd smÄ förbÀttringar har gjorts i verktygen för webbutvecklare och ett nytt verktyg för CSS flexbox-felsökning har lagts till.

Förutom nyheter och buggfixar har 37 sÄrbarheter ÄtgÀrdats i den nya versionen. MÄnga av sÄrbarheterna identifierades genom automatiserad testning med verktygen AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer och AFL. Inga kritiska problem som tillÄter att alla skyddsnivÄer i webblÀsaren kringgÄs och kod körs i systemet utanför sandbox-miljön har upptÀckts. Inom ramen för belöningsprogrammet för upptÀckta sÄrbarheter för den aktuella versionen har Google betalat ut 19 belöningar pÄ totalt 54000 USD (en belöning pÄ 20000 USD, en pÄ 10000 USD, tvÄ pÄ 5000 USD, tre pÄ 3000 USD, en pÄ 2000 USD, en pÄ 1000 USD och fyra pÄ 500 USD). Storleken pÄ 6 belöningar har Ànnu inte faststÀllts.
Enligt uppgift var det möjligt att notera att igĂ„r, efter att den korrigerande utgĂ„van 89.0.4389.128 hade skapats, men före lanseringen av Chrome 90, publicerades en annan exploit som utnyttjade en ny 0-dagars sĂ„rbarhet som inte Ă„tgĂ€rdades i Chrome 89.0.4389.128. Det Ă€r fortfarande oklart om detta problem har Ă„tgĂ€rdats i Chrome 90. Precis som i det första fallet omfattar exploiten endast en sĂ„rbarhet och innehĂ„ller ingen kod för att kringgĂ„ sandbox-isoleringen (nĂ€r Chrome körs med flaggan "âno-sandbox" kan exploiten vid öppnande av webbsidan pĂ„ Windows-plattformen starta notepad). Den sĂ„rbarhet som Ă€r kopplad till den nya exploiten berör teknologin WebAssembly.
KĂ€lla: opennet.ru





