Chrome 90-versie

Google heeft de release onthuld van de webbrowser Chrome 90. Tegelijkertijd is er een stabiele release beschikbaar van het gratis Chromium-project, dat als basis dient voor Chrome. De Chrome-browser onderscheidt zich door het gebruik van Google-logo's, de aanwezigheid van een systeem voor het verzenden van meldingen bij een crash, modules voor het afspelen van beschermde video-inhoud (DRM), een systeem voor het automatisch installeren van updates en het verzenden van RLZ-parameters tijdens het zoeken. De volgende release van Chrome 91 staat gepland voor 25 mei.

Belangrijkste wijzigingen in Chrome 90:

  • Alle gebruikers kunnen standaard sites openen via HTTPS wanneer ze hostnamen in de adresbalk typen. Wanneer u bijvoorbeeld de host example.com invoert, wordt de site https://example.com standaard geopend en als er problemen optreden bij het openen, wordt deze teruggedraaid naar http://example.com. Om het gebruik van de standaard “https://” te controleren, wordt de instelling “chrome://flags#omnibox-default-typed-navigations-to-https” voorgesteld.
  • Het is nu mogelijk om verschillende labels aan vensters toe te wijzen om ze visueel van elkaar te scheiden in het bureaubladpaneel. Ondersteuning voor het wijzigen van de vensternaam vereenvoudigt de organisatie van het werk bij het gebruik van afzonderlijke browservensters voor verschillende taken, bijvoorbeeld bij het openen van afzonderlijke vensters voor werktaken, persoonlijke interesses, amusement, uitgesteld materiaal, enz. De naam wordt gewijzigd via het item “Venstertitel toevoegen” in het contextmenu dat verschijnt wanneer u met de rechtermuisknop op een leeg gebied in de tabbalk klikt. Nadat u de naam in het toepassingspaneel hebt gewijzigd, wordt in plaats van de sitenaam van het actieve tabblad de geselecteerde naam weergegeven, wat handig kan zijn bij het openen van dezelfde sites in verschillende vensters die aan afzonderlijke accounts zijn gekoppeld. De binding blijft behouden tussen sessies en na een herstart worden de vensters hersteld met de geselecteerde namen.
    Chrome 90-versie
  • De mogelijkheid toegevoegd om de “Leeslijst” te verbergen zonder de instellingen in “chrome://flags” (“chrome://flags#read-later”) te hoeven wijzigen. Om te verbergen kunt u nu de optie "Leeslijst tonen" onderaan het contextmenu gebruiken dat wordt weergegeven wanneer u met de rechtermuisknop op de bladwijzerbalk klikt. Laten we u eraan herinneren dat wanneer sommige gebruikers in de laatste release op het sterretje in de adresbalk klikken, naast de knop 'Bladwijzer toevoegen', een tweede knop 'Toevoegen aan leeslijst' verschijnt, en in de rechterhoek van de bladwijzerspaneel verschijnt het menu “Leeslijst”, waarin alle eerder aan de lijst toegevoegde pagina’s worden vermeld. Wanneer u een pagina uit de lijst opent, wordt deze gemarkeerd als gelezen. Pagina's in de lijst kunnen ook handmatig worden gemarkeerd als gelezen of ongelezen, of uit de lijst worden verwijderd.
  • Ondersteuning toegevoegd voor netwerksegmentatie ter bescherming tegen methoden voor het volgen van gebruikersbewegingen tussen sites op basis van het opslaan van identificatiegegevens in gebieden die niet bedoeld zijn voor permanente opslag van informatie (“Supercookies”). Omdat in de cache opgeslagen bronnen worden opgeslagen in een gemeenschappelijke naamruimte, ongeacht het oorspronkelijke domein, kan de ene site bepalen dat een andere site bronnen laadt door te controleren of die bron zich in de cache bevindt. De bescherming is gebaseerd op het gebruik van netwerksegmentatie (Network Partitioning), waarvan de essentie is om aan gedeelde caches een extra binding van records toe te voegen aan het domein van waaruit de hoofdpagina wordt geopend, waardoor de cachedekking alleen voor bewegingsregistratiescripts wordt beperkt. naar de huidige site (een script van een iframe kan niet controleren of de bron van een andere site is gedownload). De prijs van segmentatie is een afname van de caching-efficiëntie, wat leidt tot een lichte toename van de laadtijd van de pagina (maximaal met 1.32%, maar voor 80% van de sites met 0.09-0.75%).
  • De zwarte lijst met netwerkpoorten waarvoor het verzenden van HTTP-, HTTPS- en FTP-verzoeken is geblokkeerd, is aangevuld om te beschermen tegen NAT-slipstreaming-aanvallen, waardoor bij het openen van een webpagina die speciaal door de aanvaller in een browser is voorbereid, een netwerk kan worden opgezet verbinding van de server van de aanvaller met een UDP- of TCP-poort op het systeem van de gebruiker, ondanks het gebruik van het interne adresbereik (192.168.xx, 10.xxx). 554 (RTSP-protocol) en 10080 (gebruikt in Amanda backup en VMWare vCenter) toegevoegd aan de lijst met verboden poorten. Eerder waren de poorten 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 en 6566 al geblokkeerd.
  • Initiële ondersteuning toegevoegd voor het openen van PDF-documenten met XFA-formulieren in de browser.
  • Voor sommige gebruikers is een nieuwe instellingensectie “Chrome-instellingen > Privacy en beveiliging > Privacy-sandbox” geactiveerd, waarmee u de parameters van de FLoC API kunt beheren, gericht op het bepalen van de categorie gebruikersinteresses zonder individuele identificatie en zonder verwijzing naar de geschiedenis van het bezoeken van specifieke sites.
  • Er wordt nu een duidelijkere melding met een lijst met toegestane acties weergegeven wanneer een gebruiker verbinding maakt met een profiel waarvoor gecentraliseerd beheer is ingeschakeld.
  • De interface voor het aanvragen van machtigingen is minder opdringerig gemaakt. Verzoeken die de gebruiker waarschijnlijk zal afkeuren, worden nu automatisch geblokkeerd met een overeenkomstige indicator weergegeven in de adresbalk, waarmee de gebruiker naar de interface kan gaan voor het beheren van rechten per site.
    Chrome 90-versie
  • Ondersteuning voor Intel CET-uitbreidingen (Intel Control-flow Enforcement Technology) is inbegrepen voor hardwarebescherming tegen exploits die zijn gebouwd met behulp van return-georiënteerde programmeertechnieken (ROP, Return-Oriented Programming).
  • Er wordt verder gewerkt aan de transitie van de browser naar het gebruik van inclusieve terminologie. Het bestand "master_preferences" is hernoemd naar "initial_preferences" om te voorkomen dat de gevoelens worden gekwetst van gebruikers die het woord "master" opvatten als een hint over de voormalige slavernij van hun voorouders. Om de compatibiliteit te behouden, blijft de ondersteuning voor “master_preferences” enige tijd in de browser aanwezig. Eerder had de browser al het gebruik van de woorden ‘whitelist’, ‘blacklist’ en ‘native’ afgeschaft.
  • In de Android-versie, wanneer de “Lite” verkeersbesparende modus is ingeschakeld, wordt de bitsnelheid verlaagd bij het downloaden van video wanneer verbonden via de netwerken van mobiele operators, wat de kosten zal verlagen van gebruikers die op verkeer gebaseerde tarieven hebben ingeschakeld. De “Lite”-modus biedt ook compressie van afbeeldingen die zijn opgevraagd uit openbaar beschikbare bronnen (waarbij geen authenticatie vereist is) via HTTPS.
  • AV1-videoformaat-encoder toegevoegd, speciaal geoptimaliseerd voor gebruik bij videoconferenties op basis van het WebRTC-protocol. Het gebruik van AV1 bij videoconferenties maakt het mogelijk de compressie-efficiëntie te verhogen en de mogelijkheid te bieden om uit te zenden op kanalen met een bandbreedte van 30 kbit/sec.
  • In JavaScript implementeren de objecten Array, String en TypedArrays de methode at(), waarmee u relatieve indexering kunt gebruiken (de relatieve positie wordt opgegeven als de array-index), inclusief het opgeven van negatieve waarden ten opzichte van het einde (bijvoorbeeld "arr.at(-1)" retourneert het laatste element van de array).
  • JavaScript heeft de eigenschap “.indices” toegevoegd voor reguliere expressies, die een array bevat met de begin- en eindposities van groepen overeenkomsten. De eigenschap wordt alleen gevuld bij het uitvoeren van de reguliere expressie met de vlag "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — alle matchgroepen // → [0, 2] console.log(m.indices[1]); // 1 is de eerste groep overeenkomsten // → [0, 1] console.log(m.indices[2]); // 2 - tweede groep wedstrijden // → [1, 2]
  • De prestaties van “super”-eigenschappen (bijvoorbeeld super.x) waarvoor de inline cache is ingeschakeld, zijn geoptimaliseerd. De prestaties van het gebruik van "super" liggen nu dicht bij de prestaties van toegang tot reguliere eigenschappen.
  • Het aanroepen van WebAssembly-functies vanuit JavaScript is aanzienlijk versneld dankzij het gebruik van inline-implementatie. Deze optimalisatie blijft voorlopig experimenteel en vereist het uitvoeren van de vlag “-turbo-inline-js-wasm-calls”.
  • De WebXR Depth Sensing API toegevoegd, waarmee u bijvoorbeeld de afstand tussen objecten in de omgeving van de gebruiker en het apparaat van de gebruiker kunt bepalen om realistischere augmented reality-toepassingen te creëren. Laten we u eraan herinneren dat u met de WebXR API het werk kunt verenigen met verschillende klassen virtual reality-apparaten, van stationaire 3D-helmen tot oplossingen op basis van mobiele apparaten.
  • De WebXR AR Lighting Estimation-functie is gestabiliseerd, waardoor WebXR AR-sessies omgevingslichtparameters kunnen bepalen om modellen een natuurlijker uiterlijk en een betere integratie met de gebruikersomgeving te geven.
  • De Origin Trials-modus (experimentele functies die afzonderlijke activering vereisen) voegt verschillende nieuwe API's toe die momenteel beperkt zijn tot het Android-platform. Origin Trial impliceert de mogelijkheid om met de gespecificeerde API te werken vanuit applicaties gedownload van localhost of 127.0.0.1, of na registratie en ontvangst van een speciaal token dat een beperkte tijd geldig is voor een specifieke site.
    • De getCurrentBrowsingContextMedia() -methode, die het mogelijk maakt om een ​​MediaStream-videostream vast te leggen die de inhoud van het huidige tabblad weerspiegelt. In tegenstelling tot de soortgelijke getDisplayMedia()-methode wordt bij het aanroepen van getCurrentBrowsingContextMedia() een eenvoudig dialoogvenster aan de gebruiker gepresenteerd om de werking van het overbrengen van video met de inhoud van het tabblad te bevestigen of te blokkeren.
    • Insertable Streams API, waarmee u onbewerkte mediastreams kunt manipuleren die via de MediaStreamTrack API worden verzonden, zoals camera- en microfoongegevens, schermopnameresultaten of tussenliggende codec-decoderingsgegevens. WebCodec-interfaces worden gebruikt om onbewerkte frames te presenteren en er wordt een stream gegenereerd die vergelijkbaar is met wat de WebRTC Insertable Streams API genereert op basis van RTCPeerConnections. Aan de praktische kant maakt de nieuwe API functionaliteit mogelijk zoals het toepassen van machine learning-technieken om objecten in realtime te identificeren of te annoteren, of het toevoegen van effecten zoals achtergrondknippen vóór het coderen of na het decoderen door een codec.
    • De mogelijkheid om bronnen in pakketten te verpakken (webbundel) om het laden van een groot aantal begeleidende bestanden (CSS-stijlen, JavaScript, afbeeldingen, iframes) efficiënter te organiseren. Een van de tekortkomingen in de bestaande ondersteuning voor pakketten voor JavaScript-bestanden (webpack), die de Web Bundle probeert te elimineren: het pakket zelf, maar niet de samenstellende delen ervan, kan in de HTTP-cache terechtkomen; Het compileren en uitvoeren kan pas beginnen nadat het pakket volledig is gedownload; Extra bronnen zoals CSS en afbeeldingen moeten worden gecodeerd in de vorm van JavaScript-tekenreeksen, waardoor de omvang groter wordt en een nieuwe parseerstap vereist.
    • Ondersteuning voor afhandeling van uitzonderingen in WebAssembly.
  • De Declaratieve Shadow DOM API gestabiliseerd om nieuwe hoofdvertakkingen in de Shadow DOM te creëren, bijvoorbeeld om een ​​geïmporteerde elementstijl van derden en de bijbehorende DOM-subtak te scheiden van het hoofddocument. Met de voorgestelde declaratieve API kunt u alleen HTML gebruiken om DOM-vertakkingen los te maken zonder dat u JavaScript-code hoeft te schrijven.
  • De CSS-eigenschap aspect-ratio, waarmee u de aspect-ratio expliciet aan elk element kunt koppelen (om automatisch de ontbrekende grootte te berekenen wanneer u alleen de hoogte of breedte opgeeft), implementeert de mogelijkheid om waarden te interpoleren tijdens animatie (vloeiende overgang van één beeldverhouding ten opzichte van een andere).
  • De mogelijkheid toegevoegd om de status van aangepaste HTML-elementen in CSS weer te geven via de pseudo-klasse “:state()”. De functionaliteit wordt geïmplementeerd naar analogie met het vermogen van standaard HTML-elementen om hun status te veranderen afhankelijk van gebruikersinteractie.
  • De CSS-eigenschap "appearance" ondersteunt nu de waarde 'auto', die standaard is ingesteld En , en op het Android-platform bovendien voor , , , En .
  • Ondersteuning voor de “clip”-waarde is toegevoegd aan de “overflow” CSS-eigenschap. Indien ingesteld, wordt inhoud die verder reikt dan het blok geknipt tot de limiet van de toegestane overflow van het blok zonder de mogelijkheid om te scrollen. De waarde die bepaalt hoe ver de inhoud voorbij de daadwerkelijke rand van het vak kan reiken voordat het knippen begint, wordt ingesteld via de nieuwe CSS-eigenschap "overflow-clip-margin". Vergeleken met "overflow: verborgen", zorgt het gebruik van "overflow: clip" voor betere prestaties.
    Chrome 90-versieChrome 90-versie
  • De Feature-Policy HTTP-header is vervangen door een nieuwe Permissions-Policy-header om de delegatie van machtigingen en het inschakelen van geavanceerde functies te controleren, waaronder ondersteuning voor gestructureerde veldwaarden (u kunt nu bijvoorbeeld "Permissions-Policy: geolocation" opgeven =()" in plaats van "Functiebeleid: geolocatie 'geen'").
  • Verbeterde bescherming tegen het gebruik van protocolbuffers voor aanvallen veroorzaakt door speculatieve uitvoering van instructies in processors. Beveiliging wordt geïmplementeerd door het MIME-type “application/x-protobuffer” toe te voegen aan de lijst met nooit gesnuffelde MIME-typen, die worden verwerkt via het Cross-Origin-Read-Blocking-mechanisme. Voorheen was het MIME-type “application/x-protobuf” al opgenomen in een vergelijkbare lijst, maar “application/x-protobuffer” werd weggelaten.
  • De File System Access API implementeert de mogelijkheid om de huidige positie in een bestand voorbij het einde te verschuiven, waardoor het resulterende gat wordt opgevuld met nullen tijdens het daaropvolgende schrijven via de FileSystemWritableFileStream.write() -aanroep. Met deze functie kunt u beperkte bestanden met lege spaties maken en wordt de organisatie van het schrijven naar bestandsstromen met ongeordende aankomst van datablokken aanzienlijk vereenvoudigd (dit wordt bijvoorbeeld in BitTorrent toegepast).
  • StaticRange-constructor toegevoegd met implementatie van lichtgewicht Range-typen die niet vereisen dat alle bijbehorende objecten worden bijgewerkt telkens wanneer de DOM-boom verandert.
  • De mogelijkheid geïmplementeerd om breedte- en hoogteparameters voor elementen op te geven gespecificeerd in het element . Met deze functie kunt u de beeldverhouding voor elementen berekenen , naar analogie met hoe het wordt gedaan , En .
  • Niet-gestandaardiseerde ondersteuning voor RTP-datakanalen is verwijderd uit WebRTC en het wordt aanbevolen om in plaats daarvan SCTP-gebaseerde datakanalen te gebruiken.
  • De eigenschappen navigator.plugins en navigator.mimeTypes retourneren nu altijd een lege waarde (nadat Flash-ondersteuning was beëindigd, waren deze eigenschappen niet langer nodig).
  • Er zijn een groot aantal kleine verbeteringen aangebracht aan de tools voor webontwikkelaars en er is een nieuwe CSS-foutopsporingstool, flexbox, toegevoegd.
    Chrome 90-versie

Naast innovaties en bugfixes elimineert de nieuwe versie 37 kwetsbaarheden. Veel van de kwetsbaarheden zijn geïdentificeerd als resultaat van geautomatiseerd testen met behulp van de tools AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. Er zijn geen kritieke problemen geïdentificeerd die het mogelijk zouden maken om alle niveaus van browserbeveiliging te omzeilen en code op het systeem uit te voeren buiten de sandbox-omgeving. Als onderdeel van het geldbeloningsprogramma voor het ontdekken van kwetsbaarheden voor de huidige release heeft Google 19 beloningen ter waarde van $ 54000 betaald (een beloning van $ 20000, een beloning van $ 10000, twee beloningen van $ 5000, drie beloningen van $ 3000, een beloning van $ 2000, een beloning van $ 1000 en vier beloningen van $ 500). ).). De omvang van de 6 beloningen is nog niet vastgesteld.

Los daarvan kan worden opgemerkt dat gisteren, na de vorming van de corrigerende release 89.0.4389.128, maar vóór de release van Chrome 90, een andere exploit werd gepubliceerd, waarbij gebruik werd gemaakt van een nieuwe 0-day kwetsbaarheid die niet was opgelost in Chrome 89.0.4389.128 . Het is nog niet duidelijk of dit probleem is opgelost in Chrome 90. Net als in het eerste geval dekt de exploit slechts één kwetsbaarheid en bevat deze geen code om sandbox-isolatie te omzeilen (wanneer Chrome wordt uitgevoerd met de vlag “--no-sandbox”) , de exploit vindt plaats wanneer u een webpagina opent op een Windows-platform waarmee u Kladblok kunt uitvoeren). De kwetsbaarheid die met de nieuwe exploit gepaard gaat, heeft invloed op de WebAssembly-technologie.

Bron: opennet.ru

Voeg een reactie