Werbung
Die ursprünglichen Spectre- und Meltdown-Sicherheitslücken waren nur der Anfang einer Reihe ähnlicher Lücken und daraus resultierender Attacken und es war klar, dass Intel dieses Thema noch über Jahre begleiten würde. In einem kleineren Rahmen war auch AMD zumindest von Spectre betroffen.
Die Hauptursache der Lücken ist die fehlende Trennung zwischen Programmcode und den Benutzerdaten, bzw. das vorläufige und temporäre Speichern von Daten in Adressräumen, auf die andere Prozesse eigentlich keinen Zugriff haben sollten, in Folge von spekulativen Zugriffen aber dennoch ein Zugriff möglich ist. Kern-interne Ressourcen wie die Line Fill Buffer, Load Port und Store Buffer sind hier die Hauptangriffsvektoren.
Die spekulativen Speicherzugriffe waren allerdings nur innerhalb eines Kerns möglich. Ein Abschalten von Simultaneous Multithreading (SMT) reduziert die Angriffsfläche erheblich und dennoch arbeiten viele Prozesse auf einem Kern und so waren dennoch Speicherzugriffe möglich. Intel hat verschiedene Soft- und Hardwaremaßnahmen ergriffen, um solche spekulativen Speicherzugriffe zu verhindern – musste dabei aber auch einen Verlust der Leistung hinnehmen.
Ein Team an Sicherheitsforschern hat mit dem Special Register Buffer Data Sampling (SRBDS) nun eine Sicherheitslücke vorgestellt (CVE-2020-0543), die es Angreifern ermöglicht, Daten nicht nur von einem Kern abzurufen, sondern auch von weiteren innerhalb eines Prozessors. Erkannt wurde die Lücke bereits im September 2018, eine erste Umsetzung der Lücke war bereits im Juli 2019 fertig. Man hat sich mit Intel auf ein langes Embargo der Sicherheitslücke verständigt, welches erst jetzt endete. Intel hat inzwischen ebenfalls ein Deep Dive zum Special Register Buffer Data Sampling veröffentlicht und nennt außerdem die betroffenen Prozessoren.
Ein als CrossTalk bezeichneter Profiler untersucht das Verhalten von x86-Instruktionen, die über die Grenzen eines Kerns hinaus operieren. Schnell stellte sich heraus, dass einige Instruktionen Offcore Request ausführen und dabei Daten von einem Staging Buffer lesen, der als Shared Buffer von allen Kernen genutzt wird. Aus diesem wird aus den Kern-exklusiven Line Fill Buffer (LFB) gelesen und geschrieben. Der Staging Buffer enthält daher sensitive Daten wie die Ausgabe des Hardware Digital Random Number Generator (DRNG) und somit lassen sich Attacken wie die MDS-Attacke ausführen. Dies funktioniert auch, wenn die Prozesse in vermeintlich abgesicherten Enklaven der Software Guard Extension (SGX) von Intel arbeiten.
In einem Proof of Concept wird somit die erste "Transient Execution Attack" vorgeführt, die über mehr als einen CPU-Kern hinweg funktioniert. Die Attacke exponiert die Ausgabe der RDRAND- und RDSEED-Instruktionen aus dem Staging Buffer.
Welche Prozessoren sind betroffen?
Betroffen sind nach derzeitigen Erkenntnissen ausschließlich Prozessoren von Intel. Getestet hat man einige Modelle auf Basis von Broadwell, Skylake, Kaby Lake, Coffee Lake und Whiskey Lake. Xeon-Prozessoren auf Basis von Cascade Lake scheinen nicht betroffen zu sein.
Gibt es bereits Patches?
Ja, Intel hat zum 9. Juni eine Mitigation für das SRBDS eingeführt, welche in Form von Microcode-Updates eingepflegt wird. Diese sperrt den kompletten internen Speicherbus zum Staging Buffer und gibt diesen nur für den jeweiligen Kern frei, der gerade damit arbeiten möchte. Dies hat natürlich einen gewissen Einfluss auf die Leistung. Daher beschränkt Intel die Maßnahme auf die Instruktionen RDRAND, RDSEED und EGETKEY. Andere, wie RDMSR, lässt man hingegen offen auf dem Staging Buffer arbeiten, da man einen zu großen Einfluss der Leistung befürchtet. Zahlen zum Verlust an Leistung durch die Mitigation gibt es aktuell noch nicht.
Alle weiteren Details zu CrossTalk gibt es im Whitepaper (PDF).
Datenschutzhinweis für Youtube
An dieser Stelle möchten wir Ihnen ein Youtube-Video zeigen. Ihre Daten zu schützen, liegt uns aber am Herzen: Youtube setzt durch das Einbinden und Abspielen Cookies auf ihrem Rechner, mit welchen Sie eventuell getracked werden können. Wenn Sie dies zulassen möchten, klicken Sie einfach auf den Play-Button. Das Video wird anschließend geladen und danach abgespielt.
Ihr Hardwareluxx-Team
Youtube Videos ab jetzt direkt anzeigen