Společnost Google zveřejnila verzi webového prohlížeče Chrome 135. Současně je k dispozici stabilní vydání svobodného projektu Chromium, které tvoří základ pro Chrome. Prohlížeč Chrome se od Chromia liší použitím loga Google, systémem odesílání notifikací v případě havárie, moduly pro přehrávání chráněného videa (DRM), systémem automatického aktualizování, trvalým zapnutím Sandbox izolace, poskytováním klíčů k Google API a odesíláním RLZ parametrů během vyhledávání. Pro ty, kteří potřebují více času na aktualizaci, je odděleně udržována větev Extended Stable, která má podporu na 8 týdnů. Další vydání Chrome 136 je naplánováno na 29. dubna.
Hlavní změny v Chrome 135:
- Byla přidána ochrana proti skryté identifikaci uživatelů pomocí HSTS cache (HTTP Strict Transport Security). HSTS umožňuje webům při přístupu přes HTTP přesměrovat uživatele na HTTPS. Během práce se název hostitele, který je uveden prostřednictvím HSTS, uchovává ve vnitřní cache, což umožňuje používat přítomnost nebo nepřítomnost hostitele v cache k uložení jednoho bitu informace.
Pro skryté uložení 32bitového identifikátoru uživatele lze použít pole 32 obrázků dodávaných z různých hostitelů přes HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg atd.). Určení identifikátoru probíhá kontrolou, z jakých hostitelů byly obrázky načteny přes HTTPS, a z jakých přes HTTP (pokud byly obrázky dříve doručené přes HTTP a následně přesměrovány na HTTPS pomocí HSTS, pak při dalších požadavcích budou načteny ihned přes HTTPS, bez volání přes HTTP). Ochrana byla omezena na povolení aktualizace HSTS pouze pro zdroje nejvyšší úrovně a blokaci aktualizace HSTS v požadavcích subzdrojů.
- Byl přidán lokálně prováděný model strojového učení pro zlepšení detekce přítomnosti na stránkách formulářů pro zadání hesla a automatickou změnu hesla. Pokud je heslo označeno jako kompromitované, při pokusu o přihlášení s tímto heslem na webu Chrome zobrazí varování s nabídkou na změnu hesla. Při souhlasu prohlížeč vygeneruje heslo odolné proti hrubému přístupu, změní heslo na webu a uloží nové heslo do správce hesel – AI automaticky vyplní a odešle potřebné webové formuláře na daném webu a aktualizuje uložené heslo.
- Do režimu rozšířené ochrany prohlížeče (Bezpečné procházení > Rozšířená ochrana) byla přidána možnost využití velkého jazykového modelu pro určení podvodných stránek na základě jejich obsahu. AI model běží na straně klienta, ale v případě podezření na problematický obsah se provádí dodatečná kontrola na serverech Google. Pokud je dodatečná kontrola potvrzena, uživateli se zobrazí varování. Kontrola se zatím provádí pouze pro stránky, které používají API Keyboard Lock.
- U uživatelů, kteří připojili Chrome ke svému účtu Google, se objevila možnost ukládat instalované rozšíření do svého Google účtu pro následné automatické využití těchto rozšíření na všech počítačích, které uživatel používá.
- U uživatelů, kteří se nedávno připojili k účtu Google nebo používají synchronizaci Chrome, je zajištěno ukládání synchronizovaných nastavení, zástupců webů a motivů odděleně od místních nastavení. Takže po vypnutí synchronizace Chrome na zařízení zůstanou původní nastavení, a při připojení k Google se nenahrávají místní nastavení.
- V verzi pro Android byla ukončena podpora zabudovaného správce hesel, který byl nahrazen jednotným Google Password Manager, dodávaným přes Google Play. Uživatelé mohou uložit obsah starého správce hesel ve formátu CSV pro přenos do jiných správců hesel.
- V režimu inkognito byla implementována neodpojitelná blokace třetích stran Cookie prováděná na straně prohlížeče při přístupu na weby, které nejsou domény aktuální stránkou (takové Cookie se používají pro sledování pohybu uživatele mezi weby v kódu reklamních sítí, widgetů sociálních sítí a systémů webové analytiky). Možnost řízení blokace třetích stran Cookie na straně webů zůstává beze změny, ale v prohlížeči nastavení BlockThirdPartyCookies v režimu inkognito již nelze nastavit na hodnotu false.
- Do CSS byly přidány pseudo-elementy „::column“, „::scroll-button“, „::scroll-marker“ a „::scroll-marker-group“, pomocí kterých lze realizovat rolování ve formě karuselu.
- Byly implementovány HTML atributy „command“ a „commandfor“, které lze používat u tlačítek místo atributů „popovertargetaction“ a „popovertarget“ pro deklarativní nastavení interakce s nabídkou vyvolanou stiskem tlačítka. Při použití nových atributů veškerou logiku interakce s nabídkou přebírá prohlížeč, což eliminuje potřebu připojování vlastních zpracovatelů v JavaScriptu. Například pro vytvoření rozbalovací nabídky stačí uvést: <button commandfor="»my-menu»" command="»show-popover»">Otevřít nabídku</button> <div popover id="»my-menu»"> … </div>
- Do CSS byla přidána funkce shape(), která umožňuje vytvářet tvary s použitím CSS vlastností clip-path a offset-path. Funkce shape() podporuje příkazy pro formování tvarů ekvivalentní funkci path(), ale umožňuje používat standardní syntaxi CSS.
- V API Web Speech, který poskytuje funkce pro syntézu a rozpoznávání řeči, byla přidána podpora rozhraní MediaStreamTrack pro zpracování zvuku přicházejícího z různých zdrojů, včetně externích zvukových stop. Dříve API Web Speech mohlo zpracovávat pouze zvuk přicházející přes vybraný výchozí mikrofon.
- V JavaScriptu byla přidána podpora typovaných polí Float16Array, určených pro uchovávání hodnot s typem Float16.
- Bylo přidáno API Observable pro zpracování toků událostí asynchórně. API umožňuje přihlásit se k objektu pro příjem událostí, jakmile přicházejí, a deklarativně popsat proud transformací, které budou aplikovány na přicházející události.
- Byla odstraněna metoda navigator.xr.supportsSession, která byla dříve označena jako zastaralá. Místo toho by měla být použita metoda navigator.xr.isSessionSupported, uvedená ve specifikaci WebXR.
- Byla odstraněna nastavení InsecurePrivateNetworkRequestsAllowedForUrls a InsecurePrivateNetworkRequestsAllowed, používaná pro aktivaci mechanismu PNA 1.0 (Private Network Access), který omezoval načítání zdrojů z veřejně dostupného webu, odkazujících na hostitele v interní síti (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 atd.). Taková aktivita byla využívána útočníky k provádění CSRF útoků na směrovače, přístupové body, tiskárny, firemní webové rozhraní a další zařízení a služby, které přijímají požadavky pouze z lokální sítě.
Kvůli nekompatibilitě s některými zařízeními bylo PNA 1.0 možné zapnout pouze na žádost. Na jeho místo byla vyvinuta specifikace PNA 2.0, pro jejíž podporu není nutná změna na straně zařízení a stačí změny na straně webových stránek, které potřebují přístup k intranetovým zdrojům. PNA 1.0 a PNA 2.0 nejsou navzájem kompatibilní, a proto má Google v plánu nejprve odstranit podporu PNA 1.0 před zavedením PNA 2.0.
- Byla odstraněna možnost obnovit podporu zastaralého rozhraní MutationEvent a s ním souvisejících synchronně zpracovávaných událostí DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument a DOMCharacterDataModified. Toto rozhraní se používalo pro sledování změn v DOM stromu, ale negativně ovlivňovalo výkon stránek a bránilo implementaci některých nových funkcí. Tento API byl ve výchozím nastavení zakázán v létě loňského roku, ale v Chromu zůstala možnost MutationEventsEnabled pro obnovení podpory. Jako alternativu se doporučuje používat API Mutation Observer.
- V nástrojích pro webové vývojáře byly rozšířeny možnosti nástrojů pro analýzu výkonu.
Kromě novinek a oprav chyb v nové verzi byly odstraněny 14 zranitelnosti. Mnohé z zranitelností byly odhaleny v rámci automatizovaného testování pomocí nástrojů AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Nebyly zjištěny žádné kritické problémy, které by umožnily obcházení všech úrovní zabezpečení prohlížeče a spuštění kódu v systému mimo sandboxové prostředí. V rámci programu odměn za odhalení zranitelností byla společnosti Google vyplacena 8 odměn v celkové výši 17 tisíc dolarů, jedna odměna ve výši 10 000 dolarů a dvě odměny ve výši 2 000, 1 000 a 500 dolarů.
Zdroj: opennet.ru
