Podjetje Google je predstavilo izdajo spletnega brskalnika Chrome 102. Hkrati je na voljo stabilna izdaja odprtokodnega projekta Chromium, ki predstavlja osnovo za Chrome. Brskalnik Chrome se od Chromiuna razlikuje po uporabi logotipov Google, prisotnosti sistema za pošiljanje obvestil v primeru zrušitve, modulih za predvajanje zaščitenih vsebin (DRM), sistemu samodejne namestitve posodobitev, stalni vključenosti izolacije Sandbox ter dostavi ključev za Google API in prenosu RLZ-parametrov pri iskanju. Za tiste, ki potrebujejo več časa za posodobitev, se posebej podpira veja Extended Stable, ki traja 8 tednov. Naslednja izdaja Chrome 103 je načrtovana za 21. junij.
Glavne spremembe v Chrome 102:
- Za blokiranje izkoriščanja ranljivosti, ki nastanejo zaradi dostopa do že sproščenih blokov pomnilnika (use-after-free), se namesto običajnih kazalcev začne uporabljati tip MiraclePtr (raw_ptr). MiraclePtr ponuja zavetje nad kazalci, ki izvaja dodatne preglede dostopov do sproščenih območij pomnilnika in nujno konča delo v primeru odkritja takšnih dostopov. Vpliv nove metode zaščite na zmogljivost in porabo pomnilnika se ocenjuje kot zanemarljiv. Mehanizem MiraclePtr se ne uporablja v vseh procesih, zlasti se ne uporablja v procesih risanja, lahko pa znatno okrepi varnost. Na primer, v trenutni izdaji je bilo 32 odpravljenih ranljivosti, od katerih je bilo 12 povzročeno s težavami vrste use-after-free.
- Spremenjen je bil vmesnik, ki prikazuje informacije o prenosih. Namesto spodnje vrstice z podatki o napredku prenosa je v vrstico z naslovno vrstico dodan nov indikator, ob kliku na katerega se prikaže napredek prenosov in zgodovina s seznamom že prenesenih datotek. V nasprotju s spodnjo vrstico se gumb stalno prikazuje na vrsti in omogoča hiter dostop do zgodovine prenosov. Novi vmesnik je zaenkrat predlagan privzeto le nekaterim uporabnikom in bo razširjen na vse v primeru odsotnosti težav. Za vrnitev starega vmesnika ali vklop novega je predvidena nastavitev „chrome://flags#download-bubble“.

- Ko iskanju slik prek kontekstnega menija ("Search image with Google Lens" ali "Najti prek Google Lens") se rezultati zdaj prikazujejo ne na ločeni strani, ampak v stranski vrstici poleg vsebine izvorne strani (v enem oknu je hkrati vidna tako vsebina strani kot tudi rezultat iskanja).

- V nastavitvah v razdelku "Zasebnost in varnost" je dodan razdelek "Vodnik po zasebnosti" ("Privacy Guide"), ki ponuja splošen pregled glavnih nastavitev, ki vplivajo na zasebnost, s podrobnimi pojasnili o vplivu vsake nastavitve. Na primer, v razdelku lahko določite politiko pošiljanja podatkov v storitve Google, upravljate s sinhronizacijo, obdelavo piškotkov in shranjevanje zgodovine. Funkcija je na voljo nekaterim uporabnikom, aktivirate pa jo lahko z nastavitvijo "chrome://flags#privacy-guide".

- Zgodovina iskanja in ogledane strani je strukturirana. Pri poskusu ponovnega iskanja v naslovni vrstici se prikaže namig "Nadaljuj iskanje v zgodovini" ("Resume your journey"), ki omogoča nadaljevanje iskanja z mesta, kjer je bilo prejšnjič prekinjeno.

