Eine im März 2024 veröffentlichte nicht patchbare Sicherheitslücke namens GoFetch stellt eine ernsthafte Bedrohung für die Sicherheit der Apple M1, M2 und M3 Chips dar. Es handelt sich um einen Seitenkanalangriff, der die datenabhängigen Prefetcher (DMPs) in diesen Chips ins Visier nimmt und es einem Angreifer ermöglicht, geheime Schlüssel aus konstanten kryptographischen Implementierungen zu extrahieren.
GoFetch ist ein mikroarchitektonischer Seitenkanalangriff, der die DMP-Funktion in Apple-CPUs ausnutzt. DMPs prognostizieren Speicheradressen von Daten, die voraussichtlich vom aktuell ausgeführten Code genutzt werden, und laden diese Daten in den CPU-Cache vor. Der GoFetch-Angriff nutzt jedoch eine Eigenart in der Verwendung von DMPs aus, die es einem Angreifer erlaubt, die vorgeladenen Daten zu beeinflussen und potenziell auf sensible Informationen zuzugreifen.
Der GoFetch-Angriff betrifft Apples M1, M2 und M3 Chips, die aufgrund der vorhandenen ausnutzbaren DMPs anfällig für den Angriff sind. Obwohl der Angriff erfolgreich auf M1-Prozessoren demonstriert wurde, wird angenommen, dass auch andere Varianten wie M2 und M3, die dieselbe Mikroarchitektur teilen, ebenfalls anfällig sind.
GoFetch kann geheime Schlüssel aus konstanten kryptografischen Implementierungen extrahieren. Indem die Verschlüsselungssoftware dazu gebracht wird, sensible Daten im Cache zu speichern, kann die angreifende Anwendung diese Daten stehlen und daraus einen kryptografischen Schlüssel erstellen. Diese Schwachstelle betrifft verschiedene Verschlüsselungsalgorithmen, einschließlich derjenigen, die gegen Quantencomputer gehärtet sind. Beispielsweise kann ein 2048-Bit RSA-Schlüssel in weniger als einer Stunde und ein 2048-Bit Diffie-Hellman-Schlüssel in etwas mehr als zwei Stunden extrahiert werden.
Auf einigen Prozessoren kann der DMP deaktiviert werden. Beobachtungen zufolge kann das DIT-Bit auf M3-CPUs den DMP effektiv deaktivieren, was bei den M1- und M2-CPUs nicht der Fall ist. Intels Gegenstück, das DOIT-Bit, kann verwendet werden, um DMP auf den Raptor Lake-Prozessoren zu deaktivieren. Leider gibt es keine Möglichkeit, die Schwachstelle im Silizium zu beheben. Die einzige Lösung sind softwarebasierte Abmilderungen, die die Verschlüsselungs- und Entschlüsselungsleistung von M1, M2 und M3 verlangsamen werden.
Technisch können Entwickler ihre Verschlüsselungssoftware dazu zwingen, nur auf den E-Kernen zu laufen, die diesen Prefetcher nicht haben, was jedoch auch zu einem offensichtlichen Leistungsverlust führt. Die einzige Ausnahme ist Apples M3-Silizium, das angeblich über einen speziellen „Schalter“ verfügt, den Entwickler aktivieren können, um den datenabhängigen Prefetcher des Chips zu deaktivieren. Doch wie viel Leistung dadurch verloren geht, ist noch nicht bekannt.
Interessanterweise weist Intels Raptor Lake CPU-Architektur (die sowohl die 13. als auch die 14. Generation umfasst) diese Schwachstelle nicht auf, obwohl sie denselben Prefetcher wie Apples M-Serie teilt.
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: