Podjetje Google je predstavilo izdajo spletnega brskalnika Chrome 91. Hkrati je na voljo stabilna različica odprtokodnega projekta Chromium, ki je osnova za Chrome. Brskalnik Chrome se razlikuje po uporabi logotipov Google, sistemu za pošiljanje obvestil v primeru zrušitve, modulih za predvajanje zaščitenega video vsebine (DRM), sistemu za samodejno namestitev posodobitev in prenosu parametrov RLZ med iskanjem. Naslednja izdaja Chrome 92 je načrtovana za 20. julij.
Glavne spremembe v Chrome 91:
- Implementirana je možnost ustavitve izvajanja JavaScripta v zloženih skupinah zavihkov. V Chrome 85 je podpora za združevanje zavihkov v skupine, ki jih je mogoče povezati z določeno barvo in oznako. Ob klik na oznako skupine se povezani zavihki zložijo in namesto njih ostane ena oznaka (ponovni klik na oznako razširi skupino). V novi izdaji je z namenom zmanjšanja obremenitve CPU in varčevanja z energijo implementirano ustavljanje aktivnosti v zloženih zavihkih. Izjema so le zavihki, v katerih se predvaja zvok, uporablja API Web Locks ali IndexedDB, vzpostavi povezava z USB napravo, zajema video ali zvok ali vsebino oken. Sprememba se bo postopoma uvajala, začenši z manjšim odstotkom uporabnikov.
- Vključena je podpora za metodo usklajevanja ključev, odporne na izbiro s kvantnimi računalniki. Kvantni računalniki bistveno hitreje rešujejo nalogo razkrajanja naravnega števila na praštevila, ki je osnova sodobnim asimetričnim algoritmom šifriranja in učinkovito ni rešljiva na klasičnih procesorjih. Za uporabo v TLSv1.3 je na voljo vtičnik CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), ki združuje klasičen mehanizem izmenjave ključev X25519 s shemo HRSS, ki temelji na algoritmu NTRU Prime, razvit za postkvantne kripto sisteme.
- Popolnoma je prenehana podpora za protokole TLS 1.0 in TLS 1.1, ki jih je komisija IETF (Internet Engineering Task Force) razglasila za zastarele. Med drugim je odstranjena možnost vračanja TLS 1.0/1.1 skozi spremembo politike SSLVersionMin.
- V gradnjah za platformo Linux je vključena uporaba načina 'DNS čez HTTPS' (DoH, DNS over HTTPS), ki je bil prej na voljo uporabnikom Windows, macOS, ChromeOS in Android. DNS-over-HTTPS bo samodejno aktiviran za uporabnike, katerih nastavitvah so navedeni DNS-provajalci, ki podpirajo to tehnologijo (za DNS-over-HTTPS se uporablja isti provajalec, ki se je uporabljal za DNS). Na primer, če je uporabnik v sistemskih nastavitvah navedel DNS 8.8.8.8, bo v Chromu aktivirana storitev DNS-over-HTTPS podjetja Google ('https://dns.google.com/dns-query'), če bo DNS – 1.1.1.1, bo aktivirana storitev DNS-over-HTTPS podjetja Cloudflare ('https://cloudflare-dns.com/dns-query') itd.
- Na seznam prepovedanih omrežnih vrat je dodano vrata 10080, ki se uporabljajo v Amanda backup in VMWare vCenter. Prej so bila že blokirana vrata 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 in 6566. Za vrata na črnem seznamu je blokirana pošiljanje HTTP, HTTPS in FTP-izpraševanj z namenom zaščite pred napadom NAT slipstreaming, ki omogoča, da se ob odprtju posebej pripravljene napadalne spletne strani v brskalniku vzpostavi omrežno povezavo z strežnikom napadalca na katero koli UDP ali TCP vrata v uporabniškem sistemu, kljub uporabi notranjega obsega naslovov (192.168.x.x, 10.x.x.x).
- Omogočena je nastavitev samodejnega zagona ločenih spletnih aplikacij (PWA — Progressive Web Apps) ob prijavi uporabnika v sistem (Windows in macOS). Samodejni zagon se nastavi na strani chrome://apps. Funkcionalnost se trenutno testira na majhnem odstotku uporabnikov, ostali pa morajo za njeno aktivacijo omogočiti nastavitev 'chrome://flags/#enable-desktop-pwas-run-on-os-login'.
- V okviru dela na prevodu brskalnika na uporabo vključujoče terminologije je bil datoteki 'master_preferences' spremenjeno ime v 'initial_preferences'. Za ohranjanje združljivosti bo podpora 'master_preferences' še nekaj časa ostala v brskalniku. Brskalnik se je že znebil uporabe besed 'whitelist', 'blacklist' in 'native'.
- V razširjenem načinu zaščite pred nevarnimi spletnimi stranmi (Enhanced Safe Browsing), kjer so aktivirane dodatne preglede za zaščito pred ugrabitev, zlonamernimi dejavnostmi in drugimi grožnjami na spletu, je bila uvedena možnost pošiljanja prenosnih datotek za preverjanje na strani Google. Poleg tega je v Enhanced Safe Browsing omogočeno spremljanje žetonov, povezanih z Google računom, ob odkrivanju poskusov ugrabitev, ter pošiljanje vrednosti glave Referrer na Google strežnike za preverjanje preusmeritve z zlonamerne spletne strani.
- V izdaji za platformo Android je bilo izboljšano oblikovanje elementov spletnih obrazcev, ki so bili optimizirani za uporabo na zaslonih na dotik in sistemih za ljudi z omejenimi sposobnostmi (za namizne sisteme je bilo oblikovanje predelano v Chrome 83). Cilj preoblikovanja je bila unifikacija oblikovanja elementov obrazcev in odprava neskladja stilov — prej je bilo del elementov obrazcev zasnovanih v skladu z elementi vmesnika operacijskih sistemov, del pa v skladu z najbolj priljubljenimi slogi. Zaradi tega so se različni elementi različno prilegali zaslonom na dotik in sistemom za ljudi z omejenimi sposobnostmi.


