In den Tiefen von macOS Sonoma: Hinweise auf die Zukunft von VMs und mehr
Seit der Einführung von Touch ID beim iPhone 5S im Jahr 2013 verwendet Apple einen abgesonderten Bereich in seinen Chips, um biometrische und kryptografische Informationen vom restlichen System zu trennen. Er ist mit einem eigenständigen Betriebssystem und besonderen Hardware-Eigenschaften ausgestattet, um die dort gesicherten Informationen zusätzlich zu schützen. Apple gab ihm den Namen „Secure Enclave“ und brachte sie auch auf den Mac, zuerst in Form von T-Koprozessoren, dann als Teil der M-Chips. In macOS 14 tauchten erste Kernel-Erweiterungen auf, die eine konzeptuelle Nähe vermuten lassen. Sie tragen „Exclave“ im Namen und stehen im Zusammenhang mit dem Secure Element, Audio-Erweiterungen sowie Spracherkennung. Dies stellte Howard Oakley bei der
Analyse neuester macOS-Updates sowie des Open-Source-Kernels fest.
Logische Benennungskonstrukte erfreuen sich großer Beliebtheit bei Programmierern. Sie etablieren eine nachvollziehbare Struktur, die Kollegen die eigene Arbeit verständlich machen. Auf diese Weise lassen sich mit überschaubarem Aufwand wiedererkennbare Konzepte etablieren. Ein solches scheint gerade bei Kernel-Erweiterungen und Frameworks zu entstehen: macOS 14.0 brachte „ExclaveKextClient.kext“. Mit macOS 14.6.1 folgten „ExclaveSEPManagerProxy“ sowie „ExclavesAudioKext“. Dazu gesellten sich die (privaten) Frameworks „CoreSpeechExclave“ sowie „libmalloc_exclaves_introspector“.
Keine offizielle DokumentationOakley fand in Apples Open-Source-Kernel
XNU zudem Hinweise auf ein weiteres Konstrukt, welches in diesem Zusammenhang fällt: Conclave. Die üblichen Begriffsnutzungen der aus dem Lateinischen stammenden Begriffe gibt Anhaltspunkte, wie die drei Schlüsselbegriffe zusammenspielen: Eine Enklave ist ein vollständig von einem anderen Land umgebener Staat. Sie hat also weder Kontakt zu einem zweiten Staat noch zum Meer. Das beschreibt das Konzept der „Secure Enclave“ sehr gut: Kontakt zu ihr ist nur mittelbar möglich, ein direktes Auslesen und Verändern wird verhindert.
Exclave …Eine Exklave beschreibt wiederum ein Außengebiet eines Staats, zu dem keine direkte Verbindung auf dem Land- oder Seeweg besteht. West-Berlin stellte bis 1990 eine Exklave der Bundesrepublik. Hiermit könnte Apple also ein Konzept beschreiben, mit dem aus der Secure Enclave heraus ein Ableger in unsicherem Territorium entsteht. Der Name „Exclave SEPManagerProxy“ lässt solcherlei vermuten – Oakley sieht einen Zusammenhang zur Apple-ID-Anmeldung in Virtuellen Maschinen (VMs), die in macOS 15 (Sequoia) erstmals möglich ist. Die Erwähnung von Audiokomponenten weist auf einen weiteren Sicherheitsmechanismus hin, den Apple seit macOS 14 stringent durchsetzt, nämlich der starken Einschränkung von Kernel-Erweiterungen von Drittherstellern. Zukünftig müssen Hardware-Hersteller Zusatzfunktionen im Userspace umsetzen – Exclaves könnten dafür die passenden Schnittstellen bereitstellen.
… und ConclaveDer dritte Begriff wird nicht mit Sonderformen geografischer Landesausdehnungen verwendet, sondern eher für Besprechungen unter Ausschluss der Öffentlichkeit. Die Verwendung dieses Begriffs spiegelt sich nicht in Kernel-Erweiterungen oder Frameworks wider; stattdessen versteht Oakley die Kommentare im XNU-Kernel so, dass eine Exclave einen definierten Ressourcenumfang für einen Conclave-Manager bereitstellen – oder alternativ Dienste für Apple-IDs in VMs, benannte Puffer oder Audiopuffer. Obendrein bestehe eine Verbindung zur Neural-Engine über die Kernel-Erweiterung „ExclavesAudioKext“. Vieles bliebe jedoch im Unklaren, da eine offizielle Dokumentation bisher fehle.