Kontroll av säkerhetspolicyn för Startskiva för Mac-datorer med Apple Silicon
Översikt
Till skillnad från säkerhetspolicyer på Intel-baserade Mac-datorer kan Mac-datorer med Apple Silicon ha olika säkerhetspolicyer för varje installerat operativsystem. Detta innebär att det finns stöd för flera installerade macOS-instanser med olika versioner och säkerhetspolicyer på samma Mac. Därför har en operativsystemsväljare lagts till i Startsäkerhetsverktyg.
På Mac-datorer med Apple Silicon indikerar Systemsäkerhetsverktyg den allmänna, användarkonfigurerade säkerhetsstatusen för macOS, exempelvis start av ett kärntillägg eller konfigurationen av systemintegritetsskydd (SIP). Om en ändring av en säkerhetsinställning leder till kraftig försämring av säkerheten, eller gör systemet enklare att manipulera, måste användaren starta i recoveryOS genom att hålla in strömbrytaren (så att signalen inte kan utlösas av ett sabotageprogram utan endast av en människa med fysisk åtkomst till datorn) när ändringen ska utföras. Därför kräver Mac-datorer med Apple Silicon inte (och stöder inte) lösenord för fast programvara – alla kritiska ändringar skyddas redan av användarauktorisering. Mer information om systemintegritetsskyddet finns i Systemintegritetsskydd.
Full säkerhet och minskad säkerhet kan ställas in genom att använda Startsäkerhetsverktyg från recoveryOS. Tillåtande säkerhet är däremot endast tillgängligt via kommandoradsverktyg för användare som accepterar risken med att göra sin Mac-dator mycket mindre säker.
Policyn Full säkerhet
Förvalet är Full säkerhet och det beter sig som iOS och iPadOS. Istället för att använda den globala signaturen som följer med programvaran när programvara har hämtats och är klar för installation kontaktar macOS samma Apple-signeringsserver som används för iOS och iPadOS och begär en ny, unik signatur. En unik signatur skapas när ett ECID (Exclusive Chip Identification) – ett unikt ID som i det här fallet är specifikt för Apple-processorn – ingår som en del av en signeringsbegäran. Den signatur som levereras av signeringsservern är sedan unik och kan endast användas av just den aktuella Apple-processorn. När policyn Full säkerhet används säkerställer Boot ROM och LLB att en levererad signatur inte bara är signerad av Apple, utan också signerad för den aktuella Mac-datorn, vilket i praktiken binder den versionen av macOS till just den datorn.
Att använda en onlinesigneringsserver ger också bättre skydd mot nedgraderingsangrepp än typiska metoder för global signering. I ett globalt signeringssystem kan säkerhetsepoken ha uppdaterats flera gånger, men ett system som aldrig har sett den senaste fasta programvaran kommer inte att känna till detta. En dator som t.ex. tror att den befinner sig i säkerhetsepok 1 kommer att acceptera programvara från säkerhetsepok 2, även om den senaste säkerhetsepoken är 5. Med ett onlinesigneringssystem av den typ som används för Apple-kretsar kan signeringsservern vägra att skapa signaturer för programvara som inte tillhör den senaste säkerhetsepoken.
Om angripare upptäcker ett säkerhetshål efter att en säkerhetsepok har ändrats kan de dessutom inte helt enkelt hämta den sårbara programvaran från en tidigare epok från system A och använda det på system B för att kunna angripa det. Om den sårbara programvaran från en äldre epok är personligt anpassad till system A kan denna inte överföras och heller inte användas för ett angrepp på system B. Alla dessa mekanismer ger tillsammans en bättre garanti för att angripare inte aktivt ska kunna installera sårbar programvara på en Mac för att komma runt det skydd som den senaste programvaran tillhandahåller. En användare som har tillgång till användarnamn och lösenord för en administratör på datorn kan dock alltid välja den säkerhetspolicy som fungerar bäst för den aktuella användningssituationen.
Policyn Minskad säkerhet
Minskad säkerhet liknar beteendet för medelsäkerhet på Intel-baserade Mac-datorer med T2-krets där en leverantör (i det här fallet Apple) genererar en digital signatur för koden för att säkerställa att den kom från leverantören. Den här designen förhindrar att angripare matar in osignerad kod. Apple kallar den här signaturen för en ”global” signatur eftersom den kan användas på valfri Mac och under obegränsad tid för en Mac där policyn Minskad säkerhet har ställts in. Minskad säkerhet tillhandahåller i sig självt inte något skydd mot nedgraderingsangrepp (även om obehöriga operativsystemsändringar kan leda till att användardata blir otillgänglig). Mer information finns i Kärntillägg på Mac-datorer med Apple Silicon.
Utöver att göra det möjligt för användare att köra äldre versioner av macOS krävs minskad säkerhet för andra åtgärder som utsätter användarens systemsäkerhet för risker, exempelvis att introducera kärntillägg från tredje part. Kärntillägg har samma privilegier som kärnan, och därför kan eventuella svagheter i kärntillägg från tredje part leda till att hela operativsystemet äventyras. Det är därför utvecklare starkt rekommenderas att övergå till systemtillägg innan stöd för kärntillägg tas bort från macOS för framtida Mac-datorer med Apple Silicon. Även om kärntillägg från tredje part aktiveras kan de inte läsas in i kärnan på begäran. Istället har kärntilläggen slagits samman i en AuxKC (Auxiliary Kernel Collection) – vars hashvärde lagras i LocalPolicy – och kräver därför en omstart. Mer information om AuxKC-generering finns i Säker utökning av kärnan i macOS.
Policyn Tillåtande säkerhet
Tillåtande säkerhet kan användas av användare som accepterar risken att försätta sina Mac-datorer i ett mycket mer oskyddat läge. Det här läget skiljer sig från läget Ingen säkerhet på Intel-baserade Mac-datorer med T2-krets. Med tillåtande säkerhet utförs signaturverifiering fortfarande längs hela den säkra startkedjan, men att ställa in policyn till Tillåtande signalerar till iBoot att det ska acceptera lokala startobjekt som är Secure Enclave-signerade, exempelvis en användargenererad startkärnsamling byggd från en anpassad XNU-kärna. På så vis tillhandahåller tillåtande säkerhet också en arkitekturmiljö för körning av en slumpmässig ”fullständigt obetrodd operativsystemkärna”. När en anpassad startkärnsamling eller ett helt betrott operativsystem läses in i systemet slutar vissa avkrypteringsnycklar att vara tillgängliga. Det är utformat för att förhindra att helt obetrodda operativsystem får tillgång till data från betrodda operativsystem.
Viktigt: Apple tillhandahåller inte och stöder inte anpassade XNU-kärnor.
Tillåtande säkerhet skiljer sig också från Ingen säkerhet på Intel-baserade Mac-datorer med T2-krets på ett annat sätt: Det är en förutsättning för vissa säkerhetsnedgraderingar som förut har kunnat styras oberoende. Framförallt måste användare som avaktiverar systemintegritetsskydd (SIP) på Mac-datorer med Apple Silicon godkänna att de försätter systemet i Tillåtande säkerhet. Detta krävs eftersom avaktivering av systemintegritetsskyddet alltid har försatt systemet i ett läge som gör det mycket enklare att manipulera kärnan. Framförallt innebär en avaktivering av systemintegritetsskyddet på Mac-datorer med Apple Silicon att kravet på signering av extra kärntillägg vid AuxKC-generering avaktiveras, vilket gör det möjligt för slumpmässiga kärntillägg att läsas in i kärnans minne. En annan förbättring av systemintegritetsskyddet som har skett på Mac-datorer med Apple Silicon är att policylagringen har flyttats ut från NVRAM och in i LocalPolicy. Därför kräver avaktivering av systemintegritetsskyddet numera autentisering av en användare som har tillgång till signeringsnyckeln för LocalPolicy, och att det sker via recoveryOS som nås genom att användaren håller in strömbrytaren. Det gör det betydligt svårare för en angripare som endast attackerar programvara, och till och med en fysiskt närvarande angripare, att avaktivera SIP.
Det går inte att nedgradera till Tillåtande säkerhet via appen Startsäkerhetsverktyg. Användare kan nedgradera endast genom att köra kommandoradsverktyg via Terminal i recoveryOS, exempelvis csrutil
(för att avaktivera SIP). När en nedgradering har skett visas det i Startsäkerhetsverktyg, och en användare kan därför enkelt ställa in ett starkare säkerhetsläge.
Obs! Mac-datorer med Apple Silicon kräver inte och stöder inte heller en specifik mediestartpolicy eftersom alla starter rent tekniskt utförs lokalt. Om en användare väljer att starta från ett externt medium måste den operativsystemsversionen först anpassas genom användning av en autentiserad omstart från recoveryOS. Denna omstart skapar en LocalPolicy-fil på den interna enheten. Filen används till att utföra en betrodd start från det operativsystem som lagras på det externa mediet. Detta innebär att konfigurationen av start från ett externt medium alltid uttryckligen aktiveras per operativsystem och redan kräver användarauktorisering, så ingen extra säkerhetskonfiguration krävs.