Apple schaft macOS-kerneluitbreidingen (KEXT’s) af en dat is een grote overwinning voor de beveiliging

macOS Macbook Apple
Afbeelding: Bundo Kim

Tijdens de WWDC-conferentie van vorig jaar kondigde Apple plannen aan om macOS “kernel extensions” (KEXT’s) af te schaffen en te vervangen door een nieuw mechanisme genaamd “systeemextensies.”

De eerste stap naar deze aankondiging werd gezet met de release van macOS Catalina (10.15.0) in september 2019, toen systeemextensies naast kernel extensies werden geïntroduceerd.

De laatste stap van Apple’s plan zal in de komende weken in werking treden, met de aanstaande release van macOS Catalina 10.15.4.

Volgens Apple zal vanaf macOS 10.15.4, zal het gebruik van kernel-extensies een melding aan de gebruiker veroorzaken dat de software een afgeschreven API bevat en zal de gebruiker worden gevraagd contact op te nemen met de ontwikkelaar voor alternatieven.

Wat is het verschil tussen de twee?

Zowel kernel-extensies als systeemextensies dienen hetzelfde doel. Ze stellen gebruikers in staat om apps te installeren die de native mogelijkheden van het macOS-besturingssysteem uitbreiden.

Apps installeren kernel-/systeemextensies waarmee ze bewerkingen kunnen uitvoeren waarvoor macOS geen native kenmerken of functies heeft.

Mac-antivirussoftware, firewalls, VPN-clients, DNS-proxies, USB-stuurprogramma’s en anderen maken allemaal gebruik van kernel-extensies.

Het verschil tussen deze twee nieuwe extensiesystemen is dat de oudere kernel-extensies hun code uitvoeren op macOS-kernelniveau, terwijl de nieuwere systeemextensies in een meer streng gecontroleerde gebruikersruimte draaien.

Grote zet voor beveiliging

“Vanuit het oogpunt van Apple is dit een belangrijke stap in de richting van verbetering van de beveiliging van macOS,” vertelde Patrick Wardle, Principal Security Researcher bij Jamf, en een bekende macOS-beveiligingsexpert, deze week aan ZDNet in een interview.

“Kernel-extensies van derden vormen inderdaad een sappige aanvalsvector voor aanvallers die zich richten op macOS,” voegde hij eraan toe. “Vooral als je als aanvaller een kernel-extensie kunt exploiteren, of je eigen extensie kunt laden (ervan uitgaande dat deze is ondertekend).”

En aanvallen waarbij KEXT’s zijn betrokken, zijn in het verleden gebeurd.

“Het is echt game over voor macOS,” zei Wardle. “Veel beveiligingsmechanismen zijn geïmplementeerd/versterkt in de kernel.”

Wardle zegt dat een aanval als deze niet zou werken met systeemextensies, omdat ze in de gebruikersmodus draaien.

“Omdat ze niet in de kernel draaien, geeft een exploit je geen toegang meer tot de kernelmodus, zoals het deed met een KEXT-exploit,” zei Wardle.

“Dus Apple wil eigenlijk iedereen eruit schoppen , grotendeels om veiligheidsredenen.”

Potentiële keerzijden

Hoch, Wardle zegt dat er ook een keerzijde is aan deze stap.

De eerste is dat door app-ontwikkelaars uit de kernel te schoppen, Apple ook veel meer controle krijgt over macOS, vergelijkbaar met de controle die ze hebben over iOS.

Tot nu toe was macOS een toevluchtsoord voor ontwikkelaars en zijn gebruikers. Als macOS een bepaalde functie niet had, konden ontwikkelaars gewoon een programma maken en een kernel-extensie gebruiken om de functies toe te voegen die ze nodig hadden.

Het tweede nadeel is dat veel beveiligingsprogramma’s zelf sterk hebben vertrouwd op en zijn gebouwd rond de volledige toegang die kernel-extensies bieden tot de Mac van een gebruiker. Men zou kunnen aanvoeren dat Apple’s stap in de richting van systeemextensies uiteindelijk zou kunnen leiden tot een neutralisatie van beveiligingsproducten, die een deel van hun vermogen om malware te detecteren en te stoppen, zullen verliezen.

Hoch, Wardle, die de auteur is van veel gratis macOS-beveiligingstools, zegt dat Apple heeft voorzien in “een aantal geweldige user-mode frameworks die 3rd-party beveiligingstools de mogelijkheden bieden die ze nodig hebben,” dus het lijkt erop dat Apple de tak niet onder zijn voeten heeft weggesneden, gewoon nog niet.

Maar vooralsnog is het onduidelijk of systeemextensies dezelfde veelzijdigheid en coderingsvrijheid zouden bieden als kernel-extensies. Dit valt nog te bezien – en is een onderwerp voor een ander artikel – aangezien we meer tijd nodig hebben voor macOS-ontwikkelaars om langzaam de overstap te maken naar systeemextensies in de toekomst.

Hoe dan ook, Wardle wijst erop dat de stap een goede is voor macOS-beveiliging, over het algemeen, ongeacht andere mogelijke redenen voor Apple’s stap.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.