News Ryzen: AMD nutzt PCI-Treiber zur Manipulation von CPU-Funktionen

Zunächst denkt man natürlich, ist nicht jeder Treiber irgendwie eine "Manipulation" von Funktionen, also gewollt !?
Also alles halb so wild ?


Dieser Abschnitt hat mich aber doch etwas aufhorchen ;) lassen:

Ein weiteres Problem betrifft die Sicherheit: Über die ioctl-Schnittstelle des Treibers war es Ionescu möglich, den Rechner mit nur einer Zeile Code über die PowerShell zum Absturz zu bringen. Darüber hinaus sei es möglich die vom Treiber überwachte Liste an Prozessen zu manipulieren.

Hat derjenige, der das herausgefunden hat, diesbezüglich auch zurückgerudert, oder ist das tatsächlich so ?
Und ist dies denn überhaupt tatsächlich ein realistisches Problem(es fehlt mir das Fachwissen dies zu beurteilen), oder eher sehr, sehr theoretischer Natur, also vernachlässigbar ?

Dies ist für mich so mit der interessanteste Aspekt der News und somit schon wert da genauer hin zu schauen.


[wege]mini schrieb:
Guter Pfusch ist keine schlechte Arbeit, hat schon der Opa gesagt

Der war auch nicht schlecht ! :D
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Tanzmusikus
0x8100 schrieb:
den unterschied habe ich mal hervorgehoben. den bsod kann man nämlich auch unprivilegiert auslösen.
Nö, dafür ist nämlich erst mal NtObjectManager erforderlich und dann ist es immer noch eine Frage ob solche Module nicht von der Execution Policy standardmäßig abgefangen werden.
 
Was für eine Software ist das denn, von der hier die Rede ist. Sprich, wo kann ich die Downloaden?
Ist echt unklar ausgedrückt im Artikel.
 
IntoTheRed schrieb:
Nö, dafür ist nämlich erst mal NtObjectManager erforderlich und dann ist es immer noch eine Frage ob solche Module nicht von der Execution Policy standardmäßig abgefangen werden.
twitter_amd.png

ich glaube jetzt einfach mal dem entdecker der lücke :)
 
IMG-20210519-WA0001.jpg

Das cmdlet findet man trotzdem in keiner normalen Windows Installation. Es ist Teil der Sysinternals.
 
estros schrieb:
Was für eine Software ist das denn, von der hier die Rede ist.

Der AMD PCI Treiber für PnP ist rudimentär und wird in jedem BIOS mitgeliefert. Er ermöglicht, dass du die Graka oder andere Geräte einstecken kannst und diese erkannt werden.

Danach kannst du die Software installieren, die du als "Treiber" wahrnimmst.

Es würde auch ohne PnP (Plug and Play) funktionieren, würde aber die heutige Generation komplett überfordern.

mfg
 
  • Gefällt mir
Reaktionen: Kenshin_01, Ned Flanders und Tanzmusikus
NJay schrieb:
Das ist aber keine Sicherheitsluecke oder "billig", sondern normal, dass du mit entsprechenden Rechten viel Chaos anstellen kannst.
Hier geht's aber ohne besondere Rechte.
Ergänzung ()

Fortatus schrieb:
Naja, zumindest die Wortwahl finde ich hier fragwürdig. Zum Versteckspiel gehören zwei Dinge: Eine Person, die sucht, und eine Person, die versucht nicht gefunden zu werden.
Hat AMD aktiv Massnahmen ergriffen, um diese Funktion im PCI-Treiber zu verbergen? Z.B. durch Code-Obfuscation?
Allein, diese Funktion in den PCI-Treiber zu packen ist imho ein verstecken. Ohne Doku dann sowieso.
Völlig wertfrei. Ich unterstelle keine böse Absicht.
Aber für mich ist das eindeutig versteckt, wenn ich irgendwas unterbringe, wo es nicht hingehört.
Wenn Lidl den Kaffee zwischen Banane und Äpfel platziert, würde ich auch den Verkäufer fragen, warum er den versteckt hat.
 
