GoFetch entfesselt: Sicherheits­desaster für Apple M-Chips

/ Summary

Die jüngst entdeckte Sicherheitslücke GoFetch stellt eine ernstzunehmende Bedrohung für die Sicherheit von Daten auf Geräten mit Apples M-Chips dar. Diese Schwachstelle ermöglicht es, dass durch eine spezielle Technik, die auf der Optimierungsfunktion der Chips basiert, sensible Informationen unbemerkt preisgegeben werden können. Konkret geht es um den “Data Memory Dependent Prefetcher” (DMP), ein Teil der Optimierungsmechanismen von Apple-CPUs, der dazu dient, die Geschwindigkeit der Datenverarbeitung zu erhöhen, indem er voraussagt, auf welche Speicheradressen ein Programm als Nächstes zugreifen wird, um diese vorab in den Prozessorcache zu laden. Diese Optimierung, gedacht als Performance-Boost, kann jedoch missbraucht werden, um geheime Informationen, insbesondere kryptografische Schlüssel, aus dem Prozessorcache auszulesen, was eine erhebliche Sicherheitslücke darstellt.

Die Entdeckung von GoFetch

Im 22. März 2024 machten Sicherheitsforscher die Entdeckung öffentlich: GoFetch, eine Schwachstelle, die tief in der Architektur von Apples M-Serie verankert ist. Die Forschungsarbeit, die diese Schwachstelle ans Licht brachte, offenbarte, wie Angreifer durch ausgeklügelte Seitenkanalangriffe (Augury) die Optimierungsroutinen der Chips ausnutzen können, um ansonsten geschützte Informationen zu entwenden.

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.

Funktionsweise und Risiken von GoFetch

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.

Praktische Szenarien und potenzielle Datenrisiken durch GoFetch

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:

  • Extraktion kryptografischer Schlüssel: Ein zentrales Angriffsziel von GoFetch. Angreifer könnten Zugriff auf Verschlüsselungsschlüssel erlangen, die zum Schutz digitaler Kommunikation, gespeicherter Daten oder zur Authentifizierung in verschiedenen Sicherheitsprotokollen verwendet werden, wie Diffie-Hellman und RSA. Das betrifft somit auch TLS, IPsec, SSH, WPA und auch Crypto-Wallets (Bitcoin, Ethereum, etc.).
  • Diebstahl persönlicher Daten: Persönlich identifizierbare Informationen (PII), wie Kreditkartendetails, könnten kompromittiert werden, wenn sie im Arbeitsspeicher verarbeitet werden.
  • Zugriff auf Anmeldeinformationen: Passwörter und andere Authentifizierungsdaten, die temporär im Speicher gehalten werden, könnten abgefangen werden, was unberechtigten Zugang zu privaten oder unternehmensinternen Ressourcen ermöglicht.
  • Entwendung von Geschäftsgeheimnissen: In Unternehmensumgebungen könnte GoFetch zum unbefugten Auslesen von internen Dokumenten, Forschungsdaten oder anderen vertraulichen Informationen führen.

Voraussetzungen für die Ausführung von GoFetch

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:

  • Tiefgreifendes Verständnis der Hardware: Angreifer benötigen detaillierte Kenntnisse über die Funktionsweise der Apple M-Chips, insbesondere über den Data Memory Dependent Prefetcher (DMP). Ein tiefes technisches Verständnis ist erforderlich, um die Prefetching-Logik zu manipulieren und gezielt Speicheradressen zu beeinflussen.
  • Fähigkeit zur Code-Ausführung auf dem Zielgerät: Obwohl kein physischer Zugang zum Gerät notwendig ist, muss der Angreifer in der Lage sein, speziell präparierten Code auf dem Zielgerät auszuführen. Dies kann durch die Ausnutzung anderer Sicherheitslücken, Phishing-Angriffe oder durch die Installation einer bösartigen Anwendung geschehen.

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.

Schutzmassnahmen für Mac-Nutzer gegen GoFetch

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:

  • Software stets aktuell halten: Obwohl GoFetch eine Hardware-Schwachstelle ausnutzt, können Software-Updates helfen, potenzielle Angriffsvektoren zu schliessen und die Sicherheit zu verbessern.
  • Installationen überprüfen: Installiere Software ausschliesslich aus vertrauenswürdigen Quellen wie dem Mac App Store und meide die Ausführung unbekannter Anwendungen.
  • Verwendung von Sicherheitssoftware: Einsatz von Antivirus- und Sicherheitssoftware kann helfen, schädliche Aktivitäten aufzudecken und bietet eine zusätzliche Schutzebene.
  • Bewusstsein für Phishing: Sei achtsam bei der Interaktion mit E-Mails oder Nachrichten, die zum Download von Software oder zur Eingabe persönlicher Informationen auffordern.

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.

Apples Rolle in der Bekämpfung von GoFetch

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.