Google heeft de release van webbrowser Chrome 145 aangekondigd. Tegelijkertijd is er een stabiele versie van het open source-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, continue Sandbox-isolatie, levering van sleutels voor Google API en het doorgeven van RLZ-parameters tijdens het zoeken. Voor degenen die meer tijd nodig hebben voor updates, wordt de Extended Stable-tak afzonderlijk ondersteund, met een periode van 8 weken. De volgende release van Chrome 146 is gepland op 10 maart.
Belangrijkste wijzigingen in Chrome 145:
- Ondersteuning voor het afbeeldingsformaat JPEG XL is toegevoegd, waarvoor de jxl-rs-bibliotheek wordt gebruikt met de implementatie van JPEG-XL in de programmeertaal Rust. Ondersteuning voor JPEG XL is voorlopig standaard uitgeschakeld en vereist activatie van de parameter 'chrome://flags/#enable-jxl-image-format'.
- De ontwikkeling van de AI-modus is voortgezet, die interactie met de AI-agent mogelijk maakt vanuit de adresbalk of de pagina die geopend wordt wanneer een nieuw tabblad wordt aangeslagen. De AI-modus biedt de mogelijkheid om complexe vragen in natuurlijke taal te stellen en antwoorden te ontvangen op basis van informatieaggregatie van de meest relevante pagina's over het gevraagde onderwerp. Indien nodig kan de gebruiker informatie verduidelijken door verduidelijkende vragen te stellen. De modus maakt het ook mogelijk om vragen over de inhoud van de pagina rechtstreeks vanuit de adresbalk te stellen. In Chrome 145 is de AI-modus geïmplementeerd in de versies voor de platforms Android en iOS. Voor gebruikers uit Canada, India en Nieuw-Zeeland is het standaard inschakelen van de chatbot Gemini (bij gebruik van de Engelse taal) begonnen.
- Een mechanisme voor DBSC (Device Bound Session Credentials) is toegevoegd, waarmee de authenticatiesessie op de site aan een specifiek apparaat kan worden gekoppeld om aanvallen vanuit andere systemen te bemoeilijken met behulp van onderschepte sessiecookies. Voor het creëren van een apparaatgebonden sessie is de HTTP-header "Secure-Session-Registration" voorgesteld. De beschermingsmethode houdt in dat er een paar cryptografische sleutels wordt verstrekt, gekoppeld aan het huidige apparaat, die worden gegenereerd bij het verbinden en worden opgeslagen in de TPM (Trusted Platform Module). In de sessie worden cookies gebruikt met een korte levensduur die periodiek worden bijgewerkt met behulp van de privésleutel en die kunnen worden gecontroleerd met de openbare sleutel.

