Anzeige

Am Puls von Microsoft

Anzeige

Viele Prozesse im Taskmanager beim Edge

Anzeige
Der Artikel hat nur eine Schwachstelle - das wichtigste kommt erst am Schluss:
which you can open by pressing Shift+Esc while in Microsoft Edge or by going to the top corner of the browser and selecting Settings and more (…) > More tools > Browser task manager.
Das gibt es so in allen Chromium-Derivaten - Umschalt+ESCape und es öffnet sich der Taskmanager des Browsers, wo pro Task die Prozesse bzw Erweiterungen/Plugins/Seiten aufgezeigt werden.
How to Use Chrome’s Built-In Task Manager

In Firefox ist das ähnlich, man bekommt aber keine Zuteilung auf einen Task angezeigt und die Anzahl der Auswahlkriterien ist doch arg limitiert im direkten Vergleich.
Der Task-Manager zeigt, welche Tabs oder Erweiterungen Firefox verlangsamen | Hilfe zu Firefox
Code:
about:performance

Der Windows-Taskmanager bzw Taskmanager generell in einem OS zeigen (sollten) dann noch aufzeigen, in welchen Kontext die jeweiligen Task laufen. Ich weiss nicht, ob der Windows Taskmanager das kann, process Explorer und ProcessHacker können das. Es gibt einen Mutterprozess, in Chromium ist das "Browser", ganz oben im Browser-Taskmanager, der im Benutzerkontext ausgeführt wird, also mit den gleichen Rechten wie der Benutzer (hier wäre das aktuell "high") -> "Integrität" (Integrity)
GPU läuft ebenfalls auf "high", "Storage" und "Renderer" laufen schon auf "Untrusted" (nicht vertrauenswürdig). Ebenso laufen alle Erweiterungen und Plugins auf "Untrusted". Allenfalls der "Network Service" läuft auf "Medium".
(bei Firefox läuft nur der Mutterprozess auf "high", alle anderen auf "Low" ("niedrig"))


Abstufungen:
- System
- High
- Medium
- Low
- Untrusted

Sicherheitsmechanismus "Integrity Level" (IL)

Die Multi-Prozess-Architektur ist bei Chromium schon seit 2008 vorhanden:
Multi-process Architecture - The Chromium Projects
(bei Firefox offiziell erst seit Firefox 57, davor experimentell, e10s)

Zum einen können verschiedene Aufgaben auf verschiedene Rechenkerne (CPI) verteilt werden, ein Prozess muss nicht mehr alles leisten. Zum anderen muss sich der Mutterprozess nur noch um die Verwaltung kümmen, die "Glucke" für den Rest darunter. Damit ist aber eine bessere Sicherheit gewährleistet, weil die Kindprozesse alle mit niedrigeren Rechten laufen (siehe Artikel bei winfaq).

Was bei Chromium direkt auffällt - es hat wesentlich mehr Prozesse als zB Firefox laufen, Firefox kann maximal 8 Inhaltsprozesse starten, für Webseiten. Demnach teilen sich auch Erweiterungen mindestens einen Prozess (aktuell sind hier 10 Kindprozesse aktiv). Bnei Chrtomium kann man direkt sehen, wie es aufgeteilt ist, heir aktuell zwischen 2 und 6 Erweiterungenm pro Task, und für jeden Tab einen Task mehr. Diese Aufteilungen sind im Windows-Taskmanager nicht zu sehen, auch nicht für Firefox.

Es gibt bei Chromium zwei Task, die im Browser-Taskmanager nicht angezeigt werden, man kann das per PID vergleichen. Und zwar sind das die zwei, die für den " --type=crashpad-handler " zuständig sind (Mutter-/Kindprozess unterhalb des eigentlichen Mutterprozesses), die auch mit der Integrität "High" (hoch) laufen. Der Crashpad-Handler erklärt (englisch)
Crashpad - crashpad_handler(8)
(das erledigt bei Firefox der (einzige) Mutterprozess)

Nochmal Sicherheit, es gibt Benutzer, die es stört, dass ein Browser "plötzlich" so viele Prozesse benötigt, stösst zum Teil auf Unverständnis. Es war bei Chromium nie anders, bei Firefox hat man sich extrem dran gerieben, der Internet Explorer (IE) ist auch so ein unsicheres Programm. Vorteile liegen nicht nur bei der Sicherheit, dass jeder Task praktisch für sich läuft und durch die Integrität keine Verbindung zu anderen Task aufnehmen kann, ohne durch den Mutterprozess gesteuert zu werden. Vorteile bei der Absturzsicherheit, es crasht nicht mehr der gesamte Browser, was einem damals doch etliche Daten zerstört hat, sondern nur noch der entsprechende Teil, Erweiterungen und sonstige Browser-Prozesse werden zum Teil automatisch neu gestartet, alles nachzulesen in den Crash-Reporten des jeweiligen Browsers.

Code:
chrome://crashes/
edge://crashes/
opera://crashes/
about:crashes/
...

In kurz - ein Browser ist nur noch ein Baukasten, nicht aus Legosteinen, sondern aus Programmbausteinen :D
 
Anzeige
Oben