Sicherheit von Peripherieprozessoren bei Mac-Computern
Alle modernen Computersysteme umfassen zahlreiche integrierte Peripherieprozessoren, die Aufgaben wie Netzwerkbetrieb, Grafikverarbeitung, Energieverwaltung und mehr übernehmen. Häufig dienen diese Peripherieprozessoren nur einem bestimmten Zweck und sind deutlich leistungsschwächer als die primäre CPU. Allerdings geraten integrierte Peripheriegeräte, die nicht genügend Sicherheit implementieren, ins Visier von Angreifern, die nach einfacheren Zielen suchen, um diese auszunutzen und das Betriebssystem dauerhaft zu infizieren. Ist die Firmware eines Peripherieprozessors erst einmal infiziert, könnte ein Angreifer die Software der primären CPU ansteuern oder auch direkt sensible Daten abgreifen (z. B. könnte ein Ethernetgerät den Inhalt von Paketen sehen, die nicht verschlüsselt sind).
Apple verfolgt das Ziel, die Anzahl erforderlicher Peripherieprozessoren (wann immer möglich) zu reduzieren und Designs, die Firmware erfordern, gänzlich zu vermeiden. Wenn allerdings separate Prozessoren mit eigener Firmware benötigt werden, wird durch entsprechende Maßnahmen sichergestellt, dass Angreifer sich auf diesem Prozessor nicht dauerhaft „einnisten“ können. Dies kann durch die Verifizierung des Prozessors erfolgen. Hierfür gibt es zwei Möglichkeiten:
Durch Ausführen des Prozessors in einem Modus, in dem er beim Starten geprüfte Firmware aus der primären CPU herunterlädt
Indem der Peripherieprozessor seinen eigenen sicheren Startvorgang implementiert, um bei jedem Starten des Mac-Computers die eigene Firmware zu überprüfen
Apple arbeitet mit Herstellern zusammen, um deren Implementierungen zu überprüfen und deren Designs mit gewünschten Eigenschaften zu erweitern, beispielsweise:
Sicherstellen eines Minimums an kryptografischer Stärke
Konsequentes Widerrufen von Firmware, die als schlecht bekannt ist
Deaktivieren von Debugging-Schnittstellen
Signieren der Firmware mit kryptografischen Schlüsseln, die in von Apple gesteuerten HSMs (Hardware Security Modules) gespeichert sind
In den letzten Jahren hat Apple mit einigen externen Anbietern zusammengearbeitet, damit die „Image4“-Datenstrukturen, der Bestätigungscode und die Signierungsinfrastruktur zum Einsatz kommen, die von Apple Chips genutzt werden.
Wenn weder der Betrieb ohne Speicher noch Speicher plus sicheres Starten eine Option ist, verlangt das Design, dass Firmware-Aktualisierungen kryptografisch signiert und überprüft werden, bevor der permanente Speicher aktualisiert werden kann.