Dieses Library Item ist für Mac-Computer verfügbar
Was ist eine Systemerweiterung?
Systemerweiterungen sind der moderne Ersatz für Kernel-Erweiterungen (kexts) in macOS. Mit Systemerweiterungen stellt Apple Entwicklern neue Frameworks bereit, um Aufgaben auszuführen, die zuvor kexts vorbehalten waren. Der Hauptvorteil von Systemerweiterungen besteht darin, dass sie im User Space statt im Kernel Space ausgeführt werden und somit die integrierte Sicherheit oder Stabilität von macOS nicht gefährden können. Obwohl kexts weiterhin funktionieren, hat Apple bestimmte Typen als veraltet eingestuft, und Entwickler sollten ihre kexts auf Systemerweiterungen migrieren, sobald entsprechende Frameworks verfügbar sind. Derzeit gibt es drei neue Systemerweiterungs-Frameworks als Ersatz für kexts:- DriverKit: Erstellen Sie Treiber für USB-, serielle, NIC- und HID-Geräte. Weitere Informationen zu DriverKit.
- Network Extensions: Verteilen Sie Netzwerkerweiterungs-Apps wie Inhaltsfilter, DNS-Proxys und VPN-Clients als Systemerweiterungen. Weitere Informationen zu NetworkExtension.
- Endpoint Security: Überwachen und blockieren Sie Systemereignisse mit der EndpointSecurity-API, um Sicherheitsrichtlinien einzuhalten und vor schädlichen Aktivitäten zu schützen. Weitere Informationen zu Endpoint Security
Weitere Informationen
Kernel Extensions Overview – Apple Developer Documentation Archive System Extensions – Apple DeveloperWas ist eine Kernel-Erweiterung?
Kernel-Erweiterungen, manchmal auch kexts genannt, ermöglichen es Entwicklern, Code dynamisch in den macOS-Kernel zu laden. Sie bieten Zugriff auf interne Kernel-Schnittstellen, die es komplexen Apps ermöglichen, ordnungsgemäß zu funktionieren. Beispiele sind Virtualisierungsanwendungen und Hypervisoren wie Parallels oder VMware Fusion.Der Unterschied zwischen Kernel-Erweiterungen und Systemerweiterungen
Wenn Sie nicht sicher sind, ob eine Software eine Systemerweiterung oder eine kext verwendet, gibt es mehrere Möglichkeiten, dies herauszufinden:- Wenden Sie sich an den Softwarehersteller
- Führen Sie nach der Installation Ihrer Software den folgenden Befehl aus, um alle aktiven Systemerweiterungen aufzulisten. Wenn keine Systemerweiterungen aufgeführt werden, verwendet die Software wahrscheinlich eine Legacy-kext
systemextensionsctl-list.sh
terminal-output.txt
systemextensionsctl-with-extensions.txt
Ein Systemerweiterungsprofil erstellen
Führen Sie die folgenden Schritte aus, um in Iru Endpoint ein Systemerweiterungsprofil zu erstellen, das die Systemerweiterung(en) einer Anwendung vorab genehmigt. Um dieses Library Item zu Ihrer Iru Endpoint Library hinzuzufügen, folgen Sie den im Artikel Library-Übersicht beschriebenen Schritten.1
Profil benennen
Geben Sie Ihrem neuen Profil einen aussagekräftigen Namen, z. B. System Extension Allowance.
2
Blueprints auswählen
Wählen Sie die vorgesehenen Blueprints aus.
3
Benutzergenehmigung konfigurieren
Optional: Wenn Sie Allow users to approve system extensions deaktivieren, wird verhindert, dass alle Benutzer auf dem Mac, einschließlich lokaler Administratoren, zusätzliche Systemerweiterungen genehmigen, die nicht über ein Profil genehmigt wurden. Mit dieser Option werden außerdem alle Systemerweiterungen abgelehnt, die ein Benutzer zuvor genehmigt hat.
4
Team ID eingeben
Geben Sie die Team ID ein; dies ist die Kennung in der dritten Spalte der Terminal-Ausgabe, die durch den oben beschriebenen Befehl systemextensionsctl list erzeugt wird.
5
Namen angeben
Geben Sie optional einen Name an, der der Team ID zugeordnet werden soll.
6
Systemerweiterungen konfigurieren
Im Abschnitt System Extensions können Sie optional den Standardwert von Approve all system extensions ändern. Wenn Sie diese Option auf der Standardeinstellung belassen, werden alle Systemerweiterungen der angegebenen Team ID vorab genehmigt. Optional können Sie diese Option auf einen der folgenden Werte setzen:
- Allow specific system extensions: Ermöglicht es Ihnen, die genaue Bundle-ID der bestimmten Systemerweiterung anzugeben, die Sie genehmigen möchten; verwenden Sie die Bundle-ID, die durch den oben beschriebenen Befehl systemextensionsctl list erzeugt wird. Optional können Sie außerdem konfigurieren, dass eine oder mehrere dieser bestimmten Erweiterungen automatisch durch Admin-Tools wie Iru Endpoint oder ein vom Anbieter bereitgestelltes Paket entfernt werden können.
- Allow specific system extension types: Ermöglicht es Ihnen, Systemerweiterungstypen eines Entwicklers anzugeben, die vorab genehmigt werden sollen, z. B. Endpoint-Security-Erweiterungen, Treibererweiterungen oder Netzwerkerweiterungen. In unserem Symantec-Beispiel würden wir den Typ Endpoint security extensions genehmigen, da dieser dem Erweiterungstyp entspricht, der durch den oben beschriebenen Befehl systemextensionsctl list erzeugt wird.
7
Weitere Team IDs hinzufügen
Optional können Sie die Schaltfläche Add Team ID wählen, um zusätzliche Systemerweiterungen in einem einzigen Profil zuzulassen.
8
Konfiguration speichern
Wählen Sie Speichern.