Zuletzt bearbeitet:
bensen schrieb:
diese Funktion in den PCI-Treiber zu packen ist imho ein verstecken
imo nicht. Die hier verwendete Device ID ist generisch, weil Windows nunmal nach einer Device ID im Treiberfile verlangt. Das inf File zu diesem Treiber hier ist so leer/default wie möglich, Windows interpretiert das halt als PCI Treiber. Eine Kategorie "Hotfix Treiber für spezifische Software Probleme" gibts halt nicht.
bensen schrieb:
Ohne Doku dann sowieso
Es gibt Doku dazu.
 
  • Gefällt mir
Reaktionen: Tanzmusikus und Benji18
IntoTheRed schrieb:
Das cmdlet findet man trotzdem in keiner normalen Windows Installation. Es ist Teil der Sysinternals.
das gilt doch nur, wenn man das mit diesem cmdlet in powershell machen will. wenn der treiber ein interface hat, das r/w für everyone ist, dann kann man das auch anders triggern. der powershell oneliner ist nur besser für twitter geeignet :)
 
  • Gefällt mir
Reaktionen: I'm unknown
Der technische Aspekt sehr individuell präventiv gegen Instabilitäten bei den einzelnen Spielen vor zu gehen, ist wirklich gut.
Aber die Umsetzung über einen Systemtreiber... da bekomme ich Kopfschmerzen... und die Art der Kommunikation (aka verschweigen) ... das geht ja gar nicht.
Setzen 6!

Klar kommuniziert als kleines permanent mitlaufendes zusätzliches Systemtool, so dass auch erkennbar ist, wenn was passiert, das wäre der richtige Weg gewesen
 
  • Gefällt mir
Reaktionen: Ex3cuter
catch 22 schrieb:
Aber die Umsetzung über einen Systemtreiber... da bekomme ich Kopfschmerzen... und die Art der Kommunikation (aka verschweigen) ... das geht ja gar nicht.
Setzen 6!

Klar kommuniziert als kleines permanent mitlaufendes zusätzliches Systemtool, so dass auch erkennbar ist, wenn was passiert, das wäre der richtige Weg gewesen

haben Sie ja nicht verschwiegen, AMD hat klar kommuniziert das man bzgl. z.b. rdrand bei Zen 2 und destiny 2 einen Hotfix im Chipsatztreiber implementiert hat 🤷🏻‍♂️. --> später wurde das ganze dann via Microcode (AGESA) behoben.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Tanzmusikus und bierbuddha
...Und das ganze ist jetzt warum genau schlecht!?

Ein Treiber sorgt für mehr Leistung oder mehr Systemstabilität... Wahnsinn. Ich dachte, genau dafür wäre er da!?

Die "Lücke", bzw. der Fehler, der den Absturz herbei führt, gehört behoben, Rest kann so bleiben. Ich verstehe die Debatte nicht.
 
  • Gefällt mir
Reaktionen: Tanzmusikus und bierbuddha
[wege]mini schrieb:
Es würde auch ohne PnP (Plug and Play) funktionieren, würde aber die heutige Generation komplett überfordern.

mfg
Also Interrupts und Ressourcenkonflikte aus meiner DOS-Zeit vermisse ich jetzt nicht wirklich...
Heutzutage müsste ich ja für jede Webcam, jeden USB Stick etc den ganzen Zirkus abziehen. Nö Danke.

Zum Problem: die Funktion stört mich nicht. Wenn der Treiber aber nicht abgesichert ist sondern als Tor dienen kann dass einfacher Drive by Code in meiner cpu Funktionen ausschalten kann, haben wir ein Problem.
Ergänzung ()

