Auf der WWDC-Konferenz im vergangenen Jahr kündigte Apple Pläne an, die macOS “Kernel Extensions” (KEXTs) abzuschaffen und durch einen neuen Mechanismus namens “System Extensions” zu ersetzen.”
Der erste Schritt zu dieser Ankündigung wurde mit der Veröffentlichung von macOS Catalina (10.15.0) im September 2019 gemacht, als neben den Kernel Extensions auch System Extensions eingeführt wurden.
Der letzte Schritt von Apples Plan wird in den kommenden Wochen in Kraft treten, mit der bevorstehenden Veröffentlichung von macOS Catalina 10.15.4.
Gemäß Apple wird ab macOS 10.15.4 wird die Verwendung von Kernel-Erweiterungen eine Benachrichtigung an den Benutzer auslösen, dass die Software eine veraltete API enthält und den Benutzer auffordern, den Entwickler für Alternativen zu kontaktieren.
Was ist der Unterschied zwischen den beiden?
Beide, Kernel-Erweiterungen und System-Erweiterungen, dienen dem gleichen Zweck. Sie ermöglichen es Benutzern, Apps zu installieren, die die nativen Fähigkeiten des macOS-Betriebssystems erweitern.
Apps installieren Kernel-/Systemerweiterungen, die es ihnen ermöglichen, Vorgänge auszuführen, für die macOS keine nativen Features oder Funktionen hat.
Mac-Antivirensoftware, Firewalls, VPN-Clients, DNS-Proxys, USB-Treiber und andere nutzen alle Kernel-Erweiterungen.
Der Unterschied zwischen diesen beiden neuen Erweiterungssystemen besteht darin, dass die älteren Kernel-Erweiterungen ihren Code auf der macOS-Kernel-Ebene ausführen, während die neueren System-Erweiterungen in einem stärker kontrollierten Benutzerbereich laufen.
Großer Schritt für die Sicherheit
“Aus Apples Sicht ist dies ein großer Schritt zur Verbesserung der Sicherheit von macOS”, sagte Patrick Wardle, Principal Security Researcher bei Jamf und ein bekannter macOS-Sicherheitsexperte, diese Woche in einem Interview mit ZDNet.
“Kernel-Erweiterungen von Drittanbietern stellen für Angreifer, die es auf macOS abgesehen haben, einen saftigen Angriffsvektor dar”, fügte er hinzu. “Vor allem, wenn man als Angreifer eine Kernel-Erweiterung ausnutzen oder seine eigene laden kann (vorausgesetzt, sie ist signiert).”
Und Angriffe mit KEXTs sind in der Vergangenheit schon vorgekommen.
“Es ist wirklich Game Over für macOS”, sagte Wardle. “
Wardle sagt, dass ein Angriff wie dieser nicht mit Systemerweiterungen funktionieren würde, da sie im Benutzermodus laufen.
“Da sie nicht im Kernel laufen, kann man mit einem Exploit nicht mehr auf den Kernel-Modus zugreifen, wie es bei einem KEXT-Exploit der Fall war”, sagt Wardle.
“Also will Apple im Grunde jeden rausschmeißen, hauptsächlich aus Sicherheitsgründen.”
Potenzielle Nachteile
Doch Wardle sagt, dass es auch einen Nachteil bei diesem Schritt gibt.
Der erste ist, dass Apple durch den Rauswurf von App-Entwicklern aus dem Kernel auch viel mehr Kontrolle über macOS gewinnt, ähnlich der Kontrolle, die sie über iOS haben.
Bis jetzt war macOS ein Zufluchtsort für Entwickler und seine Nutzer. Wenn macOS eine bestimmte Funktion nicht hatte, konnten Entwickler einfach eine App erstellen und eine Kernel-Erweiterung nutzen, um die benötigten Funktionen hinzuzufügen.
Der zweite Nachteil ist, dass viele Sicherheitstools selbst sich stark auf den vollen Zugriff der Kernel-Erweiterungen auf den Mac eines Benutzers verlassen haben und darauf aufgebaut wurden. Man könnte argumentieren, dass Apples Schritt in Richtung Systemerweiterungen dazu führen könnte, dass Sicherheitsprodukte kastriert werden, die dadurch einen Teil ihrer Fähigkeit verlieren, Malware zu erkennen und zu stoppen.
Wardle, der Autor vieler kostenloser macOS-Sicherheitstools, sagt jedoch, dass Apple “einige großartige Frameworks für den Benutzermodus bereitgestellt hat, die Sicherheitstools von Drittanbietern die benötigten Funktionen bieten”, so dass es den Anschein hat, dass Apple den Ast, auf dem es sitzt, noch nicht abschneidet.
Aber vorerst ist unklar, ob Systemerweiterungen die gleiche Vielseitigkeit und Programmierfreiheit wie Kernel-Erweiterungen bieten würden. Dies bleibt abzuwarten – und ist ein Thema für einen anderen Artikel – da wir mehr Zeit brauchen, damit macOS-Entwickler langsam auf Systemerweiterungen umsteigen können.
Wardle weist jedoch darauf hin, dass der Schritt für die macOS-Sicherheit insgesamt gut ist, unabhängig von anderen möglichen Gründen für Apples Schritt.