Systemudvidelser i macOS

En Mac med macOS 10.15 eller en nyere version 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 robust administration vha. en tjeneste til enhedsadministration, 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 en tjeneste til enhedsadministration forhindre, at brugerne godkender indlæsning af deres egne systemudvidelser.

På en Mac med macOS 12.0.1 eller en nyere version omfatter dataene til systemudvidelser en ordbog, som kaldes RemovableSystemExtensions. Den giver administratoren af en tjeneste til enhedsadministration 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.

På en Mac med 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.

Kerneudvidelser

Hvis kerneudvidelser (kext’er) fra tredjeparter er slået til på en Mac med macOS 11 eller en nyere version, 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øj kext’er på en Intel-baseret Mac eller en Mac med Apple Silicon med macOS 11 eller en nyere version

Hvis du skal bruge kerneudvidelser, skal du gennemgå godkendelsesmetoderne baseret på tilmeldingsmetode.

Tilmeldingsmetode

Godkendelsesmetode

Ikke tilmeldt

Brugertilmelding

Når en ny kext installeres, og der gøres forsøg på at indlæse den, skal brugeren igangsætte en genstart fra advarslen i:

  • macOS 13 og nyere versioner: Apple > Systemindstillinger > Anonymitet og sikkerhed.

  • macOS 12.0.1 og tidligere versioner: Apple > Systemindstillinger > Sikkerhed & anonymitet.

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:

  • En lokal administratorkonto, fra advarslen i Anonymitet & sikkerhed i Systemindstillinger (macOS 13 og nyere versioner) eller Sikkerhed & anonymitet i Systemindstillinger (System Preferences) (macOS 12.0.1 og tidligere versioner). En tjeneste til enhedsadministration kan også tillade dette for standardbrugere.

  • Selve tjenesten til enhedsadministration vha. kommandoen RestartDevice med RebuildCache markeret med flag. AuxKC genopbygges, næste gang Mac-computeren starter. Kext’er, der allerede er registreret af macOS (f.eks. indlæst af deres software og blokeret), inkluderes, og tjenesten til enhedsadministration kan levere dem, der endnu ikke er gjort forsøg på at indlæse, vha. nøglen KextPaths.

Bemærk: Tjenesten til enhedsadministration skal først installere en profil med en liste over tilladte kext’er, der angiver kext’en. På en Mac med macOS 11.3 eller en nyere version kan tjenesten give brugerne besked om at gennemføre genstarten, når det passer dem.

Yderligere trin til at tilføje kext’er på en Mac med Apple Silicon

Hvis du tilføjer kerneudvidelser på en Mac med Apple Silicon, kræver det yderligere trin.

Tilmeldingsmetode

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 gendannelsessystemet 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 indstillingen “Tillad brugeradministration af kerneudvidelser fra kendte udviklere” og genstarte Mac-computeren.

Brugertilmelding

Brugeren skal genstarte i gendannelsessystemet for at nedgradere sikkerhedsindstillingerne. Brugeren skal trykke på afbryderknappen og holde den nede for at genstarte i gendannelsessystemet og blive godkendt 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-computeren.

Enhedstilmelding

Tjenesten til enhedsadministration skal give brugeren besked på at genstarte i gendannelsessystemet for at nedgradere sikkerhedsindstillingerne. Brugeren skal trykke på afbryderknappen og holde den nede for at genstarte i gendannelsessystemet og blive godkendt som en administrator. Secure Enclave accepterer kun en ændring af politikkerne, hvis afbryderknappen bliver holdt nede. Brugeren skal derefter vælge Reduceret sikkerhed, vælge “Tillad ekstern administration af kerneudvidelser og automatiske softwareopdateringer” og genstarte Mac-computeren.

Du kan se, om denne funktion understøttes til dine enheder, i dokumentationen fra udvikleren af din tjeneste til enhedsadministration.

Automatisk enhedstilmelding

(Mac-computerens serienummer skal vises i Apple School Manager eller Apple Business, og Mac-computeren skal tilmeldes en tjeneste til enhedsadministration, der er knyttet til Apple School Manager eller Apple Business).

Tjenester til enhedsadministration kan administrere dette automatisk.

Du kan se, om denne funktion understøttes til dine enheder, i dokumentationen fra udvikleren af din tjeneste til enhedsadministration.

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.

Publiceringsdato: 27. oktober 2021
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Nyttig?
Maks. antal tegn: 250
Maks. antal tegn er 250.
Tak for din feedback.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.