Spectre, noch einmal. Weil wir wissen, dass Sie es vermisst haben...
Spectre und sein Cousin Meltdown sind seit 2018 bekannt und man sollte meinen, dass wir schon alles über diese Schwachstellen gehört haben, was es zu hören gibt. Aber hier sind wir nun, mit einem weiteren Beitrag über Spectre.
Warum taucht Spectre immer wieder auf? Das Problem bei Spectre ist, dass die Schwachstelle im Grunde so breit gefächert ist, dass es sich um eine Kategorie von Schwachstellen handelt und nicht nur um eine einzige Schwachstelle.
Es tauchen immer wieder neue Versionen von Spectre auf - wir haben Anfang 2021 berichtet, wie neuer Spectre-Exploit-Code in einem öffentlichen Repository auftauchtesowie auf zwei CVEs, die aufgrund dieses Codes protokolliert wurden die auf diesen Code zurückzuführen sind.
Und so befassen wir uns in diesem Artikel mit einer weiteren neuen Variante von Spectre. Wir erklären Ihnen, wie sie funktioniert, einschließlich der Debatte um Intels bisherige Reaktion. Außerdem gehen wir auf die wichtigsten Punkte ein, die Sie beim Schutz Ihres Betriebs vor Spectre im Allgemeinen und vor der neuesten Variante beachten müssen.
Inhalt:
1. Spectre und Meltdown - eine Auffrischung
2. Wie funktioniert Spectre?
3. Was ist die Geschichte hinter der neuesten Spectre-Variante?
4. ...und wer soll es in Ordnung bringen?
5. Intel sagt, es liege nicht an ihnen
6. Ist es nur eine Frage der richtigen Codierung?
7. Wie Sie Ihre Arbeitslast vor Spectre schützen können
Spectre und Meltdown - eine Auffrischung
Die heutigen Prozessoren stützen sich auf komplexe Effizienzalgorithmen zur Verbesserung der Prozessorleistung. Einer dieser Algorithmen ist die spekulative Ausführung.
Vereinfacht ausgedrückt bedeutet spekulative Ausführung, dass ein Prozessor Arbeiten ausführt, von denen er glaubt, dass sie für eine Anwendung erforderlich sind - ohne sicher zu wissen, ob diese Arbeiten benötigt werden. Wenn sich herausstellt, dass die Arbeit benötigt wird, sind die Ergebnisse schneller verfügbar, was die Anwendung beschleunigt. Wenn nicht, werden die Ergebnisse einfach verworfen.
In der Tat ist die spekulative Ausführung ein wesentliches Element moderner Prozessoren. Doch wie sich herausstellt, hat die spekulative Ausführung unbeabsichtigte Folgen, und genau hier kommt Spectre ins Spiel. Im Jahr 2018 wurde eine Methode bekannt, mit der böswillige Akteure die spekulative Ausführung missbrauchen können, was in der Tech-Community schnell große Besorgnis auslöste.
WIE FUNKTIONIERT SPECTRE?
Wir werden nicht im Detail darauf eingehen, wie Spectre funktioniert, dieser TechRepublic-Leitfaden ist ein guter Anfang. Außerdem funktioniert jeder Spectre-Exploit anders. Im Großen und Ganzen manipulieren Spectre und verwandte Exploits jedoch Prozessoren, um Zugriff auf die "verworfenen" Daten der spekulativen Ausführung zu erhalten, was bedeutet, dass ein böswilliger Akteur indirekt Zugriff auf nicht autorisierte Daten erhalten kann.
Ein "positiver" Aspekt von Spectre ist, dass es recht schwierig ist, einen Spectre-Exploit zu entwickeln - es ist schwer, einen Angriff mit spekulativer Ausführung zu entwerfen, um etwas Bestimmtes zu stehlen. Nichtsdestotrotz können Hacker Spectre-bezogene Schwachstellen ausnutzen, um Daten abzuschöpfen, die sich als nützlich erweisen können oder auch nicht.
Ein besorgniserregender Aspekt von Spectre ist jedoch, dass auch verschlüsselte Daten für einen Spectre-Angriff anfällig sind, da diese Daten in ihrem unverschlüsselten Zustand erfasst werden können, während sie vom Prozessor verarbeitet werden.
Als mehr über Meltdown und Spectre bekannt wurde, wurden verschiedene Patches veröffentlicht, um die den Sicherheitsexperten bekannten Schwachstellen zu entschärfen - auch wenn kein einziger Patch alle Spectre-bezogenen Schwachstellen vollständig entschärfen konnte. Dies liegt wiederum daran, dass Spectre im Wesentlichen auf einem Nachteil der spekulativen Ausführung beruht und nicht auf einem Fehler als solchem.
WELCHE GESCHICHTE STECKT HINTER DER NEUESTEN SPECTRE-VARIANTE ...?
Unnötig zu erwähnen, dass eine weitere Spectre-Schwachstelle aufgetaucht ist - dieses Mal im Mai 2021. Sie können den vollständigen Bericht von Ars Technica hier lesenlesen, aber lassen Sie uns dennoch einen Blick auf einige der wichtigsten Punkte werfen. Zunächst einmal: Ja, es handelt sich um eine weitere neue Sicherheitslücke für spekulative Ausführung. Es beweist, dass die von der Tech-Community im Jahr 2018 geäußerten Bedenken berechtigt waren - Spectre ist eine Bedrohung mit offenem Ausgang, die nicht so schnell verschwinden wird.
Diesmal haben Forscher der University of Virginia einen neuen Ausführungsangriff gefunden, der alle bisher von Intel und AMD veröffentlichten Abhilfemaßnahmen umgeht. Der Angriff zielt auf einen Puffer auf der CPU ab, der als Cache für "Micro-ops" dient - vereinfachte Befehle, die von den komplexeren Anweisungen abgeleitet sind. Auch hier wird die Funktion der Mikro-OPs im Interesse der Effizienz genutzt, damit Programme schneller ausgeführt werden können.
In dem Papier beschreibt das Team, wie ein Angreifer den Mikro-OPs-Cache für einen "Seitenkanal"-Angriff nutzen kann, d. h. als Möglichkeit, Beobachtungen über die in einem Computersystem gespeicherten Daten zu machen. Indem er das Verhalten der CPU genau beobachtet, kann der Angreifer Rückschlüsse auf Daten ziehen, die sonst nicht zu sehen wären.
Auch hier handelt es sich um einen relativ kompliziert zu konstruierenden Exploit - aber das Problem existiert trotzdem und fügt dem bisherigen Spectre-Drama eine neue Dimension hinzu.
...UND WER SOLL ES REPARIEREN?
Die neue Spectre-Schwachstelle betrifft Prozessoren von Intel und AMD, da beide von einem ähnlichen Prozessor-Befehlssatz abhängen. Bislang hat AMD noch nicht auf die neue Sicherheitslücke reagiert. Die Reaktion von Intel wurde jedoch mit Interesse zur Kenntnis genommen.
Frühere Spectre-Schwachstellen wurden durch eine Mischung aus Hardware-Patches von Intel und AMD sowie Betriebssystem-Patches entschärft. Auch hier gibt es keinen einzelnen Patch, der alle Spectre-bezogenen Schwachstellen beseitigen kann, aber einzelne Schwachstellen können durch Patches verwaltet werden - sowohl auf Hardware-Ebene als auch in der Software.
Die neueste Spectre-Variante durchbricht jedoch all diese Schutzmechanismen. Natürlich fragen wir uns, wann ein neuer Patch verfügbar sein wird, um Spectre zu beheben.
INTEL SAGT, ES LIEGT NICHT AN IHNEN
Diesmal, so berichten mehrere Quellen, darunter Ars Technica und Threatpostberichtet wird, deutet Intel an, dass kein Patch für die neueste Spectre-Sicherheitslücke veröffentlicht werden wird. Laut dem Unternehmen reichen gute Praktiken bei der Softwareentwicklung aus, um sicherzustellen, dass die neueste Spectre-Schwachstelle kein Risiko darstellt.
Das Unternehmen erklärte gegenüber Threatpost:
"Intel hat den Bericht geprüft und die Forscher darüber informiert, dass die bestehenden Schutzmaßnahmen nicht umgangen werden und dass dieses Szenario in unseren Richtlinien für sichere Kodierung behandelt wird. Software, die unseren Richtlinien folgt, verfügt bereits über Schutzmaßnahmen gegen zufällige Kanäle, einschließlich des zufälligen Kanals des uop-Cache. Es sind keine neuen Abhilfemaßnahmen oder Anleitungen erforderlich."
Natürlich wird niemand gegen eine gute Kodierungspraxis argumentieren - sichere Kodierung kann die Auswirkungen vieler Schwachstellen einschränken oder negieren und führt zu sicherer Software, Punktum. Einer der zentralen Punkte in der Intel-Leitlinie für sichere Programmierung ist die Verwendung der Konstantzeitprogrammierung, eine Technik, die für Programmierer eine Herausforderung darstellt und gleichzeitig die Leistung beeinträchtigt.
IST ES NUR EINE FRAGE DER RICHTIGEN CODIERUNG?
Der Proof-of-Concept-Code in dem Forschungspapier hält sich nicht an die von Intel vorgeschlagenen Programmierprinzipien, und Intel behauptet daher, dass es sich nicht um eine neue Schwachstelle handelt, sondern um ein Problem, das durch einfaches korrektes Programmieren vermieden werden kann. Ein Sicherheitsforscher stimmte dem zu und wies darauf hin, dass das Papier auf eine weitere Verbesserung der Programmierpraktiken hindeutet - auch wenn dies mit Leistungseinbußen verbunden ist.
Daraufhin antworteten die Autoren des Papiers, dass die Schwachstelle in der CPU liegt und daher ein Microcode-Patch erforderlich ist - was Intel in der Vergangenheit zur Abschwächung von Spectre-Bedrohungen bereitgestellt hat.
Das Team sagt auch, dass zu viel Software im alltäglichen Gebrauch keine konstante Zeitprogrammierung anwendet und dass sie nicht erwarten, dass sich dies in naher Zukunft ändern wird. Die Autoren des Papiers wiesen insbesondere darauf hin, dass konstante Zeitprogrammierung wegen des damit verbundenen Overheads in der Regel nur innerhalb spezieller Sicherheitsroutinen in einer Anwendung verwendet wird.
Die Debatte geht weiter, und zumindest im Moment lässt das Fehlen eines Patches Angreifern die Möglichkeit, diese Spectre-Schwachstelle auszunutzen - auch wenn bisher noch keine Exploits bekannt geworden sind.
WIE SIE IHR ARBEITSVOLUMEN VOR SPECTRE SCHÜTZEN KÖNNEN
Eines der frustrierenden Probleme mit Spectre-Abschwächungen waren immer die Auswirkungen auf die Leistung, da Spectre-Patches Tools zur Prozessoreffizienz, wie z. B. die spekulative Ausführung, ändern, um die Möglichkeiten für einen Exploit zu begrenzen.
Dieser aktuelle Artikel aus The Register beschreibt die Kompromisse, die bei der Behebung von Spectre-Schwachstellen eingegangen werden müssen. Dabei wird auch ein entscheidender Punkt angesprochen: Obwohl Spectre-Schwachstellen sehr ernst zu nehmen sind, gibt es in der Praxis nur relativ wenige Fälle, in denen ein Spectre-Exploit einen erfolgreichen Hack ausgelöst hat. Das spiegelt wider, was wir weiter oben in diesem Artikel gesagt haben - es ist schwierig, einen Angriff zu entwickeln, der auf den Schwächen der spekulativen Ausführung basiert.
Das bedeutet jedoch nicht, dass Ihr Unternehmen sich zurücklehnen und Spectre und die wachsende Zahl von Sicherheitslücken ignorieren kann. Einige Spectre-Patches haben größere Auswirkungen auf die Leistung als andere. Informieren Sie sich und finden Sie ein Gleichgewicht zwischen dem Patchen gegen Spectre und der Aufrechterhaltung der Leistung.
Wie wir bereits erläutert haben, gibt es keinen Patch für die neueste Spectre-Schwachstelle. Abhängig von Ihrer Arbeitslast und davon, ob Sie den Code, der Ihre Arbeitslast steuert, ändern können, sollten Sie die von Intel vorgeschlagene Best Practice befolgen, um Ihre Arbeitslast vor Angriffen zu schützen, die von den in diesem Dokument beschriebenen Techniken abgeleitet sind.
Die meisten Benutzer werden jedoch nicht in der Lage sein, dies zu tun. Am besten ist es, wenn Sie sicherstellen, dass Sie alle Patches ausrollen, sobald diese veröffentlicht werden. automatisiertes Live-Patching kann Ihnen dabei helfen.
In der Zwischenzeit sollten Sie die Bedrohungslandschaft und unseren Blog im Auge behalten. Wahrscheinlich ist dies nicht das letzte Mal, dass wir über Spectre schreiben werden.