- De parameter die het mogelijk maakte om de blokkering van verplicht geïnstalleerde browserextensies, waarin niet-essentiële schendingen van de Chrome Web Store-richtlijnen zijn vastgesteld, uit te schakelen, is verwijderd. Niet-essentiële schendingen omvatten het hebben van potentiële kwetsbaarheden, het opdringen van een extensie zonder medeweten van de gebruiker, manipulaties met metadata, schending van de regels voor het omgaan met gebruikersgegevens en het misleiden over de functionaliteit.
- In de versie voor het Android-platform is de Javascript API WebGPU gedeactiveerd bij het activeren van de modus voor uitgebreide bescherming (AAPM, Android Advanced Protection Mode). Websites die WebGPU gebruiken voor het renderen van 3D-inhoud (zoals Google Maps) kunnen tragere alternatieven gebruiken, zoals WebGL (in tests tot 5,78% trager). Om de uitschakeling van WebGPU te bepalen, kan de eigenschap navigator.gpu worden gebruikt.
- In de Android-versie is bij het inschakelen van de modus voor uitgebreide bescherming van de browser (Enhanced Safe Browsing) een lokale analyse van de pagina's geïmplementeerd om tekenen van fraude te detecteren. Als de lokale controle verdachte inhoud detecteert, wordt er een aanvullende controle uitgevoerd op de servers van Google, en in geval van bevestiging wordt de gebruiker gewaarschuwd.
- De Origin API is toegevoegd, dat een Origin-object biedt dat het concept Web Origin implementeert en methoden aanbiedt voor het vergelijken, serialiseren en parseren van Web Origin. De term 'Web Origin' is gedefinieerd in RFC 6454 om grenzen van isolatie en vertrouwen in inhoud te scheiden. Web Origin beslaat een deel van de URL dat de protocolnaam, hostnaam en poortnummer omvat (bijv. https://opennet.ru). De nieuwe API is geïntroduceerd om de operaties met Web Origin te uniformiseren om kwetsbaarheden te voorkomen die voortkomen uit onjuiste vergelijkingen van de geserialiseerde ASCII-voorstellingen van Web Origin bij het bepalen van de toebehoren van middelen aan een enkele site.
- De toegang tot het lokale systeem is gescheiden bij interactie met publieke websites. Aanroepen van een website naar IP-adressen het lokale netwerk (intranet of interne adressen) en de loopback-interface (127.0.0.0/8) worden nu afgehandeld met verschillende bevoegdheden (local-network en loopback-network), die van de gebruiker vereisen dat deze de operatie bevestigt in een speciaal dialoogvenster. Beschermingsacties zijn van toepassing op pogingen om middelen te laden, fetch()-verzoeken en iframe-invoegingen. Aanroepen naar interne middelen worden door kwaadwillenden gebruikt voor het uitvoeren van CSRF-aanvallen op routers, toegangspunten, printers, bedrijfswebinterfaces en andere apparaten en diensten die alleen verzoeken vanuit het lokale netwerk accepteren. Bovendien kan het scannen van interne middelen worden gebruikt voor indirecte identificatie of het verzamelen van informatie over het lokale netwerk.
- De instelling UserAgentReduction is verwijderd, waardoor het mogelijk was om onverkleinde informatie in de HTTP-header User-Agent en JavaScript-parameters navigator.userAgent, navigator.appVersion en navigator.platform terug te geven. De browser verzendt nu altijd een verkorte versie van de User-Agent zonder gedetailleerde informatie over het platform (bijvoorbeeld 'Android 16; S' in plaats van 'Android 16; SM-A205U').
- De ingebouwde PDF-viewer heeft de mogelijkheid gekregen om het document op te slaan in de cloudopslag Google Drive. In Google Drive worden documenten vanuit Chrome opgeslagen in de map 'Gesaved vanuit Chrome'.
- De API LayoutShift, die het volgen van de verandering van de positie van DOM-elementen op het scherm mogelijk maakt, is aangepast om informatie in CSS-pixels weer te geven in plaats van in schermpixels. CSS-pixel houdt rekening met de DPI van het scherm en ziet er visueel hetzelfde uit op alle schermen, inclusief monitoren met hoge pixel dichtheid. De wijziging is doorgevoerd om Chrome in lijn te brengen met het gedrag van andere browsers.
- Voor de API Controlled Frame is de methode WebRequest.SecurityInfo geïmplementeerd, waarmee een webapplicatie HTTPS-, WSS- of WebTransport-verzoeken naar de server kan onderscheppen en een kopie van het certificaat kan verkrijgen. de server en deze kan gebruiken voor handmatige verificatie van het certificaat dat is gebruikt voor de directe verbinding met dezelfde server via TCP/UDP.
- Ondersteuning voor de CSS-eigenschappen column-wrap en column-height is toegevoegd, zoals gedefinieerd in de specificatie CSS Multi-column Layout 2. De eigenschap column-wrap stelt kolommen in staat om naar een nieuwe regel te verplaatsen in plaats van horizontaal te scrollen, als de kolommen niet passen binnen de hoogte die is opgegeven via de eigenschap column-height.
- De CSS-eigenschap text-justify is toegevoegd, waarmee het type tekstuitlijning kan worden gedefinieerd bij het gebruik van 'text-align: justify';
- In de CSS-eigenschappen letter-spacing en word-spacing is het toegestaan om de spatiëring in procenten op te geven.
- In de JavaScript-objecten Map en WeakMap is de specificatie 'upsert' geïmplementeerd, wat het werken met collecties van sleutel/waarde-paren vereenvoudigt. Methoden getOrInsert en getOrInsertComputed zijn toegevoegd, die de al bestaande waarde in de collectie retourneren die is geassocieerd met de opgegeven sleutel of een nieuw record aanmaken als de sleutel niet gevonden is.
- De implementatie van de API IndexedDB is herschreven met gebruik van de SQLite-database als backend (de vorige implementatie was gebaseerd op LevelDB in afzonderlijke bestanden). De nieuwe versie wordt momenteel alleen gebruikt in contexten die in het geheugen worden geplaatst, bijvoorbeeld in incognitomodus.
- Verbeteringen zijn aangebracht in de tools voor webontwikkelaars. In de netwerkinvoersinterface is de mogelijkheid om de snelheid van afzonderlijke netwerkverzoeken te beperken standaard ingeschakeld in het paneel 'Request conditions'.
Naast nieuwe functies en bugfixes zijn in de nieuwe versie 11 kwetsbaarheden verholpen. Veel van de kwetsbaarheden zijn aan het licht gekomen door geautomatiseerde tests met behulp van de tools AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. Kritieke problemen die alle niveaus van browserbeveiliging kunnen omzeilen en code buiten de sandbox-omgeving in het systeem kunnen uitvoeren, zijn niet gevonden. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google 11 prijzen uitgereikt en $ 18.500 uitgekeerd (waaronder één prijs van $ 8000, $ 5000, $ 2000 en $ 500, en drie prijzen van $ 1000). De omvang van 4 beloningen is voorlopig nog niet bepaald.
Bron: opennet.ru

