ClickCease Dachten Sie, Spectre ist Geschichte? Es ist immer noch am Leben - TuxCare

Abonnieren Sie unseren beliebten Newsletter

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

Sie dachten, Spectre sei Geschichte? Es ist immer noch am Leben, und zwar mit voller Wucht

von

12. März 2021. TuxCare PR Team

Sie dachten, Spectre sei Geschichte? Es ist immer noch am Leben, und zwar mit voller Wucht

Cyber-Bedrohungen kommen und gehen, aber manche Bedrohungen hinterlassen aufgrund ihrer Auswirkungen einen bleibenden Eindruck. Denken Sie zum Beispiel an Spectre und das eng damit verbundene Meltdown, zwei der am meisten beachteten Sicherheitslücken der jüngeren Vergangenheit.

Es ist natürlich frustrierend, wenn eine Cyber-Bedrohung sich einfach weigert, zu verschwinden, und noch schlimmer, wenn es sich um eine sehr bekannte Sicherheitslücke handelt. Das ist bei Spectre, einer der gefährlichsten Schwachstellen der letzten Zeit, der Fall. Zwar sind gepatchte Systeme gegen Spectre geschützt, aber die Art der Spectre-Patches und die daraus resultierenden Auswirkungen auf die Leistung bedeuten, dass eine große Anzahl von Systemen nicht gepatcht wurde...

Das macht viele wichtige Systeme anfällig für Spectre. Schlimmer noch, eine neue, öffentlich zugängliche Schwachstelle für Spectre wurde gerade veröffentlicht. Wie sich herausstellt, ist Spectre noch nicht ganz tot. Werfen wir einen Blick darauf.

Inhalt

 

 

Einführung in Spectre

Einführung in Spectre

 

Spectre ist in der Tat eine von drei miteinander verbundenen Sicherheitslücken. Es gibt zwei Versionen von Spectre, während die dritte Sicherheitslücke Meltdown genannt wird. Damals bezeichneten die Sicherheitsforscher diese Schwachstellen als katastrophal. Glücklicherweise wurden schnell geeignete Patches veröffentlicht - aber es gab eine Komplikation.

 

 

Wie funktioniert die Spectre-Schwachstelle?

Wie funktioniert die Spectre-Schwachstelle?

 

Werfen wir zunächst einen Blick darauf, wie Spectre funktioniert. Schwachstellen sind häufig in Software zu finden: Fehler oder Versäumnisse im Anwendungs- oder Betriebssystemcode. Bei den Spectre-Schwachstellen handelt es sich jedoch um Hardware-Schwachstellen, die sich in der Hardware befinden, die in jedem Computer auf der ganzen Welt verwendet wird: der zentralen Verarbeitungseinheit (CPU).

Zum Zeitpunkt ihrer Entdeckung waren die beiden Sicherheitslücken Spectre und Meltdown bei fast allen gängigen CPUs zu finden - von Intel-Chips bis hin zu AMD- und Arm-Prozessoren, wobei der Grad der Anfälligkeit einer CPU vom CPU-Hersteller und der Architektur abhing.

Die Schwachstellen beruhen auf einem Hardware-Fehler in der Konstruktion der Prozessoren und sind im Wesentlichen ein Problem auf Siliziumebene.

Ohne zu sehr ins technische Detail zu gehen, gehen moderne Prozessoren auf komplizierte Weise mit CPU-Befehlen um - sie führen zum Beispiel Befehle außer der Reihe und spekulativ aus. Prozessoren tun dies, um die Befehlsausführung effizienter zu gestalten - mit anderen Worten, um Befehle schneller auszuführen.

Spectre und sein Cousin Meltdown beruhen auf Fehlern in der Art und Weise, wie die Befehlsausführung in modernen Prozessoren gehandhabt wird. Durch Manipulation dieser Schwachstellen kann ein Hacker, der die Sicherheitslücke ausnutzt, beliebigen Speicherplatz lesen und so an sensible Daten gelangen.

 

 

Warum Spectre-Patches Komplikationen verursachten

Warum Spectre-Patches Komplikationen verursachten

 

Spectre ist eine Hardware-Schwachstelle, und CPU-Hersteller wie Intel und AMD haben Patches veröffentlicht, um die Risiken von Spectre zu mindern. Bei dem Patch handelt es sich im Wesentlichen um ein kleines Stück Software, das den Mikrocode der CPU aktualisiert.

