Google heeft de release van webbrowser Chrome 118 gepubliceerd. Tegelijkertijd is de stabiele versie van het vrije project Chromium beschikbaar, dat de basis vormt voor Chrome. De browser Chrome verschilt van Chromium door het gebruik van Google-logo's, de aanwezigheid van een systeem voor het verzenden van meldingen bij crashes, modules voor het afspelen van auteursrechtelijk beschermd videomateriaal (DRM), een systeem voor automatische updates, constante inschakeling van Sandbox-isolatie, de levering van sleutels voor Google API's en de overdracht van RLZ-parameters tijdens zoekopdrachten. Voor degenen die meer tijd nodig hebben voor updates, is er een aparte Extended Stable-tak die tot 8 weken wordt ondersteund. De volgende release van Chrome 119 is gepland op 31 oktober.
Belangrijkste wijzigingen in Chrome 118:
- De voorbereidingen zijn begonnen voor het stoppen van de ondersteuning voor externe cookies in Chrome, die worden ingesteld bij het bezoeken van sites die verschillen van het domein van de huidige pagina. Dergelijke cookies worden gebruikt voor het volgen van de bewegingen van gebruikers tussen websites in de code van advertentienetwerken, sociale media-widgets en webanalysetools. De wijzigingen maken deel uit van het Privacy Sandbox-initiatief, dat gericht is op het vinden van een balans tussen de behoefte van gebruikers om hun privacy te behouden en het verlangen van advertentienetwerken en websites om de voorkeuren van bezoekers te volgen.
In Chrome 118 wordt in de hulpprogramma's voor webontwikkelaars een waarschuwing weergegeven bij het verzenden van cookies die onder toekomstige blokkades vallen. Ook is er een nieuwe optie in de opdrachtregel ‘—test-third-party-cookie-phaseout’ en een instelling ‘chrome://flags/#test-third-party-cookie-phaseout’ toegevoegd om de blokkering gedwongen in te schakelen voor testdoeleinden. De feitelijke blokkering van externe cookies begint in het eerste kwartaal van 2024 en zal tot het derde kwartaal tijdens de testperiode alleen 1% van de Chrome-gebruikers dekken. Na het derde kwartaal van 2024 zal de dekking van de blokkering worden verhoogd tot 100%.
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.
- Voor alle gebruikers is ondersteuning voor het ECH-mechanisme (Encrypted Client Hello) ingeschakeld, dat de ontwikkeling van ESNI (Encrypted Server Name Indication) voortzet en wordt gebruikt voor het versleutelen van informatie over TLS-sessieparameters, zoals de aangevraagde domeinnaam. Het belangrijkste verschil tussen ECH en ESNI is dat in ECH in plaats van de versleuteling op het niveau van individuele velden het hele TLS-bericht ClientHello wordt versleuteld, waardoor lekken via velden die niet door ESNI worden gedekt, zoals het PSK-veld (Pre-Shared Key), worden geblokkeerd. Voor het beheren van de inschakeling van ECH is de instelling "chrome://flags#encrypted-client-hello" voorzien.
- Bij het inschakelen van de uitgebreide browserbescherming (Veilig Surfen > Uitgebreide bescherming) is het mogelijk om kwaadaardige extensies die niet uit de standaard extensiecatalogus zijn geïnstalleerd, op afstand uit te schakelen. De beslissing om te verwijderen wordt genomen op de servers van Google op basis van een handmatige controle of na het activeren van het automatische detectiesysteem voor kwaadaardige code.
- Bij het inschakelen van de standaard browserbescherming (Veilig Surfen > Standaard bescherming) wordt in realtime een veiligheidscontrole uitgevoerd op openstaande URL's, op basis van de overdracht naar servers Google van gedeeltelijke hashes van de door de gebruiker geopende URL's. Om overeenstemming te voorkomen IP-adressen de gebruiker en de hash, waarbij de gegevens via een tussenproxy worden verzonden. Voorheen werd de controle uitgevoerd door een lokale kopie van de lijst met onveilige URL's naar het systeem van de gebruiker te downloaden. Het nieuwe schema stelt ons in staat om kwaadaardige URL's sneller te blokkeren.
- De opmaak van de pagina's is verbeterd die worden weergegeven wanneer geprobeerd wordt een website te openen die tijdens de controle via het Veilig Surfen-mechanisme als onveilig is aangemerkt.

