Hva er System Integrity Protection på macOS?

Hva er System Integrity Protection på macOS?

Det er en del spesielle funksjoner som bidrar til å gjøre macOS til et veldig sikkert operativsystem, og System Integrity Protection (SIP) er en av dem. Helt siden El Capitan kom i 2015 har SIP som standard beskyttet systemfilene på alle Mac-maskiner. Hva er egentlig denne hemmelighetsfulle teknologien?

Opprinnelse

For å skjønne opprinnelsen til System Integrity Protection, og hvorfor det er nødvendig, må vi gå litt tilbake i operativsystemhistorien. På operativsystemer i Unix-familien, eller operativsystemer som har mange likheter til disse (gjerne kalt Unix-liknende) har det vært vanlig med det som kalles superbruker eller rotbruker. Dette er en bruker som har alle tillatelser på systemet, og som kan endre alle filer, også systemfiler, ikke ulikt administratorkontoer på Windows, selv om disse virker på en annen måte.

Som du kanskje har gjettet tilhører macOS denne kategorien av operativsystemer (Unix-familien), sammen med blant annet Linux (Unix-liknende operativsystemer), og har dermed en skjult superbruker, med navn «root». Brukere med administratortilgang har mulighet til å kjøre programmer som root (vanligvis ved å skrive inn passordet sitt), og disse programmene har dermed tilgang til filer på beskyttede steder, inkludert systemfiler. Dette kan kanskje være praktisk i tilfeller der programmer trenger å installere drivere og systemtillegg, men det er også en sikkerhetsrisiko. Hvis et ondsinnet program lurer brukeren til å kjøre det som root har dette programmet plutselig tillatelse til å endre alle filer på systemet, noe som gjør det betydelig lettere å ta over datamaskinen. Det er nettopp dette SIP prøver å gjøre noe med.

Hva?

På et grunnleggende nivå sørger System Integrity Protection for at det ikke lenger finnes noen allmektig root-bruker, derfor kalles det iblant også for «rootless». Superbrukeren «root» finnes imidlertid fortsatt under SIP, men den har ikke lenger skriverettigheter til systemmappene og forhåndsinstallerte systemprogrammer som Finder, Dock og App Store.

Dialogboks som sier at konfigurasjonsfilen til SIP ikke kan slettes fordi den trengs av systemet.
System Integrity Protection beskytter blant annet filen som forteller den hva den skal beskytte.
FOTO: Patrick Sletvold.
CC BY-NC-SA 4.0
Mer i detalj vil System Inegrity Protection også beskytte filtillatelsene på systemmappene, i tillegg til å beskytte prosesser mot kodeinjeksjoner, som vil si at programmene manipuleres mens de kjører ved hjelp av feil i programvaren. Fra og med Yosemite vil SIP også hindre at usignerte kjerneutvidelser, som utvider den grunnleggende funksjonaliteten til operativsystemet, lastes inn, altså vil disse kun lastes inn hvis utvikleren er godkjent av Apple. Alt dette er metoder som ofte brukes av programmer som ønsker å endre på operativsystemets oppførsel, enten dette er ondsinnede programmer, eller programmer som cDock, som tillater deg å endre utseendet på dokken.

Deaktivere, eller?

For vanlige brukere, og egentlig alle andre også, er det anbefalt å beholde SIP skrudd på, siden det tross alt hjelper på sikkerheten i systemet, og siden vanlige brukere sjelden trenger tilgang til systemmappene uansett.

Når det er sagt så finnes det tilfeller der det kan være nødvendig å skru det (midlertidig) av, for eksempel hvis du absolutt må endre noen systemfiler, som for eksemple hvis du skal bruke cDock-programmet jeg nevnte tidligere. Det er for slike tilfeller jeg lager denne korte guiden:

Først må du skru av Macen. Når du starter opp igjen, holder du inne ⌘ Cmd + R (for Recovery) til Apple-logoen vises. Du starter nå opp i gjenopprettelsesmodus. Når systemet har startet opp, velger du Verktøy i menylinja, og åpner Terminal. Det er her det interessante skjer.

-bash-3.2# csrutil disable
Successfully disabled System Integrity Protection.
Please restart the machine for the changes to take effect.
-bash-3.2# csrutil status
System Integrity Protection status: disabled.
-bash-3.2# csrutil enable
Successfully enabled System Integrity Protection.
Please restart the machine for the changes to take effect.

For å administrere SIP bruker man kommandoen csrutil. Denne har tre hovedkommandoer, enable, disable og status. Du skriver inn csrutil disable og trykker enter for å deaktivere. csrutil enable brukes for å aktivere igjen. Etter dette må du restarte systemet (uten å holde inne ⌘ Cmd + R). Den siste kommandoen, csrutil status, er den eneste som kan brukes uten å være i gjenopprettelsesmodus. Den forteller rett og slett om SIP er aktivert eller ikke.

Hvis du følger disse trinnene bør allting gå bra, men hvis du er usikker på noe, er det kanskje bedre å la være. Du bør alltid beholde SIP skrudd på, kun med unntak av kortere perioder.

Dette var altså System Integrity Protection. Forhåpentligvis ble dette inlegget lett nok å forstå, men samtidig med nok detaljer. Kom gjerne med tilbakemelding i kommentarene eller gjennom sosiale medier. Når du er i gang kan du jo abonnere på det månedlige nyhetsbrevet også. Hvis du vil lese mer anbefaler jeg mitt tips om hvordan du flytter Dock mellom skjermer (og mer).

Legg igjen en kommentar