Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Sicher wie nie: Apples neuer Speicherschutz MIE soll unerlaubte RAM-Zugriffe im Ansatz unterbinden

Arbeitsspeicher ist bei allen Computern eine knappe Ressource, die ständig umverteilt wird. Wie an einem Abfertigungsschalter eines Flughafens stehen die vorhandenen Plätze erst für ein Reiseziel bereit, um kurz darauf für ein anderes reserviert zu werden. Und wie am Flughafen bleibt dabei schon mal etwas stehen, was längst auf dem Weg anderswohin sein sollte. Am Rechner oder Smartphone sind dies beliebte Angriffsvektoren, um Informationen auszuspähen: Ein Prozess nutzt einen Programmierfehler aus, um dem engmaschigen Regelwerk zu entkommen, und liest willkürlich Bereiche des Arbeitsspeichers aus, um daraus wertvolle Informationen zu rekonstruieren. Apple hat in den A19-Chips nun "Memory Integrity Enforcement" (MIE) integriert, die solche Tricks auf niedriger Ebene im Grundsatz verhindern. In einer Veröffentlichung auf Apples Sicherheits-Blog beschreiben konzerneigene Sicherheitsforscher die Details.


Memory Integrity Enforcement besteht aus drei Konzepten:

  • Enhanced Memory Tagging Extension sichert jedes RAM-Segment mit einer Passphrase (Secret). Nur ein Prozess, der das entsprechende Secret kennt, darf auf diesen Speicherbereich zugreifen.
  • Secure Memory Allocators stellt sicher, dass Speicherblöcke stets einem Prozess zugewiesen sind. Gibt ein Prozess Speicher frei, erhält der Bereich vorsorglich ein neues Secret, um Use-after-free-Attacken zu verhindern.
  • Tag Confidentiality Enforcement stellt sicher, dass die Passphrase geheim bleibt und nicht von böswilligen Prozessen aufgeschnappt werden kann.

Auch das Ausnutzen von spekulativer Ausführung, wie sie etwa in Szenarien wie der Spectre-Sicherheitslücke zum Einsatz kommt, ist Apple in diesem Zug angegangen.

Anpassungen im Chip-Design
Ein derart genaues Protokollieren der Speicherzugriffe wäre normalerweise sehr rechenintensiv. Laut der Publikation konnte Apple jedoch durch Feinabstimmung von Hard- und Software sicherstellen, dass dies nahezu keine Leistungseinbußen nach sich zieht. Das bedeutet allerdings, dass Memory Integrity Enforcement nur für zukünftige Hardware bereitsteht: Die jetzt vorgestellten iPhone-Modelle iPhone 17, iPhone 17, Pro (Max) sowie iPhone Air sind bislang die einzigen MIE-kompatiblen Geräte. Entwickler haben über die Einstellungen für erhöhte Sicherheit Zugriff auf MEI.

Test an echten und potenziellen Angriffen
Um die Wirksamkeit des MIE-Konzepts zu überprüfen, hat Apple ein „Red Team“ aufgestellt, welches einige Angriffsketten durchspielte, die in den vergangenen Jahren kurzfristig erfolgreich waren. Namen nennt der Konzern nicht, aber sicherlich wird die Pegasus-Lücke eine davon gewesen sein. Dazu entwickelten sie weitere mögliche Angriffsketten, um die neue Methodik zu überprüfen. Die sechs Szenarien, die sie als Beispiel anführten, wurden mindestens an einer Stelle erfolgreich unterbunden, in den meisten Stellen sogar an mehreren.

Sechs Beispielszenarien stoppte Memory Integrity Enforcement an mindestens einer Stelle.(Quelle: Apple Security Blog)

Schutz vor söldnerischen Angriffen – und Jailbreaks
Die ins Chip-Design integrierten Sicherheitsmaßnahmen betreffen aufwendige und äußerst gezielte Angriffe auf exponierte Persönlichkeiten, die in den vergangenen Jahren ans Licht kamen. Für alltägliche Anwendungen, betont die Veröffentlichung, sei auch bestehende Hardware bestens abgesichert. Für handelsübliche Spyware genügt es, diese mittels Sicherheitsprüfung auszusperren. Allerdings bedeutet dieser umfassende Schutz vor potenziellen Sicherheitslücken auch das wahrscheinliche Ende zukünftiger Jailbreaks: Um alternative Betriebssysteme oder unregulierte App Stores auf iPhones zu installieren, wurde stets eine Sicherheitslücke ausgenutzt.

Kommentare

DSkywalker12.09.25 08:34
Ich kaufe ein i für die Überschrift
0
sudoRinger
sudoRinger12.09.25 08:40
GrapheneOS nutzt das Memory Tagging in den Pixel-Smartphones in einfacherer Form schon länger. Es schützt laut GrapheneOS vor Firmen wie Cellebrite (x)
0
Mendel Kucharzeck
Mendel Kucharzeck12.09.25 08:50
DSkywalker
Fixed, dank dir!
0
Marcel Bresink12.09.25 09:15
Der obige Artikel übersetzt "Memory" immer mit "RAM", was zu einer irreführenden Vorstellung führt, wie diese Technik arbeitet.