- In de telemetrie die naar de servers van Google wordt verzonden wanneer de uitgebreide browserbescherming (Veilig Surfen > Uitgebreide bescherming) is ingeschakeld, worden nu de aanvragen van extensies aan de API chrome.tabs meegenomen. Gegevens worden verzameld om kwaadaardige activiteiten en schendingen van de regels in extensies te detecteren.
- Bij het inschakelen van de uitgebreide browserbescherming (Veilig Surfen > Uitgebreide bescherming) wordt ondersteuning geboden voor diepgaande scanning van versleutelde ZIP- en RAR-archieven aan de kant van Google (de gebruiker wordt om het uitpakwachtwoord gevraagd, waarna de inhoud voor controle naar de servers van Google wordt verzonden).
- In de configurator en de handleiding voor privacybescherming is nieuwe tekst toegevoegd die de essentie van de niveaus van bescherming met Safe Browsing uitlegt, evenals links naar de betreffende artikelen met aanvullende informatie. De beschrijvingen van de standaardbescherming, het uitschakelen van bescherming en waarschuwingen over compromittering van wachtwoorden zijn vereenvoudigd.

- In de sectie Quests (prijsbewaking in webwinkels) op de pagina van het nieuwe tabblad is informatie toegevoegd over beschikbare kortingen. De kortingsindicator kan ook verschijnen in de adresbalk wanneer pagina's met producten van webwinkels die door de Google-service worden gevolgd, worden geopend.
- Conform de specificatie RFC-6265bis is het blokkeren van alle cookies met controlekarakters die via JavaScript zijn ingesteld, verzekerd. Voorheen werden cookies met null-karakter, carriage return en newlines afgeknipt op het problematische teken, in plaats van dat ze werden geblokkeerd, wat in sommige situaties kon worden misbruikt voor kwaadaardige acties. Om het nieuwe gedrag uit te schakelen kan de optie "--disable-features=BlockTruncatedCookies" worden gebruikt.
- Toegang tot de WebUSB API is toegestaan in geregistreerde extensies van Service Workers.
- De noodzaak voor gebruikers om vooraf de mogelijkheid voor het weergeven van dialogen voor betalingsverzoeken en -bevestigingen te activeren is verwijderd.
- Decodering van ASCII-tekens naar codes «%xx» is stopgezet. Voorheen werd «http://example.com/» bij het opslaan in url.href gedecodeerd naar «http://example.com/A», maar nu blijft dit «http://example.com/».
- Er is een mogelijkheid toegevoegd om tekst verticaal weer te geven in webformulier elementen zoals select, meter, progress, button, textarea en input. De positionering van tekst in formulieren wordt ingesteld met behulp van de CSS-eigenschap writing-mode, die voor verticale weergave waarden kan aannemen zoals vertical-rl of vertical-lr.
- In de CSS-eigenschap "appearance" is de ondersteuning voor niet-standaard sleutelwoorden beëindigd: inner-spin-button, media-slider, media-sliderthumb, media-volume-slider, media-volume-sliderthumb, push-button, searchfield-cancel-button, slider-horizontal, sliderthumb-horizontal, sliderthumb-vertical en square-button. Om de vraag naar deze sleutelwoorden die niet in de specificatie zijn opgenomen te beoordelen, is statistiek verzameld, waaruit blijkt dat ze slechts in 0,001% van de gevallen werden toegepast.
- CSS-regel @scope is toegevoegd, die CSS-stijlen koppelt op basis van de nabijheid van de stijldefinitie ten opzichte van de elementen. De @scope-regel kan worden gebruikt om de typische volgorde van stijlen te omzeilen of om de stijl van een component aan te passen, zonder de stijlen van de geneste elementen te beïnvloeden. Bijvoorbeeld, voor geneste div's: <div class="»lightpink-theme»"> <a href="/nl/»/#»">Ik ben lichtroze!</a> <div class="»pink-theme»"> <a href="/nl/»/#»">Verschillende roze tinten!</a> </div> </div> alle inhoud zal lichtroze worden gekleurd vanwege de invloed van de stijl "lightpink-theme", die is opgegeven in de bovenliggende div. Met @scope kan de zichtbaarheid worden gewijzigd en kan voor de geneste div de stijl "pink-theme" worden ingesteld op basis van de nabijheid van de stijldefinitie, in plaats van de volgorde van de definitie in de code: @scope (.pink-theme) { a { kleur: hotpink; } } @scope (.lightpink-theme){ a { kleur: lichtroze; } }
- Ondersteuning voor de mediaquery (@media) 'scripting' is toegevoegd, waarmee de beschikbaarheid van de mogelijkheid om scripts uit te voeren kan worden gecontroleerd (bijvoorbeeld, in CSS kan worden bepaald of de ondersteuning voor JavaScript is ingeschakeld).
- Ondersteuning voor de mediaquery 'prefers-reduced-transparency' is toegevoegd, waarmee veranderingen in de systeeminstellingen voor het verminderen van de toepassing van transparantie- of semi-transparante effecten kunnen worden vastgesteld (bijvoorbeeld de 'Reduce transparency'-modus in macOS, die wordt toegepast om de leesbaarheid van tekst te verbeteren).
- In CSS is de ondersteuning voor nieuwe waarden 'float: inline-start', 'float: inline-end', 'clear: inline-start', 'clear: inline-end', 'resize: block', 'resize: inline' toegevoegd, die de logische positionering van elementen beheersen (voor ondersteuning van talen die van rechts naar links of boven naar beneden schrijven, gebruikt logische positionering de concepten begin, einde en richting van de tekst).
- In de CSS-eigenschap 'transform-box' is ondersteuning voor de waarden stroke-box, content-box en border-box toegevoegd, waarmee de methode voor het berekenen van het referentiekader voor transformatieoperaties kan worden gewijzigd, bijvoorbeeld voor het implementeren van geavanceerde grafische effecten.
- Er is een mogelijkheid toegevoegd om de focus op scrollblokken te leggen tijdens navigatie met het toetsenbord (bijvoorbeeld, de focus op de scroll kan worden gelegd door op de Tab-toets te drukken en te scrollen met de pijltoetsen).
- Verbeteringen zijn aangebracht in de tools voor webontwikkeling. De mogelijkheden van het tabblad 'Sources' zijn uitgebreid, waarbij in plaats van de sectie 'Filesystem' een tabblad 'Workspace' is aangeboden, waarmee veranderingen die via de ontwikkeltools zijn toegevoegd, met de oorspronkelijke bestanden kunnen worden gesynchroniseerd.
De mogelijkheid is geboden om de volgorde van tabs in het 'Sources'-paneel te wijzigen door ze met de muis te verslepen in drag & drop-modus. Opmaak van JavaScript-code, ingebed in script-elementen met de types module, importmap en speculationrules is mogelijk gemaakt. Syntax-highlighting is toegevoegd voor scripts van het type importmap en speculationrules.

