Google hat die Veröffentlichung des Webbrowsers Chrome 101 vorgestellt. Gleichzeitig ist die stabile Version des freien Projekts Chromium verfĂŒgbar, das die Basis von Chrome bildet. Der Browser Chrome unterscheidet sich von Chromium durch die Verwendung von Google-Logos, das Vorhandensein eines Systems zur Benachrichtigung bei AbstĂŒrzen, Modulen zur Wiedergabe von urheberrechtlich geschĂŒtztem Videomaterial (DRM), ein automatisches Update-System, die permanente Aktivierung der Sandbox-Isolierung, die Bereitstellung von SchlĂŒsseln fĂŒr die Google-API und die Ăbertragung von RLZ-Parametern bei der Suche. FĂŒr diejenigen, die mehr Zeit fĂŒr Updates benötigen, wird eine spezielle Version namens Extended Stable unterstĂŒtzt, die ĂŒber einen Zeitraum von 8 Wochen begleitet wird und ein Update fĂŒr die vorherige Version Chrome 100 enthĂ€lt. Die nĂ€chste Version Chrome 102 ist fĂŒr den 24. Mai geplant.
HauptÀnderungen in Chrome 101:
- Die Funktion Side Search wurde hinzugefĂŒgt, die es ermöglicht, die Suchergebnisse in einer Seitenleiste gleichzeitig mit dem Betrachten einer anderen Seite anzuzeigen (in einem Fenster kann sowohl der Inhalt der Seite als auch das Ergebnis der Suchanfrage gleichzeitig gesehen werden). Nachdem man von der Google-Suchergebnisseite auf eine Webseite gewechselt hat, erscheint vor dem Eingabefeld in der Adressleiste ein Symbol mit dem Buchstaben âGâ, auf das man klicken kann, um die Seitenleiste mit den Ergebnissen der zuvor vorgenommenen Suche zu öffnen. StandardmĂ€Ăig ist die Funktion nicht auf allen Systemen aktiviert; zur Aktivierung kann die Einstellung âchrome://flags/#side-searchâ verwendet werden.

- In der Adressleiste Omnibox wurde ein vorausgreifendes Rendern (Prerendering) des Inhalts der Empfehlungen implementiert, die beim Eingeben angezeigt werden. Zuvor wurden die wahrscheinlichsten Empfehlungen zur Beschleunigung des Zugriffs aus der Adressleiste vor dem Klick des Nutzers geladen, unter Verwendung des Prefetch-Aufrufs. Jetzt werden diese nicht nur geladen, sondern auch im Buffer gerendert (einschlieĂlich der AusfĂŒhrung von Skripten und der Bildung des DOM-Baums), was eine sofortige Anzeige der Empfehlungen nach dem Klick ermöglicht. Zur Steuerung des vorausgreifenden Renderns wurden die Einstellungen âchrome://flags/#enable-prerender2â, âchrome://flags/#omnibox-trigger-for-prerender2â und âchrome://flags/#search-suggestion-for-prerender2â angeboten.
- Die Informationen im HTTP-Header User-Agent und in den JavaScript-Parametern navigator.userAgent, navigator.appVersion und navigator.platform wurden eingeschrĂ€nkt. Im Header bleiben nur Angaben zum Namen des Browsers, zur Hauptversion des Browsers (die Komponenten der Version MINOR.BUILD.PATCH wurden durch 0.0.0 ersetzt), zur Plattform und zum GerĂ€tetyp (Mobiltelefon, PC, Tablet) erhalten. Um zusĂ€tzliche Daten wie die genaue Version und erweiterte Informationen zur Plattform zu erhalten, muss die API User Agent Client Hints verwendet werden. FĂŒr Websites, denen die neuen Informationen nicht ausreichen und die noch nicht bereit sind, auf User Agent Client Hints umzusteigen, wurde bis Mai 2023 die Möglichkeit der RĂŒckgabe des vollstĂ€ndigen User-Agent bereitgestellt.
- Das Verhalten der Funktion setTimeout wurde geĂ€ndert, wenn ein Nullargument fĂŒr die Verzögerung der Aufrufzeit ĂŒbergeben wird. Ab Chrome 101 wird der Code bei "setTimeout(âŠ, 0)" sofort ohne eine Verzögerung von 1 ms ausgefĂŒhrt, wie es die Spezifikation verlangt. FĂŒr wiederholte, verschachtelte Aufrufe von setTimeout gilt eine Verzögerung von 4 ms.
- In der Version fĂŒr die Plattform Android wurde die UnterstĂŒtzung fĂŒr die Anforderung von Berechtigungen zur Anzeige von Benachrichtigungen implementiert (in Android 13 muss die App ĂŒber die Berechtigung âPOST_NOTIFICATIONSâ verfĂŒgen, um Benachrichtigungen anzuzeigen, andernfalls wird das Senden von Benachrichtigungen blockiert). Wenn Chrome in einer Android 13-Umgebung ausgefĂŒhrt wird, wird der Browser jetzt eine Anfrage fĂŒr die Berechtigung zur Anzeige von Benachrichtigungen anzeigen.
- Die Nutzung der API WebSQL in Drittanbieter-Skripten wurde entfernt. StandardmĂ€Ăig war die Blockierung von WebSQL in Skripten, die nicht von der aktuellen Website geladen wurden, in Chrome 97 aktiviert, aber es wurde eine Option zum Deaktivieren dieses Verhaltens belassen. In Chrome 101 wurde diese Option entfernt. ZukĂŒnftig ist geplant, die UnterstĂŒtzung von WebSQL schrittweise vollstĂ€ndig einzustellen, unabhĂ€ngig vom Nutzungskontext. Anstelle von WebSQL wird empfohlen, die APIs Web Storage und Indexed Database zu verwenden. Der WebSQL-Handler basierte auf SQLite-Code und konnte von Angreifern zur Ausnutzung von Schwachstellen in SQLite verwendet werden.
- Die Namen der Richtlinien fĂŒr Unternehmen (chrome://policy), die nicht inklusive Begriffe enthalten, wurden entfernt. Ab Chrome 86 wurden fĂŒr die genannten Richtlinien VorschlĂ€ge fĂŒr Ersatzbezeichnungen gemacht, die inklusive Terminologie verwenden. Begriffe wie âwhitelistâ, âblacklistâ, ânativeâ und âmasterâ wurden bereinigt. Zum Beispiel wurde die Richtlinie URLBlacklist in URLBlocklist umbenannt, AutoplayWhitelist in AutoplayAllowlist und NativePrinters in Printers.
- Im Origin Trials-Modus (experimentelle Funktionen, die eine separate Aktivierung erfordern) hat das Testen der API fĂŒr das Federated Credential Management (FedCM), die die Erstellung von konsolidierten Identifikationsdiensten ermöglicht, begonnen. Diese Dienste gewĂ€hrleisten den Datenschutz und funktionieren ohne Mechanismen zur ĂŒbergreifenden Nachverfolgung, wie z.B. die Verarbeitung von Drittanbieter-Cookies. Das Origin Trial ermöglicht die Verwendung der angegebenen API aus Anwendungen, die von localhost oder 127.0.0.1 geladen wurden, oder nach einer Registrierung und dem Erhalt eines speziellen Tokens, das nur fĂŒr eine bestimmte Zeit fĂŒr eine bestimmte Website gĂŒltig ist.
- Das stabilisierte und allen Interessierten angebotene Mechanismus Priority Hints ermöglicht es, die Wichtigkeit von geladenen Ressourcen durch Angabe des zusĂ€tzlichen Attributs âimportanceâ in Tags wie iframe, img und link festzulegen. Das Attribut kann die Werte âautoâ, âlowâ oder âhighâ annehmen, die die LadeprioritĂ€t externer Ressourcen im Browser beeinflussen.
- Die Eigenschaft AudioContext.outputLatency wurde hinzugefĂŒgt, mit der Informationen ĂŒber die erwartete Verzögerung vor der Audioausgabe abgerufen werden können (die Verzögerung zwischen der Anfrage fĂŒr den Ton und dem Beginn der Verarbeitung der erhaltenen Daten durch das AusgabegerĂ€t).
- Die CSS-Eigenschaft font-palette und die Regel @font-palette-values wurden hinzugefĂŒgt, um eine Palette aus einer farbigen Schriftart auszuwĂ€hlen oder eine eigene Palette zu definieren. Beispielsweise kann diese Funktion verwendet werden, um die Farben von farbigen Schriftzeichen oder Emojis an das Farbschema des Inhalts anzupassen oder um den Dunkel- oder Hellmodus fĂŒr die Schriftart zu aktivieren.
- Die CSS-Funktion hwb() wurde hinzugefĂŒgt, die eine alternative Methode zur Angabe von sRGB-Farben im HWB-Format (Hue, Whiteness, Blackness) bietet, das dem HSL-Format (Hue, Saturation, Lightness) Ă€hnelt, aber fĂŒr das menschliche Auge einfacher zu erfassen ist.
- Im window.open()-Methode wird die Angabe der Eigenschaft popup in der windowFeatures-Zeichenfolge, ohne eine Wertzuweisung (d.h. wenn einfach popup angegeben ist, nicht popup=true), nun als Aktivierung des Ăffnens eines Miniatur-Popup-Fensters (analog zu âpopup=trueâ) behandelt, anstatt einen standardmĂ€Ăigen Wert von âfalseâ zuzuweisen, was unlogisch war und Entwickler in die Irre fĂŒhrte.
- Im MediaCapabilities-API, das Informationen ĂŒber die DekodierungsfĂ€higkeiten von GerĂ€ten und Browsern fĂŒr Multimedia-Inhalte bereitstellt (unterstĂŒtzte Codecs, Profile, Bitraten und Auflösungen), wurde die UnterstĂŒtzung fĂŒr WebRTC-Streams hinzugefĂŒgt.
- Eine dritte Version der Secure Payment Confirmation API wurde vorgeschlagen, die Werkzeuge zur zusĂ€tzlichen BestĂ€tigung von Zahlungsoperationen bietet. In der neuen Version wurde die UnterstĂŒtzung fĂŒr Identifikatoren hinzugefĂŒgt, die die Eingabe von Daten erfordern, zur Bestimmung von Symbolen zur Anzeige von ĂberprĂŒfungsfehlern sowie fĂŒr die optionale Eigenschaft payeeName.
- In der API USBDevice wurde die Methode forget() hinzugefĂŒgt, um die zuvor vom Benutzer erteilten Berechtigungen fĂŒr den Zugriff auf das USB-GerĂ€t zurĂŒckzuziehen. AuĂerdem sind die Instanzen von USBConfiguration, USBInterface, USBAlternateInterface und USBEndpoint nun bei strenger Gleichheit (===, weisen auf dasselbe Objekt hin), wenn sie fĂŒr dasselbe USBDevice-Objekt zurĂŒckgegeben werden.
- Es wurden Verbesserungen an den Werkzeugen fĂŒr Webentwickler vorgenommen. Es besteht nun die Möglichkeit, Benutzeraktionen im JSON-Format zu importieren und zu exportieren (Beispiel). Die Berechnung und Anzeige privater Eigenschaften in der Web-Konsole und im Code-Viewer wurden verbessert. Die UnterstĂŒtzung fĂŒr die Farbmodellierung HWB wurde hinzugefĂŒgt. Im CSS-Bereich wurde die Möglichkeit zur Anzeige von kaskadierenden Schichten, die durch die Regel @layer definiert sind, implementiert.

Neben den Neuerungen und Fehlerkorrekturen wurden in der neuen Version 30 SicherheitsanfĂ€lligkeiten behoben. Viele dieser AnfĂ€lligkeiten wurden durch automatisierte Tests mit den Werkzeugen AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer und AFL identifiziert. Kritische Probleme, die es ermöglichen, alle Schutzebenen des Browsers zu umgehen und Code auĂerhalb der Sandbox-Umgebung auszufĂŒhren, wurden nicht festgestellt. Im Rahmen des Programms zur Belohnung von SicherheitsanfĂ€lligkeiten hat Google fĂŒr die aktuelle Version 25 PrĂ€mien in Höhe von insgesamt 81.000 USD ausgeschĂŒttet (eine PrĂ€mie von 10.000 USD, drei PrĂ€mien von 7.500 USD, drei PrĂ€mien von 7.000 USD, eine PrĂ€mie von 6.000 USD, zwei PrĂ€mien von 5.000 USD, vier PrĂ€mien von 2.000 USD, drei PrĂ€mien von 1.000 USD und eine PrĂ€mie von 500 USD). Die Höhe von 6 PrĂ€mien ist noch nicht festgelegt.
Quelle: opennet.ru


