Google odhalil vydání webového prohlížeče Chrome 90. Zároveň je k dispozici stabilní vydání bezplatného projektu Chromium, který slouží jako základ Chromu. Prohlížeč Chrome se vyznačuje použitím log Google, přítomností systému pro zasílání upozornění v případě havárie, moduly pro přehrávání chráněného video obsahu (DRM), systémem pro automatickou instalaci aktualizací a přenosem RLZ parametrů při vyhledávání. Další vydání Chrome 91 je naplánováno na 25. května.
Klíčové změny v Chrome 90:
- Všichni uživatelé mají při zadávání názvů hostitelů do adresního řádku ve výchozím nastavení povoleno otevírat weby přes HTTPS. Když například zadáte hostitelský example.com, ve výchozím nastavení se otevře web https://example.com, a pokud při otevírání nastanou problémy, vrátí se zpět na http://example.com. Pro ovládání použití výchozího „https://“ je navrženo nastavení „chrome://flags#omnibox-default-typed-navigations-to-https“.
- Nyní je možné přiřadit oknům různé popisky, aby je bylo možné vizuálně oddělit na panelu plochy. Podpora změny názvu okna zjednoduší organizaci práce při použití samostatných oken prohlížeče pro různé úkoly, například při otevírání samostatných oken pro pracovní úkoly, osobní zájmy, zábavu, odložené materiály atd. Název se změní pomocí položky „Přidat název okna“ v kontextové nabídce, která se zobrazí po kliknutí pravým tlačítkem myši na prázdnou oblast na liště karet. Po změně názvu v panelu aplikace se místo názvu webu z aktivní karty zobrazí vybraný název, což se může hodit při otevírání stejných webů v různých oknech propojených se samostatnými účty. Vazba je udržována mezi relacemi a po restartu budou okna obnovena se zvolenými názvy.

- Přidána možnost skrýt „Seznam čtení“ bez nutnosti měnit nastavení v „chrome://flags“ („chrome://flags#read-later“). Chcete-li je skrýt, můžete nyní použít možnost „Zobrazit seznam čtení“ ve spodní části kontextové nabídky, která se zobrazí po kliknutí pravým tlačítkem na lištu záložek. Připomeňme, že v posledním vydání, když někteří uživatelé kliknou na hvězdičku v adresním řádku, zobrazí se kromě tlačítka „Přidat záložku“ druhé tlačítko „Přidat do seznamu četby“ a v pravém rohu panelu záložek se zobrazí nabídka „Seznam četby“, která uvádí všechny dříve přidané stránky do seznamu. Když otevřete stránku ze seznamu, je označena jako přečtená. Stránky v seznamu lze také ručně označit jako přečtené nebo nepřečtené nebo je ze seznamu odstranit.
- Přidána podpora pro segmentaci sítě pro ochranu před metodami sledování napříč weby založenými na ukládání identifikátorů v oblastech, které nejsou určeny pro trvalé ukládání („Supercookies“). Vzhledem k tomu, že zdroje uložené v mezipaměti jsou uloženy ve sdíleném jmenném prostoru bez ohledu na původní doménu, může jeden web detekovat načítání zdrojů z jiného webu kontrolou, zda je zdroj přítomen v mezipaměti. Tato ochrana je založena na použití dělení sítě, které zahrnuje přidání dalších mapování do sdílených mezipamětí. doména, ze kterého byla otevřena hlavní stránka, což omezuje pokrytí mezipaměti pro sledovací skripty pouze na aktuální web (skript z iframe nebude schopen zkontrolovat, zda byl zdroj načten z jiného webu). Nákladem na segmentaci je snížená efektivita ukládání do mezipaměti, což vede k mírnému zvýšení doby načítání stránky (maximálně o 1.32 %, ale u 80 % webů o 0.09–0.75 %).
- Černá listina síťových portů, pro které jsou blokovány požadavky HTTP, HTTPS a FTP, byla rozšířena, aby chránila před útoky typu NAT slipstreaming, které umožňují navázání síťového připojení, když útočník v prohlížeči otevře speciálně připravenou webovou stránku. server útočník na jakýkoli UDP nebo TCP port v systému uživatele, a to i přes použití interního rozsahu adres (192.168.xx, 10.xxx). Do seznamu blokovaných portů byly přidány porty 554 (protokol RTSP) a 10080 (používané v Amanda Backup a VMWare vCenter). Porty 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 a 6566 byly dříve blokovány.
- Přidána počáteční podpora pro otevírání dokumentů PDF pomocí formulářů XFA v prohlížeči.
- Pro některé uživatele byla aktivována nová sekce nastavení „Nastavení Chrome > Soukromí a zabezpečení > Karanténa soukromí“, která umožňuje spravovat parametry FLoC API, zaměřené na určení kategorie zájmů uživatelů bez individuální identifikace a bez odkazu na historie návštěv konkrétních stránek.
- Když se uživatel připojí k profilu, pro který je povolena centralizovaná správa, nyní se zobrazí přehlednější upozornění se seznamem povolených akcí.
- Rozhraní žádosti o oprávnění bylo méně rušivé. Požadavky, které uživatel pravděpodobně neschválí, jsou nyní automaticky blokovány s odpovídajícím indikátorem zobrazeným v adresním řádku, pomocí kterého může uživatel přejít do rozhraní pro správu oprávnění pro jednotlivé stránky.