Der CPU-Mikrocode umfasst die Liste der dem Prozessor zur Verfügung stehenden Befehle und die Verfahren, die angewandt werden, wenn ein Befehl mehrere Schritte umfasst - was sich auch darauf auswirkt, wie Ausführungseffizienzen wie spekulative und außerplanmäßige Ausführung behandelt werden.

Wenn ein Fehler oder eine Schwachstelle in einer bestimmten CPU-Funktionalität gefunden wird, kann der Hersteller einen Patch mit Mikrocode herausgeben, der entweder die Anweisung deaktiviert, dafür sorgt, dass sie überhaupt keine Funktion hat, oder die Art und Weise ändert, wie die Anweisung intern behandelt wird. Es handelt sich um dieselbe Hardware, aber die CPU wird etwas anders funktionieren.

Bei neueren Versionen häufig verwendeter CPUs wurden Designänderungen vorgenommen, um weniger anfällig für Spectre und Meltdown zu sein, da die Hersteller aus den drei Sicherheitslücken gelernt haben.

Einige Benutzer haben die Patches einfach nicht installiert, wie es bei Patches immer der Fall ist, so dass ihr CPU-Mikrocode nie aktualisiert wurde. Mit den Patches, die zum Schutz der Nutzer vor Spectre und Meltdown veröffentlicht wurden, trat jedoch bald ein größeres Problem auf.

 

 

Leistungsprobleme mit Spectre-CPU-Patches

Leistungsprobleme mit Spectre-CPU Patches

 

Die Änderungen am CPU-Mikrocode, die in den Patches der Hersteller enthalten waren, wirkten sich häufig auf die Leistung der CPUs und damit der Server aus, die diese CPUs verwenden, und zwar in einigen Fällen in einem inakzeptablen Maße.

Da Spectre und Meltdown Schwachstellen in den hochentwickelten Technologien ausnutzen, die CPUs effizienter machen, war es schwierig, Patches zu entwickeln, die diese Effizienz nicht beeinträchtigen. Die Patches von Intel, AMD und anderen Prozessorherstellern, die vor den Schwachstellen schützten, änderten oder schränkten einige dieser Befehlsausführungseffizienzen ein.

Leistungsprobleme traten schnell auf und betrafen alle Betriebssysteme und die meisten CPUs. Diese Auswirkungen waren je nach CPU unterschiedlich, wobei einige Intel-Chips stärker betroffen waren als AMD-Prozessoren. In einer Analyse stellte die Hardwareseite ExtremeTech bei Tests fest, dass Intel-Chips waren fünfmal stärker betroffen als AMD-Chips.

Microsoft hat auch einen Artikel über die Auswirkungen auf die Leistung veröffentlicht, in dem es heißt, dass ältere CPUs stärker betroffen sind als die neueren Generationen - das Unternehmen gibt an, dass einige Nutzer einen spürbaren Leistungsabfall feststellen werden.

 

 

Auch Betriebssystem-Patches beeinträchtigten die Leistung

Auch Betriebssystem-Patches beeinträchtigten die Leistung

 

Der erste Weg zur Abschwächung von Spectre und seinem Cousin führte über einen Patch, der den CPU-Mikrocode aktualisierte. Aber auch die Hersteller von Betriebssystemen haben Patches veröffentlicht, um sich gegen Meltdown und Spectre zu schützen.

Genau wie die CPU-Patches führten auch die im Betriebssystem implementierten Abhilfemaßnahmen zu Leistungsproblemen. Beim Betriebssystem wurde die Abschwächung dadurch erreicht, dass die Art und Weise geändert wurde, wie das Betriebssystem und im weiteren Sinne auch die Benutzersoftware, die auf dem Betriebssystem läuft, ihren Code in Maschinenbefehle umsetzt. Mit anderen Worten, welche CPU-Befehle sie zur Ausführung ihrer Funktionen verwendet.

Ende 2018 wurde beispielsweise bekannt, dass eine Abschwächung, die auf eine Version des Linux-Kernels angewendet wurde, bei einigen Arbeitslasten einen Leistungsabfall von bis zu 50 % verursachte. In diesem Fall handelte es sich um eine Abschwächung namens Single Thread Indirect Branch Predictors (STIBP), und Die Leistungseinbußen waren so gravierend, dass Linus Torvalds selbst intervenierte.

 

 

Das Ergebnis: verzögertes Patching

Das Ergebnis: verzögertes Patching

 

