Release von Chrome 91

Das Unternehmen Google hat die Version 91 des Webbrowsers Chrome veröffentlicht. Gleichzeitig ist die stabile Version des freien Projekts Chromium verfügbar, das die Grundlage für Chrome bildet. Der Browser Chrome zeichnet sich durch die Verwendung von Google-Logos, ein System zur Benachrichtigung bei Abstürzen, Module zur Wiedergabe von geschützten Video-Inhalten (DRM), ein System zur automatischen Aktualisierung sowie die Übertragung von RLZ-Parametern bei Suchanfragen aus. Der nächste Release von Chrome 92 ist für den 20. Juli geplant.

Die wichtigsten Änderungen in Chrome 91:

  • Es wurde die Möglichkeit implementiert, die Ausführung von JavaScript in minimierten Tab-Gruppen zu stoppen. In Chrome 85 wurde die Unterstützung für das Gruppieren von Tabs eingeführt, die mit einer bestimmten Farbe und einem Label verbunden werden können. Bei einem Klick auf das Label der Gruppe werden die dazugehörigen Tabs minimiert, und es bleibt nur ein Label (ein weiterer Klick auf das Label öffnet die Gruppe wieder). In der neuen Version wurde im Hinblick auf die Reduzierung der CPU-Last und den Energiesparen die Aktivität in minimierten Tabs pausiert. Ausnahme bilden Tabs, in denen Ton wiedergegeben wird, die das API Web Locks oder IndexedDB nutzen, eine Verbindung zu einem USB-Gerät besteht oder Video-, Audio- oder Bildschirminhalte aufgezeichnet werden. Diese Änderung wird schrittweise umgesetzt, beginnend mit einem kleinen Prozentsatz der Nutzer.
  • Die Unterstützung für ein Schlüsselübereinstimmungsverfahren, das gegen das Knacken durch Quantencomputer resistent ist, wurde integriert. Quantencomputer lösen das Problem der Zerlegung von natürlichen Zahlen in Primfaktoren, welches der Basis moderner asymmetrischer Verschlüsselungsalgorithmen zugrunde liegt, erheblich schneller und ist auf klassischen Prozessoren nicht effizient lösbar. Für die Verwendung in TLSv1.3 steht das Plug-in CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2) zur Verfügung, das den klassischen Schlüsselwechselmechanismus X25519 mit dem auf dem NTRU Prime Algorithmus basierenden HRSS-Schema kombiniert, das für Post-Quanten-Kryptosysteme entwickelt wurde.
  • Die Unterstützung für die Protokolle TLS 1.0 und TLS 1.1 wurde vollständig eingestellt, da diese von dem IETF-Komitee (Internet Engineering Task Force) als veraltet eingestuft wurden. Dazu wurde auch die Möglichkeit entfernt, TLS 1.0/1.1 durch Änderung der Richtlinien SSLVersionMin wiederherzustellen.
  • In den Builds für die Linux-Plattform ist die Nutzung des Modus „DNS über HTTPS“ (DoH, DNS over HTTPS) enthalten, der zuvor bereits Nutzern von Windows, macOS, ChromeOS und Android zur Verfügung gestellt wurde. DNS-over-HTTPS wird automatisch für Nutzer aktiviert, bei denen in den Einstellungen DNS-Anbieter angegeben sind, die diese Technologie unterstützen (für DNS-over-HTTPS wird derselbe Anbieter verwendet, der auch für DNS verwendet wird). Wenn beispielsweise in den Systemeinstellungen des Nutzers DNS 8.8.8.8 angegeben ist, wird der DNS-over-HTTPS-Dienst von Google aktiviert („https://dns.google.com/dns-query“); ist DNS 1.1.1.1, wird der DNS-over-HTTPS-Dienst von Cloudflare aktiviert („https://cloudflare-dns.com/dns-query“) usw.
  • Der Port 10080, der in Amanda Backup und VMWare vCenter verwendet wird, wurde zu den gesperrten Netzwerkports hinzugefügt. Zuvor wurden die Ports 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 und 6566 bereits blockiert. Für die in der Blacklist aufgeführten Ports wird das Versenden von HTTP-, HTTPS- und FTP-Anfragen blockiert, um sich vor der NAT-Slipstreaming-Attacke zu schützen, die es ermöglicht, bei dem Öffnen einer speziell vorbereiteten Angreifer-Webseite im Browser eine Netzwerkverbindung vom Attackerserver zu einem beliebigen UDP- oder TCP-Port im System des Nutzers herzustellen, trotz der Verwendung interner Adressbereiche (192.168.x.x, 10.x.x.x).
  • Es wurde die Möglichkeit geschaffen, die automatische Ausführung von isolierten Web-Anwendungen (PWA – Progressive Web Apps) beim Anmelden des Nutzers im System (Windows und macOS) einzustellen. Der Autostart kann auf der Seite chrome://apps konfiguriert werden. Die Funktionalität wird derzeit nur für einen kleinen Prozentsatz der Nutzer getestet, während für andere die Aktivierung der Einstellung „chrome://flags/#enable-desktop-pwas-run-on-os-login“ erforderlich ist.
  • Im Rahmen der Umsetzung einer inklusiven Terminologie wurde die Datei „master_preferences“ in „initial_preferences“ umbenannt. Um die Kompatibilität zu gewährleisten, bleibt die Unterstützung von „master_preferences“ noch eine Zeit lang im Browser erhalten. Der Browser hat bereits den Gebrauch der Begriffe „whitelist“, „blacklist“ und „native“ eingestellt.
  • Im erweiterten Modus für den Schutz vor gefährlichen Websites (Enhanced Safe Browsing), in dem zusätzliche Prüfungen aktiviert werden, um vor Phishing, schädlicher Aktivität und anderen Bedrohungen im Web zu schützen, wurde die Möglichkeit implementiert, heruntergeladene Dateien zur Überprüfung an Google zu senden. Darüber hinaus wird im Enhanced Safe Browsing bei der Feststellung von Phishing-Versuchen die Verwendung von Tokens, die an das Google-Konto gebunden sind, sowie das Senden der Referrer-Headerwerte an die Google-Server zur Überprüfung von Redirects von gefährlichen Websites berücksichtigt.
  • In der Version für die Android-Plattform wurde die Gestaltung von Webformularen verbessert, die für die Verwendung auf Touchscreens und für Menschen mit Behinderungen optimiert wurden (die Gestaltung für Desktop-Systeme wurde in Chrome 83 überarbeitet). Ziel der Überarbeitung war die Vereinheitlichung des Designs der Formularelemente und die Beseitigung von Stilinkonsistenzen – zuvor wurden einige Elemente in Übereinstimmung mit den Benutzeroberflächenelementen der Betriebssysteme entworfen, während andere in Übereinstimmung mit den beliebtesten Stilen erstellt wurden. Dies führte dazu, dass verschiedene Elemente unterschiedlich für Touchscreens und Systeme für Menschen mit Behinderungen geeignet waren.
    Release von Chrome 91Release von Chrome 91
  • Eine Umfrage zur Nutzermeinung wurde hinzugefügt, die beim Öffnen der Einstellungen zum Privacy Sandbox angezeigt wird (chrome://settings/privacySandbox).
  • Beim Start der Android-Version von Chrome auf Tablets mit großen Bildschirmen wird die Desktop-Version der Website abgefragt, nicht die Mobile Edition. Das Verhalten kann über die Einstellung "chrome://flags/#request-desktop-site-for-tablets" geändert werden.
  • Der Code zur Darstellung von Tabellen wurde überarbeitet, was die Probleme mit der Inkonsistenz des Verhaltens bei der Anzeige von Tabellen in Chrome und Firefox/Safari behob.
  • Die Verarbeitung von Serverzertifikaten der spanischen Zertifizierungsstelle Camerfirma wurde aufgrund wiederholter Vorfälle seit 2017, die mit Verstößen bei der Ausstellung von Zertifikaten zusammenhängen, eingestellt. Die Unterstützung für Client-Zertifikate bleibt erhalten, die Blockierung gilt ausschließlich für Zertifikate, die auf Websites für HTTPS verwendet werden.
  • Die Umsetzung der Unterstützung für Netzsegmentierung zum Schutz vor Methoden zur Verfolgung der Benutzerbewegungen zwischen Websites, die auf der Speicherung von Identifikatoren in Bereichen basieren, die nicht für die dauerhafte Speicherung von Informationen vorgesehen sind ("Supercookies"), wird fortgesetzt. Da Ressourcen im Cache im gemeinsamen Namensraum gespeichert werden, unabhängig von der ursprünglichen Domain, kann eine Website den Zugriff auf Ressourcen einer anderen Website überprüfen, indem sie prüft, ob diese Ressource im Cache vorhanden ist. Der Schutz basiert auf der Anwendung von Netzsegmentierung (Network Partitioning), die darin besteht, zusätzliche Bindungen von Einträgen zu dem Ort hinzuzufügen, von dem die Hauptseite geöffnet wurde, was die Reichweite des Caches für Tracking-Skripte nur auf die aktuelle Website beschränkt (ein Skript aus einem iframe kann nicht prüfen, ob die Ressource von einer anderen Website geladen wurde). Domain, von dem die Hauptseite geöffnet wurde, was die Reichweite des Caches für Tracking-Skripte nur auf die aktuelle Website beschränkt (ein Skript aus einem iframe kann nicht prüfen, ob die Ressource von einer anderen Website geladen wurde).

    Die Kosten der Segmentierung sind eine verringerte Effizienz des Cachings, was zu einem geringfügigen Anstieg der Ladezeit der Seite führt (maximal um 1,32 %, aber für 80 % der Websites um 0,09-0,75 %). Zum Testen des Segmentierungsmodus kann der Browser mit der Option „—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey“ gestartet werden.

  • Eine externe REST-API VersionHistory (https://versionhistory.googleapis.com/v1/chrome) wurde hinzugefügt, über die Informationen zu den Versionen von Chrome in Bezug auf Plattformen und Branches sowie zur Aktualierungsgeschichte des Browsers abgerufen werden können.
  • In iframes, die von Domains geladen werden, die sich von der Basisdomain unterscheiden, wird die Anzeige von JavaScript-Dialogen alert(), confirm() und prompt() blockiert, um die Benutzer vor Versuchen zu schützen, von externen Skripten Nachrichten als ob sie von der Hauptseite ausgegeben werden, anzuzeigen.
  • Die API WebAssembly SIMD für die Verwendung von Vektor-SIMD-Anweisungen in Anwendungen im WebAssembly-Format wurde stabilisiert und als Standard vorgeschlagen. Um die Plattformunabhängigkeit zu gewährleisten, wird ein neuer 128-Bit-Typ angeboten, der verschiedene Typen von verpackten Daten darstellen kann, sowie mehrere grundlegende Vektoroperationen zur Verarbeitung verpackter Daten. SIMD ermöglicht eine Leistungssteigerung durch Parallelisierung der Datenverarbeitung und wird nützlich sein beim Kompilieren von nativen Code in WebAssembly.
  • Im Modus der Origin Trials (experimentelle Funktionen, die eine separate Aktivierung erfordern) wurden mehrere neue APIs hinzugefügt. Origin Trial bedeutet die Möglichkeit, mit der angegebenen API aus Anwendungen zu arbeiten, die von localhost oder 127.0.0.1 geladen werden, oder nach erfolgreicher Registrierung und Erhalt eines speziellen Tokens, der für eine begrenzte Zeit für eine bestimmte Website gültig ist.
    • WebTransport – ein Protokoll und begleitende JavaScript-API zum Senden und Empfangen von Daten zwischen dem Browser und Server. Der Kommunikationskanal wird über HTTP/3 eingerichtet unter Verwendung des QUIC-Protokolls als Transport, das wiederum eine Erweiterung des UDP-Protokolls darstellt und das Multiplexing mehrerer Verbindungen sowie Verschlüsselungsmethoden unterstützt, die mit TLS/SSL vergleichbar sind.

      WebTransport kann anstelle von WebSockets und RTCDataChannel verwendet werden und bietet zusätzliche Funktionen wie die Organisation von Mehrfachübertragungen, unidirektionale Streams, paketübergreifende Lieferung (out-of-order) sowie zuverlässige und unzuverlässige Liefermodi. Darüber hinaus kann WebTransport anstelle des Server Push-Mechanismus verwendet werden, auf den Google in Chrome verzichtet hat.

    • Deklarative Schnittstelle zur Definition von Links zu separaten Web-Anwendungen (PWA), die über den Parameter capture_links im Manifest der Web-Anwendung aktiviert wird und es Websites ermöglicht, automatisch ein neues PWA-Fenster zu öffnen, wenn auf den Link der Anwendung geklickt wird, oder in den Ein-Fenster-Modus zu wechseln, ähnlich wie bei mobilen Anwendungen.
    • Die API zur Erkennung flacher Oberflächen in virtuellen 3D-Umgebungen wurde mit dem API WebXR Plane Detection hinzugefügt. Diese API ermöglicht es, auf ressourcenintensive Datenverarbeitungen, die durch den Aufruf von MediaDevices.getUserMedia() erforderlich wären, zu verzichten und eigene Implementierungen von Computer Vision-Algorithmen zu verwenden. Das API WebXR ermöglicht eine einheitliche Nutzung verschiedener Arten von VR-Geräten, von stationären 3D-Headsets bis hin zu mobilen Lösungen.
  • Die Unterstützung für die Nutzung von WebSockets über HTTP/2 (RFC 8441) wurde implementiert, die nur für gesicherte WebSocket-Anfragen und bei bereits etablierten HTTP/2-Verbindungen zu Servern funktioniert, in denen die Unterstützung für die Erweiterung „WebSockets über HTTP/2“ angekündigt wurde.
  • Die Einschränkungen der Genauigkeit der von performance.now() gelieferten Timerwerte wurden für alle unterstützten Plattformen vereinheitlicht und unter Berücksichtigung möglicher Isolation der Handler in separaten Prozessen angepasst. Zum Beispiel wurde die Genauigkeit bei der Verarbeitung in nicht isolierten Kontexten auf Desktop-Systemen von 5 auf 100 Mikrosekunden verringert.
  • In den Builds für Desktop-Systeme wurde die Möglichkeit implementiert, Dateien aus der Zwischenablage zu lesen (das Schreiben von Dateien in die Zwischenablage bleibt weiterhin verboten). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
  • In CSS wurde die Regel @counter-style implementiert, die es ermöglicht, benutzerdefinierte Stile für Zähler und Labels in nummerierten Listen zu definieren.
  • In CSS wurde den Pseudoklassen „:host()“ und „:host-context()“ die Möglichkeit hinzugefügt, einzelne Werte zusammengesetzter Selektoren () zusätzlich zu Listen von Selektoren () zu übergeben.
  • Schnittstelle GravitySensor hinzugefügt, um volumetrische (in drei Koordinatenachsen) Daten von einem Gravitation Sensor zu erfassen.
  • In der API File System Access wurde die Möglichkeit zur Definition von Empfehlungen für die Auswahl von Dateinamen und Verzeichnissen bereitgestellt, die im Dialogfeld zum Erstellen oder Öffnen von Dateien vorgeschlagen werden.
  • In von anderen Domänen geladenen iframes wurde der Zugriff auf die API WebOTP erlaubt, sofern der Benutzer die entsprechenden Berechtigungen erteilt. WebOTP erlaubt das Lesen von Einmalbestätigungscodes, die per SMS gesendet werden.
  • Das Teilen von Anmeldeinformationen für Websites, die über den Mechanismus DAL (Digital Asset Links) verknüpft sind, um Android-Anwendungen mit Websites zur Vereinfachung des Zugriffs zu assoziieren, ist erlaubt.
  • In Service Worker ist die Verwendung von JavaScript-Modulen erlaubt. Wenn beim Aufruf des Konstruktors der Typ 'module' angegeben wird, werden die angegebenen Skripte als Module geladen und können im Kontext des Workers importiert werden. Die Unterstützung von Modulen vereinfacht die gemeinsame Nutzung von Code auf Webseiten und in Service Workern.
  • In JavaScript wurde die Möglichkeit zur Überprüfung der Existenz geschlossener Felder in einem Objekt unter Verwendung der Syntax „#foo in obj“ bereitgestellt. class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
  • In JavaScript ist die Verwendung des Schlüsselworts await auf oberster Ebene in Modulen standardmäßig erlaubt, was eine sanftere Integration asynchroner Aufrufe in den Modul-Ladeprozess ermöglicht und ohne Verpackung in eine „async function“ auskommt. Zum Beispiel kann statt (async function() { await Promise.resolve(console.log(‘test’)); }()); jetzt geschrieben werden await Promise.resolve(console.log(‘test’));
  • Im JavaScript-Engine V8 wurde die Effizienz des Cache für Vorlagen verbessert, wodurch die Geschwindigkeit beim Bestehen des Tests Speedometer2-FlightJS um 4,5 % erhöht werden konnte.
  • Eine Reihe von Verbesserungen an den Werkzeugen für Webentwickler wurde vorgenommen. Ein neuer Modus für die Speicherkontrolle (Memory inspector) wurde hinzugefügt, der Werkzeuge zur Untersuchung von ArrayBuffer-Daten und Wasm-Speicher bereitstellt.
    Release von Chrome 91

    Im Bereich Performance wurde ein zusammenfassender Leistungsindikator hinzugefügt, der es ermöglicht, zu beurteilen, ob die Website Optimierung benötigt oder nicht.

    Release von Chrome 91

    Beim Vorschau von Bildern im Elements-Bereich und im Netzwerk-Analysen-Bereich werden Informationen über das Seitenverhältnis des Bildes, die Anzeigeparameter und die Dateigröße bereitgestellt.

    Release von Chrome 91

    Im Netzwerkinspektor gibt es jetzt die Möglichkeit, die empfangenen Werte des Headers Content-Encoding zu ändern.

    Release von Chrome 91

    Im Stilinspektor wurde die Möglichkeit hinzugefügt, den berechneten Wert schnell anzusehen, während man durch die CSS-Parameter navigiert, indem man im Kontextmenü „Berechneten Wert anzeigen“ auswählt.

    Release von Chrome 91

Neben Neuerungen und Fehlerbehebungen wurden in der neuen Version 32 Sicherheitsanfälligkeiten beseitigt. Viele dieser Sicherheitsanfälligkeiten wurden durch automatisiertes Testen 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 Entdeckungen von Sicherheitsanfälligkeiten hat Google für das aktuelle Release 21 Prämien in Höhe von 92.000 US-Dollar ausgezahlt (eine Prämie von 20.000 US-Dollar, eine Prämie von 15.000 US-Dollar, vier Prämien von 7.500 US-Dollar, drei Prämien von 5.000 US-Dollar, drei Prämien von 3.000 US-Dollar, zwei Prämien von 1.000 US-Dollar und zwei Prämien von 500 US-Dollar). Der Betrag von 5 Prämien ist bisher nicht festgelegt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4