Kritik an der EinfĂŒhrung der API Idle Detection in Chrome 94. Experimente mit Rust in Chrome

Die standardmĂ€ĂŸige Aktivierung der API Idle Detection in Chrome 94 fĂŒhrte zu einer Welle der Kritik, die auf EinwĂ€nde von Entwicklern von Firefox und WebKit/Safari verweist.

Die API Idle Detection ermöglicht es Websites, die Zeit zu bestimmen, in der der Benutzer inaktiv ist, d.h. nicht mit der Tastatur/Maus interagiert oder an einem anderen Monitor arbeitet. Die API ermöglicht auch festzustellen, ob ein Bildschirmschoner im System aktiv ist. Die Benachrichtigung ĂŒber die InaktivitĂ€t erfolgt durch das Senden einer Mitteilung, nachdem ein festgelegter InaktivitĂ€tszeitraum erreicht wurde, dessen Mindestwert auf 1 Minute festgelegt ist.

Es ist wichtig zu beachten, dass die Verwendung der API Idle Detection die ausdrĂŒckliche Zustimmung des Benutzers erfordert, d.h. wenn eine Anwendung zum ersten Mal versucht, InaktivitĂ€t zu erkennen, wird dem Benutzer ein Fenster angezeigt, in dem er darum gebeten wird, die Berechtigungen zu erteilen oder den Vorgang zu blockieren. Um die API Idle Detection vollstĂ€ndig zu deaktivieren, gibt es in den Einstellungen unter „Datenschutz und Sicherheit“ eine spezielle Option („chrome://settings/content/idleDetection“).

Anwendungsbereiche sind Chat- und soziale Netzwerke sowie Kommunikationsanwendungen, die den Status des Benutzers basierend auf seiner Anwesenheit am Computer Ă€ndern oder die Anzeige von Benachrichtigungen ĂŒber neue Nachrichten bis zur RĂŒckkehr des Benutzers hinauszögern können. Die API kann auch in Kiosk-Anwendungen verwendet werden, um nach einer bestimmten InaktivitĂ€tszeit zum Startbildschirm zurĂŒckzukehren oder ressourcenintensive interaktive VorgĂ€nge zu deaktivieren, wie die Neuzeichnung komplexer, stĂ€ndig aktualisierter Diagramme, wenn der Benutzer nicht am Computer ist.

Die Position der Gegner der Integration der API Idle Detection ist, dass Informationen darĂŒber, ob ein Benutzer am Computer sitzt oder nicht, als vertraulich betrachtet werden können. Neben nĂŒtzlichen Anwendungen könnte diese API auch fĂŒr weniger wohlwollende Zwecke verwendet werden, beispielsweise zur Ausnutzung von SicherheitsanfĂ€lligkeiten wĂ€hrend der Abwesenheit des Benutzers oder zum Verbergen auffĂ€lliger schĂ€dlicher AktivitĂ€ten wie Mining. Mit der besprochenen API können auch Informationen ĂŒber das Verhalten und den tĂ€glichen Arbeitsrhythmus des Benutzers gesammelt werden. Zum Beispiel kann ermittelt werden, wann der Benutzer normalerweise zum Mittagessen geht oder seinen Arbeitsplatz verlĂ€sst. Unter den Anforderungen einer obligatorischen BestĂ€tigung der Berechtigungsvergabe werden diese Bedenken von Google als irrelevant angesehen.

ZusĂ€tzlich sei auf eine Anmerkung der Chrome-Entwickler hingewiesen, die neue Techniken zur Sicherstellung eines sicheren Umgangs mit Speicher vorantreiben. Laut Google sind 70 % der Sicherheitsprobleme in Chrome auf Fehler im Umgang mit Speicher zurĂŒckzufĂŒhren, wie etwa den Zugriff auf einen Puffer nach der Freigabe des zugehörigen Speichers (use-after-free). Es werden drei Hauptstrategien zur BekĂ€mpfung solcher Fehler definiert: VerstĂ€rkung der PrĂŒfungen zur Compile-Zeit, Blockieren von Fehlern zur Laufzeit und die Verwendung einer Sprache, die einen sicheren Umgang mit Speicher gewĂ€hrleistet.

Berichte ĂŒber den Beginn von Experimenten zur Integration der Möglichkeit, Komponenten in der Programmiersprache Rust in den Code von Chromium zu entwickeln, liegen vor. Rust-Code ist derzeit nicht in den an die Benutzer gelieferten Builds enthalten und zielt hauptsĂ€chlich darauf ab, die Möglichkeiten zur Entwicklung einzelner Teile des Browsers in Rust und deren Integration mit anderen in C++ geschriebenen Teilen zu testen. Gleichzeitig entwickelt sich weiterhin das Projekt zur Verwendung des Typs MiraclePtr statt raw-Zeigern fĂŒr die Verhinderung von SicherheitsanfĂ€lligkeiten, die durch den Zugriff auf bereits freigegebene Speicherblöcke verursacht werden, und es werden neue Methoden zur Fehlererkennung zur Compile-Zeit vorgeschlagen.

DarĂŒber hinaus beginnt das Unternehmen Google mit einem Experiment, um mögliche Funktionsstörungen von Websites zu testen, nachdem der Browser eine Version erreicht hat, die aus drei Ziffern anstelle von zwei besteht. Insbesondere in den Testversionen von Chrome 96 wurde die Einstellung „chrome://flags#force-major-version-to-100“ eingefĂŒhrt, bei der im User-Agent-Header die Version 100 (Chrome/100.0.4650.4) ausgegeben wird. Im August wurde ein Ă€hnliches Experiment in Firefox durchgefĂŒhrt, das Probleme mit der Verarbeitung von dreiziffrigen Versionen auf bestimmten Websites aufdeckte.

Quelle: opennet.ru

60GB SSD 8Gb DDR4