Die weithin veröffentlichten Auswirkungen der Spectre-Patches auf die Leistung wurden schnell zu einem Hindernis für ein breites, konsistentes Patching - ein Hindernis, das über die Probleme hinausgeht, die Unternehmen mit dem konsistenten Patching ihrer Rechner haben, selbst wenn keine Leistungseinbußen zu erwarten sind.

In Fällen, in denen die Arbeitslasten ein bestimmtes Leistungsniveau erforderten, und sogar in Fällen, in denen die Effizienz das einzige Anliegen war, entschieden sich die Systemadministratoren manchmal dafür, keine Patches zu installieren, falls die Patches ernsthafte Leistungs- und damit Zuverlässigkeitsprobleme verursachen würden.

Obwohl Spectre und Meltdown bekannte Sicherheitslücken sind, wurden viele Systeme in freier Wildbahn nie gepatcht, weil die Benutzer über Leistungsprobleme besorgt waren. Dies ist eine relativ einzigartige Situation, da Systemadministratoren in den meisten Fällen so effektiv wie praktisch möglich patchen würden, um sich vor Sicherheitsrisiken zu schützen.

Trotz der Probleme mit dem Patching gab es einen relativ positiven Aspekt der Spectre-Schwachstellen: Seit der Entdeckung wurde kein öffentlich verfügbarer Exploit für Spectre veröffentlicht. Bis jetzt.

 

 

Was ist VirusTotal DB?

Was ist VirusTotal DB?

 

Die Zugänglichkeit eines öffentlichen, veröffentlichten Exploits für eine Schwachstelle kann eine Schwachstelle weitaus gefährlicher machen, als sie zuvor war. Im Fall von Spectre ist nun leider die erste öffentlich zugängliche Sicherheitslücke aufgetaucht. Sie wurde kürzlich auf einer Website namens VirusTotal DB veröffentlicht. Werfen wir zunächst einen Blick auf VirusTotal DB und seine Verwendung.

VirusTotal wurde ursprünglich in Spanien entwickelt, steht aber jetzt unter der Schirmherrschaft von Alphabet, der Muttergesellschaft von Google. Es handelt sich im Wesentlichen um einen Aggregator, der verschiedene Online-Scan-Engines und Antiviren-Produkte zusammenführt. Benutzer können Dateien zur Überprüfung hochladen - auch um Falschmeldungen zu vermeiden.

Die Website stützt sich auf eine Reihe von Beiträgen, von Antivirenprogrammen und Website-Scannern bis hin zu Benutzerbeiträgen. Und in einem dieser Beiträge wurde eine funktionierende Sicherheitslücke für Spectre entdeckt.

 

 

Die Entdeckung des Codes

Die Entdeckung des Codes

 

Im Februar 2021 entdeckte ein Analyst, dass ein Benutzer beim Hinzufügen eines Beitrags zu VirusTotal gleichzeitig einen funktionierenden Exploit für Spectre hochlud, der auf ungepatchten Systemen unter Linux verwendet werden kann.

Der Code war Teil eines Tools namens Immunity Canvas. Die Anwendung führt automatische Penetrationstests durch. Das heißt, sie testet Systeme auf Anfälligkeiten für mehrere Sicherheitslücken. Das Unternehmen hatte ein funktionierendes Tool entwickelt, um auf diesen speziellen Spectre-Exploit zu testen.

Bei der Bereitstellung ihres Codes an VirusTotal hat Immunity Canvas jedoch auch den Exploit-Code bereitgestellt. Schließlich kann der Testcode außerhalb des ursprünglichen Penetrationstest-Tools verwendet und mit den entsprechenden Modifikationen unabhängig davon eingesetzt werden.

Der Code ist nicht sofort nutzbar: Derjenige, der ihn nutzen will, muss motiviert genug sein, den Code zu einem funktionierenden Exploit zu manipulieren. Allerdings enthält der VirusTotal-Beitrag genügend Code, damit ein entschlossener Akteur einen funktionierenden Spectre-Exploit erstellen kann.

 

Wie sich die öffentliche Spectre-Sicherheitslücke auf die IT-Welt auswirkt

Wie sich die öffentliche Spectre-Sicherheitslücke auf die IT-Welt auswirkt

 

