Sicherheit beim DriverKit für macOS
DriverKit ist das Framework, mit dessen Hilfe Entwickler die Gerätetreiber erstellen können, die der Benutzer auf seinem Mac-Computer installiert. Mit DriverKit erstellte Treiber werden im Benutzerspeicherplatz, und nicht als Kernel-Erweiterungen ausgeführt. Dadurch erhöhen sich Sicherheit und Stabilität des Systems. Dies vereinfacht die Installation und erhöht zugleich die Stabilität und die Sicherheit von macOS.
Der Benutzer muss die App nur herunterladen – bei Verwendung von Systemerweiterungen oder DriverKit entfällt die Notwendigkeit für Installationsprogramme. Die Erweiterung wird nur aktiviert, wenn sie explizit angefordert wird. In vielen Fällen können dadurch kexts ersetzt werden, für die installierte Administratorrechte in „/System/Library“ oder „/Library“ notwendig sind.
IT-Administratoren, die Gerätetreiber, Cloud-Speicherlösungen, Netzwerkfunktionen und Sicherheits-Apps verwenden, die Kernel-Erweiterungen benötigen, wird der Umstieg auf neuere, auf Systemerweiterungen aufbauende Versionen empfohlen. Diese neuen Versionen reduzieren die Wahrscheinlichkeit von kritischen Kernel-Situationen auf dem Mac in ganz erheblichem Umfang, da sie auch die Angriffsfläche reduzieren. Diese neuen Erweiterungen werden im Benutzerspeicherbereich ausgeführt, sie erfordern für die Installation keine speziellen Berechtigungen und sie werden automatisch entfernt, wenn die zugehörige App in den Papierkorb bewegt wird.
Das DriverKit-Framework umfasst C++-Klassen für E/A-Dienste, für den Geräteabgleich, für Speicherdeskriptoren und für Dispatch-Warteschlangen. Es definiert außerdem die E/A-geeigneten Typen für Zahlungen, Sammlungen, Zeichenfolgen (Strings) und andere gebräuchliche Typen. Benutzer können sie mithilfe familienspezifischer Treiber-Frameworks wie USBDriverKit und HIDDriverKit verwenden. Das Framework für Systemerweiterungen kann verwendet werden, um einen Treiber oder ein Upgrade für einen Treiber zu installieren.