- V katalogu Chrome Web Store je na voljo stran "Extensions Starter Kit" z začetno izbiro priporočenih razširitev.
- V testnem načinu je vključeno pošiljanje na strežnik glavne spletne strani zahteve za potrditev pooblastil CORS (Cross-Origin Resource Sharing) z glavo "Access-Control-Request-Private-Network: true", v primeru dostopa s strani do vira v notranjem omrežju (192.168.x.x, 10.x.x.x, 172.16.x.x) ali do localhost (128.x.x.x). Ob potrditvi operacije mora strežnik v odgovoru na to zahtevo vrniti glavo "Access-Control-Allow-Private-Network: true". V različici Chrome 102 rezultat potrditve še ne vpliva na obdelavo zahteve — v primeru pomanjkanja potrditve se v spletni konzoli prikaže opozorilo, vendar sama zahteva podresursa ni blokirana. Vključitev blokiranja v primeru pomanjkanja potrditve s strežnika se pričakuje ne prej kot v različici Chrome 105. Za vključitev blokiranja v starejših različicah lahko aktivirate nastavitev "chrome://flags/#private-network-access-respect-preflight-results".
Potrditev pooblastil serverom je uvedena za okrepitev zaščite pred napadi, povezanimi z dostopom do virov v lokalnem omrežju ali na računalniku uporabnika (localhost) iz skript, ki se nalagajo ob odpiranju spletnega mesta. Takšne zahteve se izkoriščajo s strani napadalcev za izvajanje CSRF napadov na usmerjevalnike, dostopne točke, tiskalnike, korporativne spletne vmesnike in druge naprave ter storitve, ki sprejemajo zahteve le iz lokalnega omrežja. Za zaščito pred takšnimi napadi bo brskalnik v primeru dostopa do vseh podresursov v notranjem omrežju poslal eksplicitno zahtevo za pooblastilo za nalaganje teh podresursov.
- Ob odpiranju povezav v načinu inkognito prek kontekstnega menija se samodejno odstranijo nekateri parametri iz URL-ja, ki vplivajo na zasebnost.
- Strategija dostave posodobitev za Windows in Android je bila spremenjena. Za bolj popolno primerjavo vedenja nove in stare različice se zdaj oblikuje več gradiv nove različice za prenos.
- Tehnologija segmentacije omrežja je bila stabilizirana za zaščito pred metodami sledenja uporabnikovemu gibanju med spletnimi stranmi, ki temeljijo na shranjevanju identifikatorjev na področjih, ki niso namenjena trajnemu shranjevanju informacij („Supercookies“). Ker so v predpomnilniku shranjeni v skupnem imenskem prostoru neodvisno od izvorne domene, lahko ena spletna stran ugotovi prenos virov z druge spletne strani s preverjanjem prisotnosti tega vira v predpomnilniku. Zaščita temelji na uporabi segmentacije omrežja (Network Partitioning), ki dodaja dodatno vezavo zapisov na domeno, s katerega je odprta prvotna stran, kar omejuje obseg pokritosti predpomnilnika za skripte sledenja gibanju le na trenutno spletno stran (skript iz iframe ne more preveriti, ali je bil vir prenesen z druge spletne strani). Ločitev stanja pokriva omrežne povezave (HTTP/1, HTTP/2, HTTP/3, websocket), DNS predpomnilnik, podatke ALPN/HTTP2, TLS/HTTP3, konfiguracijo, prenose in informacije v glavi Expect-CT.
- Ustaljeni samostojni spletni aplikaciji (PWA, Progressive Web App) je bila dodana možnost spremembe oblikovanja območja glave okna z komponentami Window Controls Overlay, ki razširijo zaslonsko območje spletne aplikacije na celotno okno. Spletna aplikacija lahko upravlja z upodabljanjem in obdelavo vnosa v vsem oknu, razen s prekrivanjem bloka s privzetimi gumbi za upravljanje okna (zapiranje, minimiziranje, maksimiziranje), da aplikaciji doda videz običajne namizne aplikacije.