- Podpora pro rozšíření Intel CET (Intel Control-flow Enforcement Technology) je zahrnuta pro hardwarovou ochranu proti zneužití vytvořeným pomocí technik návratově orientovaného programování (ROP, Return-Oriented Programming).
- Pokračuje práce na přechodu prohlížeče tak, aby používal inkluzivní terminologii. Soubor „master_preferences“ byl přejmenován na „initial_preferences“, aby nedošlo ke zranění uživatelů, kteří slovo „master“ vnímají jako narážku na bývalé otroctví svých předků. Aby byla zachována kompatibilita, podpora pro „master_preferences“ zůstane v prohlížeči po určitou dobu. Dříve se prohlížeč zbavil používání slov „whitelist“, „blacklist“ a „native“.
- Ve verzi pro Android Pokud je povolen režim úspory dat „Lite“, sníží se datový tok pro stahování videa přes mobilní sítě, což snižuje náklady uživatelům s datově náročnými tarify. Režim „Lite“ také komprimuje obrázky vyžádané z veřejně dostupných zdrojů (které nevyžadují ověřování) přes HTTPS.
- Přidán kodér video formátu AV1, speciálně optimalizovaný pro použití ve videokonferencích založených na protokolu WebRTC. Použití AV1 ve videokonferencích umožňuje zvýšit efektivitu komprese a poskytuje možnost vysílat na kanálech s šířkou pásma 30 kbit/s.
- V JavaScriptu objekty Array, String a TypedArrays implementují metodu at(), která umožňuje používat relativní indexování (relativní pozice je určena jako index pole), včetně zadávání záporných hodnot vzhledem ke konci (např. "arr.at(-1)" vrátí poslední prvek pole).
- JavaScript přidal pro regulární výrazy vlastnost „.indices“, která obsahuje pole s počáteční a koncovou pozicí skupin shod. Vlastnost se naplní pouze při provádění regulárního výrazu s příznakem "/d". const re = /(a)(b)/d; const m = re.exec(‘ab’); console.log(m.indexy[0]); // 0 - všechny odpovídající skupiny // → [0, 2] console.log(m.indices[1]); // 1 je první skupina shod // → [0, 1] console.log(m.indices[2]); // 2 - druhá skupina zápasů // → [1, 2]
- Výkon „super“ vlastností (například super.x), pro které je povolena inline cache, byl optimalizován. Výkon používání „super“ se nyní blíží výkonu přístupu k běžným vlastnostem.
- Volání funkcí WebAssembly z JavaScriptu bylo výrazně zrychleno díky použití inline nasazení. Tato optimalizace zatím zůstává experimentální a vyžaduje spuštění s příznakem „-turbo-inline-js-wasm-calls“.
- Přidáno rozhraní WebXR Depth Sensing API, které umožňuje určit vzdálenost mezi objekty v prostředí uživatele a zařízením uživatele, například vytvořit realističtější aplikace rozšířené reality. Připomeňme, že WebXR API umožňuje sjednotit práci s různými třídami zařízení pro virtuální realitu, od stacionárních 3D přileb až po řešení založená na mobilních zařízeních.
- Funkce WebXR AR Lighting Estimation byla stabilizována, což umožňuje relacím WebXR AR určit parametry okolního osvětlení, aby modely získaly přirozenější vzhled a lepší integraci s prostředím uživatele.
- Zkušební verze Origin (experimentální funkce vyžadující samostatnou aktivaci) přidaly několik nových API, která jsou v současné době omezena na platformu. AndroidZkušební verze Origin umožňuje používat zadané API z aplikací načtených z localhostu nebo 127.0.0.1, případně po registraci a obdržení speciálního tokenu, který je platný po omezenou dobu na konkrétním webu.
- Metoda getCurrentBrowsingContextMedia(), která umožňuje zachytit stream videa MediaStream odrážející obsah aktuální karty. Na rozdíl od podobné metody getDisplayMedia() se při volání getCurrentBrowsingContextMedia() uživateli zobrazí jednoduchý dialog pro potvrzení nebo zablokování operace přenosu videa s obsahem karty.
- Insertable Streams API, které vám umožňuje manipulovat s nezpracovanými mediálními streamy přenášenými prostřednictvím MediaStreamTrack API, jako jsou data z kamery a mikrofonu, výsledky snímání obrazovky nebo data zprostředkujícího dekódování kodeků. Rozhraní WebCodec se používají k prezentaci nezpracovaných snímků a generuje se proud podobný tomu, který generuje rozhraní WebRTC Insertable Streams API na základě RTCPeerConnections. Z praktického hlediska nové API umožňuje funkce, jako je aplikace technik strojového učení k identifikaci nebo anotování objektů v reálném čase nebo přidávání efektů, jako je oříznutí pozadí před kódováním nebo po dekódování kodekem.
- Možnost zabalit zdroje do balíčků (Web Bundle) pro organizaci efektivnějšího načítání velkého množství doprovodných souborů (CSS styly, JavaScript, obrázky, iframe). Mezi nedostatky stávající podpory balíčků pro soubory JavaScript (webpack), které se Web Bundle snaží odstranit: samotný balíček, nikoli však jeho součásti, může skončit v mezipaměti HTTP; kompilace a provádění může začít až po úplném stažení balíčku; Další zdroje, jako jsou CSS a obrázky, musí být kódovány ve formě řetězců JavaScriptu, což zvyšuje velikost a vyžaduje další krok analýzy.
- Podpora pro zpracování výjimek ve WebAssembly.
- Stabilizovalo rozhraní Declarative Shadow DOM API pro vytvoření nových kořenových větví v Shadow DOM, například pro oddělení importovaného stylu elementu třetí strany a jeho přidružené dílčí větve DOM od hlavního dokumentu. Navrhované deklarativní API vám umožňuje používat pouze HTML k uvolnění větví DOM bez nutnosti psát kód JavaScript.
- Vlastnost aspect-ratio CSS, která vám umožňuje explicitně svázat poměr stran s libovolným prvkem (automaticky vypočítat chybějící velikost při zadání pouze výšky nebo šířky), implementuje možnost interpolace hodnot během animace (plynulý přechod z jedné poměr stran k jinému).
- Přidána možnost odrážet stav vlastních prvků HTML v CSS prostřednictvím pseudotřídy „:state()“. Funkčnost je implementována analogicky se schopností standardních HTML prvků měnit svůj stav v závislosti na interakci uživatele.
- Vlastnost CSS „appearance“ nyní podporuje hodnotu „auto“, která je ve výchozím nastavení nastavena pro A a na platformě Android navíc pro , , , A .
- Do vlastnosti CSS „overflow“ byla přidána podpora pro hodnotu „clip“, při nastavení se obsah přesahující blok ořízne na hranici povoleného přetečení bloku bez možnosti posouvání. Hodnota, která určuje, jak daleko může obsah přesahovat skutečný okraj rámečku, než začne ořezávání, se nastavuje pomocí nové vlastnosti CSS „overflow-clip-margin“. Ve srovnání s „overflow: hidden“ umožňuje použití „overflow: clip“ lepší výkon.


