Google heeft de release van de webbrowser Chrome 120 gepubliceerd. Tegelijkertijd is er een stabiele release van het open source project Chromium beschikbaar, dat de basis van Chrome vormt. De browser Chrome verschilt van Chromium door het gebruik van Google-logo's, een systeem voor het verzenden van meldingen bij crashes, modules voor het afspelen van kopieerbeveiligde videoinhoud (DRM), een systeem voor automatische updates, permanente inschakeling van sandbox-isolatie, levering van sleutels voor de Google API en het doorgeven van RLZ-parameters tijdens zoekopdrachten. Voor degenen die meer tijd nodig hebben voor updates, wordt er een aparte Extended Stable-tak ondersteund, die 8 weken duurt. De volgende release van Chrome 121 is gepland voor 23 januari.
Belangrijkste wijzigingen in Chrome 120:
- Een experiment is gestart met het uitschakelen van de ondersteuning voor third-party cookies die worden geplaatst bij het bezoeken van websites die verschillen van domein de huidige pagina. Dergelijke cookies worden gebruikt om de bewegingen van de gebruiker tussen websites te volgen in de code van advertentienetwerken, sociale media-widgets en webanalyssystemen. In januari 2024 zullen third-party cookies worden uitgeschakeld voor 1% van de gebruikers van de browser. De veranderingen worden doorgevoerd in het kader van het Privacy Sandbox-initiatief, dat gericht is op het bereiken van een compromis tussen de behoefte van gebruikers aan privacy en de wens van advertentienetwerken en websites om de voorkeuren van bezoekers te volgen.
In plaats van trackingcookies wordt voorgesteld om de volgende API's te gebruiken:
- FedCM (Federated Credential Management), maakt het mogelijk om gecombineerde identiteitsdiensten te creëren die privacy waarborgen en zonder externe cookies werken.
- Private State Tokens, maakt het mogelijk om verschillende gebruikers te onderscheiden zonder cross-site identificatoren en om authenticatie-informatie tussen verschillende contexten door te geven.
- Topics (kritiek) biedt de mogelijkheid om categorieën van gebruikersinteresses te identificeren die kunnen worden gebruikt om groepen gebruikers met soortgelijke interesses te onderscheiden zonder individuele gebruikers te identificeren via tracking cookies. Interesses worden berekend op basis van de activiteit van de gebruiker in de browser en worden opgeslagen op het apparaat van de gebruiker. Via de Topics API kan het advertentienetwerk algemene informatie verkrijgen over specifieke interesses zonder informatie over de specifieke activiteit van de gebruiker.
- Protected Audience, een oplossing voor retargeting en het beoordelen van de eigen audience (werken met gebruikers die de site eerder al hebben bezocht).
- Attribution Reporting, maakt het mogelijk om prestaties van advertenties te evalueren, zoals klikken en conversies (aankopen op de site na een klik).
- Storage Access API, kan worden gebruikt om de gebruiker toestemming te vragen voor toegang tot de cookie-opslag, indien standaard externe cookies geblokkeerd zijn.
- In overeenstemming met de vereisten van de in de Europese Unie aangenomen wet DMA (Digital Markets Act) kan een aantal gebruikers een dialoog te zien krijgen voor het kiezen van de standaard zoekmachine, waarvan de functionaliteit overeenkomt met de instellingen chrome://settings/search. In Chrome 120 zal de dialoog worden getoond aan 1% van de gebruikers, en tegen de publicatie van Chrome 122 zal dit 100% zijn.
- Het proces voor het stopzetten van de ondersteuning voor de videocodec Theora is begonnen. In de eerste fase is Theora uitgeschakeld voor 1% van de gebruikers, maar het is de bedoeling om het uiterlijk van 16 januari voor alle gebruikers uit te schakelen. In de overgangsfase is er een instelling voorzien voor het terugschakelen naar de codec via "chrome://flags/#theora-video-codec". Als reden voor het stoppen van de ondersteuning voor Theora worden zorgen genoemd dat in de implementatie van Theora, die een behoorlijk complexe logica voor het parseren van binaire gegevens en het decoderen van streams bevat, kwetsbaarheden kunnen optreden, vergelijkbaar met recente kritieke problemen met de VP8-encoder.
- De lay-out van de Chrome Web Store-catalogus is herzien om het zoeken en beheren van extensies te vereenvoudigen. Nieuwe categorieën extensies zijn toegevoegd (zoals een categorie voor machine learning-gebaseerde extensies en een sectie 'redactionele keuze'). In het menu » ⋮ » is de optie toegevoegd om het vorige ontwerp te herstellen.

