Tvrtka Google predstavila je izdanje web preglednika Chrome 91. Istovremeno je dostupan stabilni izlaz slobodnog projekta Chromium, koji je osnova za Chrome. Preglednik Chrome se razlikuje po upotrebi Google logotipa, sustavu slanja obavijesti u slučaju pada, modulima za reprodukciju zaštićenog video sadržaja (DRM), sustavu automatske instalacije ažuriranja i prijenosu RLZ parametara tijekom pretraživanja. Sljedeće izdanje Chrome 92 planirano je za 20. srpnja.
Glavne promjene u Chrome 91:
- Implementirana je mogućnost pauziranja izvršavanja JavaScript-a u smanjene grupe kartica. U Chrome 85 uvedena je podrška za grupiranje kartica, koje mogu biti povezane s određenom bojom i oznakom. Kada se klikne na oznaku grupe, povezane kartice se smanjuju i umjesto njih ostaje jedna oznaka (ponovni klik na oznaku proširuje grupu). U novom izdanju, s ciljem smanjenja opterećenja CPU-a i uštede energije, uvedena je pauza aktivnosti na smanjenim karticama. Izuzetak su napravljene samo za kartice koje reproduciraju zvuk, koriste API Web Locks ili IndexedDB, imaju vezu s USB uređajem, ili snimaju video, zvuk ili sadržaj prozora. Ova promjena će biti polako implementirana, počevši od malog postotka korisnika.
- Uključena je podrška za metodu usklađivanja ključeva otpornih na pokušaje otkrivanja pomoću kvantnih računala. Kvantna računala drastično brže rješavaju problem faktorizacije prirodnog broja na proste faktore, koji leži u osnovi modernih asimetričnih algoritama šifriranja i učinkovito se ne može riješiti na klasičnim procesorima. Za korištenje u TLSv1.3 dostupan je CECPQ2 plugin (Combined Elliptic-Curve and Post-Quantum 2), koji kombinira klasični mehanizam razmjene ključeva X25519 s HRSS shemom, temeljenom na NTRU Prime algoritmu, razvijenom za post-kvantne kriptosustave.
- Potpuno je prekinuta podrška za protokole TLS 1.0 i TLS 1.1, koji su klasificirani kao zastarjeli od strane IETF (Internet Engineering Task Force). Također je uklonjena mogućnost vraćanja TLS 1.0/1.1 putem izmjene politike SSLVersionMin.
- U verzijama za Linux uključena je mogućnost korištenja režima „DNS preko HTTPS” (DoH, DNS over HTTPS), koji je ranije bio dostupan korisnicima Windows, macOS, ChromeOS i Android. DNS-over-HTTPS će se automatski aktivirati za korisnike koji imaju postavljene DNS pružatelje koji podržavaju ovu tehnologiju (za DNS-over-HTTPS koristi se isti pružatelj koji se koristio za DNS). Na primjer, ako korisnik ima u sistemskim postavkama postavljen DNS 8.8.8.8, u Chromeu će se aktivirati DNS-over-HTTPS usluga Google-a („https://dns.google.com/dns-query”), dok će kod DNS-a 1.1.1.1 biti aktivirana DNS-over-HTTPS usluga Cloudflare („https://cloudflare-dns.com/dns-query”) i tako dalje.
- Na popis zabranjenih mrežnih portova dodan je port 10080, koji se koristi u Amanda backup-u i VMWare vCenter-u. Ranije su već bili blokirani portovi 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 i 6566. Za portove na crnoj listi blokira se slanje HTTP, HTTPS i FTP zahtjeva kako bi se zaštitili od napada NAT slipstreaming, koji omogućava uspostavljanje mrežne veze s napadačevog servera na bilo koji UDP ili TCP port na korisničkom sustavu prilikom otvaranja posebno pripremljene napadačev web stranice u pregledniku, bez obzira na korištenje unutarnjeg raspona adresa (192.168.x.x, 10.x.x.x).
- Omogućena je opcija za automatsko pokretanje odvojenih web aplikacija (PWA — Progressive Web Apps) prilikom prijave korisnika u sustav (Windows i macOS). Autostart se može postaviti na stranici chrome://apps. Funkcionalnost se trenutno testira na malom postotku korisnika, dok za ostale zahtijeva aktivaciju opcije „chrome://flags/#enable-desktop-pwas-run-on-os-login”.
- U okviru procesa prevođenja preglednika na korištenje inkluzivne terminologije, datoteka „master_preferences” preimenovana je u „initial_preferences”. Kako bi se osigurala kompatibilnost, podrška za „master_preferences” zadržat će se u pregledniku još neko vrijeme. Preglednik se ranije već oslobodio upotrebe riječi „whitelist”, „blacklist” i „native”.
- U proširenom režimu zaštite od opasnih web stranica (Enhanced Safe Browsing), u kojem su aktivirane dodatne provjere za zaštitu od phishinga, zlonamjernih aktivnosti i drugih prijetnji na mreži, omogućeno je slanje preuzetih datoteka na provjeru s Googleove strane. Osim toga, u Enhanced Safe Browsing implementirano je praćenje tokena povezanih s Google računom prilikom otkrivanja pokušaja phishinga, kao i slanje na Googleove servere vrijednosti zaglavlja Referrer radi provjere proslijeđivanja s zlonamjerne web stranice.
- U verziji za Android platformu unaprijeđen je dizajn elemenata web obrazaca, koji su optimizirani za korištenje na dodirnim ekranima i sustavima za osobe s invaliditetom (za stolna računala dizajn je ažuriran u Chrome 83). Cilj redizajna bio je unifikacija dizajna elemenata obrazaca i uklanjanje nesukladnosti stilova - ranije su neki elementi obrazaca bili projektirani prema elementima sučelja operativnih sustava, dok su drugi sljedili najpopularnije stilove. Zbog toga su različiti elementi različito odgovarali za dodirne ekrane i sustave za osobe s invaliditetom.


- Dodana je anketa o mišljenju korisnika koja se prikazuje nakon otvaranja postavki Privacy Sandbox (chrome://settings/privacySandbox).
- Prilikom pokretanja Android verzije Chromea na tabletima s velikim ekranima osigurava se zahtjev za desktop verzijom stranice, a ne verzijom za mobilne uređaje. Oponašanje ponašanja može se promijeniti pomoću postavke "chrome://flags/#request-desktop-site-for-tablets".
- Preuređen je kod za iscrtavanje tablica, što je omogućilo rješavanje problema s nesukladnošću ponašanja pri prikazu tablica u Chromeu i u Firefoxu/Safariu.
- Obrađivanje serverskih certifikata španjolskog certifikacijskog tijela Camerfirma prekinuto je zbog ponovljenih incidenata od 2017. godine koji se odnose na kršenje prilikom izdavanja certifikata. Podrška za klijentske certifikate ostaje, a blokiranje se primjenjuje samo na certifikate koji se koriste na stranicama za HTTPS.
- Nastavljena je implementacija podrške za segmentaciju mreže kako bi se zaštitili od metoda praćenja kretanja korisnika između stranica, koje se temelje na pohrani identifikatora u područjima koja nisu namijenjena za trajno pohranjivanje informacija («Supercookies»). Budući da se resursi u predmemoriji pohranjuju u zajedničkom imenskom prostoru, neovisno o izvornom domenu, jedna stranica može odrediti učitavanje resursa s druge stranice provjerom prisutnosti tog resursa u predmemoriji. Zaštita se temelji na primjeni segmentacije mreže (Network Partitioning), čija je suština dodavanje u zajednički korištene predmemorije dodatne povezanosti zapisa s domen, s kojeg je otvorena glavna stranica, što ograničava područje pokrivanja predmemorije za skripte praćenja kretanja samo na trenutnu stranicu (skripta iz iframea neće moći provjeriti je li resurs učitan s druge stranice).
Cijena segmentacije je smanjenje učinkovitosti predmemoriranja, što dovodi do neznatnog povećanja vremena učitavanja stranice (maksimalno 1,32%, ali za 80% stranica između 0,09-0,75%). Za testiranje načina segmentacije možete pokrenuti preglednik s opcijom «—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey».
- Dodana je vanjska REST API VersionHistory (https://versionhistory.googleapis.com/v1/chrome), preko koje se mogu dobiti informacije o verzijama Chrome povezanima s platformama i granama, kao i povijest ažuriranja preglednika.
- U iframeima učitanim s domena različitih od domene osnovne stranice, zabranjen je ispis JavaScript dijaloga alert(), confirm() i prompt(), što će zaštititi korisnike od pokušaja ispravnog prikazivanja poruka od strane vanjske skripte kao da je obavijest ispisana od glavne stranice.
- Stabiliziran i predložen kao zadani API WebAssembly SIMD za korištenje vektorskih SIMD instrukcija u aplikacijama u formatu WebAssembly. Za osiguranje platforme neovisnosti predlažu se novi 128-bitni tip koji može predstavljati različite tipove pakiranih podataka, kao i nekoliko osnovnih vektorskih operacija za obradu pakiranih podataka. SIMD omogućava povećanje performansi rasporedom obrade podataka i bit će koristan pri kompilaciji nativnog koda u WebAssembly.
- U režimu Origin Trials (eksperimentalne mogućnosti koje zahtijevaju zasebnu aktivaciju) dodano je nekoliko novih API-ja. Origin Trial podrazumijeva mogućnost rada s navedenim API-jima iz aplikacija učitanih s localhosta ili 127.0.0.1, ili nakon prolaska registracije i dobivanja specijalnog tokena koji djeluje ograničeno vrijeme za određenu stranicu.
- WebTransport — protokol i pripadajući JavaScript API za slanje i primanje podataka između preglednika i serverom. Kanal komunikacije se organizira iznad HTTP/3 koristeći protokol QUIC kao transport, koji je, pak, nadogradnja na protokol UDP, podržavajući multipleksiranje više veza i osiguravajući metode enkripcije ekvivalentne TLS/SSL.
WebTransport se može koristiti umjesto mehanizama WebSockets i RTCDataChannel, nudeći dodatne mogućnosti, kao što su organizacija višestrukog prijenosa, jednosmjerni tokovi, isporuka bez obzira na redoslijed slanja paketa (out-of-order), pouzdani i nepouzdani načini isporuke. Osim toga, WebTransport se može koristiti umjesto mehanizma Server Push, od kojeg se Google povukao u Chromeu.
- Deklarativni interfejs za definiranje veza na samostalne web-aplikacije (PWA), koji se aktivira putem parametra capture_links u manifestu web-aplikacije i omogućava stranicama automatsko otvaranje novog PWA-prozora kada se klikne na vezu aplikacije ili prelazak u jednovezni način rada, slično mobilnim aplikacijama.
- Dodana je API WebXR Plane Detection, koji pruža informacije o ravnim površinama u virtualnom 3D okruženju. Ovaj API omogućava izbjegavanje resursno zahtjevne obrade podataka dobivenih putem poziva MediaDevices.getUserMedia, koristeći vlastite implementacije algoritama računalnog vida. Podsjećamo, API WebXR omogućuje unifikaciju rada s različitim klasama uređaja virtualne stvarnosti, od stacionarnih 3D headsetova do rješenja temeljenih na mobilnim uređajima.
- WebTransport — protokol i pripadajući JavaScript API za slanje i primanje podataka između preglednika i serverom. Kanal komunikacije se organizira iznad HTTP/3 koristeći protokol QUIC kao transport, koji je, pak, nadogradnja na protokol UDP, podržavajući multipleksiranje više veza i osiguravajući metode enkripcije ekvivalentne TLS/SSL.
- Implementirana je podrška za rad s WebSockets iznad HTTP/2 (RFC 8441), koja vrijedi samo za zaštićene zahtjeve prema WebSockets te u prisutnosti već uspostavljene veze s poslužiteljem HTTP/2, u kojoj je najavljena podrška za proširenje «WebSockets over HTTP/2».
- Ograničenja preciznosti vrijednosti timera, dobivenih pozivom performance.now(), unificirana su za sve podržane platforme i prilagođena s obzirom na moguću izolaciju rukovatelja u zasebnim procesima. Na primjer, na desktop sustavima, preciznost obrade u neizoliranim kontekstima smanjena je s 5 na 100 mikrosekundi.
- U verzijama za stolna računala omogućeno je čitanje datoteka iz međuspremnika (zapisivanje datoteka u međuspremnik i dalje je zabranjeno). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
- U CSS-u je uvedeno pravilo @counter-style koje omogućuje definiranje vlastitog stila brojača i oznaka u numeriranim popisima.
- U CSS-u za pseudo-klase «:host()» i «:host-context()» dodana je mogućnost prijenosa pojedinačnih vrijednosti složenih selektora () uz liste selektora ().
- Dodano je sučelje GravitySensor za određivanje prostornog (u tri osi koordinata) podataka s senzora gravitacije.
- U API-ju File System Access omogućena je definicija preporuka za izbor imena datoteka i direktorija, koje se nude u dijalogu za stvaranje ili otvaranje datoteka.
- U učitanim iframe-ima s drugih domena omogućeno je pristupanje API-ju WebOTP uz odgovarajuće ovlasti korisnika. WebOTP omogućava čitanje jednokratnih kodova potvrde poslanih putem SMS-a.
- Omogućeno je zajedničko korištenje vjerodajnica za web stranice povezane putem mehanizma DAL (Digital Asset Links), koji omogućava povezivanje Android aplikacija s web stranicama radi olakšavanja prijave.
- U Service workeru dopušteno je korištenje JavaScript modula. Kada se navede tip ‘module’ prilikom poziva konstruktora, navedeni skripti će se učitati u obliku modula i bit će dostupni za uvoz u kontekstu worker-a. Podrška za module olakšava zajedničko korištenje koda na web stranicama i u Service worker-ima.
- U JavaScript-u je omogućena provjera postojanja privatnih polja u objektu koristeći sintaksu «#foo in obj». class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
- U JavaScript-u je omogućena upotreba ključne riječi await na vrhu razine u modulima, što omogućava lakšu integraciju asinkronih poziva u proces učitavanja modula, izbjegavajući potrebu za omatanjem u «async function». Na primjer, umjesto (async function() { await Promise.resolve(console.log(‘test’)); }()); sada se može pisati await Promise.resolve(console.log(‘test’));
- U JavaScript motoru V8 poboljšana je učinkovitost predmemoriranja predložaka, što je omogućilo povećanje brzine izvršavanja testa Speedometer2-FlightJS za 4.5%.
- Uveden je značajan broj poboljšanja u alatima za web razvoj. Dodan je novi način inspekcije memorije (Memory inspector) koji omogućava analizu podataka ArrayBuffer i memorije Wasm.

U panelu Performance dodan je sažetak indikatora performansi koji omogućava procjenu treba li web stranica optimizaciju ili ne.

Pri pregledu slika u panelu Elements i u panelu analize mrežnih zahtjeva pružene su informacije o omjeru stranica slike, parametrima vizualizacije i veličini datoteke.

U panelu za inspekciju mreže dodana je opcija promjene prihvaćenih vrijednosti zaglavlja Content-Encoding.

U panelu za rad sa stilovima dodana je opcija brzog pregleda izračunate vrijednosti prilikom navigacije kroz CSS parametre, biranjem opcije 'View computed value' iz kontekstualnog izbornika.

Osim novih funkcionalnosti i ispravaka grešaka, nova verzija uklanja 32 ranjivosti. Mnoge od ranjivosti otkrivene su automatiziranim testiranjem pomoću alata kao što su AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nisu otkrivene kritične greške koje omogućavaju zaobilaženje svih razina zaštite preglednika i izvršavanje koda u sustavu izvan sandbox okruženja. U okviru programa isplate novčanih nagrada za otkrivanje ranjivosti za ovu verziju, kompanija Google isplatila je 21 nagradu u ukupnom iznosu od 92,000 dolara (jedna nagrada od 20,000 dolara, jedna nagrada od 15,000 dolara, četiri nagrade od 7,500 dolara, tri nagrade od 5,000 dolara, tri nagrade od 3,000 dolara, dvije nagrade od 1,000 dolara i dvije nagrade od 500 dolara). Iznos 5 nagrada još nije utvrđen.
Izvor: opennet.ru