Schon seit 30 Jahren ist es nicht mehr möglich, dass Prozesse direkt auf RAM zugreifen können und natürlich wird ein Prozess A, der auf RAM von Prozess B zugreifen will, bereits auf Hardware-Ebene daran gehindert. Im Personal-Computing-Bereich ist dies seit der Zeit des Intel 386 und Motorola 68040 üblich. Bis auf den Systemkern arbeiten alle Prozesse nur in Virtuellem Speicher, der von der Memory-Management-Hardware erst auf RAM abgebildet wird. Diese Art von Schutz ist seit Jahrzehnten gängig und darum geht es hier nicht.

Stark vereinfacht gesagt, geht es bei den neuen Techniken von Apple und ARM darum,
  • dass Speicher, den ein Prozess bereits gar nicht mehr selbst nutzt, aber in dem noch Reste von Daten verblieben sind, nicht nachträglich bei der Neuzuweisung von Speicher oder durch Lücken in der Sprungvorhersage-Hardware des Prozessors ausgelesen werden kann, und
  • dass das gezielt böswillige Anfordern von Speicher beim Betriebssystem in speziellen Bereichen, in denen sich Prozesse eigentlich Speicher gemeinsam teilen sollen, verhindert wird, was leicht zu unsicheren, weil mehrdeutigen Situationen führen kann.
Dies schließt auch Fälle mit ein, bei denen ein Programm bereits erfolgreich "infiziert" wurde, also im gleichen Prozess eingeschleuster Schadcode auf Speicher zugreift, die der "normale" Code eigentlich anders benutzen wollte.
+9
gfhfkgfhfk12.09.25 10:45
Marcel Bresink
Im Personal-Computing-Bereich ist dies seit der Zeit des Intel 386 und Motorola 68040 üblich. Bis auf den Systemkern arbeiten alle Prozesse nur in Virtuellem Speicher, der von der Memory-Management-Hardware erst auf RAM abgebildet wird.
Das ist leider fundamental falsch.

Zwar gibt es die notwendige Hardware seit damals, aber keines der im Desktop Bereich verbreiteten OS nutzte Speicherschutz über virtuelle Adressräume.
Das klassische MacOS verfügte über keinerlei Speicherschutzmechanismen. Die MMU wurde nur dazu verwendet Swapping umzusetzen, und alle Programme liefen in ein und demselben Adressraum.

Für die 68k Macs gab es A/UX. Das zwar über Speicherschutze verfügte, aber nur für UNIX-Programme oder Programme die speziell für die A/UX Macintosh Toolbox übersetzt wurden. Normale Macintosh Programme liefen auch weiterhin in einem Adressraum. Erst mit MacOS X kam Speicherschutz für alle Programme (außer der Bluebox – siehe klassisches MacOS).

Die Situation mit DOS bzw. Windows war exakt die gleiche. DOS und Windows bis 3.11(WfW) verfügten über keinerlei Speicherschutz. Speicherschutz wurde zuerst mit Windows/NT eingeführt. NT definierte die Win32 API. Die Win16 API von Windows 3.11 und früher lief im Real Mode, obwohl der 80286 in der Lage war die Adressräume von Programmen zu trennen. Das bekannteste OS was diesen nutzte war XENIX. Windows 95, 98, Me verfügten über die abgespeckte Win32s API, die Speicherschutz für nur diese Programme ermöglichte. Alle anderen Programme, die für die Win16 oder DOS API geschrieben wurden, konnten sich weiterhin gegenseitig ausspähen oder abschießen. Erst XP führte dann auch für den Desktop konsequent die Win32 API ein.

Noch einen Nachtrag zur Hardware
Auf der 68000 Plattform wurde bereits mit dem 68010/68012 es möglich Programme in virtuellen Adressräumen laufen zu lassen. Die von Motorola entwickelte MMU 68451 war aber zu schlecht, so dass Designs mit dieser MMU nicht sehr verbreitet waren. SUN nutzte eine andere MMU. Für den 68020 entwickelte Motorola daher eine neue MMU – die 68851, die dann problemlos lief. Es gab zwei Macs mit 68020 den Mac II und den LC. Der Mac II verfügte über einen Steckplatz für die 68851, die man für den Betrieb mit A/UX nachrüsten musste. Beim LC fehlt diese. Beim 68030 ist die MMU direkt in die CPU integriert. Außer der 68EC030 Version, die man für embedded Anwendungen gebaut hat. Aber die EC Version wurde von Apple niemals genutzt.

Bei x86 war die erste CPU mit Speicherschutz der 80286. Aber der 286 Protected Mode wurde nur von XENIX genutzt und nie von irgend einer Windows Version. Der 80386 brachte dann den 386 Protected Mode auf dem dann Windows/NT entwickelt wurde.
+2
MCDan12.09.25 10:52
Lässt sich mit dieser Technik auch ein Angriff über einen Stack Overflow verhindern?
0
Nebula
Nebula12.09.25 11:18
Verhindern mit Sicherheit nicht, maximal erschweren.
»Wir waren schon immer schamlos darin, großartige Ideen zu stehlen.« – Steve Jobs
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.