Spoločnosť Google predstavila vydanie webového prehliadača Chrome 105. Zároveň je k dispozícii stabilná verzia otvoreného projektu Chromium, ktorý je základom pre Chrome. Prehliadač Chrome sa od Chromium líši použitím loga Google, prítomnosťou systému zasielania upozornení pri páde, modulmi na prehrávanie obsahu chráneného pred kopírovaním (DRM), systémom automatickej inštalácie aktualizácií, neustálou aktiváciou izolácie Sandbox, dodávaním kľúčov do Google API a prenosom RLZ-parametrov pri vyhľadávaní. Pre tých, ktorí potrebujú viac času na aktualizáciu, sa samostatne podporuje vetva Extended Stable, ktorá je sprevádzaná 8 týždňami. Ďalšie vydanie Chrome 106 je naplánované na 27. septembra.
Hlavné zmeny v Chrome 105:
- Podpora špecializovaných webových aplikácií Chrome Apps bola ukončená, pričom ich nahradili samostatné webové aplikácie na báze technológie Progressive Web Apps (PWA) a štandardných Web API. Pôvodne Google oznámil svoj zámer vzdať sa Chrome Apps už v roku 2016 a plánoval ukončiť ich podporu do roku 2018, ale neskôr tento plán odložil. V Chrome 105 sa pri pokuse o inštaláciu aplikácií Chrome Apps zobrazí upozornenie na ukončenie ich podpory, ale samotné aplikácie budú naďalej fungovať. V Chrome 109 bude možnosť spúšťať Chrome Apps vypnutá.
- Bola zabezpečená dodatočná izolácia procesu „renderer“, ktorý zodpovedá za vykresľovanie. Tento proces teraz funguje v dodatočnom kontajneri (App Container), implementovanom nad existujúcim systémom sandboxovej izolácie. V prípade zneužitia zraniteľnosti v kóde vykresľovania pridané obmedzenia zabránia útočníkovi získať prístup k sieti, a to vďaka zákazu prístupu k systémovým volaniam týkajúcim sa sieťových možností.
- Bolo implementované vlastné unifikované úložisko koreňových certifikátov certifikačných autorít (Chrome Root Store). Nové úložisko zatiaľ nie je predvolene zahrnuté a do ukončenia zavádzania sa certifikáty naďalej overujú s využitím špecifického úložiska pre každú operačnú sústavu. Testované riešenie pripomína prístup spoločnosti Mozilla, ktorá podporuje osobitné nezávislé úložisko koreňových certifikátov pre Firefox, používané ako prvý článok na overenie reťazca dôvery certifikátov pri otváraní stránok cez HTTPS.
- Prípravy na ukončenie podpory API Web SQL, ktorý nie je štandardizovaný, málo sa používa a vyžaduje prestavbu na splnenie moderných bezpečnostných požiadaviek, sa začali. V Chrome 105 je zakázaný prístup k Web SQL z kódu načítaného bez použitia HTTPS, a do DevTools bola pridaná výstraha o zastaraní technológie. V roku 2023 plánujú API Web SQL odstrániť. Pre vývojárov, ktorým je takáto funkčnosť nevyhnutná, bude pripravená náhrada založená na WebAssembly.
- V Chrome je ukončená podpora synchronizácie s Chrome 73 a staršími verziami.
- Pre platformy macOS a Windows bol aktivovaný vstavaný prehliadač certifikátov, ktorý nahradil volanie rozhrania poskytovaného operačným systémom. Predtým sa vstavaný prehliadač používal iba v zostaveniach pre Linux a ChromeOS.
- Do verzie pre platformu Android boli pridané nastavenia na správu API „Topics & Interest Group“, propagovaného v rámci iniciatívy Privacy Sandbox a umožňujúceho definovať kategórie záujmov používateľa a používať ich namiesto sledovacích súborov cookie na vytváranie skupín používateľov so spoločnými záujmami bez identifikácie jednotlivých používateľov. V minulom vydaní boli podobné nastavenia pridané do verzií pre Linux, ChromeOS, macOS a Windows.
- Po aktivácii rozšírenej ochrany prehliadača (Safe Browsing > Enhanced protection) sa implementoval zber telemetrie o nainštalovaných doplnkoch, prístupe k API a pripojení k externým webovým stránkam. Tieto údaje sa používajú na serveroch Google na identifikáciu škodlivej činnosti a porušovania pravidiel doplnkov prehliadača.
- Možnosť používať ne-ASCII znaky v doménach uvádzaných v hlavičke Cookie bola presunutá do kategórie zastaraných a bude zablokovaná v vydaní Chrome 106 (pre IDN domény je potrebné uvádzať domény vo formáte punycode). Zmena privedie prehliadač do súladu s požiadavkami RFC 6265bis a správaním realizovaným vo Firefoxe.
- Navrhnuté API Custom Highlight je určené na náhodné zmenu štýlu zvýraznených oblastí textu a umožňuje neobmedzovať sa na pevnú štylizáciu poskytnutú prehliadačom pre zvýraznené oblasti (::selection, ::inactive-selection) a zvýraznenie gramatických chýb (::spelling-error, ::grammar-error). V prvej verzii API sa podporuje zmena farby textu a pozadia pomocou pseudoelementov color a background-color, ale v budúcnosti budú pridané aj ďalšie možnosti prispôsobenia štýlu.
Ako príklad úloh, ktoré je možné vyriešiť pomocou nového API, sa spomína pridanie do webových rámcov, ktoré poskytujú nástroje na úpravu textu, vlastné mechanizmy zvýraznenia textu, rôznu formu zvýraznenia pri súčasnom spoluúprave viacerými používateľmi, vyhľadávanie vo virtualizovaných dokumentoch a označovanie chýb pri kontrole pravopisu. Kým predtým na vytvorenie nestandardného zvýraznenia boli potrebné zložité manipulácie s DOM, API Custom Highlight poskytuje hotové operácie na pridávanie a odstraňovanie zvýraznení, ktoré neovplyvňujú štruktúru DOM a aplikujú štýly viazané na objekty Range.
- V CSS bol pridaný dopyt „@container“, ktorý umožňuje formovať štýl prvkov v závislosti od veľkosti rodičovského prvku. „@container“ pripomína dopyty „@media“, ale aplikuje sa nie na veľkosť celej viditeľnej oblasti, ale na veľkosť bloku (kontajnera), do ktorého je prvok umiestnený, čo umožňuje nastaviť pre podriadené prvky vlastnú logiku výberu štýlu, nezávislú od toho, na akom mieste na stránke je prvok umiestnený.

