Spekulative Berechnungen öffnen eine Hintertür zum Informationsklau
ETH-Forschende haben eine schwerwiegende Sicherheitsl¨¹cke in der Computer-Hardware entdeckt. Die ?Retbleed? genannte Schwachstelle betrifft Mikroprozessoren der Marktf¨¹hrer Intel und AMD. Betroffen sind weltweit alle kommerziell erh?ltlichen Betriebssysteme, die diese Prozessoren verwenden. Wenn Computer spezielle Rechenschritte ausf¨¹hren, um schneller zu rechnen, gibt es Spuren, die Hacker missbrauchen k?nnten.
Manchmal blutet ein Computer aus seinem Herzen und gibt tr?pfchenweise private Informationen preis. Das trifft auf die heute ?ffentlich gemachte Hardware-Sicherheitsl¨¹cke ?Retbleed? zu: Diese Sicherheitsl¨¹cke entsteht in den Mikroprozessoren, welche die Anweisungen eines Computerprogramms ausf¨¹hren und die entsprechenden Berechnungen durchf¨¹hren.
Zum Teil f¨¹hren die Prozessoren ¨C namentlich die zentralen Recheneinheiten (engl. ?central processing units?, CPU) ¨C auch spezielle Rechenschritte aus, die die Rechenzeit verk¨¹rzen und den Rechenvorgang insgesamt beschleunigen. Dabei hinterlassen sie Spuren im Speicher, die Hacker ausnutzen k?nnten, um unbefugt Zugriff auf beliebige Informationen im System zu erhalten ¨C zum Beispiel k?nnten sie Verschl¨¹sselungscodes oder sicherheitsrelevante Passw?rter entwenden. Dies ist besonders riskant in Cloud-Umgebungen, in denen mehrere Unternehmen gemeinsam Computersysteme nutzen. Das Nationale Zentrum f¨¹r Cybersicherheit in Bern erachtet die Schwachstelle als schwerwiegend, da die betroffenen Prozessoren weltweit im Einsatz sind. Jedoch haben die Hersteller bereits erste Massnahmen ergriffen, um die Sicherheitsl¨¹cke zu schliessen.
Entdeckt haben die Sicherheitsl¨¹cke der Doktorand Johannes Wikner und Kaveh Razavi, ETH-Professor f¨¹r Computersicherheit. Der Name ?Retbleed? bezieht sich auf eine bestimmte Art von Programmanweisungen, die sogenannten Returns. Ein Computerprogramm besteht aus Folgen von Anweisungen oder Befehlen (engl. ?instruction? oder ?command?), die in Funktionen organisiert sind, mit denen die Prozessoren die jeweils erw¨¹nschten Berechnungen durchf¨¹hren. Nachdem eine Funktion ausgef¨¹hrt wurde, veranlasst ein Return-Befehl den Prozessor, zu dem Punkt im Computerprogramm zur¨¹ckzukehren (engl. ?to return?), der unmittelbar auf den urspr¨¹nglichen Befehl folgt, der die Funktion verwendet hat.
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 ¨C also einen Rechenschritt nach dem anderen.
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 Hacker:innen 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.
Ungesch¨¹tzte Return-Befehle
Mithilfe solcher Spekulationen wird der Fluss der Befehlskette verbessert und die Rechenleistung der Prozessoren erh?ht. Falls die spekulative Berechnungen nicht ben?tigt werden, werden sie r¨¹ckg?ngig gemacht. Auch diese Spekulationen hinterlassen Spuren im Cache-Speicher, die eine Hintert¨¹r f¨¹r Hacker:innen ?ffnen. Diese Sicherheitsl¨¹cke wurde ebenfalls im Januar 2018 unter dem Namen ?Spectre? ?ffentlich gemacht und betrifft die Prozessoren der Hersteller Intel und AMD. Seither haben Intel und AMD sowie grosse Software-Hersteller wie Microsoft Vorkehrungsmassnahmen ergriffen. Die Schwachstellen der spekulativen Berechnungen sind jedoch bis heute weder abschliessend erforscht noch behoben.
?Wir haben gezeigt, dass bei spekulative Berechnungen besonders viele Return-?Anweisungen ungesch¨¹tzt sind und missbraucht werden k?nnen.?Johannes Wikner
Wie Razavi und Wikner nun herausgefunden haben, gibt es tats?chlich ein bisher nicht behobenes Sicherheitsproblem: ?Wir haben gezeigt, dass bei spekulative Berechnungen besonders viele Return-Anweisungen ungesch¨¹tzt sind und missbraucht werden k?nnen?, sagt Johannes Wikner. Im Prinzip funktioniert ?Retbleed? wie die Variante 2 von ?Spectre? und betrifft die Mikroprozessoren von Intel und AMD. ?Da die bisher getroffenen Vorkehrungsmassnahmen die Return-Anweisungen nicht ber¨¹cksichtigten, sind die meisten bestehenden Mikroprozessoren und Computersysteme f¨¹r ?Retbleed? anf?llig?, erg?nzt Razavi. ?Es braucht jedoch einiges an Computerfachwissen, um sich den Speicherzugriff zu verschaffen und Information zu stehlen?, sagt Wikner.
L?sungsansatz f¨¹r Vorkehrungsmassnahmen
Im Februar haben Razavi und Wikner den Nachweis erbracht (engl. ?Proof of Concept?), dass ?Retbleed? ein ernsthaftes Problem darstellt. Inzwischen sind ihre Ergebnisse sie einem Fachartikel ver?ffentlicht, der als externe SeiteKonferenzbeitrag der USENIX Security 2022 akzeptiert worden ist. In diesem Artikel haben Wikner und Razavi den ersten Ansatz von Intel und AMD zur L?sung dieses Problems untersucht.
Dieser Ansatz setzt dabei an, dass die Befehle, wenn der Mikroprozessor an einer Verzweigung spekuliert, manchmal falsch ausgef¨¹hrt werden. Dann f¨¹hrt die Berechnung nicht zum richtigen Ziel und er?ffnet ein Leck, durch das Hacker:innen Zugriff zu den Informationen im Speicher erhalten. Derzeit besteht die L?sung darin, zu verhindern, dass Hacker:innen die Entscheidung der Mikroprozessoren f¨¹r Ziele der Return-Befehle beeinflussen. Leider geht dies mit einem erheblichen Leistungsverlust einher, der Computer um 12 bis 28 Prozent langsamer macht.
Wie in solchen F?llen ¨¹blich, haben die Sicherheitsforschenden zuerst die betroffenen Hersteller AMD und Intel informiert, bevor die Sicherheitsl¨¹cke ver?ffentlicht wird. Da die konkreten Sicherheitsrisiken auch von der unternehmensspezifischen Prozessorarchitektur abh?ngen, ben?tigen die Hersteller Zeit, um vertiefte Vorkehrungen zu ergreifen. Seither haben unter anderem Microsoft, Oracle, Google, Linux, Intel, AMD, ARM an Schutzmassnahmen gearbeitet, bevor ?Retbleed? heute ?ffentlich bekannt gemacht wurde. Ein Intel-Mikroprozessor, der 3 bis 6 Jahre alt ist, oder ein AMD-Prozessor, der 1 bis 11 Jahre alt ist, ist aller Wahrscheinlichkeit nach betroffen.
CVE-Identifikationsnummer f¨¹r Retbleed
Das Nationale Zentrum f¨¹r Cybersicherheit (NCSC) in Bern hat heute f¨¹r die Sicherheitsl¨¹cke ¡°Retbleed¡± in Zusammenarbeit und in Absprache mit den Forschenden der ETH Z¨¹rich die CVE-Nummern CVE-2022-29900 (f¨¹r Prozessoren des Herstellers AMD) und CVE-2022-29901 (f¨¹r Prozessoren des Herstellers Intel) vergeben. Die Zuordnung einer CVE (Common Vulnerabilities and Exposure) erm?glicht eine weltweit eindeutige Identifizierung von Schwachstellen. Seit September 2021 ist das NCSC als die Schweizer Zulassungsbeh?rde anerkannt, die CVE-?Nummern vergibt.
Weitere Informationen finden Sie in dem Bericht auf der NSCS-?Website unter der Rubrik ?externe SeiteEingegangene Meldungen?.
Literaturhinweis
Wikner, J; Razavi, K. RETBLEED: Arbitrary Speculative Code Execution with Return Instructions. Paper accepted at the 31st USENIX Security Symposium, August 10¨C12, 2022, at the Boston Marriott Copley Place in Boston, MA, USA.
Wikner und Razavi werden ihre Ergebnisse auf der externe SeiteUSENIX Security '22 am 12. August 2022, 13.30-2.30 Uhr, vorstellen.
Die wissenschaftliche Publikation steht auf der Retbleed-Projektwebseite der ETH Zurich Computer Security Group zum Download bereit. F¨¹r Spezialist:innen gibt es auch ein externe SeiteVideo zu Retbleed.