[English]Ich hole mal ein Thema hier im Blog hoch, welches mir bereits im Februar 2023 von Blog-Leser Alexander Fuchs zugetragen wurde. Es geht um die Beobachtung, dass frt TCP-Netzwerkverkehr bei einer Maschine mit Windows 11 schlicht die doppelte CPU-Last im Vergleich mit einer identischen Windows 10-Workstation erzeugt. Eine Analyse des Sachverhalts ergab, dass die Sicherheitsfunktionen von Windows 11 – konkret der Phishingschutz – dafür verantwortlich sind.
Anzeige
Das Thema dümpelt schon eine Weile hier im Blog, ich hatte bisher aber noch keine Zeit, das mal in einen Artikel zu bringen und zu veröffentlichen. Das Ganze knüpft an den Artikel Windows 11: Netzwerktransfer-Leistung und CPU-Last optimieren – Teil 2 an, wo ich die Beobachtung von Alexander aufgegriffen hatte, dass der Exploit-Schutz als Netzwerk-Bremse wirkt. Nun geht es um eine weitere Sicherheitsfunktion in Windows 11 und deren CPU-Belastung. Auch wenn es bereits einige Tage her ist, dürfte sich am Sachverhalt nichts geändert haben.
Krude Beobachtung beim Netzwerkverkehr
Alexander hatte sich ja intensiver mit der Optimierung des TCP-Netzwerkdurchsatzes befasst und stieß bei Messungen auf eine merkwürdige Geschichte, die er den Microsoft-Entwicklern zukommen ließ. Er hat mich über den Mail-Austausch in Kenntnis gesetzt, so dass ich den Sachverhalt mitbekommen hat. In einer initialen Mail beschrieb er den Sachverhalt folgendermaßen.
I just made several measurements with PsPing (block size 32K "-l 32k") with the following result.
- When I send data from the Windows 11 workstation to the Windows 10 workstation, the Windows 11 workstation "consumes" about 0.23GHz/GBit/s for sending and the Windows 10 workstation "consumes" about 0.44GHz/GBits/s for receiving at the same moment.
- When I send data from the Windows 10 workstation to the Windows 11 workstation, the Windows 10 workstation "consumes" about !!! 0.08GHz/GBit/s !!! for sending and the Windows 11 workstation "consumes" about 0.88GHz/GBits/s for receiving at the same moment.
When sending data over TCP, Windows 11 uses three times the CPU power as Windows 10!!
And when receiving the data via TCP, Windows 11 consumes twice the CPU power compared to Windows 10!
Also, why does a Windows 10 only need 0.08GHz/GBits/s to send and a Windows 11 to receive 0.88GHz/GBits/s?
Both (sending/receiving) are actually +- the same processes just in reverse order.
Seriously, that's a 10x difference!
Why?
Mir liegen noch Screenshots der Messungen vor, ich erspare mir an dieser Stelle aber, diese hier im Blog einzustellen. Alex schrieb mir dazu: "Zusammengefasst, selbst nach meinen Optimierungen frisst Windows 11 gegenüber Windows 10 beim TCP-Transfer ca. das 2-3Fache mehr an CPU-Last." Vom Microsoft-Kontakt kam dann der "Tipp", doch RSS zu aktivieren, um die "Last" über mehrere Kerne der CPU zu verteilen – warum die Last so hoch ist, da fehlte jede Aussage. Wie meinte Alexander:
Ja klar, ich schalte RSS an und durch den RSS Overhead verbrenne ich pro Gbit/s noch mehr CPU und das soll die Sache dann natürlich besser machen.
Die NIC's in der W11 und der W10 Workstation sind übrigens absolut identisch, auch die Treiberversion ist beidseitig die gleiche, und auch deren Einstellungen [sind] beidseitig gleich.
Und die TCP-Stack Einstellungen, habe ich ebenfalls auf beiden Seiten so gut es ging angeglichen. Dennoch kommen diese traurigen Unterschiede zutage.
Wenn man den CPU-Verbrauch zwischen senden Windows 10 (0.08GHz/GBits/s) und empfangen Windows 11 (0.88GHz/GBits/s) vergleicht, dann sprechen wir sogar von einem CPU-Verbrauchsunterschied von 1000%, obwohl beides Mal, sprich beim Senden und Empfangen, +- dasselbe nur in jeweils entgegengesetzter Reihenfolge geschehen sollte.
Die oben angedeutete "Optimierung" ist in den am Artikelende erwähnten Beiträgen beschrieben. Es bleibt festzuhalten: Die Windows 11-Maschine frisst bei TCP-Netzwerktransfers deutlich mehr CPU-Ressource als die zum Vergleich benutzte Windows 10 Workstation.
Anzeige
Windows 11 Phishingschutz als Ursache
Nach einigen Mails kam Alexander dann mit einer finalen Mail und meinte, er habe jetzt den Grund gefunden, warum Windows 11 beim TCP-Datentransfer eine vielfach höhere CPU-Last als eine vergleichbare Windows 10-Workstation erzeugt. Seine Mail an Microsoft enthielt nur wenige Informationen:
I have finally found the reason for the higher resource consumption of my W11 workstation during TCP data transfer.
And the reason was this…
As soon as this is active, my workstation requires +100% CPU resources for incoming data traffic and even +200% for outgoing traffic.
Eine Ursache für die hohe CPU-Auslastung bei TCP-Datentransfer unter Windows 11 ist schlicht der im Betriebssystem integrierte Phishingschutz. Sobald er diese Funktion in den Einstellungen abschaltet, fällt die CPU-Last auch unter Windows 11. Gegenüber den Microsoft-Spezialisten meint Alex, dass das mit keinem Wort als "Tribut" auf den Microsoft-Seiten erwähnt wird und gibt den Ratschlag, doch künftig bei der Entwicklung etwas darauf zu achten, dass Windows 11 selbst nicht zu viele CPU-Ressourcen verbraucht. Irgend etwas der CPU-Leistung sollte doch für Anwendungen verfügbar bleiben.
Gab in diesem Zusammenhang noch offene Fragen, weil Windows 11 22H2 beim TCP-Transfer die doppelte Menge an CPU-Ressourcen im Vergleich zum Senden benötigt, wenn es die gleiche Arbeitslast über das Netzwerk empfängt (siehe auch die folgenden Blog-Beiträge. Das Problem soll auch Windows 10 und Windows Server 2019/2022 betreffen. Das Thema lasse ich in diesem Blog-Beitrag aber mal beiseite. Ihr könnt ja selbst testen, ob durch Zu-/Abschalten des Phishingschutzes sich die CPU-Laste beim Netzwerkverkehr unter Windows 11 ändert.
Artikelreihe:
Optimierung von Microsofts TCP-Murks in Windows 10 und 11
Windows 10/11: Grottige Netzwerktransfer-Leistung, hohe Windows 11 CPU-Last – Teil 1
Windows 11: Netzwerktransfer-Leistung und CPU-Last optimieren – Teil 2
Windows 11 Netzwerkverkehr erzeugt doppelt so hohe CPU-Last wie Windows 10
Anzeige
Der Phishing Schutz ist aber sicher nur am Anfang jeder neuen Verbindung aktiv.
Die Messung also irreführend.
Und .. überhaupt es ist zu Hinterfragen ob die Metrik die hier verwendet wird überhaupt sinnnvole Aussagen zum Verbrauch zulässt. Offenbar wird ja unter W11 nur die Performance vom Defender gemessen .
Ich kann mir nicht vorstellen wie dieser Phishing Schutz implementiert sein sollte um den gesamten Netzwerk Verkehr auszubremsen. Macht MS da ein Deep-package inspection?
Egal woher oder wohin die Daten gehen?
Was soll das bringen?
Das ist ein PsPing, kein Mail Protokoll.
Das läuft auf den untersten OSI-Ebenen, auf einen beliebigen Port.
Klar das die NSA so etwas wie alles inspezieren gerne hätte, aber in einen Rechtsstaat?
Aber gibt ja wohl nicht nur den gemessenen Effekt sondern auch einen Gefühlten?
Was für Ethernet sind da im Einsatz?
1Gbps oder mehr?
Was kommt raus, wenn man das localloop device ls Gegenstelle nimmt?
Wäre es vielleicht möglich die genauen cmd Zeilen anzugeben und das auch wo anders testen zu können?
So ganz scheint mit dem editieren noch nicht zu klappen.
Ich sehe den geänderten Beitrag, und darunter den alten, mit neuen 20 Minuten.
Moin @Pau1,
> Wäre es vielleicht möglich die genauen cmd Zeilen anzugeben und das auch wo anders testen zu können?
ist eigentlich ganz einfach. Nim iperf oder ntttcp um etwas Last übers Netzwerk zu generieren und dann vergleiche einmal die CPU Last mit eingeschaltetem Phishingschutz und ohne.
Gruss Alex
Gibt es den Schutz nicht unter Win10?
> Gibt es den Schutz nicht unter Win10?
Nein, der Phishingshutz ist erst ab W11 22H2 aktiviert worden.
Generell, prinziell kostet "senden" ja weniger als "empfangen".
(Der Empfänger muss die Daten ja irgendwo unterbringen, dazu i.a . freien Platz in der MFT suchen, directory schreiben etc.)
Das ist nicht per netio&co oder copy scripts getestet wurde, sondern mit PsPing.
Warum ist das so?
Der Sendet bekommt fix und fertig gesagt, wo was steht und muss nur die DNA Transfers von Nic und SATA setzen und koordinieren.
Diese beiden Werte kann man also nicht vergleichen.
Aber sehr wohl das Senden auf beiden OS.
Hier kostet das "senden" via W11 deutlich mehr als dergleiche Vorgang unter W10.
Da ist viel zu viel, nur wegen eines Filters.
Das kann z.B daran liegen das wegen des Filters kein DMA erfolgen kann und alles durch die CPU BusseCaches geschoben wird.
Doppelt.
aber hey, ich kann jetzt auch auf dem Handy editieren.
Danke!
Es wäre noch schön gewesen, wenn man den W10 zu W10 Traffic gemessen hätte um die Werte besser einordnen zu können.
Bleiben die Verhältnisse zwischen senden und empfangen gleich egal ob auf der anderen Seite ein W10 oder W11 ist?
Und wenn man schon dabei ist W11 zu W11 vervollständigt das Bild. Aber weiß zu schätzen was für eine öde Arbeit das jetzt schon war. Vorallen wenn die MS Gummiwände öffnen will…
"Also, why does a Windows 10 only need 0.08GHz/GBits/s to send and a Windows 11 to receive 0.88GHz/GBits/s?"
Also ich fände due Frage
"Also, why does a Windows 10 only need 0.08GHz/GBits/s to send and a Windows 11 to send 0.23GHz/GBits/s?"
und:
"Also, why does a Windows 10 only need 0.44GHz/GBits/s to receive and a Windows 11 to receive 0.88GHz/GBits/s?"
Ich weiß jetzt nicht wie gut der TCP Stack ip PsPing implementiert ist, ich weiß aber, das es ein paar Unterschiede gibt zwischen dem Empfang und dem Senden.
Man muss sich nur Mal den Source code ansehen.
Ich gehe nicht davon aus, das das egal istvob man sendet oder empfängt.
Es gibt immer die Frage:
"pullt" man die Daten, oder "pusht" man diese.
Kann sein daß das heute bei den Platten.,RAM und CPU Leistungen nicht bemerkbar ist.
Natürlich ist für den gleichen Vorgang ein Faktor 2 oder gar 4 an resourcen Mehrverbrauch für W11 nicht akzeptabel.
Aber das Phishing Filter?
Vielleicht Mal bei Mark Rossinowich anfragen?
Von dem (oder seinen Team) habe früher durchaus hilfreiche Antworten zu meinem um seine Produkte herum bekommen.
Ich hab jetzt mal die aktuellen PsTools heruntergelanden.
—
Offtopic:
Nur Sophos meinte dass das (total geniale) PsExec ein pöses, pöses PUA sei.
Warum die ca. 79 anderen Virenscnner nicht?
Vielleicht weil die anderen eher wissen was sie tun?
Hintergrund, warum PsExec als "PUA" geführt wird:
PsExec ist Teil ein eines "Einbruch software paketes", das sich scammer&Co. im Dark kaufen können.
Die dort enthaltne Verion zu melden ergibt (zumindest theoretisch) Sinn, sofern der Virescanner überhaupt noch etwas sieht.
Etliche Virenscanner melden dieses, und zwar nur genau diese
Version PsExec als PUA.
Das ist genau richtig:
Die obengenannten Pakete werden natürlich nur einmal zusammen gestellt und getestet und einmal gekauft und immer wieder verwendet. Niemand der auch nur einiger massen etwas von das Sache versteht, würde ein Tool nutzen das er auf dem Rechner vorfindet. Die hauen da natürlich keine Versions-Updates raus. Warum sollten sich die arbeit machen, wenn es doch funktioniert?
Durch das melden genau dieser Versionen vergällen diese Virenscanner den kriminellen Herstellern der Pakete das Geschäft. Sophos aber meint, das PsExec "perse" böse sei und datet seine Signaturen ständig ab, oder kommt nicht an die Infos welche Version in den Pakten ist? Wer als Admin oder Entwickler dieses (und auch viele andere) Tools benutzen will, muß jede neue Version in Sophos freischalten.
Als Admin geht das vielleicht noch, aber der arme Entwickler, der nur "psping" haben wollte, bekommt eins auf seinen Keks, das es schon wieder(!) einen Virus aus seinem Rechner hat…irgendwann wird er sich einen anderen Arbeitsplatz suchen, mit kompeteren Admins.
—
SO ich habe im Halfschlaf mal folgendes auf meinem Laptop ausprobiert:
Eine Console mit:
psping -b -s 127.0.0.1:1234
als Server. (W10)
Auf der anderen so etwas wie:
psping.exe -b -l 32k -n 5s 127.0.0.1:1234
oder umgekehrt:
psping.exe -b -r -l 32k -n 5s 127.0.0.1:1234
Das gibt Durchsatz zwischen 1,9GB/s und 3GB/s
meistens 2,5GB/s, aber stark schwankend.
Ich weiß nicht was die da wie messen.
Welche Richtung schneller ist kann ich bei diesen Messwert schwankungen
nicht sagen.
Da dazu hat PsExec noch irgendwie einen Bug:
Manchmal haut er nach dem Ergebnis etliche Leerzeilen raus
so 4 bis 20.
Sorry
Was soll ich mit solchen Werten denn anfangen?
Der Rechner hat nichts zutun.
Da muß m.E. plus minus ein paar 1k immer daselbe rauskommen.
Über 5 sekunden gemittelt sowieso.
Die Min und Max werte schwanken noch stärker.
Aber vielleicht mache ich ja etwas falsch und ich muß das über 2 stunden mitteln?
Achso:
Obwohl bei 127.0.0.1 eigentlich 2 der 8 CPUs am poller sein müssten sehe ich keinen Ausschlag im Resourcen Mananger, ausser das das Idle solange kleiner wird, logo.
Im Taskmanager sehe ich nach den Tests, das die Client Processe als "abgebrochen" dargestellt werden obwohl sie nach aussen sauber terminiert erscheinen (normal ausser den Leerzeilen)
Wie rechne ich eigentlich diese GHz/Gb/s aus?
Es kann natürlich sein, das die CPU runtergetakt wird, trotz Netzbetrieb.
Oder das MS bei 127.0.0.1 ne Abkürzung nimmt?
Vielleicht mag wer das erklären?
PUA bedeutet ja nicht phöse ;-P oder gar Malware… sondern nur "eventuell unerwünscht"!
Was ist denn "GHz/GBit/s" für eine Einheit? Gigahertz pro Gigabit pro Sekunde? Mir erschließt sich das nicht.
Und was genau soll dieser "Phisching Schutz" denn nun machen? Das ist mir deutlich zu suspekt und im internen geschützen Netz auch völliger Quatsch. Und Phisching Schutz ist keine Aufgabe eines Betriebssystems! "Ein Betriebssystem, auch OS genannt, ist eine Zusammenstellung von Computerprogrammen, die die Systemressourcen eines Computers wie Arbeitsspeicher, Festplatten, Ein- und Ausgabegeräte verwaltet und diese Anwendungsprogrammen zur Verfügung stellt" Quelle Wikipedia. Ich kann dieses "unser Scheiß ist gut für Sie" einfach nicht mehr hören.
Das ist Windows aber schon lange nicht mehr!
Nen OS ist nen OS ist nen OS nur sag das mal MS die wollen die eierlegende Wollmilchsau als Werbeplatform mit Zugriff auf alles und jeden!
Das letzte "echte OS" war W7 bevor sie Tracking & Must Have & Co auch da nachträglich integrierten! W10 Kann man noch soweit kastrieren, das es nahe ein ein reines OS rankommt. W11? Dazu muss schon die Hölle zufrieren!
Mit einem reinen Linux (nur der Kernel, sonst wirklich nix!) kannst du aber auch nicht viel anfangen. Da ist nicht mal ne Shell oder GNU-Tools dabei.
> Ich kann dieses "unser Scheiß ist gut für Sie" einfach nicht mehr hören.
Ich mittlerweile auch nicht mehr.
Ich habe es nicht nachgemessen, hatte aber das Gefühl, daß mein Videoschnitt unter Window·7 deutlich flüssiger und lastärmer lief, als mit der gleichen Software unter Windows·10 Ich hatte damals mit allen möglichen Netzwerkparametern herumgespielt, es aber nicht wieder hinbekommen. Als NAS fungierte ein Server·2012
Und deswegen ist das aller erste was ich mache nachdem ich Windows installiert habe den Deffender komplett zu entfernen, das teil ist der letzte Murks.
So ein Quatsch. Wenn der Defender richtig konfiguriert ist, dann ist er weder Murks noch brauchst du irgendeine aufgesetzte Lösung welche dir deine Systeme versaut.
Hallo David
Ja, ich bin auch nicht so begistert vom Defender. Mein eines System läuft durch Defender definitiv langsamer. Als ich den Defender dann komplett aus dem System ausgemerzt habe, also inklusive Löschung aus den Ordnern auf der HD, lief das System um einiges flüssiger und schneller- gut das System darf auch nicht ins Internet. Somit ist es da egal, daß ich den Defender komplett gelöscht habe.
Andere AV-Produkte bremsen deinen PC noch weiter, das ist meine Erfahrung. Und wenns dann noch ein "kostenloser" AV ist, dann bezahlst du mit deinen Daten und dem wegklicken von Werbung.
Und hacken auch noch Löcher ins System und auch Updates vom Defender sind gefährlich, aber war doch klar dass du alles aus dem Hause Microsoft verteidigst.
Gib Link mit dem ich den Defender besser einstellen kann.
MS hat den Defender zwar auch nur eingekauft, aber ich traue diesen Schlangenöl zu, weniger Nebenwirkungen zu haben als alles was man kaufen kann. Das sind inzwischen auch riesen Pakete mit dutzenden Funktionen und zusätzlichen Fehler- oder Angriffpunkten.
Aber wie soll dieses AntiPhishing funktionieren?
Soll das ein Art Leakage Prevention sein?
Aber dazu jedes Byte untersuchen, das irgendwie zur oder von den Netzwerk Interfaces kommt?
Es gibt ja schon Programme die jede URL nach USA schicken oder in der Email umeditieren (signierte Emails, wer braucht denn so was?) und von dort das OK bekommen, auch wenn die URL in einer Email steckt und eh Egde aufgerufen wird, der sie nochmals überprüft.
Aber es bringt Geld.
Und Cheffe zahlt, weil seine Versicherung das so will und niemand die Verantwortung tragen muss oder will oder kann…
Wenn du dem Defender nicht vertraust, solltest du konsequenterweise auch dem Rest von Microsoft nicht vertrauen. Viel Spaß mit Linux!
Moin Paul,
> Und Cheffe zahlt, weil seine Versicherung das so will und niemand die Verantwortung tragen muss oder will oder kann…
dem Cheffe ist aber hoffentlich auch bewusst, dass eine Versicherung im Ernstfall nur greift, wenn er vorher seiner Verantwortung/Prüfplicht auch ordentlich nachgekommen ist und diese nicht der Einfachheit halber und oder aus Unwissenheit, nur weitergereicht hat.
Gruss Alex
Cheffe sind die zusammhänge wurscht.
Er will sich damit nicht beschäftigen, er rafft es interlektuell nicht, idafür hat er ja ja seine Leute und der Versicherung kann er zeigen, auf Papier, als Rechnung, das er alles getan hat um dem Schaden vorzubeugen.
Da ist viel Geschäfte macherei bei.
Moin Pau1,
> Cheffe sind die zusammhänge wurscht …
wenn die Vorgaben der Versicherungsbedingungen einer Cybersecurity-Versicherung nicht erfüllt sind, dann kann der entsprechende Cheffe der Versicherung vorlegen was er möchte. Im schlimmsten Fall muss er auch noch eine saftige Rechnung von der Versicherung bezahlen und hat zudem auch noch ein Strafferfahren wegen Versicherungsbetrug am Hals.
> Da ist viel Geschäfte macherei bei.
Ja … leider meistens mehr als wirklich einen Nutzen zu haben.
Gruss Alex
ernsthaft leute nur so funktioniert das wirtschaftssystem. warum kauft man neue cpu und neue hardware neues anything
weil man glaubt man braucht das
think about it
und genau deswegen kauf ich nix neues ;-P Wieso auch? Damals absolutes Highend läuft auch heute noch alles ruckelfrei!… Die Zeiten von: Läuft den da auch Crysis drauf, sind vorbei!
Oh ich kenn die Zeiten noch einmal im Jahr neues MB + CPU alle halb Jahr neue GPU.
Gibt ja nix mehr was dein System auslastet, selbst zocken in 4k geht ruckelfrei! (unter W10 die Plaque W11 kommt mir nicht auf mein Rig)