/ Summary
GoFetch is a microarchitectural side-channel attack that can extract secret keys from constant-time cryptographic implementations via data memory-dependent prefetchers (DMPs). We show that DMPs are present in many Apple CPUs and pose a real threat to multiple cryptographic implementations, allowing us to extract keys from OpenSSL Diffie-Hellman, Go RSA, as well as CRYSTALS Kyber and Dilithium.
GoFetch missbraucht den Data Memory Dependent Prefetcher (DMP) in Apple’s M-Chips, eine Funktion, die die Leistung durch das Vorladen von Daten, von denen angenommen wird, dass sie bald benötigt werden, verbessern soll. Forscher demonstrierten, wie speziell präparierte Daten, die Speicheradressen ähneln, den DMP dazu bringen können, sensiblen Inhalt, insbesondere kryptografische Schlüssel, in den Cache zu laden, wo sie dann ausgelesen werden können. Diese Methode nutzt die inhärente Eigenschaft des DMP, Vorhersagen zu treffen und basierend darauf Daten vorab zu laden, aus. Die Gefahr von GoFetch liegt in seiner Fähigkeit, unbemerkt zu operieren und kritische Daten zu kompromittieren, ohne direkte Interaktionen oder das Hinterlassen von Spuren, die durch herkömmliche Sicherheitssoftware erkannt werden könnten.
GoFetch ermöglicht es Angreifern, eine Vielzahl sensibler Informationen auszuspähen, indem sie die Prädiktionslogik von Apples M-Chips manipulieren. Zu den praktischen Szenarien, die durch diese Schwachstelle ermöglicht werden, gehören unter anderem:
Für die erfolgreiche Ausnutzung von GoFetch ist eine Kombination aus technischem Wissen und spezifischen Bedingungen erforderlich. Anders als bei herkömmlichen Angriffen, bei denen oft Malware oder Trojaner eingesetzt werden, nutzt GoFetch eine tiefer liegende Hardware-Schwachstelle aus. Hier sind die Schlüsselelemente:
Im Gegensatz zu einem Trojaner, der als bösartige Software heimlich Kontrolle über ein System erlangt, um Daten zu stehlen oder zu manipulieren, basiert GoFetch auf der Ausnutzung einer spezifischen Hardware-Schwachstelle, ohne dass Malware installiert werden muss. Während Trojaner auf eine breite Palette schädlicher Aktivitäten abzielen können, konzentriert sich GoFetch spezifisch auf das Auslesen sensibler Informationen aus dem Speicher durch das Ausnutzen von Seitenkanälen, was eine direkte Interaktion mit den Daten selbst umgeht.
Für Nutzer von Geräten mit Apple M-Chips stellt GoFetch eine ernsthafte Bedrohung dar, die jedoch mit den richtigen Praktiken und Vorsichtsmassnahmen eingedämmt werden kann. Während die Hardware-basierte Natur der Schwachstelle direkte Patches erschwert, gibt es dennoch wirksame Schritte, die Nutzer ergreifen können, um sich zu schützen:
Durch die Kombination dieser Massnahmen können Nutzer das Risiko einer erfolgreichen Ausnutzung von GoFetch minimieren und die Sicherheit ihrer Geräte und Daten erhöhen.
Angesichts der Bedrohung durch GoFetch liegt eine wesentliche Verantwortung bei Apple, um die Sicherheit seiner Hardware zu gewährleisten und Nutzer vor potenziellen Angriffen zu schützen.
Apple muss in die Erforschung und Entwicklung von Technologien investieren, die Seitenkanalangriffe wie GoFetch effektiv verhindern können. Das umfasst insbesondere die Überarbeitung der Chip-Architektur oder die Implementierung neuer Sicherheitsmechanismen auf Hardware-Ebene.