catch 22 schrieb:
Klar kommuniziert als kleines permanent mitlaufendes zusätzliches Systemtool, so dass auch erkennbar ist, wenn was passiert, das wäre der richtige Weg gewesen
Also wenn ich für jeden Microcode Fix ein Systemtool laufen habe, brauche ich definitiv mehr Arbeitsspeicher...
Allein was mir aus dem Kopf bei Intel seit den ersten Pentiums als dreckiger microcodefix einfällt, da wäre die erste Taskleiste voll.
 
Also mal im Ernst. AMD und auch Nvidia können so viel Optimierungen implementieren wie sie wollen. Wenn der Endkunde davon bessere Performance hat ist das super. Völlig Latte wie es erreicht wird.
 
  • Gefällt mir
Reaktionen: bierbuddha
TenDance schrieb:
dass einfacher Drive by Code in meiner cpu Funktionen ausschalten kann

Das Abschalten von Cores oder Funktionen wie HT/SMT ist aber kein Hexenwerk.

Ob dieses jetzt am User vorbei passiert, ohne es ihm zu sagen, darf man diskutieren. Wenn dieses jetzt in speziellen Anwendungsfällen sogar schneller ist, als alle Funktionen zu benutzen, ist das mMn jedoch nicht problematisch, auch wenn einige dieses als "cheaten" auslegen könnten.

Einigen Programmen die virtuellen Cores zu verbieten, da sie absolut keine Optimierung haben, ist z.B. kein Problem.

Natürlich kann man all dieses missbrauchen.

mfg
 
  • Gefällt mir
Reaktionen: Tanzmusikus
TenDance schrieb:
Also wenn ich für jeden Microcode Fix ein Systemtool laufen habe,
Nur dass das hier angewendete Verfahren von AMD meinem Verständnis nach kein Microcode Fix ist, da ein Microcode Fix nicht selektiv je nach Anwendung genutzt wird (oder nicht), sondern generell Gültigkeit hat.
 
TenDance schrieb:
Also wenn ich für jeden Microcode Fix ein Systemtool laufen habe, brauche ich definitiv mehr Arbeitsspeicher...
Mal ganz davon abgesehen dass irgendein Treiber sowieso die Schnittstelle für Register bereitstellen müsste.
[wege]mini schrieb:
Das Abschalten von Cores oder Funktionen wie HT/SMT ist aber kein Hexenwerk.
Wird ohne Reboot zumindest unter Windows vermutlich nicht funktionieren.
 
I'm unknown schrieb:
Wird ohne Reboot zumindest unter Windows vermutlich nicht funktionieren.

Problematisch ist eher, dass es mit Reboot noch funktioniert. :evillol:

Also, dass es mit Reboot noch abgeschaltet ist, wenn man böse sein will. Jetzt ist es unmissverständlich.

mfg
 
I'm unknown schrieb:
Nun ja, es klingt so als ob das hier vorgestellte Problem keine erhöhten Rechte benötigt...

Als root darf man unter Unix/Linux mehr oder weniger alles, als normaler User sollte man jedoch keinesfalls direkt in ein CPU-Register schreiben dürfen...
Was ist denn ein "normaler" User unter Windows?
Genau, pauschal ist er Admin, außer dass hat jemand anders eingerichtet.
Somit unterscheidet Windows im Detail erstmal nur zwischen Admin und System, jo es gibt prinzipiell ne UAC Abfrage, im Mittelmaß (zu Zeiten von Vista deutlich konsequenter aber der Allgemeinheit zu lästig) aber ziemlich lasch.
 
Mich würde jetzt Mal interessierten, warum es in den Spielen zu Stabilitätsproblemen kommt, in anderen und in Applikationen aber nicht.
Wer hat denn hier Mist gebaut? Sind die games schlampig programmiert? Wobei die ja gar nicht so tief in die Funktionsweise der CPU eingreifen können. Da würden mich Details brennend interessieren!
 
Zurück
Oben