- Pridaný CSS-pseudoklas «:has()» na kontrolu prítomnosti podriadeného prvku v rodičovskom. Napríklad «p:has(span)» pokrýva prvky <p>, v ktorých sa nachádza prvok <span>.
- Bol pridaný API HTML Sanitizer, ktorý umožňuje odstraňovať z obsahu prvky, ktoré ovplyvňujú zobrazenie a vykonávanie pri výstupe pomocou metódy setHTML(). API môže byť užitočné na čistenie prichádzajúcich dát z vonku na predmet odstraňovania HTML-tagov, ktoré môžu byť použité na vykonanie XSS útokov.
- Bola poskytnutá možnosť používania API Streams (ReadableStream) na odosielanie fetch-dopytov pred tým, ako sa načíta telo odpovede, t.j. je možné začať odosielanie dát bez čakania na dokončenie generovania stránky.
- Pre prepočítaných samostatných webových aplikácií (PWA, Progressive Web App) bola poskytnutá možnosť zmeny vzhľadu oblasti hlavičky okna pomocou komponentov Window Controls Overlay, ktoré rozširujú zobrazenie webovej aplikácie na celé okno a umožňujú webovej aplikácii vyzerať ako bežná desktopová aplikácia. Webová aplikácia môže spravovať vykresľovanie a spracovanie vstupu vo všetkých oblastiach okna, s výnimkou prekrytej oblasti so štandardnými ovládacími tlačidlami okna (zatvorenie, minimalizovanie, maximalizovanie).

- Bola stabilizovaná možnosť prístupu k Media Source Extensions z dedikovaných worker-ov (v kontexte DedicatedWorker), čo sa môže použiť napríklad na zvýšenie výkonu vyrovnávacieho prehrávania multimediálnych dát vytvorením objektu MediaSource v samostatnom worker-e a prenosom výsledkov jeho činnosti do HTMLMediaElement v hlavnom vlákne.
- V API Client Hints, ktoré sa vyvíja ako náhrada za hlavičku User-Agent a umožňuje selektívne poskytovať údaje o konkrétnych parametroch prehliadača a systému (verzia, platforma atď.) iba na základe požiadavky serverom, bola pridaná podpora vlastnosti Sec-CH-Viewport-Height, ktorá umožňuje získať informácie o výške viditeľnej oblasti. Bol zmenený formát zápisu pre určenie v tagu „meta“ parametrov Client Hints pre externé zdroje: Bolo: Stalo sa:
- Bola pridaná možnosť vytvárať globálne obsluhovače udalostí onbeforeinput (document.documentElement.onbeforeinput), pomocou ktorých môžu webové aplikácie prispôsobiť správanie pri editovaní textu v blokoch ,
- Boli rozšírené možnosti 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. Boli pridané nové metódy intercept() na zachytenie prechodu a scroll() na posúvanie na zadanú pozíciu.
- Bol pridaný statický metóda Response.json(), ktorá umožňuje vytvárať telo odpovede na základe dát s typom JSON.
- Boli vykonané vylepšenia nástrojov pre webových vývojárov. V debuggery je povolené upravovať horné položky zo zásobníka funkcií, bez prerušenia ladacieho sedenia. V paneli Recorder, ktorý slúži na nahrávanie, prehrávanie a analýzu akcií užívateľa na stránke, bola implementovaná podpora bodov prerušenia, krokového prehrávania a nahrávania udalostí pohybu myši.
Do panela analýzy výkonnosti boli pridané metriky LCP (Largest Contentful Paint) na identifikáciu oneskorení pri vykresľovaní veľkých (užívateľovi viditeľných) prvkov v zornom poli, ako sú obrázky, videá a blokové elementy. V paneli Elements bola implementovaná označenie horných vrstiev zobrazovaných nad iným obsahom špeciálnou ikonkou. Pre WebAssembly bola poskytnutá možnosť nahrávania ladacích údajov vo formáte DWARF.
Okrem noviniek a opráv chýb boli v novej verzii odstránené 24 zraniteľností. Mnohé z týchto 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 sandboxového prostredia. V rámci programu na vyplácanie finančných odmien za zistenie zraniteľností za aktuálny release vyplatila spoločnosť Google 21 prémií v celkovej sume 60500 dolárov (jedna prémia $10000, jedna prémia $9000, jedna prémia $7500, jedna prémia $7000, dve prémií $5000, štyri prémií $3000, dve prémií $2000 a jedna prémia $1000). Výška siedmich odmien zatiaľ nebola určená.
Zdroj: opennet.ru


