
Forschung und praktischer PoC zu Spectre-Variante 2 (CVE-2017-5715), einer Hardware-Seitenkanal-Schwachstelle, die die spekulative Ausführung und Branch-Vorhersage der CPU ausnutzt. Beinhaltet Laboraufbau, Identifizierung der Schwachstelle, Exploit-Durchführung, Cache-Timing-Analyse, Demovideo und Abwehrstrategien.
Eine ausführliche Forschungsarbeit und ein praktischer Proof-of-Concept (PoC), der Angriffe auf die spekulative Ausführung moderner CPUs untersucht.
Dieses Projekt ist eine forschungs- und laborbasierte Untersuchung von Spectre Variante 2 (CVE-2017-5715), auch bekannt als Branch Target Injection — eine Hardware-Seitenkanal-Sicherheitslücke, die CPUs betrifft, die spekulative Ausführung und Sprungvorhersage implementieren.
Das Ziel dieses Projekts war:
⚠️ Haftungsausschluss: Diese Arbeit wurde ausschließlich in einer kontrollierten, isolierten virtuellen Maschine zu akademischen und Bildungszwecken durchgeführt. Sie zielt nicht auf Produktionssysteme ab und beeinträchtigt diese nicht; es wurde kein proprietärer Exploit-Code erstellt – das öffentlich verfügbare Repository SpectrePoC wurde zu Demonstrationszwecken verwendet.
CVE-2017-5715 ist eine Mikroprozessor-Sicherheitslücke, die es einem Angreifer ermöglicht, den Sprungvorhersager einer CPU auszutricksen, sodass dieser Anweisungen entlang eines falschen ("spekulativen") Pfades ausführt. Während die CPU die Ergebnisse dieser Fehlvorhersage korrekt verwirft, gelingt es ihr nicht, die Nebeneffekte vollständig zu löschen — insbesondere Änderungen am CPU-Cache-Zustand. Diese verbleibenden Cache-Änderungen können mittels Zeitanalyse gemessen werden, sodass ein Angreifer geheime Daten ableiten kann, die niemals hätten zugänglich sein dürfen.
Im Gegensatz zu traditionellen Softwarefehlern nutzt Spectre das Hardware-Design moderner CPUs aus, was eine vollständige Behebung extrem schwierig macht und eine Kombination aus Mikrocode-, Betriebssystem- und Compiler-Abwehrmaßnahmen erfordert.
| Komponente | Details |
|---|---|
| Betriebssystem | Ubuntu 14.04 LTS |
| Kernel-Version | 4.4.0-148-generic |
| CPU | 12th Gen Intel® Core™ i5-12450H |
| Virtualisierung | VMware Workstation |
| PoC-Repository | crozone/SpectrePoC |
sudo apt update
sudo apt install git
git clone https://github.com/crozone/SpectrePoC
cd SpectrePoC
make
Linux gibt den Status von CPU-Sicherheitslücken/Abwehrmaßnahmen direkt über sysfs aus:
grep . /sys/devices/system/cpu/vulnerabilities/*
Dies bestätigte, dass die Test-CPU anfällig für spectre_v2 war, während andere verwandte Sicherheitslücken (Meltdown, L1TF, MDS) entweder abgemildert oder nicht betroffen waren.
./spectre.out
Das Tool meldet wiederholt Success-Ergebnisse zusammen mit einem Konfidenz-"Score", der aus Cache-Timing-Unterschieden abgeleitet wird – jeder erfolgreiche Lesevorgang repräsentiert ein durchgesickertes Byte eines ansonsten unzugänglichen Speichers, das vollständig über den spekulativen Seitenkanal rekonstruiert wurde.
Eine aufgezeichnete Durchführung des gesamten PoC — von der Einrichtung der Umgebung bis zur erfolgreichen Datenexfiltration — ist in diesem Repository enthalten, um den Angriff visuell zu validieren.
📁 Aktualisieren Sie den obigen Pfad, sobald die Videodatei zu Ihrem Repository hinzugefügt wurde (z. B. in einem
demo/- odermedia/-Ordner ablegen und den Link entsprechend anpassen).
Indirect Branch Restricted Speculation (IBRS) und ähnliche Abwehrmaßnahmen reduzieren das Überschreiten von Grenzen..
├── README.md
├── Research_Paper_-_CVE-2017-5715_Spectre_by_Shivam_Bhatt.pdf
└── demo/
└── spectre-poc-demo.mp4
Shivam Bhatt
Postgraduales Diplom in Cybersicherheit (mit Auszeichnung) — NAIT
🔗 Gerne auf LinkedIn vernetzen oder für Zusammenarbeit in der Cybersicherheitsforschung kontaktieren.
⭐ Wenn Sie diese Forschung nützlich fanden, erwägen Sie, das Repository zu markieren!