Spoločnosť Google predstavila vydanie webového prehliadača Chrome 104. Zároveň je k dispozícii stabilné vydanie otvoreného projektu Chromium, ktoré je základom pre Chrome. Prehliadač Chrome sa od Chromia líši používaním logotypov Google, systémom zasielania oznámení v prípade pádu, modulmi na prehrávanie videa chráneného proti kopírovaniu (DRM), systémom automatickej inštalácie aktualizácií, neustálym zapínaním Sandbox-izolácie, dodávkou kľúčov na Google API a prenosom RLZ-parametrov pri vyhľadávaní. Pre tých, ktorí potrebujú viac času na aktualizáciu, sa osobitne podporuje vetva Extended Stable s dĺžkou podpory 8 týždňov. Nasledujúce vydanie Chrome 105 je naplánované na 30. augusta.
Hlavné zmeny v Chrome 104:
- Bola zavedená maximálna doba platnosti cookie — všetky nové alebo aktualizované cookie sa budú automaticky odstraňovať po 400 dňoch existencie, aj keď nastavený čas vypršania prostredníctvom atribútov Expires a Max-Age presahuje 400 dní (pre takéto cookie bude životnosť skrátená na 400 dní). Cookie vytvorené pred zavedením obmedzenia si uchovajú svoju životnosť, aj keď presahuje 400 dní, avšak budú obmedzené v prípade aktualizácie. Zmena odráža nové požiadavky uvedené v návrhu novej špecifikácie.
- Bola zahrnutá blokácia prístupu z iframe na URL, ktoré odkazujú na lokálny súborový systém („filesystem://“).
- Na zrýchlenie načítavania stránok bola pridaná nová optimalizácia, ktorá zabezpečuje nadviazanie spojenia s cieľovým hostiteľom v momente kliknutia na odkaz, bez čakania na uvoľnenie tlačidla alebo zbavenie prsta z dotykovej plochy.
- Pridané nastavenia na správu API „Topics & Interest Group“, propagovaného v rámci iniciatívy Privacy Sandbox, ktoré umožňujú definovať kategórie záujmov používateľa a použiť ich namiesto sledovacích cookie na rozdelenie skupín používateľov so spoločnými záujmami bez identifikácie jednotlivých používateľov. Okrem toho boli pridané jednokolové informačné dialógy, ktoré používateľovi objasňujú podstatu technológie a ponúkajú možnosť aktivovať jej podporu v nastaveniach.
- Zvýšili sa prahové hodnoty pre obmedzenie vnorených volaní časovačov setTimeout a setInterval, spustených s intervalom menším než 4 ms („setTimeout(…, <4ms)“). Celkový limit na takéto volania sa zvýšil z 5 na 100, čo umožňuje agresívne neobmedzovať jednotlivé volania, ale zároveň brániť zneužitiu, ktoré by mohlo ovplyvniť výkon prehliadača.
- Bola povolená odosielanie na server hlavného webu požiadavky na overenie oprávnení CORS (Cross-Origin Resource Sharing) s hlavičkou „Access-Control-Request-Private-Network: true“, v prípade, že sa stránka obracia na subzdroj vo vnútornej sieti (192.168.x.x, 10.x.x.x, 172.16-31.x.x) alebo na localhost (127.x.x.x). Pri potvrdení operácie na odpoveď na túto požiadavku by mal server vrátiť hlavičku „Access-Control-Allow-Private-Network: true“. V verzii Chrome 104 zatiaľ výsledok potvrdenia neovplyvňuje spracovanie žiadosti — v prípade absencie potvrdenia sa v webovej konzole zobrazuje varovanie, ale samotná požiadavka subzdroja nie je zablokovaná. Aktivácia blokovania pri absencii potvrdenia sa servera očakáva najskôr v vydaní Chrome 107. Na aktiváciu blokovania v starších vydaniach je možné aktivovať 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.
- Bol pridaný mechanizmus Region Capture, ktorý umožňuje orezávanie nadbytočného obsahu z videa, vytvorené na základe zachytenia obrazovky. Napríklad pomocou API getDisplayMedia môže webová aplikácia usporiadať prenos videa so obsahom tabuľky a Region Capture umožňuje vystrihnúť časť obsahu, ktorá zahŕňa ovládacie prvky videokonferencie.
- Bola pridaná podpora nového syntaktického zápisu mediálnych dopytov definovaných v špecifikácii Media Queries Level 4, ktoré určujú minimálnu a maximálnu veľkosť zobrazenia (viewport). Nový syntaktický zápis umožňuje používať bežné matematické porovnávacie operátory a logické operátory, ako „not“, „or“ a „and“. Napríklad namiesto „@media (min-width: 400px) { … }“ je teraz možné uvádzať „@media (width >= 400px) { … }“.
- Do režimu Origin Trials (experimentálne funkcie, ktoré vyžadujú samostatnú aktiváciu) bolo pridaných niekoľko nových API. Origin Trial umožňuje prístup k uvedenému API z aplikácií načítaných z localhost alebo 127.0.0.1, alebo po registrácii a získaní špeciálneho tokenu, ktorý platí obmedzený čas pre konkrétnu stránku.
- Bola pridaná vlastnosť CSS „focusgroup“ na zlepšenie navigácie medzi prvkami pomocou šípok ovládania kurzora na klávesnici.
- V API Secure Payment Confirmation je pridaná možnosť vypnúť ukladanie údajov kreditných kariet používateľom. Na zobrazenie dialogu, ktorý umožňuje odmietnuť ukladanie údajov kreditných kariet, je v konštruktore PaymentRequest() predpokladaná vlajka „showOptOut: true“.
- Pridané API Shared Element Transitions, ktoré umožňuje plynulý prechod medzi rôznymi zobrazeniami obsahu v jednopageových webových aplikáciách.
- Stabilizovaná podpora špekulatívnych pravidiel (Speculation rules), ktoré umožňujú autorom stránok poskytnúť prehliadaču informácie o najpravdepodobnejších stránkach, na ktoré môže používateľ prejsť. Prehliadač využíva tieto informácie na predbežné načítanie a vykreslenie obsahu stránok.
- Stabilizovaný mechanizmus balenia subrersoúr s balíkmi 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 súčasti; kompilácia a vykonávanie JavaScriptu začína bez čakania na úplné načítanie balíka; umožňuje zahrnúť ďalšie zdroje, ako sú CSS a obrázky, ktoré by museli byť v webpacku zakódované ako JavaScriptové reťazce.
- Pridané CSS vlastnosť object-view-box, ktorá umožňuje určiť časť obrázka, ktorá bude zobrazená v oblasti namiesto zadaného prvku, čo sa dá využiť napríklad na pridanie orámovania alebo tieňa.
- Pridané API Fullscreen Capability Delegation, ktoré umožňuje jednému objektu Window preniesť druhému objektu Window právo na vyvolanie requestFullscreen().
- Pridané API Fullscreen Companion Window, ktoré umožňuje umiestniť obsah na celej obrazovke a vyskakujúce okná na iný displej po získaní potvrdenia od používateľa.
- Do CSS vlastnosti overflow-clip-margin bol pridaný atribút visual-box, ktorý určuje, odkiaľ by sa mala začať rezanie obsahu presahujúceho okraj oblasti (môže prijať hodnoty content-box, padding-box a border-box).
- Do API Async Clipboard bola pridaná možnosť definovať špecializované formáty pre prenášané údaje cez clipboard, odlišné od textu, obrázkov a textu s formátovaním.
- WebGL podporuje určenie farebného priestoru pre vykresľovací buffer a konverziu pri importe z textúry.
- Podpora platforiem OS X 10.11 a macOS 10.12 bola ukončená.
- Podpora API U2F (Cryptotoken), ktoré bolo predtým vyhlásené za zastarané a je predvolene vypnuté, bola ukončená. Nahradilo ho API Web Authentication.
- V nástrojoch pre webových vývojárov došlo k vylepšeniam. Do ladenia bola pridaná možnosť reštartovať kód od začiatku funkcie po dosiahnutí bodu zlomu v tele funkcie. Bola pridaná podpora pre vývoj doplnkov pre panel Recorder. Do panela na analýzu výkonu bola pridaná podpora vizualizácie značiek, ktoré sú stanovené v webovej aplikácii cez volanie metódy performance.measure(). Zlepšili sa odporúčania pri automatickom dopĺňaní vlastností objektov JavaScript. Pri automatickom dopĺňaní CSS premenných je zabezpečený náhľad hodnôt, ktoré nie sú spojené s farbami.

Okrem noviniek a opravy chýb bola v novej verzii odstránená 27 zraniteľností. Mnohé z zraniteľností boli identifikované prostredníctvom automatizovaného testovania nástrojmi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Neboli zistené kritické problémy, ktoré by umožnili obísť všetky úrovne ochrany prehliadača a vykonať kód v systéme mimo prostredia sandbox. V rámci programu poskytovania finančných odmien za odhalenie zraniteľností spoločnosť Google vyplatila 22 odmien v celkovej výške 84 tisíc dolárov (jedna odmena $15000, jedna odmena $10000, jedna odmena $8000, jedna odmena $7000, štyri odmeny $5000, jedna odmena $4000, tri odmeny $3000, štyri odmeny $2000 a tri odmeny $1000). Veľkosť jednej odmeny zatiaľ nebola určená.
Zdroj: opennet.ru

