
Systemutvidelser i macOS
Macer med macOS 10.15 eller nyere lar utviklere utvide mulighetene i macOS ved å installere og administrere systemutvidelser som kjøres i brukerområdet i stedet for på kjernenivå. Ved å kjøre i brukerområdet øker systemutvidelsene stabiliteten og sikkerheten i macOS. Selv om kext-er i seg selv har fullstendig tilgang til hele operativsystemet, får utvidelsene som kjøres i brukerområdet, kun rettighetene som er nødvendige for å utføre den spesifiserte oppgaven.
Systemutvidelser støtter robust administrasjon med en tjeneste for enhetsadministrering, inkludert muligheten til å tillate at alle utvidelser fra en bestemt utvikler eller en bestemt type (som nettverksutvidelser) lastes inn uten brukermedvirkning. En tjeneste for enhetsadministrering kan også forhindre at brukere godkjenner sine egne systemutvidelser for innlasting.
For Macer med macOS 12.0.1 og nyere tillater en ordbok i System Extensions-nyttelasten – kalt RemovableSystemExtensions
– at en administrator for en tjeneste for enhetsadministrering kan spesifisere hvilke apper som har lov til å fjerne sine egne systemutvidelser. Det kreves ingen autentisering av en lokal administrator for å fjerne systemutvidelsene. Dette er ekstra nyttig for leverandører som tilbyr automatisk avinstallering av appene sine.
For Macer med macOS 11.3 til macOS 11.6.4 vil endringer som gjøres i en systemutvidelsesprofil, påvirke tilstanden til en utvidelse. Hvis for eksempel en utvidelse venter på godkjenning og det rulles ut en konfigurasjonsprofil som tillater utvidelsen, vil utvidelsen kunne lastes inn. Hvis en godkjenning trekkes tilbake, vil systemutvidelsen lastes ut og merkes for fjerning neste gang Macen startes på nytt. Hvis en systemutvidelse prøver å laste seg ut selv, vises en interaktiv dialogrute der administratoren må logge seg inn for å godkjenne utlastingen.
Kjerneutvidelser
For Macer med macOS 11 eller nyere kan ikke eventuelle aktiverte kjerneutvidelser (kext-er) fra tredjeparter lastes inn i kjernen ved behov. De krever brukerens godkjenning og omstart av macOS for å laste endringene inn i kjernen, og de krever også at den sikre oppstarten konfigureres til Redusert sikkerhet på Macer med Apple-chip.
Utviklere kan bruke rammeverk som DriverKit og NetworkExtension til å skrive USB- og grensesnittdrivere, endepunktsikkerhetsverktøy (som forhindring av tap av data eller andre endepunktagenter), og VPN- og nettverksverktøy – helt uten å måtte skrive kjerneutvidelser. Sikkerhetsagenter fra tredjeparter skal kun brukes hvis de drar nytte av disse API-ene eller har en solid plan for overgangen til dem og bort fra kjerneutvidelsene.
Viktig: Kext-er anbefales ikke lenger for macOS. Kext-er risikerer integriteten og påliteligheten til operativsystemet. Brukere bør derfor foretrekke løsninger som ikke krever utvidelser av kjernen, og bruke systemutvidelser i stedet.
Legge til kext-er på Macer (Intel-baserte eller med Apple-chip) med macOS 11 eller nyere
Hvis du må bruke kjerneutvidelser, må du lese gjennom godkjenningsmetodene basert på registreringsmetode.
Registreringsmetode | Godkjenningsmetode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ikke registrert Brukerregistrering | Når en ny kext er installert og skal lastes inn, må en omstart utføres av brukeren fra advarselen i:
Denne omstarten starter gjenoppbyggingen av AuxKC før kjerneoppstarten. | ||||||||||
Enhetsregistrering Automatisert enhetsregistrering | Hver gang en ny kext er installert og den skal lastes inn, må en omstart settes i gang av enten:
Merk: Tjenesten for enhetsadministrering må først installere en kext-tillatelseslisteprofil som spesifiserer kext-en. Macer med macOS 11.3 eller nyere lar også tjenesten varsle brukeren om å gjennomføre omstarten på et passende tidspunkt. |
Ekstra trinn for å legge til kext-er på Macer med Apple-chip
Hvis du legger til kjerneutvidelser på en Mac med Apple-chip, må du gjennom ekstra trinn.
Registreringsmetode | Godkjenningsmetode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ikke registrert | Kext-administrering av brukeren krever en omstart til recoveryOS for å nedgradere sikkerhetsinnstillingene. Brukeren må holde nede av/på-knappen for å starte på nytt i recoveryOS og autentisere som en administrator. Det er bare når recoveryOS åpnes ved hjelp av Av/på-knappen at Secure Enclave godtar endringer i kriterier. Brukeren må deretter markere avkrysningsruten for Redusert sikkerhet og valget «Tillat brukeradministrering av kjerneutvidelser fra identifiserte utviklere» og starte Macen på nytt. | ||||||||||
Brukerregistrering | Brukeren må starte på nytt i recoveryOS for å nedgradere sikkerhetsinnstillingene. Brukeren må holde nede av/på-knappen for å starte på nytt i recoveryOS, og deretter autentisere som lokal administrator. Det er bare når recoveryOS åpnes ved hjelp av Av/på-knappen at Secure Enclave godtar endringer i kriterier. Brukeren må deretter velge Redusert sikkerhet, markere avkrysningsruten «Tillat brukeradministrering av kjerneutvidelser fra identifiserte utviklere» og starte Macen på nytt. | ||||||||||
Enhetsregistrering | Tjenesten for enhetsadministrering må varsle brukerne om at de må starte på nytt i recoveryOS for å nedgradere sikkerhetsinnstillingene. Brukeren må holde nede av/på-knappen for å starte på nytt i recoveryOS og autentisere som en administrator. Det er bare ved hjelp av av/på-knappen at Secure Enclave godtar endringer i kriterier. Brukeren må deretter velge Redusert sikkerhet, markere avkrysningsruten «Tillat ekstern administrering av kjerneutvidelser og automatiske programvareoppdateringer» og starte Macen på nytt. Slå opp i utviklerens dokumentasjon for tjenesten for enhetsadministrering hvis du vil finne ut om denne funksjonen støttes for enhetene dine. | ||||||||||
Automatisert enhetsregistrering (Macens serienummer må vises i Apple School Manager eller Apple Business Manager, og Macen må registreres i en tjeneste for enhetsadministrering som er koblet til Apple School Manager eller Apple Business Manager.) | Tjenester for enhetsadministrering kan administrere dette automatisk. Slå opp i utviklerens dokumentasjon for tjenesten for enhetsadministrering hvis du vil finne ut om denne funksjonen støttes for enhetene dine. |
Kjerneutvidelser med System Integrity Protection
Hvis System Integrity Protection (SIP) er aktivert, verifiseres signaturen for hver kext før den blir inkludert i AuxKC.
Hvis SIP er deaktivert, håndheves ikke kext-signaturen.
Denne tilnærmingen tillater Middels sikkerhet-flyter for utviklere eller brukere som ikke er en del av Apple Developer Program, slik at de kan teste kext-er før de signeres.