Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
spectre-attack-demo — Beispiel für die Nutzung des aufgedeckten "Spectre"-Exploits (CVE-2017-5753 und CVE-2017-5715) | Kitploit
Tools/GitHubGitHub/pedrolucasoliva/spectre-attack-demo
SchwachstellenanalyseExploitationKryptographieHardware-SicherheitLernen & BildungBinary-Exploitation
GitHubpedrolucasoliva/spectre-attack-demo

spectre-attack-demo

Beispiel für die Nutzung des aufgedeckten "Spectre"-Exploits (CVE-2017-5753 und CVE-2017-5715)

Repository anzeigen
111vor 8 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Beispiel für einen Spectre-Angriff

Beispiel für die Nutzung des aufgedeckten "Spectre"-Exploits vom 2. Januar 2018 (CVE-2017-5753 und CVE-2017-5715)

Spectre durchbricht die Isolierung zwischen verschiedenen Anwendungen. Es erlaubt einem Angreifer, fehlerfreie Programme, die Best Practices befolgen, dazu zu bringen, ihre Geheimnisse preiszugeben. Tatsächlich erhöhen die Sicherheitsüberprüfungen dieser Best Practices die Angriffsfläche und können Anwendungen anfälliger für Spectre machen.

  • Spectre paper - Spectre-Papier und Quellcode

Sprache

C, verwendet Bibliotheken:

  • stdio.h
  • stdlib.h
  • stdint.h
  • intrin.h - für rdtscp und clflush

Was macht das Beispiel?

Wir legen den Text "The Magic Words are Squeamish Ossifrage." im Speicher ab und versuchen dann, ihn mit dem Exploit auszulesen. Wenn das System anfällig ist, sehen Sie denselben Text in der Ausgabe, aus dem Speicher gelesen.


In diesem Code, wenn die kompilierten Anweisungen in victim_function() in strikter Programmreihenfolge ausgeführt würden, würde die Funktion nur aus array1[0..15] lesen, da array1 Größe = 16. Bei spekulativer Ausführung sind jedoch Lesevorgänge außerhalb der Grenzen möglich. Die Funktion führt mehrere Trainingsaufrufe von durch, um den Branch Predictor zu veranlassen, gültige Werte für x zu erwarten, und ruft dann mit einem x außerhalb der Grenzen auf. Der bedingte Sprung wird fehlvorhergesagt, und die nachfolgende spekulative Ausführung liest ein geheimes Byte mit dem x außerhalb der Grenzen. Der spekulative Code liest dann aus , wodurch der Wert von in den Cache-Zustand gelangt. Um den Angriff abzuschließen, wird ein einfaches Flush+Probe verwendet, um zu identifizieren, welche Cache-Zeile in geladen wurde, und so die Speicherinhalte preiszugeben. Der Angriff wird mehrmals wiederholt, sodass selbst wenn das Zielbyte zunächst nicht im Cache war, es durch die erste Iteration in den Cache gelangt.

readMemoryByte()
victim_function()
array2[array1[x] * 512]
array1[x]
array2

Der nicht optimierte Code liest etwa 10 KB/s auf einem i7 Surface Pro 3.

Quellen

  • Spectre exploits info
  • CVE-2017-5753 - Variante 1: Umgehung der Grenzprüfung
  • CVE-2017-5715 - Variante 2: Einschleusung von Sprungzielen
  • Intel affected CPUs list
Tool herunterladen