"GoFetch"-Problem in M-Prozessoren
In Macs mit Apple-Chips: Neue Schwachstelle lässt sich nicht schließen
Amerikanische Security-Experten haben eine Sicherheitslücke in Apples Prozessorarchitektur ausgemacht, von der Apples M-Chips betroffen sind, die in den Macs und MacBooks des Unternehmens zum Einsatz kommen, seitdem Apple hier keine Intel-CPUs mehr verbaut.
Betroffen sind sowohl der M1, der Ende 2020 in den Markt gestartet ist, als auch die aktuell im Handel erhältlichen Varianten M2 und M3, die Apple sowohl in Desktop-Rechnern als auch in tragbaren Modellen wie dem MacBook Air und dem MacBook Pro verbaut.
Die Forscher haben der Schwachstelle den Spitznamen „GoFetch“ (was sich frei mit „Hol‘ das Stöckchen“ übersetzen lässt) gegeben und beschreiben damit die Auswirkungen der Sicherheitslücke. Diese ermöglicht es Angreifern, geheime Sicherheitsschlüssel aus betroffenen Geräten zu extrahieren. GoFetch nutzt dabei eine sogenannte „microarchitectural side-channel attack“, dockt also an bestimmte Verhaltensweisen an, wie die Apple-Prozessoren mit Speicher-Adressen umgehen. Problematisch scheinen hier vor allem die sogenannten Prefetcher-DMPs aktueller Apple-Prozessoren zu sein.
Diese sind eigentlich dazu gedacht, Daten vorhersehbar zu laden, um die Verarbeitungsgeschwindigkeit zu erhöhen. Doch statt nur auf die Adressen der aufgerufenen Daten zu achten, berücksichtigen die Prefetcher im Falle der DMPs (Data Memory-Dependent Prefetchers) zusätzlich die Werte der Daten, um Vorhersagen zu treffen.
Angreifer, dies legen die Forscher in ihrem Paper zur Sicherheitslücke dar (PDF-Download) könnten diese Eigenschaft ausnutzen, um durch manipulierte Eingabedaten bestimmte Informationen im Cache sichtbar zu machen und so über Zeit geheime Schlüssel zu offenbaren.
Den Forschern sei es etwa gelungen, einzelne Sicherheitsschlüssel in unter einer Stunde aus angegriffenen Systemen zu extrahieren. Bei GoFetch handelt es sich zudem um eine Schwachstelle, die sich nicht mit Software-Aktualisierungen schließen lässt, sondern Teil der Chip-Architektur ist. Über ihre Erkenntnisse haben die Forscher Apple bereits im vergangenen Jahr in Kenntnis gesetzt und tragen diese auf der Webseite gofetch.fail zusammen.
Interessant wäre zu wissen, ob der Angriff übers Netzwerk (Internet) erfolgen kann oder ob der Angreifer lokal am Mac sitzen muss?
Der Angreifer muss nicht am Mac sitzen, aber schon Software auf den Mac bekommen.
@Peter: Laut Heise muss er physischen Zugriff haben.
Soweit ich gelesen habe, muss der Angreifer lokal auf dem Gerät Code ausführen können.
Der Angreifer muss Code ausführen können. Eventuell könnte ja aber auch Javascript im Browser reichen.
Man benötigt wohl Admin-Rechte. So ein einfaches Skript tut es da nicht.
@_Knight_: Falsch, kein Admin notwendig. Ziel des Papers ist ja gerade eine Attacke zu finden, die keinen privilegierten Benutzer erfordert.
Aber es bedarf dem Ausführen von extern geladenem Code/Software. Das ist nicht einfach per Skript oder ohne Admin-Rechte möglich.
Zitat: The attack needs a malicious program running directly on your Mac. This isn’t something that can easily happen remotely.
Ich gebe zu, ich habe das Paper nicht zur Gänze verstanden. Aber alle Drittpublikationen verweisen auf ein per Passwort abgesicherten Admin-Account als eine mögliche Sicherheit. Also wie bei jeder anderen Malware auch.
Hier noch aus einer anderen Quelle:
As reported by Ars Technica, this security flaw allowed academic researchers to pull end-to-end encryption keys from Apple’s processors, using an app with normal third-party software permissions in macOS. Called GoFetch, the attack they created works through what’s called a side-channel vulnerability—using sensitive information discovered through watching standard behavior.
Also „using an app with normal third-party software permissions…“ setzt wohl eine App-Installation voraus. Und dafür braucht man Admin-Rechte.
Natürlich stand davon nichts im Paper, weil man davon ausgeht, dass so eine App installiert ist.
Falsch, um Software herunterzuladen und auszuführen benötigt man keinerlei Adminrechte.
Womöglich noch mit angelöteten Kabeln am Prozessor. Kommt ja jeder dran ;-))
Viel interessanter wäre zu wissen, wie wahrscheinlich und aufwändig ein solcher Angriff wäre,
Oder ist das wieder so ein akademisches Ding, was als Angriffsmethode gar keine Rolle spielt, weil hier Apparaturen von tausenden Euros und ein Wissen von drei promovierten Informatikern notwendig ist?
Wer es schafft, Malware auf deinem Computer zu installieren, kann die Lücke ausnutzen. Allerdings kann der dann auch alles mögliche andere tun. An deine Daten kommt man ja auch ohne die Lücke auszunutzen, wenn man schon auf dem Rechner Malware installiert hat, und das dann vermutlich auch deutlich einfacher und schneller. In sehr speziellen Fällen könnte das neue Verfahren aber ggfs. tatsächlich einen „Vorteil“ bringen.
Fazit: in der Praxis macht diese Sicherheitslücke das Gerät eher nicht unsicherer. Es bleibt letztendlich – wie schon zuvor – der Rat: Vorsicht was man installiert, was man anklickt. Die eigentliche Gefahr ist die Installation einer Malware (durch Phishing, absichtlicher Installation einer App aus dubiosen Quellen, etc), wenn man das verhindert, kann einem praktisch nichts passieren.
Das ist falsch. Software auf einer CPU ausführen zu können ist ein anderer Angriffsvektor als Datenzugriff. Und bei Mehrbenutzersystemen heißt das, dass ein Benutzer alle kompromittieren kann. Zumal bei manchen Sessions der Key interessanter ist als die Daten auf der Festplatte, z.B. weil die Daten verschlüsselt bereits eh vorliegen (Cryptocoins) oder der Key für einen Onlinedienst verwendet wird.
Ihr hättet auch darauf hinweisen können, dass das der Fehler ist, den ihr Freitag schon beschrieben habt. Ich dachte erst das wäre ein neuer.
Das war mein Fehler. Chris hatte das schon am Freitag auf dem Radar:
https://www.ifun.de/gofetch-nicht-behebbare-schwachstelle-in-apple-prozessoren-229742/
Da hat die linke Hand nicht gelesen, was die rechte schon berücksichtigt hat. Ich bitte um Entschuldigung und setze hier vielleicht doch noch einen Kaffee auf ;)
Wäre es dann nicht sinnvoll das im Artikel entsprechend klarzustellen und zu verlinken?
Um die Kirche mal im Dorf zu lassen:
Ein Angreifer benötigt direkten Zugriff auf die Hardware und muss lokal Code ausführen. Und dann ist das immer noch kein Generalschlüssel.
Wenn jemand also dazu in mein Haus eindringt und mehrere Stunden an meinen Rechner rumfummelt, hab ich andere Sorgen …
Alles richtig, Wundert mich dennoch warum Apple das nicht bei den neueren Prozessoren korrigiert hat, wenn das denen schon vor einem Jahr bekannt war. Wahrscheinlich immer noch zu kurzfristig für die aktuelle Generation.
Weil man nicht mal in mitten einer Produktion die Hardware mal eben schnell ändert.
Und er muss wie ich fas verstehe erstmal mein master PW haben um ins System zu kommen
Macs die in Unternehmen eingesetzt werden könnten eine interessantere Angriffsfläche bieten.
Wenn sie gestohlen werden schon. Man braucht offensichtlich physischen Zugriff auf den Rechner.
Die haben fernwartung und löschen sich selber. Desweiteren könnte ich mir vorstellen das apple software seitig zumimdestens sowas erkennen kann und dann den T2 chip ggf dicht macht.
Davon abgesehen muss der @hacker“ ja scheinbar erstmslnins terminal kommen, bei einem Passwort auf dem mac wirds schwer?!
Prinzipiell richtig, aber nicht jeder lässt sein MacBook nur zu Hause und es gibt genug Firmen, die MacBooks benutzen.
Trotzdem ein deutlich anderes Gefühl wenn man weiß, dass nach einem Diebstahl des Gerätes Daten und das Gerät selbst angreifbar sind.
Nur wenn du dein Passwort unter das Gerät geklebt hast.
Da ändert sich durch die neue Schwachstelle nichts. Wer auf dem Gerät eine Malware installieren kann, kann auch ohne diese Schwachstelle schon an fast alle Daten ran, und an die besonders geschützten (wie Passwörter) kommt die versteckte Malware dann ggfs spätestens dann ran, wenn der legitime Nutzer das Passwort eintippt, um sich irgendwo einzuloggen (Tastatur-logger).
D.h. wenn du eine gestohlenes Gerät wieder zurückbekommen solltest, dann ist eh angeraten, alles zu löschen und frisch zu installieren. Damit sind dann alle möglichen Manipulation des Diebes wieder weg. Die neue Schwachstelle ändert daran nichts
Von direkten Zugriff auf die Hardware habe ich auf die Schnelle nichts gesehen, lediglich Code muss ausgeführt werden können.
Aber soweit ich gelesen habe auf Admin-Ebene.
Dafür reicht ein Browser-Skript nicht aus.
Wie kommt ihr darauf? Der Angriff ist rein Software basiert
So ein Unfug. Es geht in dem Paper um das Auslesen von Keys per Software. Und dafür benötige ich weder physischen Zugriff noch Admin-Rechte. Hört doch auf einfach irgendwas zu behaupten.
Da hat Chris am Freitag schon drüber berichtet: „GoFetch: Nicht behebbare Schwachstelle in Apple-Prozessoren“
Ist doch die gleiche Nagriffsvariante wie es diese bei Intel vor ein paar Jahren auch gab
Exakt.
Es gab vor Jahren einmal eine Boot CD auf Linux Basis, damit konnte man jeden Windows PC starten und sämtliche Daten der Original Windows Installation auslesen/kopieren usw.
Also wenn ein Fremder mit gewissen Kenntnissen Deinen PC/Mac in die Hände bekommt, sind Eure Daten nie sicher, egal mit welchen Chip.
Man kann alles knacken, ist wie bei den Autos, alles nur eine Frage der Zeit für den Fremden Eindringling mit bösen Absichten.
Also einen NSA oder BND- Mitarbeiter freut es wahrscheinlich – denn jetzt braucht man zumindest für M1-3 kein allzu aufwendiges Tool zum auslesen. Nachteil: auch andere können das (:
Wer seine HDD nicht verschlüsselt betreibt ist selber schuld.
Nicht behebbar ist nicht richtig, er ist ohne Leidtungseinbußen der Verschlüsselungssoftware nicht behebbar, aber prinzipiell kann man es wohl patchen, beim M3 sogar recht einfach:
„Entwickler kryptografischer Routinen und Bibliotheken wie etwa OpenSSL können auf neuen M3-CPUs den DMP deaktivieren, was natürlich Leistung kostet.“
Dieser Workaround ist auf einem ähnlichen Level wie gar keinen Mac zu benutzen.
Quatsch. Es beeinflusst „nur“ die Vorhersage von Sprungereignissen. Die CPU läuft immer noch, nur langsamer.
„Daten vorhersehbar zu laden“
Das sollte wohl „Daten im voraus laden“ heißen.
Dazu gabs hier doch schon einen Artikel? Nur dass dieses Mal fehlt, dass das Risiko extrem gering ist. Fachlich 6, setzen.
Na wenn dave das sagt!
Zu was sich hier manche aufspielen, ist schon interessant und weist auf ernste Probleme hin.
Warst du schon beim Arzt?
Wenn der Angreifer erstmal soweit ist, dass er lokal Code auf meinem Mac ausführen kann, dann kann er alles mögliche an Trojanern und Viren installieren. Da ist diese Lücke im Prozessor meine geringste Sorge.
Nein, weil en Trojaner unter umständen mehr Rechte benötigt. Das hier klappt ja sogar ohne Admin-Zugriff und betrifft alle Nutzer des Systems.
Der M3 ist nicht betroffen. Die ganze Prozedur, inkl. Auslesens des Schlüssels, dauert übrigens mehr als 10 Stunden und funktioniert nur bei lokalem Zugriff und unter ganz bestimmten speziellen Umständen. Diese sogenannte Sicherheitslücke lässt sich selbstverständlich patchen. Genau wie bei Spectre oder Meltdown. Und wenn es wie dort läuft, wird es keinerlei Geschwindigkeitseinbußen geben. Zumindest nicht auf Apple Devices. Von daher – who cares?
Im ganzen Paper steh nichts von lokalem Zugriff aber schön wenn du das behauptest. Und Patchen ist auch so eine Sache, wir reden hier nicht von Microcode wie bei Spectre oder Meltdown.
The attack needs a malicious program running directly on your Mac. This isn’t something that can easily happen remotely.
Das liest sich für mich nicht so, als ob man es sich im Vorbeigehen einfängt.
Dann ist der A14 auch betroffen ?
Ja, prinzipiell schon. Aber wie willst du einfach so Code oder sogar auf einem iPhone installieren?