- Hlavička HTTP Feature-Policy byla nahrazena novou hlavičkou Permissions-Policy pro řízení delegování oprávnění a aktivaci pokročilých funkcí, které zahrnují podporu pro strukturované hodnoty polí (například nyní můžete zadat „Permissions-Policy: geolocation =()“ místo „Feature- Policy: geolocation 'none'“).
- Posílená ochrana proti použití Protocol Bufferů pro útoky způsobené spekulativním prováděním instrukcí v procesorech. Ochrana je implementována přidáním typu MIME „application/x-protobuffer“ do seznamu nikdy nesniffovaných typů MIME, který je zpracován mechanismem Cross-Origin-Read-Blocking. Dříve byl typ MIME „application/x-protobuf“ již zahrnut v podobném seznamu, ale „application/x-protobuffer“ byl vynechán.
- Rozhraní File System Access API implementuje schopnost posunout aktuální pozici v souboru za jeho konec a vyplnit výslednou mezeru nulami během následného zápisu prostřednictvím volání FileSystemWritableFileStream.write(). Tato funkce umožňuje vytvářet řídké soubory s prázdnými prostory a výrazně zjednodušuje organizaci zápisu do souborových proudů s neuspořádaným příchodem datových bloků (např. toto se praktikuje v BitTorrentu).
- Přidán konstruktor StaticRange s implementací odlehčených typů rozsahů, které nevyžadují aktualizaci všech přidružených objektů při každé změně stromu DOM.
- Implementována možnost zadat parametry šířky a výšky pro prvky zadané uvnitř prvku . Tato funkce umožňuje vypočítat poměr stran pro prvky , podobně jako se to dělá pro , a .
- Z WebRTC byla odstraněna nestandardizovaná podpora pro datové kanály RTP a místo toho se doporučuje používat datové kanály založené na SCTP.
- Vlastnosti navigator.plugins a navigator.mimeTypes nyní vždy vracejí prázdnou hodnotu (po ukončení podpory Flash již tyto vlastnosti nejsou potřeba).
- V nástrojích pro webové vývojáře byla provedena velká část malých vylepšení a byl přidán nový nástroj pro ladění CSS, flexbox.

