System- og kerneudvidelser i macOS
macOS 10.15 og nyere versioner giver udviklere mulighed for at udvide funktionerne i macOS ved at installere og administrere systemudvidelser, der afvikles i brugerområdet i stedet for på kerneniveau. Når systemudvidelserne afvikles i brugerområdet, øges macOS-computerens stabilitet og sikkerhed. Selvom fuld adgang til hele operativsystemet er indbygget i kext’er, får udvidelser, der afvikles i brugerområdet, kun de rettigheder, der er nødvendige for at de kan udføre deres angivne funktion.
Systemudvidelser understøtter fast styring vha. MDM, herunder mulighed for at tillade, at alle udvidelser fra en bestemt udvikler eller af en bestemt type (f.eks. netværksudvidelser) indlæses uden brugerinteraktion. Hvis det ønskes, kan MDM forhindre, at brugerne godkender indlæsningen af deres egne systemudvidelser.
I macOS 11.3 til macOS 11.6.4 påvirker ændringer af en systemudvidelsesprofil en udvidelsestilstand direkte. Hvis en udvidelse f.eks. afventer godkendelse, og der overføres en konfigurationsprofil, som tillader udvidelsen, bliver udvidelsen indlæst. Og hvis en godkendelse omvendt tilbagekaldes, bliver systemudvidelsen markeret til fjernelse ved næste genstart af Mac-computeren. Hvis en systemudvidelse forsøger at fjerne sig selv, vises en interaktiv dialog, som kræver en administrators godkendelsesoplysninger for at godkende fjernelsen.
I macOS 12.0.1 og nyere versioner omfatter data til systemudvidelser en ordbog, som kaldes RemovableSystemExtensions
. Den giver en MDM-administrator mulighed for at angive, hvilke apps der kan fjerne deres egne systemudvidelser. Fjernelse af systemudvidelserne kræver ikke godkendelse fra en lokal administrator. Det er særligt nyttigt for leverandører, som leverer automatiserede funktioner til afinstallering af deres apps.
Kerneudvidelser
I macOS 11 og nyere versioner gælder, at hvis kerneudvidelser (kext’er) fra tredjeparter er slået til, kan de ikke indlæses i kernen på anmodning. De kræver brugerens godkendelse og genstart af macOS for at indlæse ændringerne i kernen. De kræver også, at sikker start er indstillet til Reduceret sikkerhed på en Mac med Apple Silicon.
Udviklere kan bruge frameworks som DriverKit og NetworkExtension til at skrive USB-drivere og drivere til brugergrænsefladen, værktøjer til slutpunktssikkerhed (f.eks. agenter, der kan forebygge datatab, og andre slutpunktsagenter) og VPN- og netværksværktøjer – alt sammen uden at skulle skrive kext’er. Sikkerhedsagenter fra tredjeparter bør kun bruges, hvis de udnytter disse API’er eller har faste planer for, hvordan de vil gå over til dem og væk fra kerneudvidelser.
Vigtigt: Kext’er anbefales ikke længere til macOS. Kexts bringer operativsystemets integritet og driftssikkerhed i fare. Brugerne bør foretrække løsninger, der ikke kræver udvidelse af kernen, og i stedet bruge systemudvidelser.
Tilføjelse af kext’er på en Intel-baseret Mac eller en Mac med Apple Silicon med macOS 11 eller en nyere version
Hvis du bruger kerneudvidelser, skal du gennemgå godkendelsesmetoderne baseret på tilmeldingstype.
MDM-tilmeldingstype | Godkendelsesmetode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ikke tilmeldt Brugertilmelding | Når en ny kext installeres, og der gøres forsøg på at indlæse den, skal brugeren genstarte fra advarselsdialogen i:
Genstarten igangsætter genopbyggelsen af AuxKC, inden kernen startes. | ||||||||||
Enhedstilmelding Automatisk enhedstilmelding | Hver gang en ny kext installeres, og der gøres forsøg på at indlæse den, skal en genstart igangsættes af:
Bemærk: En profil med en liste med tilladte kext’er skal først installeres af den MDM-løsning, der anfører kext’en. I macOS 11.3 og nyere versioner kan MDM give brugerne besked om at gennemføre genstarten, når det passer dem. |
Yderligere trin til tilføjelse af kext’er på en Mac med Apple Silicon
Hvis du tilføjer kerneudvidelser på en Mac med Apple Silicon, kræver det tyderligere trin.
MDM-tilmeldingstype | Godkendelsesmetode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ikke tilmeldt | Brugeren skal genstarte i macOS-gendannelse for at nedgradere sikkerhedsindstillingerne, før kext’er kan administreres. Brugeren skal trykke på afbryderknappen og holde den nede for at genstarte i macOS-gendannelse og identificere sig som administrator. Secure Enclave accepterer kun en ændring af politikkerne, når der startes i gendannelsessystemet med et tryk på afbryderknappen. Brugeren skal derefter vælge afkrydsningsfeltet Reduceret sikkerhed og muligheden “Tillad brugeradministration af kerneudvidelser fra kendte udviklere” og genstarte Mac. | ||||||||||
Brugertilmelding | Brugeren skal genstarte i macOS-gendannelse for at nedgradere sikkerhedsindstillingerne. Brugeren skal trykke på afbryderknappen og holde den nede for at genstarte i gendannelsessystemet og identificere sig som en lokal administrator. Secure Enclave accepterer kun en ændring af politikkerne, når der startes i gendannelsessystemet med et tryk på afbryderknappen. Brugeren skal derefter vælge Reduceret sikkerhed, markere “Tillad brugeradministration af kerneudvidelser fra kendte udviklere” og genstarte Mac. | ||||||||||
Enhedstilmelding | MDM-løsningen skal give brugeren besked på at genstarte i macOS-gendannelse for at nedgradere sikkerhedsindstillingerne. Brugeren skal trykke på afbryderknappen og holde den nede for at genstarte i macOS-gendannelse og identificere sig som administrator. Secure Enclave accepterer kun en ændring af politikkerne, når der startes i gendannelsessystemet med et tryk på afbryderknappen. Brugeren skal derefter vælge Reduceret sikkerhed, markere “Tillad ekstern administration af kerneudvidelser og automatiske softwareopdateringer” og genstarte Mac. Du kan se, om denne funktion understøttes til dine enheder, i dokumentationen fra MDM-leverandøren. | ||||||||||
Automatisk enhedstilmelding (Mac-serienummeret skal vises i Apple School Manager, Apple Business Manager eller Apple Business Essentials, og Mac skal være tilmeldt en MDM-løsning, der er tilknyttet tjenesten.) | MDM-løsninger kan håndtere det automatisk. Du kan se, om denne funktion understøttes til dine enheder, i dokumentationen fra MDM-leverandøren. |
Kerneudvidelser med beskyttelse af systemets integritet
Hvis beskyttelse af systemets integritet er slået til, kontrolleres signaturen på hver kext, før den inkluderes i AuxKC.
Hvis beskyttelse af systemets integritet er slået fra, håndhæves kext-signaturen ikke.
Denne fremgangsmåde giver udviklere eller kunder, som ikke deltager i Apple Developer Program, mulighed for at bruge forløb med Tolerant sikkerhed til at teste kext’er, før de signeres.