Aktuelle Entwicklungen der Hardwaresicherheit
Welche Kombination beschreibt retpoline und IBRS richtig, zwei Gegenmaßnahmen gegen die Spectre-Variante, die die Vorhersage indirekter Sprünge missbraucht (Branch Target Injection)?
- Aretpoline baut die Schaltung der CPU um und entfernt den Vorhersager, und IBRS ist eine Gegenmaßnahme, bei der der Compiler Befehle für indirekte Sprünge in eine andere Befehlsfolge umschreibt
- Bretpoline ist eine Software-Gegenmaßnahme, die indirekte Sprünge durch Befehlsfolgen ersetzt, die nicht auf den Vorhersager angewiesen sind, und IBRS ist eine CPU-Funktion, die die Vorhersage indirekter Sprünge einschränkt
- CSowohl retpoline als auch IBRS schalten die spekulative Ausführung der CPU selbst ab, sodass mit beiden der Leistungsgewinn durch spekulative Ausführung verloren geht
Antwort und Erläuterung anzeigen
Antwort: B. retpoline ist eine Software-Gegenmaßnahme, die indirekte Sprünge durch Befehlsfolgen ersetzt, die nicht auf den Vorhersager angewiesen sind, und IBRS ist eine CPU-Funktion, die die Vorhersage indirekter Sprünge einschränkt
Bei retpoline ersetzt der Compiler Befehle für indirekte Sprünge durch eine Befehlsfolge aus call und ret, sodass die CPU statt des missbrauchbaren Vorhersagers für indirekte Sprünge die Vorhersage der Rücksprungadresse verwendet und spekulativ ausgeführter Code harmlos in einer Schleife leerläuft. IBRS ist eine CPU-Steuerfunktion, die etwa per Microcode-Update hinzukam und beispielsweise die Vorhersage indirekter Sprünge im Kernel so einschränkt, dass sie nicht dem folgt, was Benutzerprogramme antrainiert haben. Auf älteren CPUs kostete jedes Umschalten von IBRS viel Zeit, weshalb retpoline weit verbreitet war; neuere CPUs bieten eine verbesserte Variante, die dauerhaft eingeschaltet bleiben kann (eIBRS). Manche CPUs stützen sich jedoch auch für die Vorhersage der Rücksprungadresse auf einen anderen Vorhersager, und unter anderem Retbleed, 2022 veröffentlicht, zeigte Fälle, in denen retpoline allein nicht ausreicht.
Weiter: 9 weitere Fragen zu Aktuelle Entwicklungen der Hardwaresicherheit