Spoločnosť Google predstavila nový release webového prehliadača Chrome 102. Zároveň je dostupný stabilný release voľného projektu Chromium, ktorý je základom pre Chrome. Prehliadač Chrome sa od Chromia líši použitím logotypov Google, systémom odosielania upozornení v prípade pádu, modulmi na prehrávanie chráneného videokontentu (DRM), systémom automatickej aktualizácie, trvalým zapnutím izolácie Sandbox, poskytovaním kľúčov k Google API a prenosom RLZ parametrov pri vyhľadávaní. Pre tých, ktorí potrebujú viac času na aktualizáciu, je samostatne podporovaná vetva Extended Stable, ktorá je sprevádzaná 8-týždňovým cyklom. Ďalší release Chrome 103 je naplánovaný na 21. júna.
Hlavné zmeny v Chrome 102:
- Na zablokovanie zraniteľností spôsobených prístupom k už uvoľneným blokom pamäte (use-after-free) sa namiesto bežných ukazovateľov začal používať typ MiraclePtr (raw_ptr). MiraclePtr poskytuje obal okolo ukazovateľov, ktorý vykonáva ďalšie kontroly prístupu k uvoľneným oblastiam pamäte a havarijne končí program v prípade zistenia takýchto prístupov. Vplyv novej metódy ochrany na výkon a spotrebu pamäte sa hodnotí ako zanedbateľný. Mechanizmus MiraclePtr nie je aplikovateľný vo všetkých procesoch, najmä sa nepoužíva v procesoch vykresľovania, ale môže významne posilniť bezpečnosť. Napríklad, v aktuálnom release bolo opravených 32 zraniteľností, z ktorých 12 spôsobila problémová trieda use-after-free.
- Zmenený dizajn rozhrania s informáciami o sťahovaní. Namiesto dolného panela s údajmi o priebehu sťahovania bol do panela s adresným riadkom pridaný nový indikátor, na ktorý kliknutím zobrazíte priebeh sťahovania súborov a históriu so zoznamom už stiahnutých súborov. Na rozdiel od dolného panela, tlačidlo je stále viditeľné v paneli a umožňuje rýchly prístup k histórii sťahovania. Nové rozhranie je zatiaľ predložené ako predvolené iba časti používateľov a bude sa šíriť na všetkých v prípade absencie problémov. Pre návrat k starému rozhraniu alebo aktiváciu nového je k dispozícii nastavenie „chrome://flags#download-bubble“.

- Pri vyhľadávaní obrázkov prostredníctvom kontextového menu („Hľadať obrázok pomocou Google Lens“ alebo „Nájsť cez Google Objekív“) sa výsledky teraz nezobrazujú na samostatnej stránke, ale v bočnej lište vedľa obsahu pôvodnej stránky (v jednom okne môžete vidieť ako obsah stránky, tak aj výsledok vyhľadávania).

- V nastaveniach v sekcii „Ochrana súkromia a bezpečnosť“ bola pridaná sekcia „Príručka k ochrane súkromia“ („Privacy Guide“), v ktorej je poskytnutý všeobecný prehľad hlavných nastavení ovplyvňujúcich súkromie s podrobným vysvetlením o vplyve každého nastavenia. Napríklad, v sekcii je možné určiť politiku odosielania údajov do služieb Google, spravovať synchronizáciu, spracovanie cookie a uchovávanie histórie. Funkcia bola navrhnutá pre časť užívateľov; na aktiváciu môžete použiť nastavenie „chrome://flags#privacy-guide“.

- Bol zabezpečený prehľad histórie vyhľadávania a navštívených stránok. Pri pokuse o opätovné vyhľadávanie v adresnom riadku sa zobrazuje upozornenie „Pokračovať v hľadaní v histórii“ („Resume your journey“), ktoré umožňuje pokračovať v hľadaní tam, kde bolo minule prerušené.