Theoretisch würde in einer Welt, in der Patches konsequent angewendet werden, die jetzt veröffentlichte Sicherheitslücke für Spectre keine Gefahr darstellen. Wie wir bereits in diesem Artikel erläutert haben, liegt das Problem natürlich darin, dass der Leistungseinbruch, der durch einige Spectre-Patches verursacht wird, dazu führt, dass sich einige Benutzer dafür entschieden haben, ihre Systeme nicht gegen Spectre zu patchen.

Diese Leistungseinbußen können hoch sein. Es ist verständlich, dass einige Unternehmen zu dem Schluss kommen, dass die Leistungseinbußen viel schlimmer sind als das Risiko oder die Auswirkungen einer Sicherheitsverletzung, da die Leistungseinbußen nur durch eine erhebliche Erweiterung der Hardware kompensiert werden können.

Mit diesem öffentlichen Exploit hat sich diese Berechnung geändert - das Risiko eines Angriffs ist viel höher, da der Exploit-Code nun in freier Wildbahn verfügbar ist. Vor allem befinden sich die für Spectre anfälligen Systeme in der Regel noch innerhalb ihres typischen Lebenszyklus.

Es gibt noch eine weitere Möglichkeit, die Nutzer von Systemen, die nicht gegen Spectre gepatcht sind, beunruhigen sollte. Die Sicherheitslücken von Spectre und Meltdown sind alle eng miteinander verbunden. Jetzt, da für eine Schwachstelle ein Exploit veröffentlicht wurde, gibt es einen funktionierenden Pfad, um die anderen Schwachstellen auszunutzen - und ein entschlossener Angreifer könnte diese Gelegenheit durchaus nutzen.

Dies führt zu einem perfekten Sturm aus einer öffentlich sichtbaren Schwachstelle und einer beträchtlichen Anzahl ungepatchter Systeme. Sysadmins und Unternehmen, die sich aus Leistungsgründen von den Abhilfemaßnahmen fernhalten wollten, müssen diese nun überdenken und anwenden.

Sollten sie sich weiterhin weigern, müssen sie sich darüber im Klaren sein, dass sie Angriffe und Verstöße riskieren, die schnell zu sehr hohen Kosten führen können.

 

 

Schutz vor der öffentlichen Spectre-Schwachstelle

Schutz vor der öffentlichen Spectre-Schwachstelle

 

Spectre ist eine drei Jahre alte, weithin bekannte und veröffentlichte Sicherheitslücke, für die seit Jahren Abhilfemaßnahmen verfügbar sind. Nur wenige Systeme sollten ungeschützt bleiben. Die Abhilfemaßnahmen hatten jedoch nicht unerhebliche Auswirkungen auf die Leistung der Systeme, auf denen sie eingesetzt werden, und daher haben Systemadministratoren gezögert, sie anzuwenden.

Ein öffentlich verfügbares Spectre-Exploit ist einfach keine gute Nachricht, aber es sollte nicht schwer sein, sich dagegen zu schützen. Es wurden bereits Patches für Hardware veröffentlicht, und auch die Hersteller von Betriebssystemen haben wirksame Patches herausgegeben. Dieser öffentliche Exploit wird auf einem gepatchten System nicht funktionieren.

Wenn Systeme noch nicht gepatcht wurden, müssen die Nutzer jetzt Maßnahmen ergreifen, um sich gegen Spectre und Meltdown zu schützen - auch wenn dies möglicherweise zu Leistungseinbußen führt. So einfach ist es wirklich.

Jetzt, da ein Spectre-Exploit öffentlich verfügbar ist, ist die Zeit zum Handeln gekommen - Sysadmins müssen anfällige Systeme gegen Spectre patchen, und zwar sofort - auch wenn dies Auswirkungen auf die Leistung hat. Wenn das Patchen eine Herausforderung ist, können Sysadmins auf Tools wie KernelCare, um Patches im laufenden Betrieb zu erstellen - ohne kritische Systeme neu starten zu müssen.

 

 

Möchten Sie das Patchen von Sicherheitslücken ohne Kernel-Neustart, Systemausfallzeiten oder geplante Wartungsfenster automatisieren?

Werden Sie ein TuxCare-Gastautor

E-Mail

Helfen Sie uns,
die Linux-Landschaft zu verstehen!

Füllen Sie unsere Umfrage zum Stand von Open Source aus und gewinnen Sie einen von mehreren Preisen, wobei der Hauptpreis mit 500 $ dotiert ist!

Ihr Fachwissen ist gefragt, um die Zukunft von Enterprise Linux zu gestalten!