AMD Ryzen: Fehlerbehaftetes Spiele-Tuning im PCI-Treiber versteckt
Für bestimmte Ryzen-CPUs und Spiele hat AMD laut einem Sicherheitsforscher ungewöhnliche und schlecht umgesetzte Maßnahmen im hauseigenen PCI-Treiber ergriffen.
Eigentlich sollte ein PCI-Treiber in erster Linie die einwandfreie Kommunikation zwischen dem Chipsatz des Prozessors und angeschlossenen Peripheriegeräten sicherstellen, doch bei näherer Betrachtung macht AMDs Variante laut den kürzlich gemachten Entdeckungen des Sicherheitsforschers Alex Ionescu deutlich mehr: So werden auf bestimmten Ryzen-CPUs gewisse Funktionen zur Performance-Verbesserung in ausgewählten Spielen aktiviert, die eigentlich aufgrund bekannter CPU-Fehler mit Absturzgefahr von BIOS-Herstellern deaktiviert sein sollten. Die schlechte Umsetzung des Ganzen sei zudem sicherheitsrelevant.
Versteckte und schlechte Umsetzung mit Absturzpotenzial
Im dazugehörigen Thread auf Twitter hat Ionescu seine Entdeckungen näher dargelegt: Der "AMD PCI Driver" verändert demnach unter anderem abhängig vom Namen des ausgeführten Prozesses bestimmte Werte in MSRs (Model-Specific Registers) der CPU, wobei weder dieses Vorgehen noch die eigentliche Funktion der Register dokumentiert sind. Der Treiber biete darüber hinaus keinen genügenden Schutz vor der Übernahme der Funktionen, was es auch ermöglicht habe, das genutzte Ryzen-System mit einer einzigen Zeile Powershell-Code zum Absturz zu bringen.
Die nur als Hashwerte im Treiber hinterlegten Prozessnamen konnten dabei offenbar ausschließlich 18 Spielen zugeordnet werden. Bei diesen schaltet der Treiber den sogenannten Op-Cache der Prozessoren an oder deaktiviert ihn auf Ryzen-1000-CPUs (Zen 1), während bei Ryzen-3000-CPUs (Zen 2) bestimmte Funktionen des L2- und L1-Cache aktiviert werden. Die Hashfunktion soll dabei so ungenügend umgesetzt sei, dass bereits Kollisionen mit anderen Prozessnamen ausgemacht werden konnten, die nichts mit den Spielen zu tun haben.
"Diese Prozessoren hatten bekannte Fehler, die manchmal zu Abstürzen führen konnten, und die Empfehlung für BIOS-Hersteller lautete, diese Funktionen zu deaktivieren. Wenn Sie diese Spiele spielen, aktiviert der Treiber die Funktionen erneut, während das Spiel aktiv ist." - Alex Ionescu
Performance-Verbesserung in bestimmten Spielen
Zu den bisher identifizierten Spielen gehören Factorio, Destiny 2, H1Z1, Jurassic World Evolution, Rainbow Six, Fallout 76, League of Legends, Battlefield 5, Warframe, Apex Legends, Doom Eternal, Call of Duty: Modern Warfare, Overwatch und Anthem. AMDs beschriebene Treibermaßnahmen führen in den besagten Spielen im Idealfall zu Geschwindigkeitsverbesserungen (in unbekanntem Ausmaß), können aber eben auch Abstürze verursachen. Das alles und der verschleiernde Charakter sollten laut Ionescu nicht akzeptabel sein und AMD entsprechend mit Transparenz aufwarten, während es gar keine WHQL-Zertifizierung als PnP-PCI-Treiber hätte geben dürfen. Eine Stellungnahme von AMD steht derweil bisher noch aus.
Quelle: via golem.de

