Wat is XProtect?
XProtect is Apple's ingebouwde anti-malwaretechnologie die sinds Snow Leopard in 2009 deel uitmaakt van macOS. Het werkt als een op handtekeningen gebaseerd detectiesysteem, wat betekent dat het een database bijhoudt met bekende malwarehandtekeningen en bestanden tegen deze database controleert wanneer ze worden geopend, uitgevoerd of gewijzigd.
Het XProtect-systeem heeft vanaf macOS Ventura en later twee hoofdcomponenten. De eerste is XProtect zelf, dat op handtekeningen gebaseerde scans uitvoert wanneer je bestanden opent die van internet zijn gedownload of via andere quarantine-aware apps zijn ontvangen. Wanneer macOS een quarantine-vlag toepast op een gedownload bestand, wordt bij het openen van dat bestand een XProtect-scan gestart. Als het bestand overeenkomt met een bekende malwarehandtekening, blokkeert macOS het en verschijnt er een waarschuwing.
Het tweede onderdeel is XProtect Remediator, dat de oudere Malware Removal Tool heeft vervangen. XProtect Remediator voert periodieke scans op de achtergrond uit, niet alleen wanneer bestanden worden geopend, en kan malware detecteren en verwijderen die al op het systeem is geïnstalleerd. Dat is een flinke verbetering ten opzichte van de oorspronkelijke XProtect, die alleen bedreigingen kon blokkeren op het moment van eerste uitvoering. De scans van de remediator verlopen stil en vereisen geen interactie van de gebruiker.
Apple werkt XProtect-handtekeningen bij via een achtergrondproces dat losstaat van gewone macOS-systeemupdates. Deze updates voor handtekeningen worden geleverd via het mechanisme van Software Update en worden automatisch geïnstalleerd, zelfs als de gebruiker automatische updates voor grote macOS-versies heeft uitgeschakeld. Daardoor blijven de malwaredefinities van XProtect actueel zonder dat de gebruiker daar iets voor hoeft te doen.
De beperking van XProtect is inherent aan alle detectie op basis van handtekeningen: het kan alleen vinden wat het al kent. Als een nieuw type malware nog niet is geanalyseerd en toegevoegd aan Apple's handtekeningdatabase, detecteert XProtect het niet. Er zit altijd een periode tussen het moment waarop nieuwe malware in het wild verschijnt en het moment waarop Apple een bijgewerkte handtekening uitbrengt. XProtect voert ook geen gedragsanalyse of heuristische detectie uit: het markeert geen verdachte gedragspatronen, alleen bekende kwaadaardige codehandtekeningen.
Wat is Gatekeeper?
Gatekeeper is macOS' eerste verdedigingslinie wanneer je toepassingen opent, en richt zich op het verifiëren van vertrouwen in plaats van op malwaredetectie. Terwijl XProtect de vraag stelt of een bestand bekendstaat als kwaadaardig, stelt Gatekeeper een andere vraag: komt deze software van een bron die Apple heeft geverifieerd?
Wanneer je een toepassing downloadt en opent, controleert Gatekeeper twee dingen. Ten eerste verifieert het of de toepassing is ondertekend met een geldig Apple Developer ID-certificaat. Code signing koppelt de toepassing cryptografisch aan een geregistreerde ontwikkelaar, zodat vaststaat dat de software niet is aangepast sinds de ontwikkelaar haar heeft gebouwd. Als de handtekening ongeldig is of ontbreekt, blokkeert Gatekeeper de toepassing en waarschuwt het de gebruiker.
Ten tweede, voor toepassingen die buiten de Mac App Store worden verspreid, controleert Gatekeeper of de software door Apple is genotificeerd. We behandelen notarization in de volgende sectie uitgebreid, maar in wezen betekent het dat Apple's geautomatiseerde systemen de toepassing hebben gescand en hebben bevestigd dat er geen bekende malware of kwaadaardige onderdelen in zitten.
De macOS-beveiligingsinstellingen van Gatekeeper kun je configureren in Systeeminstellingen onder Privacy en beveiliging. De standaardinstelling staat toepassingen toe van de App Store en van geïdentificeerde ontwikkelaars. Er is niet langer een zichtbare optie om toepassingen overal toe te staan, en gebruikers die Gatekeeper voor een specifieke app willen omzeilen, moeten met de rechtermuisknop klikken en Open kiezen, of een terminalcommando gebruiken om Gatekeeper helemaal uit te schakelen, wat Apple sterk afraadt.
Het quarantainesysteem werkt samen met Gatekeeper. Wanneer je een bestand downloadt via een toepassing die rekening houdt met quarantaine, zoals Safari, Chrome, Mail, Berichten en de meeste populaire apps, voegt macOS een uitgebreid kenmerk toe aan het bestand met de naam com.apple.quarantine. Dit kenmerk activeert de controles van Gatekeeper wanneer je probeert het bestand te openen. Bestanden die binnenkomen via kanalen die geen rekening houden met quarantaine, zoals sommige command-line downloadtools of directe bestandskopieën, krijgen dit kenmerk mogelijk niet en activeren daardoor mogelijk geen Gatekeeper-controles. Dit is een bekende randgeval waar zowel gevorderde gebruikers als aanvallers zich bewust van zijn.
Hoe notarization het plaatje compleet maakt
Notarization is het nieuwste onderdeel van Apple's beveiligingstrio, geïntroduceerd in macOS Mojave en sinds macOS Catalina vereist voor alle software die buiten de Mac App Store wordt verspreid. Het overbrugt de kloof tussen code signing, waarmee wordt geverifieerd wie de software heeft gebouwd, en XProtect, dat controleert op bekende malware.
Het notarizationproces werkt zo: voordat een ontwikkelaar zijn toepassing verspreidt, uploadt hij die naar Apple's notarizationservice. Apple's geautomatiseerde systemen scannen de toepassing op bekende malware, controleren op problemen met code signing en verifiëren dat de toepassing goedgekeurde API's gebruikt en geen bekende kwaadaardige onderdelen bevat. Als de software deze controles doorstaat, geeft Apple een notarizationticket uit dat aan de toepassing wordt vastgemaakt of online beschikbaar wordt gemaakt. Dit proces duurt meestal maar een paar minuten.
Wanneer een gebruiker een genotificeerde toepassing opent, verifieert Gatekeeper het notarizationticket, ofwel via het vastgemaakte ticket dat aan de toepassing is gekoppeld, ofwel door Apple's servers online te controleren. Daarmee wordt bevestigd dat Apple's systemen de software hebben beoordeeld en op het moment van indiening geen problemen hebben gevonden. De gebruiker ziet een standaardbevestigingsvenster in plaats van een enge waarschuwing over een niet-geïdentificeerde ontwikkelaar.
Notarization is geen volledige beveiligingsbeoordeling. Apple's documentatie is daar duidelijk over: het is een geautomatiseerde scan, geen handmatige code review. Het controleert op bekende malwarehandtekeningen, valideert de code-signingketen en verifieert dat de app de hardened runtime gebruikt, die bepaalde mogelijk gevaarlijke mogelijkheden beperkt, zoals code-injectie en het kapen van dynamische bibliotheken. Maar het analyseert niet het gedrag van de toepassing tijdens runtime, bekijkt niet welke gegevens ze verzamelt, en evalueert niet welke netwerkverbindingen ze maakt.
Dat onderscheid is belangrijk, omdat notarization gebruikers een gevoel van zekerheid kan geven dat misleidend is. Een genotificeerde toepassing heeft Apple's geautomatiseerde controles doorstaan, maar kan nog steeds gedrag vertonen dat gebruikers afkeurenswaardig vinden, zoals agressieve gegevensverzameling, hardnekkige tracking, verbindingen met advertentienetwerken of telemetrie die gedetailleerde gebruiksgegevens naar servers van derden stuurt. Notarization bevestigt de afwezigheid van bekende malware, niet het aanwezig zijn van privacyvriendelijk gedrag. Dit is een van de belangrijkste hiaten in het macOS-beveiligingsmodel voor privacybewuste gebruikers.
Wat macOS-beveiliging NIET dekt
Inzicht in wat XProtect, Gatekeeper en Notarization niet afdekken is net zo belangrijk als begrijpen wat ze wel doen. Deze gaten zijn geen bugs of vergissingen, maar weerspiegelen de specifieke reikwijdte van elk hulpmiddel. Voor gebruikers die privacy en beveiliging belangrijk vinden, verder dan alleen basisbescherming tegen malware, zijn deze gaten echter aanzienlijk.
Uitgaande netwerkverbindingen worden door macOS-beveiligingsfuncties volledig niet gemonitord. XProtect controleert niet met welke servers je apps verbinding maken. Gatekeeper beoordeelt niet of een app gegevens naar advertentienetwerken verstuurt. Notarization bekijkt niet welke telemetrie een applicatie verzamelt. Zodra een app op je Mac draait, kan die uitgaande verbindingen maken met elke server op internet, en geen van Apple's ingebouwde macOS-beveiligingsfuncties markeert of blokkeert dat gedrag.
Het blokkeren van trackers en analytics maakt geen deel uit van het macOS-beveiligingsmodel. Een genotariseerde, code-ondertekende applicatie van een geverifieerde ontwikkelaar kan tracking via de Facebook SDK, Google Analytics, Mixpanel, Amplitude of elk ander analytics- of advertentieraamwerk bevatten. Deze verbindingen zijn geen malware. Het zijn bewuste functies die in de software zijn ingebouwd. macOS heeft geen mechanisme om ze te detecteren, te melden of te blokkeren.
Privacy-invasief gedrag van legitieme software valt volledig buiten de scope van deze bescherming. Een applicatie die de inhoud van je klembord leest, je bestandssysteemactiviteit binnen de machtigingen van de sandbox volgt, of gedetailleerde profielen van je gebruikspatronen opbouwt, overtreedt geen enkel macOS-beveiligingsbeleid zolang die binnen de toegekende rechten blijft werken. Het machtigingssysteem in macOS regelt toegang tot specifieke bronnen zoals de camera, microfoon en contacten, maar het regelt of monitort geen uitgaande gegevensoverdracht.
Nieuwe malware en zero-day malware hebben een venster voordat handtekeningen zijn bijgewerkt. Hoewel XProtect Remediator de reactietijd heeft verbeterd, is er altijd een periode waarin gloednieuwe bedreigingen nog niet worden gedetecteerd. Aanvallen via social engineering die gebruikers overtuigen Gatekeeper te omzeilen, een verontrustend veelgebruikte tactiek, maken de hele keten van code-ondertekening en notarization ineffectief omdat de gebruiker de bescherming expliciet heeft overschreven.
Deze gaten zijn niet theoretisch. Ze raken elke Mac-gebruiker, elke dag, via de applicaties die al zijn geïnstalleerd en vertrouwd.
De gaten dichten: controle over uitgaand verkeer
Het belangrijkste gat in macOS-beveiligingsfuncties is het ontbreken van monitoring en controle van uitgaand verkeer. Apple geeft je tools om te verifiëren dat software legitiem is voordat die wordt uitgevoerd, en tools om bekende malware te detecteren. Wat het je niet geeft, is een manier om te zien of te controleren wat je legitieme, genotariseerde, door Gatekeeper goedgekeurde applicaties doen met hun netwerkverbinding nadat ze draaien.
Daar komen applicatie-firewalls om de hoek kijken. In tegenstelling tot de ingebouwde macOS-firewall, die vooral inkomende verbindingen beheert en relatief basisfiltering heeft, monitort een firewall voor uitgaand verkeer elke verbinding die elke applicatie op je Mac probeert te maken met internet.
NetMute is speciaal voor deze leemte gebouwd. Wanneer een applicatie op je Mac probeert te verbinden met een server, of dat nu een legitieme contentserver is, een analytics-endpoint, een advertentienetwerk of een onbekend trackingdomein, onderschept NetMute de verbinding en laat het je precies zien wat er gebeurt. Je ziet de naam van de applicatie, de doelserver en hoe vaak de verbinding plaatsvindt. Van daaruit kun je elke verbinding met één klik toestaan of blokkeren.
Dit biedt een beschermingslaag die XProtect, Gatekeeper en Notarization nooit bedoeld waren te leveren. In plaats van te vragen of software schadelijk is, laat NetMute je een genuanceerdere en praktischere vraag stellen: maakt deze specifieke applicatie verbinding met servers waar ik me prettig bij voel? Een code-ondertekende, genotariseerde teksteditor die stilletjes toetsaanslag-analytics naar een server van een derde partij stuurt, is volgens elke definitie van Apple geen malware, maar het is gedrag dat de meeste gebruikers zouden willen blokkeren als ze het wisten.
De waarde van controle over uitgaand verkeer wordt meteen duidelijk zodra je het gebruikt. De meeste gebruikers staan versteld van het aantal verbindingen dat hun applicaties op de achtergrond maken, en van hoeveel daarvan naar domeinen gaan die zijn verbonden met tracking, advertenties en gegevensverzameling in plaats van met de kernfunctie van de applicatie.
NetMute is gratis te downloaden op netmute.com, met Premium als eenmalige in-app aankoop. Geen abonnement, geen account vereist. Het werkt naast de ingebouwde macOS-beveiligingsfuncties en vult precies het gat dat zij openlaten, door je inzicht en controle te geven over wat je applicaties de wereld in sturen.