- V sistem samodejnega izpolnjevanja obrazcev je bila dodana podpora za generiranje virtualnih številk kreditnih kartic v poljih za podatke o plačilu v spletnih trgovinah. Uporaba virtualne kartice, katere številka se generira za vsak plačilo, omogoča, da ne delimo podatkov o pravi kreditni kartici, vendar zahteva zagotavljanje potrebne storitve s strani banke. Trenutno lahko to funkcijo uporabljajo le stranke nekaterih bank v Združenih državah. Za upravljanje vključitve funkcije je bila predlagana nastavitev „chrome://flags/#autofill-enable-virtual-card“.
- Privzeto je aktiviran mehanizem "Capture Handle", ki omogoča prenos informacij aplikacijam, ki zajemajo video. API omogoča organizacijo interakcije med aplikacijami, katerih vsebina je posneta, in aplikacijami, ki izvajajo snemanje. Na primer, aplikacija za videokonference, ki zajema video za prenos predstavitve, lahko pridobi informacije o kontrolah predstavitve in jih prikaže v video oknu.
- Privzeto je omogočena podpora spekulativnim pravilom (Speculation rules), ki nudijo fleksibilno sintakso za določanje možnostih predhodnega nalaganja podatkov, povezanih s povezavo, ki se izvajajo pred prehodom uporabnika na povezavo.
- Stabiliziran je mehanizem pakiranja virov v pakete v formatu Web Bundle, ki povečuje učinkovitost nalaganja številnih spremljajočih datotek (CSS slogi, JavaScript, slike, iframe). V nasprotju s paketi v formatu Webpack, format Web Bundle ponuja naslednje prednosti: v HTTP predpomnilniku se shranjujejo ne paketi, temveč njihove sestavne dele; kompilacija in izvajanje JavaScript se začne brez čakanja na popolno nalaganje paketa; omogoča vključitev dodatnih virov, kot so CSS in slike, ki bi bile v webpacku kodirane v obliki JavaScript nizov.
- Omogočeno je določanje PWA aplikacije kot obdelovalca določenih MIME tipov in končnic datotek. Po določeni povezavi preko polja file_handlers v manifestu, bo aplikacija prejela posebno dogodke, ko bo uporabnik poizkušal odpreti datoteko, povezano z aplikacijo.
- Dodana je nova atribut inert, ki omogoča označevanje dela drevesa DOM kot "neaktivnega". Za DOM vozlišča v tem stanju so onemogočeni obravnave izbire besedila in drsenja, torej so CSS lastnosti pointer-events in user-select vedno nastavljene na 'none'. Če je vozlišče dovoljevalo urejanje, postane v režimu inert neureditelno.
- Dodana je API Navigation, ki omogoča spletnim aplikacijam, da prestrežejo operacije navigacije v oknu, sprožijo prehod in analizirajo zgodovino dejanj z aplikacijo. API nudi alternativo lastnostima window.history in window.location, optimiziranim za enostranske spletne aplikacije.
- Za atribut «hidden» je predlagana nova zastavica «until-found», ki omogoča iskanje elementov na strani in pomikanje po besedilni maski. Na primer, na stran lahko dodate skrito besedilo, katerega vsebina bo na voljo pri lokalnem iskanju.
- V API-ju WebHID, namenjenem nizkemu dostopu do HID naprav (človeški vmesniki, tipkovnice, miške, igralne konzole, sledilne plošče) in organizaciji delovanja brez specifičnih gonilnikov v sistemu, je objektu requestDevice() dodana lastnost exclusionFilters, ki omogoča izključitev določenih naprav pri prikazu seznama razpoložljivih naprav v brskalniku. Na primer, lahko izključite identifikatorje naprav, za katere so znane težave.
- Izvedba obrazca za plačilo preko klica PaymentRequest.show() je prepovedana brez izrecnega dejanja uporabnika, na primer klika na element, povezan z obravnavo.
- Podpora alternativni implementaciji protokola SDP (Session Description Protocol), ki se uporablja za vzpostavljanje seje v WebRTC, je prenehala. V Chromu so bile predlagane dve različni različici SDP - standardizirana z drugimi brskalniki in specifična za Chrome. Od sedaj naprej ostaja le prenosljiva različica.
- Izboljšave so bile vključene v orodja za spletne razvijalce. V nadzorni plošči Styles so dodane gumbe za simulacijo uporabe temne in svetle teme. Okrepljena je zaščita zavihka Preview v načinu inšpekcije omrežja (vklopljena uporaba Content Security Policy). V debuggerju je implementirano zaključevanje izvajanja skript za ponovno nalaganje točk prekinitve. Predlagana je bila predhodna izvedba nove nadzorne plošče „Performance insights“, ki omogoča analizo učinkovitosti določenih operacij na strani.

Poleg novosti in popravkov napak nova različica odpravlja 32 ranljivosti. Mnoge od ranljivosti so bile odkrite z uporabo avtomatiziranega testiranja s orodji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Ena izmed težav (CVE-2022-1853) je bila označena kot kritična, kar pomeni, da obstaja možnost obhoda vseh ravni zaščite brskalnika in izvajanje kode v sistemu zunaj sandbox okolja. Podrobnosti o tej ranljivosti doslej niso razkrite, znano pa je, da je povzročena z dostopom do sproščenega bloka pomnilnika (use-after-free) v implementaciji API Indexed DB.
V okviru programa za izplačilo denarnih nagrad za odkrivanje ranljivosti v trenutni različici je podjetje Google izplačalo 24 nagrad v skupni vrednosti 65600 USD (ena nagrada 10000 USD, ena nagrada 7500 USD, dve nagradi 7000 USD, tri nagrade 5000 USD, štiri nagrade 3000 USD, dve nagradi 2000 USD, dve nagradi 1000 USD in dve nagradi 500 USD). Velikosti 7 nagrad še niso določene.
Izvor: opennet.ru