- Dodana je anketa o mnenju uporabnikov, ki se prikaže ob odprtju nastavitev Privacy Sandbox (chrome://settings/privacySandbox).
- Ob zagonu Android različice Chromeda na tabličnih računalnikih z velikim zaslonom je zagotovljeno, da se zahteva različica spletne strani za namizje, namesto različice za mobilne naprave. Obnašanje lahko spremenite s pomočjo nastavitve „chrome://flags/#request-desktop-site-for-tablets“.
- Preoblikovana je koda za risanje tabel, kar je omogočilo reševanje težav z neskladjem vedenja pri prikazu tabel v Chromu in v Firefoxu/Safari.
- Obravnava strežnikovih potrdil španskega overitelja Camerfirma je prenehana zaradi ponavljajočih se incidentov od leta 2017, povezanih z kršitvami pri izdaji potrdil. Podpora za odjemalska potrdila ostaja, blokada pa se uporablja le za potrdila, ki se uporabljajo na spletnih straneh za HTTPS.
- Nadaljuje se izvajanje podpore za segmentacijo omrežja za zaščito pred metodami sledenja uporabnikovim gibanjem med spletnimi stranmi, ki temeljijo na shranjevanju identifikatorjev na področjih, namenjenih za shranjevanje informacij ("Supercookies"). Ker se vire v predpomnilniku shranjujejo v skupnem imenskem prostoru, ne glede na izvorno domeno, lahko ena stran ugotovi nalaganje virov z druge strani s preverjanjem prisotnosti tega vira v predpomnilniku. Zaščita temelji na uporabi segmentacije omrežja (Network Partitioning), katere bistvo je dodajanje dodatne povezave zapisov v skupne predpomnilnike. domeno, s katerega je bila odprta glavna stran, kar omejuje obseg pokritosti predpomnilnika za skripte sledenja gibanjem le na trenutno stran (skript iz iframe ne more preveriti, ali je bil vir naložen z druge strani).
Cena segmentacije je zmanjšanje učinkovitosti predpomnjenja, kar vodi do neznatnega povečanja časa nalaganja strani (največ 1,32 %, vendar za 80 % spletnih strani od 0,09 do 0,75 %). Za testiranje načina segmentacije lahko zaženete brskalnik z možnostjo "—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey."
- Dodana je zunanja REST API različica History (https://versionhistory.googleapis.com/v1/chrome), prek katere lahko pridobite informacije o različicah Chrome, povezanih s platformami in vejami, ter zgodovino posodobitev brskalnika.
- V iframih, naloženih z domen, ki se razlikujejo od osnovne strani, je prepovedano prikazovanje JavaScript dialogov alert(), confirm() in prompt(), kar bo uporabnike zaščitilo pred poskusi prikazovanja sporočil s strani zunanjih skriptov kot da so jih prikazali glavni spletni strani.
- Stabiliziran in ponujen kot privzeti API WebAssembly SIMD za uporabo vektorskih SIMD navodil v aplikacijah v formatu WebAssembly. Za zagotovitev platformne neodvisnosti so predlagani nov 128-bitni tip, ki lahko predstavlja različne tipe pakiranih podatkov, in nekaj osnovnih vektorskih operacij za obdelavo pakiranih podatkov. SIMD omogoča povečanje zmogljivosti z razporejanjem obdelave podatkov in bo koristen pri prevajanju naravne kode v WebAssembly.
- V načinu Origin Trials (eksperimentalne možnosti, ki zahtevajo ločeno aktivacijo) so dodani nekateri novi API-ji. Origin Trial pomeni možnost dela z določenim API-jem iz aplikacij, naloženih z localhost ali 127.0.0.1, ali po registraciji in pridobitvi posebnega žetona, ki deluje omejen čas za določeno spletno mesto.
- WebTransport — protokol in pripadajoči JavaScript API za pošiljanje in sprejemanje podatkov med brskalnikom in serverom. Kanál povezave je organiziran nad HTTP/3 z uporabo protokola QUIC kot transporta, ki je prav tako nadgradnja protokola UDP, ki podpira multiplexiranje več povezav in zagotavlja metode šifriranja, primerljive s TLS/SSL.
WebTransport se lahko uporablja namesto mehanizmov WebSockets in RTCDataChannel, ter ponuja dodatne možnosti, kot so organizacija prenosa v več tokovih, enosmerni tokovi, dostava brez upoštevanja zaporedja pošiljanja paketov (out-of-order), zanesljivi in nezanesljivi načini dostave. Poleg tega se WebTransport lahko uporablja namesto mehanizma Server Push, od katerega se je Google odločil odstopiti v Chromu.
- Deklarativni vmesnik za določanje povezav na ločena spletna aplikacija (PWA), vključen z parametrom capture_links v manifestu spletne aplikacije in omogoča spletni strani, da samodejno odpre novo PWA-okno ob kliku na povezavo aplikacije ali preide v enovčni način delovanja v skladu z mobilnimi aplikacijami.
- Dodana je bila API WebXR Plane Detection, ki nudi informacije o ravnih površinah v virtualnem 3D okolju. Ta API omogoča, da se izognemo zahtevi po obdelavi podatkov, pridobljenih preko klica MediaDevices.getUserMedia, z uporabo lastnih implementacij algoritemskega vida. Spomnimo se, da API WebXR omogoča enotno delovanje z različnimi razredi naprav, ki podpirajo virtualno resničnost, od namiznih 3D-čelad do rešitev na osnovi mobilnih naprav.
- WebTransport — protokol in pripadajoči JavaScript API za pošiljanje in sprejemanje podatkov med brskalnikom in serverom. Kanál povezave je organiziran nad HTTP/3 z uporabo protokola QUIC kot transporta, ki je prav tako nadgradnja protokola UDP, ki podpira multiplexiranje več povezav in zagotavlja metode šifriranja, primerljive s TLS/SSL.
- Uvedena je podpora za delovanje z WebSockets nad HTTP/2 (RFC 8441), ki deluje samo za zaščitene zahteve o WebSockets in pri že vzpostavljeni povezavi HTTP/2 s strežnikom, v kateri je napovedana podpora za razširitev 'WebSockets over HTTP/2'.
- Omejitve natančnosti vrednosti časovnika, ki jih daje klic performance.now(), so usklajene za vse podprte platforme in prilagojene ob upoštevanju možne izolacije obdelovalcev v ločenih procesih. Na primer, na namiznih sistemih je bila natančnost pri obdelavi v neizoliranih kontekstih zmanjšana s 5 na 100 mikrosekund.
- V paketih za namizne sisteme je omogočeno branje datotek iz odložišča (shranjevanje datotek v odložišče ostaja prepovedano). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
- V CSS je bila dodana pravila @counter-style, ki omogoča določitev lastnega sloga števcem in oznakam v oštevilčenih seznamih.
- V CSS sta psevdoklasi ‘:host()’ in ‘:host-context()’ dobili možnost prenosa posameznih vrednosti sestavljenih selektorjev () poleg seznamov selektorjev ().
- Dodano je bilo vmesnik GravitySensor za določanje tridimenzionalnih podatkov z merilnikom gravitacije.
- V API File System Access je bila dodana možnost določanja priporočil za izbiro imena datoteke in mape, ki se predlagata v pogovornem oknu za ustvarjanje ali odpiranje datoteke.
- V iframe, naloženih iz drugih domen, je bilo dovoljeno dostopanje do API WebOTP ob ustreznem dovoljenju uporabnika. WebOTP omogoča branje enkratnih potrditvenih kod, poslanih preko SMS-a.
- Dovoljena je bila skupna raba poverilnic za spletna mesta, povezana preko mehanizma DAL (Digital Asset Links), ki omogoča povezovanje aplikacij Android s spletnimi mesti za poenostavitev prijave.
- V storitvenem delavcu je bilo dovoljeno uporabljati JavaScript module. Ko se pri klicu konstruktorja določi tip ‘module’, bodo navedeni skripti naloženi v obliki modulov in dostopni za uvoz v kontekstu delavca. Podpora modulom poenostavi skupno rabo kode na spletnih straneh in v storitvenih delavcih.
- V JavaScriptu je bila omogočena preverjanje obstoja zasebnih polj v objektu, z uporabo sintakse ‘#foo in obj’. class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
- V JavaScriptu je bilo privzeto dovoljeno uporabljanje ključne besede await na vrhnji ravni modulov, kar omogoča bolj enostavno integracijo asinhronih klicev v proces nalaganja modulov, brez potrebe po zavijanju v ‘async function’. Na primer, namesto (async function() { await Promise.resolve(console.log(‘test’)); }()); zdaj lahko pišete await Promise.resolve(console.log(‘test’));
- V JavaScript motorju V8 je bila izboljšana učinkovitost predpomnjenja predlog, kar je omogočilo 4.5% povečanje hitrosti na testu Speedometer2-FlightJS.
- V orodjih za web-razvijalce je bila uvedena obsežna izboljšava. Dodan je nov način za pregled spomina (Memory inspector), ki ponuja orodja za preučevanje podatkov ArrayBuffer in spomina Wasm.

V plošči Performance je dodan povzetek kazalnika uspešnosti, ki omogoča oceno, ali spletna stran potrebuje optimizacijo ali ne.

Pri predogledu slik v plošči Elements in v analizi omrežnih zahtevkov so na voljo informacije o razmerju stranic slike, parametrih vizualizacije in velikosti datoteke.

V omrežnem inšpektorju je dodana možnost spremembe sprejetih vrednosti glave Content-Encoding.

V orodju za sloge je možen hiter pregled izračunanih vrednosti pri navigaciji po CSS parametrih, ki jih lahko izberete v kontekstnem meniju 'View computed value'.

Poleg novosti in popravkov je bila v novi različici odpravljena 32 ranljivosti. Veliko ranljivosti je bilo odkritih z automatiziranim testiranjem orodij AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Kritične težave, ki omogočajo obhod vseh nivojev zaščite brskalnika in izvajanje kode zunaj peskovnika, niso bile ugotovljene. V sklopu programa za nagrado za odkrivanje ranljivosti je podjetje Google za trenutni izdajalec podelilo 21 nagrad v skupni višini 92.000 ameriških dolarjev (ene nagrade v višini 20.000 dolarjev, ena nagrada v višini 15.000 dolarjev, štiri nagrade v višini 7.500 dolarjev, tri nagrade v višini 5.000 dolarjev, tri nagrade v višini 3.000 dolarjev, dve nagradi v višini 1.000 dolarjev in dve nagradi v višini 500 dolarjev). Vrednost 5 nagrad še ni določena.
Izvor: opennet.ru







