Vydání Chrome 90

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.
    Vydání Chrome 90
  • 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 segmentace sítě pro ochranu před metodami sledování pohybu uživatelů mezi stránkami na základě ukládání identifikátorů v oblastech, které nejsou určeny k trvalému ukládání informací („Supercookies“). Protože prostředky uložené v mezipaměti jsou uloženy ve společném oboru názvů, bez ohledu na původní doménu, může jeden web zjistit, že zdroje načítá jiný web, kontrolou, zda je tento prostředek v mezipaměti. Ochrana je založena na použití segmentace sítě (Network Partitioning), jejíž podstatou je přidat do sdílených keší další vazbu záznamů na doménu, ze které se otevírá hlavní stránka, což omezuje pokrytí cache pouze pro skripty pro sledování pohybu na aktuální web (skript z prvku iframe nebude schopen zkontrolovat, zda byl zdroj stažen z jiného webu). Cenou segmentace je snížení efektivity cachování, vedoucí 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é je blokováno odesílání požadavků HTTP, HTTPS a FTP, byla doplněna za účelem ochrany před útoky typu NAT slipstreaming, což umožňuje při otevření webové stránky speciálně připravené útočníkem v prohlížeči vytvořit síť. připojení ze serveru útočníka k libovolnému portu UDP nebo TCP v systému uživatele, a to navzdory použití interního rozsahu adres (192.168.x.x, 10.x.x.x). Přidány 554 (RTSP protokol) a 10080 (používané v zálohování Amanda a VMWare vCenter) na seznam zakázaných portů. Dříve byly porty 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 a 6566 již 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.
    Vydání Chrome 90
  • 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 se při aktivaci režimu úspory provozu „Lite“ sníží přenosová rychlost při stahování videa při připojení přes sítě mobilních operátorů, což sníží náklady uživatelů, kteří mají povoleny tarify založené na provozu. „Lite“ režim také poskytuje kompresi obrázků požadovaných z veřejně dostupných zdrojů (nevyžadujících ověření) 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.
  • Režim Origin Trials (experimentální funkce, které vyžadují samostatnou aktivaci) přidává několik nových rozhraní API, která jsou aktuálně omezena na platformu Android. Origin Trial znamená schopnost pracovat se zadaným API z aplikací stažených z localhost nebo 127.0.0.1, nebo po registraci a obdržení speciálního tokenu, který je platný po omezenou dobu pro konkrétní web.
    • 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 standardně 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.
    Vydání Chrome 90Vydání Chrome 90
  • 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.
    Vydání Chrome 90

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.

Samostatně lze poznamenat, ž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ý používal novou 0denní zranitelnost, která nebyla opravena v Chrome 89.0.4389.128 . Zatím není jasné, zda byl tento problém opraven v Chrome 90. Stejně jako v prvním případě pokrývá exploit pouze jednu zranitelnost a neobsahuje kód pro obcházení izolace sandboxu (při spuštění Chrome s příznakem „--no-sandbox“ , zneužití nastane, když otevření webové stránky na platformě Windows umožňuje spustit Poznámkový blok). Zranitelnost spojená s novým exploitem ovlivňuje technologii WebAssembly.

Zdroj: opennet.ru

Přidat komentář