Das signierte Systemvolume unter macOS Big Sur

Das aktuelle macOS (Big Sur) verwendet kryptographische Technologien um Zugriff auf Dateien ohne gültige Signatur zu verhindern.

Das signierte Systemvolume unter macOS Big Sur

Die beiden letzten großen MacOS-Versionen haben eine rasche Entwicklung beim Schutz von Systemdateien bewirkt. Auf diese Entwicklung möchte ich in diesem Blog kurz eingehen:

  1. In macOS Mojave 10.14 bootet macOS von einem einzigen APFS-Volume, in dem sensible Systemordner und -dateien mit denen vermischt sind, in die Benutzer schreiben können. Die Hauptschutzmechanismen, die dem System zur Verfügung gestellt werden, kommen von klassischen Unix-Berechtigungen und zusätzlich dem macOS Mechanismus System Integrity Protection (SIP), einer Software innerhalb von macOS.
    In macOS Mojave muss Malware also lediglich eine Schwachstelle in SIP ausnutzen, sich erhöhte Privilegien verschaffen und kann dann Systemdateien (bösartig) modifizieren.
  2. MacOS Catalina 10.15 ändert dies, indem es das Startvolume in zwei teilt: das System- und das Daten-Volume, die zusammen eine APFS-Volume-Gruppe bilden. Unveränderliche Systemdateien befinden sich jetzt auf dem System-Volume, das nicht nur durch SIP vollständig geschützt ist, sondern normalerweise auch schreibgeschützt gemountet ist. Dies macht es für Malware weitaus schwieriger, denn sie muss nicht nur SIP überwinden, sondern auch das System-Volume als beschreibbar mounten, bevor sie Systemdateien manipulieren kann.

Wie Big Sur Systemdateien schützt

Obwohl Big Sur dasselbe geschützte System-Volume und dieselbe APFS-Volume-Gruppe wie Catalina verwendet, ändert es die Art und Weise, wie das Systemvolume geschützt wird, um es zu einer noch größeren Herausforderung für diejenigen zu machen, die bösartige Software entwickeln: Das signierte System-Volume (SSV).

Jede Datei auf dem signierten System-Volume von Big Sur verfügt jetzt über einen kryptographischen SHA-256-Hash, der in den Dateisystem-Metadaten gespeichert ist. Wenn eine Datei aus dem SSV gelesen wird, so wird deren aktueller Hash mit dem gespeicherten Hash verglichen, um sicherzustellen, dass die Datei nicht manipuliert oder beschädigt wurde.

Zusätzlich verifiziert jeder Knoten des Baums rekursiv die Integrität der Hashes seiner Kinder, ähnlich wie bei einem Merkle-Baum. Der Hash-Wert des Wurzelknotens - Siegel genannt - umfasst daher jedes Byte der Daten des SSV.

Dadurch wird sichergestellt, dass diese Hashes den gesamten Datenträger, seine Daten und die Verzeichnisstruktur abdecken. Das Siegel wird bei jedem Start des Macs durch den Bootloader überprüft, ebenso vor dem Laden des Kernels und während der Installation und Aktualisierung von macOS-Systemdateien. Wenn die Verifizierung fehlschlägt, wird der Start angehalten und der Benutzer aufgefordert, das Betriebssystem neu zu installieren, bevor er fortfahren kann.

Hands-On

Mit dem Befehl diskutil apfs list lassen sich im Terminal die Stati der APFS-Volumes ausgeben. So sieht das Ganze für das Systemvolume aus:

MacBook mit Intel-Chip:

MacBook mit Apple M1 Chip (Arm-Chip) 

Um zu verstehen, warum hier das Seal broken ist, muss nachvollzogen werden, wie Big Sur das Sealed System Volume überhaupt erst erstellt.

Während der Systeminstallation wird das gesamte System auf dem System-Volume erstellt. Sobald die Installation abgeschlossen und durch SIP geschützt ist, erstellt das Installationsprogramm dann den Merkle Tree bis hin zum Siegel und macht einen Snapshot.

Es ist also nicht das System-Volume, das jetzt versiegelt ist, sondern dieser Snapshot. Das System-Volume selbst ist „not mounted“ und daher ist hier auch keine Versiegelung nötig. Der versiegelte Snapshot ist gemounted, versiegelt und nicht modifizierbar.

Team Enterprise Mobility Management

apple@spirit21.com

Wir unterstützten leidenschaftlich gerne Kunden dabei, ihr Apple Ökosystem bestmöglich zu verwalten und Kosten zu senken, indem Prozesse fortlaufend optimiert und automatisiert werden