- V katalógu Chrome Web Store bola navrhnutá stránka „Extensions Starter Kit“ s počiatočnou zbierkou odporúčaných doplnkov.
- V testovacom režime bola zapnutá odosielanie na server hlavnej stránky žiadosti o potvrdenie oprávnení CORS (Cross-Origin Resource Sharing) s hlavičkou „Access-Control-Request-Private-Network: true“, v prípade kontaktu zo stránky na zdroj vo vnútornej sieti (192.168.x.x, 10.x.x.x, 172.16.x.x) alebo na localhost (128.x.x.x). Po potvrdení operácie musí server na túto žiadosť vrátiť hlavičku „Access-Control-Allow-Private-Network: true“. V verzii Chrome 102 výsledok potvrdenia ešte neovplyvňuje spracovanie žiadosti – v prípade chýbajúceho potvrdenia je v webovej konzole zobrazené upozornenie, ale samotná žiadosť na subzdroj nie je blokovaná. Aktivovanie blokovania pri absencii potvrdenia zo servera sa očakáva najskôr vo vydaní Chrome 105. Na aktivovanie blokovania vo starších verziách je možné zapnúť nastavenie „chrome://flags/#private-network-access-respect-preflight-results“.
Potvrdenie oprávnení serverom je zavedené na posilnenie ochrany pred útokmi súvisiacimi s prístupom k zdrojom v lokálnej sieti alebo na počítači používateľa (localhost) zo skriptov, ktoré sa načítajú pri otvorení stránky. Takéto požiadavky používajú útočníci na vykonávanie CSRF útokov na smerovače, prístupové body, tlačiarne, firemné webové rozhrania a ďalšie zariadenia a služby, ktoré prijímajú požiadavky iba z lokálnej siete. Na ochranu pred takýmito útokmi, v prípade prístupu k akýmkoľvek subzdrojom vo vnútornej sieti, prehliadač odošle výslovný žiadanku o oprávnenie načítania týchto subzdrojov.
- Pri otváraní odkazov v režime inkognito prostredníctvom kontextového menu je zabezpečené automatické odstránenie niektorých parametrov z URL, ktoré ovplyvňujú súkromie.
- Zmenená stratégia dodávania aktualizácií pre Windows a Android. Pre lepšie porovnanie správania novej a starej verzie sa teraz vytvára niekoľko zostáv novej verzie pre sťahovanie.
- Stabilizovaná technológia segmentácie siete na ochranu pred metódami sledovania pohybov používateľa medzi stránkami, založenými na uložení identifikátorov v oblastiach, ktoré nie sú určené na trvalé uchovávanie informácií („Supercookies“). Keďže zdroje v cache sú uložené v spoločnom priestore názvov, nezávisle od pôvodnej domény, jedna stránka môže určiť načítanie zdrojov z inej stránky pomocou overenia prítomnosti tohto zdroja v cache. Ochrana je založená na aplikácii segmentácie siete (Network Partitioning), ktorej podstatou je pridanie do spoločných cache dodatočnej väzby záznamov k doméne, z ktorého je otvorená hlavná stránka, čo obmedzuje rozsah pokrytia cache pre skripty sledovania pohybov iba aktuálnou stránkou (skript z iframe nebude môcť overiť, či bol zdroj načítaný z inej stránky). Rozdelenie stavu pokrýva sieťové pripojenia (HTTP/1, HTTP/2, HTTP/3, websocket), cache DNS, údaje ALPN/HTTP2, TLS/HTTP3, konfigurácie, načítania a informácie v hlavičke Expect-CT.
- Pre obsluhované izolované webové aplikácie (PWA, Progressive Web App) je k dispozícii možnosť zmeny vzhľadu oblasti záhlavia okna pomocou komponentov Window Controls Overlay, ktoré rozširujú zobrazovaciu plochu webovej aplikácie na celé okno. Webová aplikácia môže spravovať vykresľovanie a spracovanie vstupu v celom okne, s výnimkou prekrytej oblasti so štandardnými ovládacími prvkami okna (zatvorenie, minimalizácia, maximalizácia), čím sa zabezpečí, aby webová aplikácia vyzerala ako bežná desktopová aplikácia.

