M1RACLES: Apples erster Prozessor Silicon M1 hat einen Designfehler
Meldung von doelf, Dienstag der 01.06.2021, 13:27:15 UhrDer Sicherheitsexperte Hector Martin hat mit M1RACLES (CVE-2021-30747) einen verdeckten Kommunikationskanal (Covert Channel) zwischen Apps, welche auf Apples erstem Prozessor Silicon M1 laufen, dokumentiert. Diese Kommunikation umgeht alle Sicherheitsmaßnahmen von Chip und Betriebssystem und lässt sich auch nur in Form einer neuen Hardwarerevision reparieren.
Was ist ein verdeckter Kommunikationskanal?
Sicherheitsmaßnahmen in Hard- und Software regeln, auf welche Art und Weise zwei Prozesse miteinander kommunizieren können. Ist eine solche Maßnahme auch auf anderen, gänzlich unkontrollierten Wegen möglich, spricht man von einem verdeckten Kommunikationskanal bzw. in englischer Sprache von einem Covert Channel
. Einen solchen hat der Sicherheitsexperte Hector Martin für Apples ARM-Prozessor Silicon M1 dokumentiert und auf den Namen M1RACLES (CVE-2021-30747) getauft.
M1RACLES steckt im Chip
M1RACLES funktioniert ganz unabhängig davon, welchem Benutzer die beteiligten Prozesse gehören oder mit welchen Rechten diese Prozesse laufen. Auslöser ist ein Designfehler im Chip, weshalb das Problem auch keinesfalls auf macOS beschränkt ist. Tatsächlich beschäftigt sich Hector Martin weniger mit macOS als mit der Portierung von AsahiLinux auf Apples Silicon M1. Und genau hierbei, genauer gesagt beim Spielen mit m1n1, hat Martin die Sicherheitslücke entdeckt. Der iPhone-Prozessor A14, ein enger Verwandter des Silicon M1, soll ebenfalls betroffen sein.
Wie M1RACLES funktioniert
In der Langform steht M1RACLES für M1ssing Register Access Controls Leak EL0 State
, es geht also um eine fehlende Zugriffskontrolle. Diese betrifft das Systemregister s3_5_c15_c10_1, welches zwei Bit umfasst, auf die alle Prozesse lesend wie schreibend ungehindert zugreifen können. Die einzige Limitierung besteht darin, dass die beteiligten CPU-Kerne aus dem selben Cluster stammen müssen. Ohne sonderliche Optimierungen sind Datenraten von mehr als 1 MB/s möglich.
Wie gefährlich ist M1RACLES?
Die Gefahr besteht darin, dass sich zwei Prozesse bzw. Apps unkontrolliert absprechen können. Theoretisch lässt sich dies für Schad-Software nutzen, doch diese muss zunächst auf anderen Wegen auf den Mac gelangen. Wahrscheinlicher erscheint ein Szenario, wo der Datenaustausch über das ungeschützte Register von Werbefirmen zum unbemerkten Tracking missbraucht wird. Für Virtuelle Maschinen lässt sich das Problem leicht beheben, indem der Zugriff auf s3_5_c15_c10_1 gesperrt wird.
Und jetzt?
Und jetzt kann sich Apple Gedanken darüber machen, ob und in welcher kommenden CPU-Generation das Problem behoben wird. Solche Chipfehler (Silicon Errata) sind recht häufig und finden sich praktisch in jedem modernen Prozessor. Einige lassen sich nachträglich beheben, andere - wie M1RACLES - hingegen nicht. Im Vergleich zu Spectre und Meltdown fällt M1RACLES ziemlich harmlos aus, da sich hier keine fremden Prozesse unbemerkt ausspionieren lassen. Es handelt sich lediglich um eine unerwünschte Möglichkeit zum Datenaustausch.