Da aber nicht jede Sicherheitsmaßnahme grundsätzlich zu mehr Stabilität bei allen Programmen führt, kann es sein, dass der Cache (und damit eventuelle Verwundbarkeiten) für die Spiele wieder aktiviert werden, weil diese Spiele drauf angewiesen sind.
Aber da hier die Datenlage mal wieder extrem dünn ist, sollte der Verfasser der Tweets erst mal den Ball deutlich flacher halten und für bessere Datenlage sorgen - siehe Video von David Kriesel.
laut neuerem Post ist die Wirkung genau umgekeht: Bei 19 Spielen setzt der Treiber ein Bit, dass die Stabilität erhöht. Stellt aber natürlich trotzdem einen Trick da, wenn man es in allen anderen Fällen inaktiv lässt – eigentlich ist es sogar noch zweifelhafter, dass eine Zustand, der Abstürze verursachen kann, als Standard verwendet und nur in Einzelfällen gemäß Blacklist verlassen wird. Die Sicherheitslücke scheint darin zu bestehen, dass jeder Prozess die Treiberfunktion zur Manipulation dieser Bits ansteuern kann. Die eigentlich Aktion braucht also Treiber-Privilegien, aber das entsprechende Werkzeug ist ungeschützt zugänglich.
Reduziert das Aktivieren die Stabilität?
Kommen die Spiele damit nicht klar?
Ist es mal wieder ein Problem mit dem Windows Scheduler, dass so umschifft wird?
Ist das bit meist deaktiviert, weil damit Angriffsvektoren ausgeschaltet werden?
Nimmt man bei den paar Spielen das Risiko in Kauf, weil die Performance dadurch signifikant beeinflusst wird?
Gibt es Funktionen aus Windows10, die bei diesen Spielen (nicht) genutzt werden und damit ein Einfluss durch dieses bit zu Tage kommt?
Ist es wirklich ein Sichteheitsproblem, wenn Teile des Caches mal aktiviert und mal deaktiviert werden?
Klingt eher nach Standard Operating Procedure - wenn auch nicht unbedingt während des Betriebs.
Immerhin gibt es hier diverse Gamer, die ein ums andere Mal erklärt haben, diverse Sicherheitspatches für Intel CPUs nicht zu installieren, weil die Performance negativ beeinflusst wird und die Lücken real kaum bis nicht ausgenutzt werden.
Btw, sind mittlerweile Microcodes die Fehler/Instabilitäten umgehen auch Manipulation oder gilt das nur für Treiber die den selben Effekt haben? Vielleicht noch etwas hochtrabender, skandalöser und geschwollener daherreden! Vielleicht klappt es dann und alle schreien stumpf mit... bis zum nächsten Zurückrudern oder Revidieren.
laut neuerem Post ist die Wirkung genau umgekeht: Bei 19 Spielen setzt der Treiber ein Bit, dass die Stabilität erhöht. Stellt aber natürlich trotzdem einen Trick da, wenn man es in allen anderen Fällen inaktiv lässt – eigentlich ist es sogar noch zweifelhafter, dass eine Zustand, der Abstürze verursachen kann, als Standard verwendet und nur in Einzelfällen gemäß Blacklist verlassen wird. Die Sicherheitslücke scheint darin zu bestehen, dass jeder Prozess die Treiberfunktion zur Manipulation dieser Bits ansteuern kann. Die eigentlich Aktion braucht also Treiber-Privilegien, aber das entsprechende Werkzeug ist ungeschützt zugänglich.
Natürlich von vorne bis hinten erlogene Ausflüchte, egal ob wir über Benchmarks erkennende Treiber, erhöhte Referenztakte oder reduzierte AF-Qualität sprechen, aber durch die Verwendung eines irreführenden Namens gibt AMD offen zu, dass sie die Funktion selbst für Schumelei handelt, über die man nicht öffentlich/nur in Code sprechn darf.
Ich weiß nicht, was mit "der Text" gemeint ist, aber in unserer News kommt die von dir aufgestellt Behauptung nicht vor und die Twitter-Quelle berichtet von einem unmodifizierten Treiber. Wenn ich die Bezüge zwischen den aufeinanderfolgenden Tweets richtig zuordne (280-Zeichenhappen zur Beschreibung komplexer technischer Zusammenhänge