Kromě inovací a oprav chyb nová verze odstraňuje 37 zranitelností. Mnoho zranitelností bylo identifikováno jako výsledek 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 obejít všechny úrovně ochrany prohlížeče a spustit kód v systému mimo prostředí sandbox. V rámci programu peněžních odměn za odhalení zranitelností pro aktuální verzi vyplatil Google 19 ocenění v hodnotě 54000 20000 USD (jedno ocenění 10000 5000 USD, jedno ocenění 3000 2000 USD, dvě ocenění 1000 500 USD, tři ocenění 6 XNUMX USD, jedno ocenění XNUMX XNUMX USD, jedno ocenění XNUMX XNUMX USD a čtyři ocenění ).). Velikost XNUMX odměn zatím nebyla stanovena.
Za zmínku stojí, že včera, po vytvoření opravné verze 89.0.4389.128, ale před vydáním Chrome 90, byl zveřejněn další exploit, který využíval novou zranitelnost 0-day, která nebyla v Chrome 89.0.4389.128 opravena. Zatím není jasné, zda byl tento problém v Chrome 90 opraven. Stejně jako v prvním případě exploit pokrývá pouze jednu zranitelnost a neobsahuje kód pro obcházení izolace sandboxu (při spuštění Chrome s příznakem „--no-sandbox“ se exploit uvolní při otevření webové stránky na platformě). Windows (umožňuje spuštění programu Poznámkový blok). Zranitelnost spojená s novým zneužitím ovlivňuje technologii WebAssembly.
Zdroj: opennet.ru





