ETH findet Lücke in Intel- und AMD-Chips

Spekulatives Rechnen macht Computer schneller

Man kann sich den Ablauf eines Computerprogramms wie einen Fluss mit verschiedenen Verzweigungen vorstellen. An den Verzweigungen treffen die Computerprogramme oft Entscheidungen, welchen Lauf sie wählen. Manchmal dauern diese Entscheidungen lange und können die Ausführung verlangsamen. Gefragt sind jedoch schnelle Rechenprozesse. Herkömmlicherweise führt ein Computerprogramm die Anweisungen sequenziell und in der Reihenfolge des Programms aus – also einen Rechenschritt nach dem anderen.
Haben die Schwachstelle in Intel- und AMD-Prozessoren entdeckt: Johannes Wikner (links) und Kaveh Razavi
Quelle: ETHZ
Mit den CPU-Prozessorarchitekturen von heute lassen sich jedoch Berechnungen vorziehen und gleichzeitig ausführen. «Eine CPU kann die Anweisungen in einer anderen Reihenfolge als der Programmreihenfolge ausführen, um die Rechenleistung zu verbessern», sagt Kaveh Razavi. In Computerkreisen sprich man von «ausserplanmässigen Ausführungen» (engl. «out-of-order executions»). Seit Januar 2018 ist bekannt, dass es bei dieser Art der Ausführung Sicherheitslücken geben kann. Während der Befehlsausführung könnte ein unerlaubter Zugriff auf den Cache-Speicher der CPU erfolgen, der es Hackerinnen und Hackern ermöglicht, sensible Informationen aus dem Betriebssystem zu stehlen. Diese Sicherheitslücke ist unter dem Namen «Meltdown» bekannt und betrifft spezifische Probleme bei Intel-CPUs.
Mit den Out-of-order-Ausführungen eng verwandt sind die «spekulativen Ausführungen» (engl. «speculative executions»), für die ebenfalls seit 2018 ähnliche Sicherheitsprobleme bekannt sind. «‹Retbleed› ist ein Problem der spekulativen Ausführung», sagt Johannes Wikner. Solche spekulativen Rechenschritte dienen dazu, die Verlangsamung der Berechnungen zu vermeiden, indem bestimmte Rechenschritte vorgezogen werden, bevor klar ist, ob sie tatsächlich gebraucht werden. Spekulative Berechnungen finden zum Beispiel statt, wenn ein Prozessor zu erraten versucht, welchen Weg die Befehlskette an einer Verzweigung einschlägt, bevor dies bekannt ist. «Dabei ‹raten› die CPUs, welche Richtung sie an einer Verzweigung einschlagen sollen und führen die Anweisungen aufgrund ihrer Vermutung spekulativ aus», erklärt Razavi.

Autor(in) Florian Meyer, ETH-News



Das könnte Sie auch interessieren