In het Elements-paneel is onder het tabblad Styles een aparte sectie toegevoegd voor gebruikersspecifieke eigenschappen, waarmee je je eigen CSS-eigenschappen kunt definiëren zonder JavaScript uit te voeren. In de zoekresultaten worden alle overeenkomsten in de regel weergegeven, niet alleen de eerste, wat handig is bij het doorzoeken van JavaScript-bestanden die zijn verpakt voor bestandsgrootte-reductie (wanneer je op het resultaat klikt, wordt het bestand geopend in de editor en wordt er zowel verticaal als horizontaal gescrold om de gevonden positie weer te geven).

Naast nieuwe functies en bugfixes zijn in de nieuwe versie 20 kwetsbaarheden verholpen. Veel van de kwetsbaarheden zijn ontdekt door geautomatiseerde tests met tools zoals AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. Onder andere is in deze release een kritieke kwetsbaarheid CVE-2023-5218 verholpen, die verband houdt met toegang tot geheugen na vrijgave (Use after free) in het site-isolatiemechanisme. Deze kwetsbaarheid maakt het mogelijk om alle niveaus van browserbeveiliging te omzeilen en code buiten de sandboxomgeving in het systeem uit te voeren. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google in deze release 14 beloningen uitbetaald ter waarde van $30.500 (één beloning van $6000, twee beloningen van $5000, twee beloningen van $3000, één beloning van $2000, zes beloningen van $1000 en één beloning van $500). Het bedrag van één beloning is nog niet bepaald.
Bron: opennet.ru