- Do systému automatického vyplňovania formulárov bola pridaná podpora generovania virtuálnych čísiel kreditných kariet v poliach s údajmi o platbe za tovar v internetových obchodoch. Použitie virtuálnej karty, ktorej číslo je generované pre každú platbu, umožňuje nezdieľať údaje o skutočnej kreditnej karte, ale vyžaduje poskytnutie potrebnej služby bankou. V súčasnosti môže túto funkciu využívať len niekoľko klientov z USA. Na spravovanie zapínania funkcie bola navrhnutá voľba „chrome://flags/#autofill-enable-virtual-card“.
- Mechanizmus „Capture Handle“ je predvolene aktivovaný a umožňuje prenášať informácie aplikáciám, ktoré zachytávajú video. API umožňuje usporiadať interakciu aplikácií, ktorých obsah sa nahráva, a aplikácií, ktoré nahrávanie vykonávajú. Napríklad aplikácia na videokonferencie, ktorá zachytáva video na vysielanie prezentácie, môže získať informácie o ovládacích prvkoch prezentácie a zobraziť ich v okne s videom.
- Podpora špekulatívnych pravidiel (Speculation rules) je predvolene zapnutá a poskytuje flexibilnú syntax na definovanie možnosti predbežného načítania súvisiacich s odkazom údajov, ktoré sa vykonávajú v štádiu predtým, než používateľ prejde na odkaz.
- Stabilizovaný mechanizmus balenia zdrojov do balíkov vo formáte Web Bundle, ktorý zvyšuje efektivitu načítania veľkého množstva sprievodných súborov (CSS štýly, JavaScript, obrázky, iframe). Na rozdiel od balíkov vo formáte Webpack má formát Web Bundle nasledujúce výhody: v HTTP cache neostáva samotný balík, ale jeho komponenty; kompilácia a vykonávanie JavaScriptu začína bez čakania na úplné načítanie balíka; povolené sú dodatočné zdroje ako CSS a obrázky, ktoré museli byť v webpacku kódované vo forme JavaScriptových reťazcov.
- Bol pridaný mechanizmus na určenie PWA aplikácie ako spracovateľa určitých MIME typov a rozšírení súborov. Po určení väzby cez pole file_handlers v manifeste, aplikácia dostane špeciálnu udalosť pri pokuse používateľa otvoriť súbor priradený k aplikácii.
- Bol pridaný nový atribút inert, ktorý umožňuje označiť časť stromu DOM ako „neaktívnu“. Pre uzly DOM v tomto stave sú zakázané spracovatele výberu textu a kurzora, t.j. CSS vlastnosti pointer-events a user-select sú vždy nastavené na hodnotu „none“. Ak bol uzol editovateľný, tak v režime inert sa stáva needitovateľným.
- Bol pridaný API Navigation, ktoré umožňuje webovým aplikáciám zachytávať navigačné operácie v okne, iniciovať prechody a analyzovať históriu akcií s aplikáciou. API poskytuje alternatívu k vlastnostiam window.history a window.location, optimalizovanú pre jednos stránkové webové aplikácie.
- Pre atribút „hidden“ bol navrhnutý nový flag „until-found“, ktorý robí prvok dostupným na vyhľadávanie na stránke a posúvanie pomocou textovej masky. Napríklad je možné pridať na stránku skrytý text, ktorého obsah sa nájde pri lokálnom vyhľadávaní.
- V API WebHID, určenom pre nízkolevelový prístup k HID zariadeniam (human interface device, klávesnice, myši, herné ovládače, touchpady) a organizáciu práce bez potreby špecifických ovládačov v systéme, bolo do objektu requestDevice() pridané vlastnosť exclusionFilters, ktoré umožňuje vylúčiť určité zariadenia pri zobrazení zoznamu dostupných zariadení prehliadačom. Napríklad je možné vylúčiť identifikátory zariadení s známymi problémami.
- Výstup platobného formulára cez volanie PaymentRequest.show() je zakázaný bez výslovnej činnosti používateľa, napríklad kliknutím na prvok, ktorý je spojený s obsluhou.
- Podpora alternatívnej implementácie protokolu SDP (Session Description Protocol), ktorý sa používa na nastavenie relácie vo WebRTC, bola ukončená. V Chrome boli navrhnuté dve varianty SDP — unifikovaná s inými prehliadačmi a špecifická pre Chrome. Odteraz ostáva iba prenosná verzia.
- Boli pridajte vylepšenia do nástrojov pre webových vývojárov. V paneli Štýly boli pridané tlačidlá na simuláciu aplikácie tmavej a svetlej témy. Vylepšená ochrana záložky Náhľad v režime inspekcie siete (zapnuté uplatnenie Content Security Policy). V ladení bola implementovaná funkcia na zastavenie vykonávania skriptu na obnovu bodov přerušenia. Navrhnutá je predbežná implementácia nového panela „Výkonnostné prehľady“, ktorý umožňuje analyzovať výkonnosť vykonávania určitých operácií na stránke.

Okrem noviniek a opráv chýb vo verzii bolo odstránených 32 zraniteľností. Mnohé z zraniteľností boli identifikované automatizovaným testovaním nástrojmi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Jednej z problémov (CVE-2022-1853) bola pridelená kritická úroveň nebezpečenstva, ktorá znamená možnosť obísť všetky úrovne ochrany prehliadača a vykonať kód v systéme mimo sandboxového prostredia. Podrobnosti k tejto zraniteľnosti zatiaľ neboli zverejnené, je známe len to, že je spôsobená prístupom k uvoľnenému bloku pamäte (use-after-free) v implementácii API Indexed DB.
V rámci programu vyplácania peňažných odmien za objavenie zraniteľností pre súčasnú verziu spoločnosť Google vyplatila 24 odmien v celkovej výške 65600 dolárov (jedna odmena 10000 $, jedna odmena 7500 $, dve odmeny 7000 $, tri odmeny 5000 $, štyri odmeny 3000 $, dve odmeny 2000 $, dve odmeny 1000 $ a dve odmeny 500 $). Veľkosť 7 odmien zatiaľ nebola určená.
Zdroj: opennet.ru






