Die neueste Version von Chrome 86 und die stabile Veröffentlichung von Chromium sind verfügbar.
Die wichtigsten Änderungen in Chrome 86:
- Schutz gegen unsichere Formularübertragungen auf Seiten, die über HTTPS geladen werden, jedoch Daten über HTTP senden.
- Das Blockieren unsicherer Downloads (http) von ausführbaren Dateien wird durch eine Blockade unsicherer Downloads von Archiven (zip, iso usw.) ergänzt, sowie durch Warnmeldungen beim unsicheren Herunterladen von Dokumenten (docx, pdf usw.). In der nächsten Version wird das Blockieren von Dokumenten und das Ausgeben von Warnungen für Bilder, Text- und Multimedia-Dateien erwartet. Diese Blockade wurde implementiert, da das Herunterladen unverschlüsselter Dateien für böswillige Aktivitäten durch Inhaltsmanipulation bei MITM-Angriffen verwendet werden kann.
- Im Standard-Kontextmenü wird die Option „Immer die vollständige URL anzeigen“ angezeigt, die früher eine Änderung der Einstellungen auf der Seite about:flags erforderte. Die vollständige URL kann auch durch zweimaliges Klicken auf die Adressleiste angezeigt werden. Erinnern wir uns daran, dass seit Chrome 76 standardmäßig die Adresse ohne das Protokoll und die Subdomain www angezeigt wird. In Chrome 79 wurde die Einstellung zur Wiederherstellung des alten Verhaltens entfernt, aber nach Nutzerunzufriedenheit wurde in Chrome 83 ein neuer experimenteller Flag hinzugefügt, der einen Punkt im Kontextmenü hinzufügt, um das Verstecken und Anzeigen der vollständigen URL unter allen Umständen zu deaktivieren.
- Die Initiative zur Einstellung der FTP-Unterstützung wurde wieder aufgenommen. In Chrome 86 ist FTP standardmäßig für etwa 1 % der Nutzer deaktiviert, und in Chrome 87 wird die Deaktivierung auf 50 % erhöht. Die Unterstützung kann jedoch mit dem Flag "—enable-ftp" oder "—enable-features=FtpProtocol" wiederhergestellt werden. In Chrome 88 wird die FTP-Unterstützung vollständig abgeschaltet.
- In der Android-Version wurde, analog zur Desktop-Version, im Passwortmanager eine Überprüfung der gespeicherten Benutzernamen und Passwörter anhand einer Datenbank mit kompromittierten Konten implementiert. Bei Feststellung von Problemen oder bei der Verwendung einfacher Passwörter wird eine Warnung ausgegeben. Die Überprüfung erfolgt auf einer Datenbank, die über 4 Milliarden kompromittierte Konten umfasst, die in Nutzer-Datenlecks aufgetaucht sind. Um die Privatsphäre zu wahren, wird ein Hash-Präfix-Vergleich auf der Benutzerseite durchgeführt, wobei die Passwörter und ihre vollständigen Hashes nicht nach außen übertragen werden.
- In die Android-Version wurden auch die Schaltfläche „Sicherheitsprüfung“ (Safety check) und der erweiterte Schutzmodus gegen gefährliche Websites (Enhanced Safe Browsing) integriert. Die Schaltfläche „Safety check“ zeigt eine Zusammenfassung möglicher Sicherheitsprobleme an, wie z.B. die Verwendung kompromittierter Passwörter, den Zustand der Überprüfung bösartiger Websites (Safe Browsing), nicht installierte Updates und die Erkennung bösartiger Erweiterungen. Der erweiterte Schutzmodus aktiviert zusätzliche Überprüfungen zum Schutz vor Phishing, bösartiger Aktivität und anderen Bedrohungen im Web und umfasst zusätzlichen Schutz für Ihr Google-Konto und die Google-Dienste (Gmail, Drive usw.). Während im normalen Safe Browsing-Modus die Überprüfungen lokal auf einer regelmäßig aktualisierten Datenbank des Client-Systems durchgeführt werden, wird im Enhanced Safe Browsing die Information über Seiten und Downloads in Echtzeit zur Überprüfung an Google gesendet, was eine sofortige Reaktion auf Bedrohungen ermöglicht, sobald diese erkannt werden, ohne darauf zu warten, dass die lokale schwarze Liste aktualisiert wird.
- Unterstützung für die Dateiindikator ".well-known/change-password" wurde hinzugefügt, mit der Website-Betreiber die Adresse des Webformulars zum Ändern des Passworts angeben können. Im Falle eines kompromittierten Benutzerkontos schlägt Chrome nun sofort ein Formular zur Passwortänderung vor, das basierend auf den Informationen aus dieser Datei festgelegt wurde.
- Ein neues Warnhinweis «Safety Tip» wurde implementiert, das beim Öffnen von Websites angezeigt wird, deren Domain sehr ähnlich zu einer anderen Website ist und die Heuristik darauf hinweist, dass die Wahrscheinlichkeit für Spoofing hoch ist (zum Beispiel wird goog0le.com anstelle von google.com geöffnet).
* Unterstützung für den Back-Forward-Cache wurde implementiert, der einen sofortigen Wechsel beim Benutzen der «Zurück»- und «Vorwärts»-Tasten oder beim Navigieren durch bereits besuchte Seiten der aktuellen Website ermöglicht. Der Cache wird durch die Einstellung chrome://flags/#back-forward-cache aktiviert.
- Optimierung des CPU-Ressourcenverbrauchs für Fenster außerhalb des Sichtbereichs. Chrome überprüft, ob das Browserfenster von anderen Fenstern überlappt wird, und schließt die Darstellung von Pixeln in überlappenden Bereichen aus. Diese Optimierung wurde für einen kleinen Prozentsatz der Benutzer in Chrome 84 und 85 aktiviert, ist jetzt jedoch weltweit verfügbar. Im Vergleich zu früheren Versionen wurde auch eine Inkompatibilität mit Virtualisierungssystemen behoben, die zuvor leere weiße Seiten anzeigte.
- Die Ressourcennutzung für Hintergrund-Tabs wurde weiter eingeschränkt. Solche Tabs können nun nicht mehr als 1 % der CPU-Ressourcen verbrauchen und können nicht öfter als einmal pro Minute aktiv werden. Nach fünf Minuten im Hintergrund werden die Tabs angehalten, es sei denn, es wird Multimedia-Inhalt abgespielt oder aufgezeichnet.
- Die Arbeit an der Vereinheitlichung des HTTP-Headers User-Agent wurde wieder aufgenommen. In der neuen Version wurde für alle Benutzer die Unterstützung des User-Agent Client Hints Mechanismus aktiviert, der als Ersatz für User-Agent entwickelt wird. Dieser neue Mechanismus ermöglicht die selektive Bereitstellung von Daten zu bestimmten Parametern des Browsers und des Systems (Version, Plattform usw.) nur auf Anfrage des Servers und gibt den Benutzern die Möglichkeit, solche Informationen selektiv an die Website-Betreiber weiterzugeben. Bei Verwendung von User-Agent Client Hints wird die ID standardmäßig nicht ohne ausdrückliche Anfrage übermittelt, was eine passive Identifizierung unmöglich macht (von Haus aus wird nur der Name des Browsers angegeben).
Die Anzeige für verfügbare Updates und die Notwendigkeit, den Browser für die Installation neu zu starten, wurde geändert. Anstelle des farbigen Pfeils im Avatarbereich des Kontos erscheint nun die Meldung „Update“. - Es wurde an der Umstellung des Browsers auf die Verwendung inklusiver Terminologie gearbeitet. In den politischen Namen wurden die Begriffe «whitelist» und «blacklist» durch «allowlist» und «blocklist» ersetzt (bereits hinzugefügte Richtlinien funktionieren weiterhin, jedoch wird eine Warnung ausgegeben, dass sie als veraltet gelten). Im Code und in Dateinamen wurden Erwähnungen von «blacklist» durch «blocklist» ersetzt. Sichtbare Erwähnungen von «blacklist» und «whitelist» wurden bereits Anfang 2019 geändert.
Eine experimentelle Funktion zum Bearbeiten gespeicherter Passwörter wurde hinzugefügt, die über das Flag „chrome://flags/#edit-passwords-in-settings“ aktiviert werden kann. - Der stabile und öffentliche API Native File System ermöglicht es, Webanwendungen zu erstellen, die mit Dateien im lokalen Dateisystem interagieren. Beispielsweise könnte die neue API in browserbasierten integrierten Entwicklungsumgebungen sowie in Text-, Bild- und Videoeditoren gefragt sein. Um die direkte Lese- und Schreibzugriffe auf Dateien oder die Nutzung von Dialogen zum Öffnen und Speichern von Dateien sowie zur Navigation durch Verzeichnisinhalte zu erlauben, benötigt die Anwendung eine spezielle Bestätigung des Nutzers.
- Der CSS-Selektor ":focus-visible" wurde hinzugefügt, der dieselbe Heuristik verwendet, die der Browser anwendet, um zu entscheiden, ob der Fokusindikator angezeigt werden soll (wenn der Fokus mit Tastenkombinationen auf eine Schaltfläche verschoben wird, erscheint der Indikator, bei einem Mausklick jedoch nicht). Der zuvor verfügbare CSS-Selektor ":focus" hebt den Fokus immer hervor. Darüber hinaus wurde eine Option «Quick Focus Highlight» zu den Einstellungen hinzugefügt, die, wenn aktiviert, einen zusätzlichen Fokusanzeiger neben aktiven Elementen anzeigt, der sichtbar bleibt, selbst wenn CSS-Elemente zur visuellen Hervorhebung des Fokus auf der Seite deaktiviert sind.
- Im Origin Trials-Modus (experimentelle Funktionen, die eine separate Aktivierung erfordern) wurden mehrere neue APIs hinzugefügt. Der Origin Trial ermöglicht die Nutzung der angegebenen API aus Anwendungen, die von localhost oder 127.0.0.1 geladen werden, oder nach Registrierung und Erhalt eines speziellen Tokens, das für einen bestimmten Zeitraum für eine bestimmte Website gültig ist.
- Die WebHID-API bietet einen niedrigstufigen Zugang zu HID-Geräten (Human Interface Device, Tastaturen, Mäuse, Gamepads, Touchpads) und ermöglicht die Implementierung von Logik für die Arbeit mit HID-Geräten in JavaScript, um die Unterstützung seltener HID-Geräte ohne spezifische Treiber im System zu gewährleisten. Insbesondere zielt die neue API darauf ab, Unterstützung für Gamepads bereitzustellen.
- Die API Bildschirminformation erweitert die Möglichkeiten der API Fensterplatzierung durch Unterstützung von Konfigurationen mit mehreren Bildschirmen. Im Gegensatz zu window.screen ermöglicht die neue API die Manipulation der Fensterplatzierung im gemeinsamen Bildschirmraum von Mehrbildschirmsystemen, ohne sich auf den aktuellen Bildschirm zu beschränken.
- Der Meta-Tag battery-savings ermöglicht es der Website, den Browser darüber zu informieren, dass Energiesparmodi aktiviert und die CPU-Belastung optimiert werden müssen.
- Die API COOP Reporting informiert über potenzielle Verstöße gegen die Isolationsmodi der Cross-Origin-Embedder-Policy (COEP) und der Cross-Origin-Opener-Policy (COOP), ohne tatsächliche Einschränkungen anzuwenden.
- Im API Credential Management wird ein neuer Typ von Anmeldeinformationen, PaymentCredential, angeboten, der eine zusätzliche Bestätigung der Zahlungstransaktion ermöglicht. Die prüfende Partei, z. B. die Bank, kann einen öffentlichen Schlüssel PublicKeyCredential generieren, der vom Verkäufer für zusätzliche sichere Zahlungsbestätigung angefordert werden kann.
- Die API PointerEvents unterstützt jetzt die Neigung des Stylus*: Es wurden spezielle Winkel für die Höhe (der Winkel zwischen dem Stylus und dem Bildschirm) und den Azimut (der Winkel zwischen der X-Achse und der Projektion des Stylus auf dem Bildschirm) hinzugefügt, anstelle von TiltX und TiltY (die Winkel zwischen der Ebene des Stylus und einer der Achsen sowie der Ebene der Y- und Z-Achsen). Zudem wurden Funktionen zur Umwandlung zwischen Höhe/Azimut und TiltX/TiltY hinzugefügt.
- Die Handhabung von Leerzeichen in URLs wurde geändert. Bei der Berechnung in Protokollhandlern ersetzt die Methode navigator.registerProtocolHandler() jetzt Leerzeichen durch „“ anstelle von „+“, was das Verhalten mit anderen Browsern wie Firefox vereinheitlicht.
- In CSS wurde das Pseudo-Element "::marker" hinzugefügt, das es ermöglicht, die Farbe, Größe, Form und Art von Zahlen und Punkten in Listenblöcken <ul> und <ol> anzupassen.
- Unterstützung des HTTP-Headers Document-Policy hinzugefügt, der Zugriffskriterien für Dokumente festlegt, ähnlich dem Sandbox-Isolierungsmechanismus für iframes, jedoch vielseitiger. Beispielsweise kann über Document-Policy die Nutzung minderwertiger Bilder eingeschränkt, langsame JavaScript-APIs deaktiviert, Regeln für das Laden von iframes, Bildern und Skripten festgelegt, die Gesamtgröße des Dokuments und den Datenverkehr begrenzt sowie Methoden verboten werden, die zu einer Neuladevorgang der Seite führen, und die Scroll-To-Text-Funktion deaktiviert werden.
- Im Element
- Die Methode ParentNode.replaceChildren() wurde hinzugefügt, um alle Kind-Elemente des Elternelements durch einen anderen DOM-Knoten zu ersetzen. Zuvor konnte man zum Ersetzen von Knoten eine Kombination aus node.removeChild() und node.append() oder node.innerHTML und node.append() verwenden.
- Der Bereich der URL-Schemata, die für die Überschreibung mit registerProtocolHandler() zulässig sind, wurde erweitert. Zu den eingeschlossenen Schemata gehören die dezentralen Protokolle cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns und ssb, was es ermöglicht, Links zu Elementen unabhängig von der Website oder dem Gateway, das den Zugang zur Ressource bereitstellt, zu definieren.
- Die API für die asynchrone Zwischenablage unterstützt jetzt das Format text/html für das Kopieren und Einfügen von HTML über die Zwischenablage (bei der Aufnahme und dem Lesen in die Zwischenablage erfolgt eine Bereinigung gefährlicher HTML-Konstrukte). Diese Änderung ermöglicht es zum Beispiel, in Web-Editoren formatierten Text mit Bildern und Links einzufügen und zu kopieren.
- In WebRTC wurde die Möglichkeit hinzugefügt, eigene Datenhandler zu verbinden, die während der Kodierungs- oder Dekodierungsphasen von WebRTC MediaStreamTrack aufgerufen werden. Diese Funktion kann beispielsweise verwendet werden, um Unterstützung für End-to-End-Verschlüsselung von Daten zu implementieren, die über Zwischenserver übertragen werden.
Im JavaScript-Engine V8 wurde die Implementierung von Number.prototype.toString um 75 % beschleunigt. Zu den asynchronen Klassen wurde eine Eigenschaft .name mit einem leeren Wert hinzugefügt. Die Methode Atomics.wake, die einst in Atomics.notify umbenannt wurde, um der Spezifikation ECMA-262 zu entsprechen, wurde entfernt. Der Code für das Fuzzing-Testwerkzeug JS-Fuzzer wurde veröffentlicht. - Im im letzten Update implementierten Baseline-Compiler Liftoff für WebAssembly wurde die Nutzung von SIMD-Vektorinstruktionen zur Beschleunigung von Berechnungen ermöglicht. Tests zeigen, dass durch diese Optimierung die Durchlaufzeiten einiger Tests um das 2,8-Fache verbessert wurden. Eine andere Optimierung hat die Aufrufe von in WebAssembly importierten JavaScript-Funktionen signifikant beschleunigt.
- Die Werkzeuge für Webentwickler wurden erweitert: Im Media-Bereich wurden Informationen zu den für die Vide Wiedergebe auf der Seite verwendeten Playern hinzugefügt, einschließlich Daten zu Ereignissen, Protokollen, Attributwerten und Dekodierungsparametern (zum Beispiel können Gründe für Frameverluste und Interaktionsprobleme aus JavaScript ermittelt werden).
- Im Kontextmenü des Elements-Bereichs wurde die Möglichkeit hinzugefügt, Screenshots des ausgewählten Elements zu erstellen (zum Beispiel kann ein Screenshot des Inhaltsverzeichnisses oder der Tabelle erstellt werden).
- In der Web-Konsole wurde die Warnhinweis-Paneel durch eine reguläre Nachricht ersetzt, während Probleme mit Drittanbieter-Cookies standardmäßig im „Issues“-Tab verborgen und durch ein spezielles Kästchen aktiviert werden können.
- Im Tab Rendering wurde die Schaltfläche „Lokale Schriftarten deaktivieren“ hinzugefügt, die simuliert, dass keine lokalen Schriftarten vorhanden sind, und im Tab Sensors gibt es die Möglichkeit, die Inaktivität des Nutzers zu simulieren (für Anwendungen, die die API zur Erkennung von Inaktivität nutzen).
- Im Anwendungsbereich finden Sie detaillierte Informationen zu jedem iframe, geöffnetem Fenster und Pop-ups, einschließlich der Cross-Origin-Isolationsdaten mittels COEP und COOP.
Die Implementierung des QUIC-Protokolls wird durch eine Variante ersetzt, die in der IETF-Spezifikation entwickelt wird, anstelle der Google-Variante von QUIC.
Neben Neuerungen und Fehlerbehebungen wurden in der neuen Version 35 Sicherheitsanfälligkeiten beseitigt. Viele dieser Schwachstellen wurden durch automatisierte Tests mit den Tools AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer und AFL identifiziert. Eine Schwachstelle (CVE-2020-15967, Zugriff auf einen freigegebenen Speicherbereich im Code für die Interaktion mit Google Payments) wurde als kritisch eingestuft, da sie alle Sicherheitsstufen des Browsers umgehen und Code außerhalb der Sandbox-Umgebung ausführen kann. Im Rahmen des Programms zur Belohnung von Sicherheitsforschern hat Google für die aktuelle Version 27 Prämien in Höhe von 71.500 US-Dollar ausgezahlt (eine Prämie von 15.000 $, drei Prämien von 7.500 $, fünf Prämien von 5.000 $, zwei von 3.000 $, eine von 200 $ und zwei Prämien von 500 $). Die Höhe von 13 Prämien steht noch nicht fest.
Entnommen von Opennet.ru
Quelle: linux.org.ru
