[Workshop] DMA-Angriffe in der Praxis. Nutzen Sie durch direkten Speicherzugriff


Diesen Samstag, den 1. Februar 2020, findet in unserem Hackspace-Neuron in Moskau eine Meisterklasse zum praktischen Einsatz von DMA-Angriffen statt. Gemeinsam werden wir uns in einen echten Computer mit einem verschlüsselten Dateisystem hacken, das einen Geldautomaten oder ein Zahlungsterminal nachahmt.

Leitender Workshop ValdikSS und Maxim Goryachy . Hinter der Bar Pavel Zhovner .



Direkter Speicherzugriff (Direct Memory Access, DMA) - Ein Betriebsmodus von Computergeräten auf niedriger Ebene, der den direkten Zugriff auf den RAM des Computers umfasst. PCIe, Thunderbolt und einige andere Geräte müssen funktionieren. Unter normalen Bedingungen wird DMA für einen schnelleren Zugriff auf den Speicher verwendet, um den Prozessor nicht zu belegen.

Mit einem speziellen „bösen“ Gerät kann ein Angreifer die Kontrolle über den PCIe-Bus übernehmen und vollen Lese- und Schreibzugriff auf den Speicher eines funktionierenden Computers erhalten, selbst wenn das System vor dem Eindringen von Software geschützt ist.

DMA-Angriffe erlauben


  • Lesen und ändern Sie Daten im Computerspeicher, ohne das Betriebssystem und die Virenschutzprogramme zu kennen.
  • Fügen Sie Ihren Code in das Betriebssystem ein und führen Sie Programme aus
  • Rufen Sie alle Daten von laufenden Programmen ab: Schlüssel, Passwörter
  • Umgehen Sie die Authentifizierung und Autorisierung des Betriebssystems
  • .


Teil 1 - Theorie

Zunächst werden wir an den Fingern herausfinden, wie der PCIe-Bus funktioniert und wie auf den Speicher zugegriffen wird, warum solche Angriffe möglich sind und welche modernen Mittel zum Schutz vor solchen Angriffen existieren. Lassen Sie uns überlegen, welche Tools für die Durchführung von DMA-Angriffen vorhanden sind und wie sichere Systeme am besten entworfen werden können.

ValdikSS wird über seine Erfahrungen mit der Verwendung eines DMA-Angriffs sprechen, um den Schutz eines japanischen Spielautomaten zu knacken .

Teil 2 - Praktische Lektion

Um einen Angriff durchzuführen, verwenden wir zwei Computer: den Angreifer und das Opfer. In den PCIe-Port des Opfers wird ein spezielles "böses" Gerät eingefügt, das die physische PCIe-Schicht implementiert und Befehle vom Angreifer sendet. Der angreifende Computer stellt über USB eine Verbindung zur "bösen" Karte her und sendet über diese Befehle an den PCIe-Bus des Opfers.



Ein gewöhnlicher X86-Computer wird als Opfer fungieren, und die USB3380-Karte wird als „böses“ Gerät fungieren. Die Angreiferseite verwendet das PCileech- Framework .

Lassen Sie uns herausfinden, welche Geräte pcileech als Angreifer unterstützen und welche besser zu wählen sind. Wir richten einen Angreifer-Stand von Grund auf neu ein, basierend auf der USB3380-Karte.



Zunächst wird auf dem Computer des Opfers eine Festplatte mit Bitlocker verschlüsselt und für den Zugriff auf das Betriebssystem gesperrt.

Wir werden die folgenden Angriffe ausführen:

  • Windows-Authentifizierungsumgehung - Melden Sie sich bei Ihrem Konto an, ohne die Kennwörter zurückzusetzen
  • Zugriff auf Opferdateien . Trotz Dateisystemverschlüsselung ist der Zugriff auf Dateien weiterhin über das Betriebssystem möglich
  • Wir extrahieren wertvolle Daten aus dem Speicher - Schlüssel aus einer Bitcoin-Brieftasche, Passwörter und eingegebenen Text
  • Wir installieren eine Imitation eines Trojaners sofort im Speicher ohne Zwischendateien auf der Festplatte

Für wen ist dieser Beruf


Die Lektion ist nützlich für Entwickler eingebetteter Systeme, die Terminals, Geldautomaten, Automaten, Spiel- und Spielautomaten entwerfen. Sie benötigen Grundkenntnisse in Computerhardware.

Das PCileech-Framework ist recht einfach und verfügt über mehrere praktische Plug-Ins für typische Angriffe, sodass jeder fortgeschrittene Computerbenutzer lernen kann, wie man es verwendet.

Über die Autoren


ValdikSS ist ein Sicherheitsforscher und Open Source-Enthusiast. Der Autor des Programms zur Umgehung von DPI GoodByeDPI- Systemen und der Dienste JustVPN und Anti-Ban . Er arbeitete bei Digital Security . __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Maxim Hot- Embedded Developer und Sicherheitsforscher bei Positive Technologies. Er interessiert sich für Kryptographie, Virtualisierungstechnologien, Reverse Engineering und alles, was mit Hardware zu tun hat. Er trat bei 33C3, 34C3, Black Hat auf. Zusammen mit Mark Ermolov fand er Schwachstellen in Intel ME, Apple MacOS Firmware. _________________________________________________________________________________________________________________________________________________________________________________________________________

Veranstaltungsort - Hackspace Neuron



Hackspace Neuron ist eine Community von Geeks und Techno-Enthusiasten im Zentrum von Moskau. Arbeitsplätze mit professioneller Ausstattung und kreativer Atmosphäre.


Das gesammelte Geld fließt in die Miete und die Entwicklung von Huxspace. Wenn Sie uns zusätzlich unterstützen möchten, können Sie Ihre Hilfe annehmen und anbieten.

Achtung: Alle in der Meisterklasse präsentierten Informationen dienen ausschließlich Forschungszwecken. Der Prüfstand für die Schwachstellenanalyse ist kein reales System und wurde speziell für Schulungszwecke erstellt. Der Autor drängt nicht darauf, das erworbene Wissen für rechtswidrige Handlungen zu verwenden.

Source: https://habr.com/ru/post/undefined/


All Articles