Spekulative Ausführungsangriffe sind nach wie vor eine hartnäckige Schwachstelle, die moderne Prozessoren angreift. Eine neue Studie hat gezeigt, dass die Industrie es versäumt hat, die von AMD und Intel veröffentlichten Abhilfemaßnahmen zu übernehmen, was eine Gefahr für die Firmware-Lieferkette darstellt.

Die von Binarly als „FirmwareBleed“ bezeichneten Angriffe auf die Firmware sind darauf zurückzuführen, dass die Mikroarchitekturen der Unternehmen weiterhin Angriffsflächen bieten, weil sie die Abhilfemaßnahmen nicht richtig oder nur teilweise umsetzen.

„Die Auswirkungen solcher Angriffe konzentrieren sich auf die Offenlegung des Inhalts von privilegiertem Speicher (einschließlich durch Virtualisierungstechnologien geschützter Speicher), um sensible Daten von Prozessen zu erhalten, die auf demselben Prozessor (CPU) laufen“, so das Unternehmen für Softwareschutz in einem Bericht an The Hacker News.

„Cloud-Umgebungen können größere Auswirkungen haben, wenn ein physischer Server von mehreren Nutzern oder juristischen Personen gemeinsam genutzt werden kann.“

In den letzten Jahren wurden Implementierungen der spekulativen Ausführung, einer Optimierungstechnik, die das Ergebnis und das Ziel von Verzweigungsanweisungen in der Ausführungspipeline eines Programms vorhersagt, als anfällig für Spectre-ähnliche Angriffe auf Prozessorarchitekturen eingestuft, die es einem Bedrohungsakteur ermöglichen könnten, kryptografische Schlüssel und andere Geheimnisse auszuspähen.

Dies funktioniert, indem die CPU dazu gebracht wird, einen Befehl auszuführen, der auf sensible Daten im Speicher zugreift, die normalerweise für eine unprivilegierte Anwendung nicht zugänglich sind, und dann die Daten zu extrahieren, nachdem die Operation aufgrund einer falschen Vorhersage rückgängig gemacht wurde.

Eine wichtige Gegenmaßnahme, um die schädlichen Auswirkungen der spekulativen Ausführung zu verhindern, ist die 2018 eingeführte Softwareabwehr Retpoline (auch bekannt als „Return Trampoline“).

Obwohl jüngste Erkenntnisse wie Retbleed eindeutig gezeigt haben, dass Retpoline allein nicht ausreicht, um solche Angriffe in bestimmten Szenarien zu stoppen, zeigt die jüngste Analyse, dass es an Konsistenz mangelt, wenn es darum geht, diese Abhilfemaßnahmen überhaupt erst anzuwenden.

Sie zielt insbesondere auf eine Best Practice namens Return Stack Buffer (RSB) Stuffing ab, die von Intel eingeführt wurde, um Underflows bei der Verwendung von Retpoline zu vermeiden. RSBs sind Adressprädiktoren für Rückgabeanweisungen (auch RET genannt).

„Bestimmte Prozessoren verwenden möglicherweise andere Verzweigungsprädiktoren als den Return Stack Buffer (RSB), wenn der RSB unterläuft“, schreibt Intel in seiner Dokumentation. „Dies kann Auswirkungen auf Software haben, die die Retpoline-Minderungsstrategie auf solchen Prozessoren verwendet.

„Auf Prozessoren mit einem anderen Verhalten des leeren RSB sollte [System Management Mode]-Code den RSB mit CALL-Anweisungen füllen, bevor er aus dem SMM zurückkehrt, um die Verwendung der Retpoline-Technik durch andere Prozessoren nicht zu beeinträchtigen.

Intel empfiehlt RSB-Stuffing auch als Mechanismus, um Pufferunterlauf-Angriffe wie Retbleed zu vereiteln, und fordert die Hersteller alternativ dazu auf, „[Indirect Branch Restricted Speculation] vor RET-Befehlen zu setzen, bei denen das Risiko eines Unterlaufs durch tiefe Call Stacks besteht.“

Die Binarly-Recherche hat jedoch festgestellt, dass 32 Firmware von HP, 59 von Dell und 248 von Lenovo die RSB-Stuffing-Patches nicht enthalten, was ein „Versagen in der Firmware-Lieferkette“ unterstreicht.

Darüber hinaus hat die tiefgehende Code-Analyse Fälle aufgedeckt, in denen die Abhilfemaßnahmen zwar in der Firmware vorhanden waren, aber Implementierungsfehler enthielten, die zu eigenen Sicherheitsproblemen führten, selbst in Updates, die 2022 und für Geräte mit der neuesten Hardware-Generation veröffentlicht wurden.

„Das Ökosystem der Firmware-Lieferkette ist sehr komplex und enthält oft wiederkehrende Fehler, wenn es darum geht, neue branchenweite Abhilfemaßnahmen anzuwenden oder Schwachstellen im Referenzcode zu beheben“, so die Forscher. „Selbst wenn eine Abschwächung in der Firmware vorhanden ist, bedeutet das nicht, dass sie korrekt angewendet wird, ohne Sicherheitslücken zu schaffen.