- De functionaliteit van de interface 'Veiligheidscheck' is uitgebreid, die een overzicht biedt van mogelijke beveiligingsproblemen, zoals het gebruik van gecompromitteerde wachtwoorden, de status van de controle op malwarewebsites (Safe Browsing), het ontbreken van updates en het detecteren van schadelijke extensies. In de nieuwe versie is er een proactieve modus aangeboden die periodiek gerelateerde beveiligingscontroles voor de browser uitvoert en de gebruiker informeert bij het ontdekken van problemen. Er zijn opties toegevoegd aan de instellingen om de acties in de proactieve modus te beheren.

- Er is een responsieve werkbalk geïmplementeerd die verandert afhankelijk van de grootte van het venster.
- In de wachtwoordbeheerder is het toegestaan om afzonderlijke wachtwoorden te delen met leden van de Google Family Group, ingesteld via het Google-account. Per keer kan er slechts één wachtwoord worden gedeeld, waarna het gedeelde wachtwoord niet kan worden bijgewerkt of ingetrokken door de verzender.
- De interactie met printers is verplaatst naar een afzonderlijk serviceproces, wat de stabiliteit van de browser heeft verbeterd en de responsiviteit van de interface voor voorbeeldpagina's vóór het afdrukken heeft verbeterd.
- TLS bevat een implementatie van het mechanisme voor sleutelincapsulatie (KEM, Key Encapsulation Mechanism), dat een hybride algoritme X25519Kyber768 gebruikt, dat bestand is tegen brute force-aanvallen door kwantumcomputers. Voor het creëren van sessiesleutels, die worden gebruikt voor het versleutelen van gegevens binnen TLS-verbindingen, kan nu een combinatie van het X25519-sleuteluitwisselingsmechanisme, gebaseerd op elliptische krommen en momenteel gebruikt in TLS, en het Kyber-768-algoritme, dat gebruikmaakt van cryptografische methoden die zijn gebaseerd op het oplossen van problemen uit de lattice-theorie, worden toegepast, waarbij de oplostijden gelijk zijn op zowel klassieke als kwantumcomputers.
- De service voor het automatisch onderdrukken van machtigingsverzoeken (Permission Suggestions Service) houdt rekening met de URL van de pagina die om machtigingen vraagt (op servers Google zullen de hashes van de verzoekende URL's voor machtiging worden doorgegeven).
- In de Android-versie is de ondersteuning voor het Android 7.0 'Nougat'-platform stopgezet.
- Er is een framework toegevoegd dat de Close-verzoeken-concept implementeert, waarmee de gebruiker kan verzoeken om modale en pop-updialogen te sluiten door op de Esc-toets te drukken of door een touchscreen gebaar of de 'Terug'-knop op smartphones te gebruiken. Ondersteuning voor Close-verzoeken is toegevoegd voor dialogen die zijn gemaakt met het element
- De ondersteuning van het attribuut 'name' is toegevoegd aan het -element, waardoor het mogelijk wordt om groepen te maken door een reeks-elementen met dezelfde naam te definiëren.
- In de Media Session API is het evenement 'enterpictureinpicture' toegevoegd, waarmee de website een handler kan registreren die wordt aangeroepen bij het openen van inhoud in de 'picture-in-picture'-modus.
- De syntaxis van geneste CSS-blokken is vereenvoudigd — geneste CSS-regels kunnen nu beginnen met elk element, zonder dat het nodig is om voor de geneste regel het ampersand-symbool te specificeren of de functie is() te gebruiken. dl { dt { /* stijl voor dl dt */ } dd { /* stijl voor dl dd */ } }
- In de CSS-eigenschap «background-clip» is ondersteuning toegevoegd voor de parameter «text», waarmee de geselecteerde achtergrond alleen in het gebied dat door de tekens wordt begrensd, wordt weergegeven. Bijvoorbeeld, het instellen van «background: linear-gradient(60deg, red, yellow, red, yellow, red); background-clip: text; color: rgba(0, 0, 0, 0.2)» leidt tot de weergave:

- In CSS is de mediaquery «scripting» toegevoegd, die gebruikt kan worden om te bepalen of scripts, zoals JavaScript, op de huidige pagina kunnen worden uitgevoerd.
- In CSS is de pseudo-klasse «:dir()» toegevoegd, waarmee elementen kunnen worden geselecteerd op basis van de tekstoriëntatie (bijvoorbeeld, «:dir(ltr)» omvat elementen waarin de tekst van links naar rechts wordt weergegeven).
- In CSS zijn exponentiële functies toegevoegd: pow(), sqrt(), hypot(), log() en exp().
- In CSS is ondersteuning toegevoegd voor de eigenschappen mask, mask-image, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, mask-composite en mask-mode om een element te verbergen door een afbeelding op specifieke punten te leggen.
- In de API FontFaceSet is de methode check() toegevoegd, waarmee kan worden gecontroleerd of tekst kan worden weergegeven met de geselecteerde lettertypen zonder gebruik te maken van lettertypen in FontFaceSet waarvan de laadstatus nog niet is voltooid.
- In de API WebGPU is het mogelijk om een 16-bits floating-point type f16 in shaders te gebruiken.
- In de API Media Capabilities zijn de velden hdrMetadataType, colorGamut en transferFunction toegevoegd aan de methode decodingInfo() om de ondersteuning van HDR te bepalen.
- In de API MediaStreamTrack is de mogelijkheid toegevoegd om informatie te verkrijgen over de telers van ontvangen en verworpen videoframes.
- Er is ondersteuning toegevoegd voor het doorgeven van een ArrayBuffer-object aan de constructors VideoFrame, AudioData, EncodedVideoChunk, EncodedAudioChunk en ImageDecoder voor direct gebruik van de bytesarray zonder deze te kopiëren.
- In overeenstemming met de gewijzigde specificatie om de bescherming tegen XSS-aanvallen te verbeteren en de draagbaarheid tussen browsers te verbeteren, is in SVGUseElement de ondersteuning voor de URL «data:» beëindigd, die eerder niet werd ondersteund in de WebKit-engine.
- Er is experimentele (origin trial) ondersteuning toegevoegd voor de HTTP-header «Priority», waarmee informatie over de priority van de verwerking van een aanvraag (RFC 9218) kan worden doorgegeven tijdens de eerste toegang tot de bron.
- Verbeteringen zijn aangebracht in de tools voor webontwikkelaars. In de standaarddebugger is het negeren van scripts in de mappen «/node_modules/» en «/bower_components/» met Node.js-modules ingeschakeld. In de modus voor externe debugging is er een schakelaar toegevoegd om te kiezen tussen muis of aanraakscherm. De animatiedebugging is verbeterd. In het paneel Elementen is een 'media'-schakelaar toegevoegd voor het debuggen van elementen
Naast nieuwe functies en foutoplossingen zijn in de nieuwe versie 10 kwetsbaarheden verholpen. Veel van de kwetsbaarheden zijn ontdekt door geautomatiseerde tests met tools zoals AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. Er zijn geen kritieke problemen ontdekt die alle beveiligingslagen van de browser kunnen omzeilen en code buiten de sandbox-omgeving kunnen uitvoeren. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google voor deze release 13 premies ter waarde van 15.000 dollar uitbetaald (één premie van $10.000, één premie van $2.000 en drie premies van $1.000).
Bron: opennet.ru


