System Integrity Protection (SIP) is een beveiligingsfunctie in macOS, dat voorkomt dat bepaalde systemen aangepast kunnen worden. Zelfs als je beheerder bent en rootrechten hebt, kun je bepaalde bestanden en mappen niet zomaar wijzigen. In deze gids lees je wat SIP inhoudt en hoe je ermee omgaat.
- Wat doet System Integrity Protection?
- Controleren of SIP aan staat
- SIP uitschakelen
- Wat te doen als software door SIP niet werkt?
- Waarom System Integrity Protection?
System Integrity Protection maakt het veel moeilijker om malware te installeren op een Mac. Ook is het bedoeld om hackers af te schrikken: als het meer tijd kost om een systeem te hacken en de kans op succes klein is, zullen kwaadwillenden zich liever op andere platformen richten.
SIP werd in 2015 ingevoerd in OS X El Capitan en wordt vanwege het ontbreken van rootrechten ook wel rootless genoemd.
Wat doet System Integrity Protection?
SIP zorgt dat er in de volgende onderdelen van je systeem niet geschreven kan worden:
- /Systeem
- /usr
- /bin
- /sbin
- /var
- Vooraf geïnstalleerde apps
Apps en paden waar externe ontwikkelaars wel naar mogen schrijven zijn:
- /Programma’s
- /Bibliotheek
- /usr/local
Controleren of System Integrity Protection (SIP) actief is
Zoals al eerder gezegd: schakel SIP alleen uit als het absoluut noodzakelijk is. Je kunt op de volgende manier controleren of SIP actief is:
- Open het Schijfhulpprogramma en selecteer je harde schijf, SSD of Fusion Drive (meestal heet deze Macintosh HD)
- Klik op de knop Info.
- Zoek naar ‘System Integrity Protection’ (dit ongeveer het twintigste item in de lijst).
- Controleer of er bij System Integrity Protection ‘ja’ is aangegeven.
System Integrity Protection uitschakelen
Apple heeft ervoor gezorgd dat gewone gebruikers SIP niet per ongeluk kunnen uitschakelen. Om SIP uit te schakelen zul je naar de Terminal moeten gaan (maar doe dit alleen als je weet waar je mee bezig bent):
- Herstart je Mac.
- Voordat macOS opstart, houd je Cmd-R ingedrukt totdat je een Apple-logo en een voortgangsbalk ziet. Laat daarna pas de knoppen los. Je Mac is hun in herstelmodus.
- Ga naar Hulpprogramma’s > Terminal.
- Tik het volgende commando in:
csrutil disable
- Je krijgt nu een melding dat SIP is uitgeschakeld.
- Ga naar > Herstart en zorg dat je Mac opnieuw wordt gestart.
Je kunt op elk moment System Integrity Protection weer inschakelen door dezelfde stappen te volgen en het volgende commando in te tikken in de Terminal:
csrutil enable
Wat te doen als software door SIP niet werkt?
System Integrity Protection moet je altijd ingeschakeld laten. Er is eigenlijk maar één reden waarom je het zou willen uitschakelen, namelijk wanneer je dringend gebruik moet maken van software die nog niet is aangepast voor een nieuwe versie van macOS. Bij de introductie bleken populaire apps als SuperDuper!, Carbon Copy Cloner, Bartender, TotalFinder, Intermission en
Adobe Premiere en Audition nog niet goed te werken met SIP. Inmiddels hebben de meeste ontwikkelaars hun software aangepast. Bij software die nog niet is bijgewerkt zul je SIP tijdelijk moeten uitschakelen. Of beter nog: op zoek gaan naar een alternatief.
Waarom System Integrity Protection?
Toen System Integrity Protection nog niet bestond, had de rootgebruiker onbeperkte toegangsrechten en kon dus bij alle systeemmappen of apps op de Mac. Software kreeg root-toegangsrechten wanneer je een beheerdersnaam en -wachtwoord invoerde om software te installeren. Deze software kon vervolgens alle systeembestanden of apps wijzigen of overschrijven. Dat is natuurlijk niet de bedoeling.
iOS is behoorlijk dichtgetimmerd, maar bij macOS is dat veel minder het geval. Je bent niet verplicht om apps te installeren via de Mac App Store en er zijn allerlei systeemtooltjes verkrijgbaar waarmee je het uiterlijk of de instellingen van macOS kunt aanpassen. Dat betekent ook dat je op macOS wat kwetsbaarder bent voor malware.
Vandaar dat Apple System Integrity Protection heeft ingevoerd. Het zorgt ervoor dat je in folders zoals /system, /bin en /usr niets mag wijzigen. De enige uitzondering daarop is /usr/local. Alleen software die door Apple is goedgekeurd, mag wijzigingen aanbrengen. Als gebruiker zelf mag je niets doen.
Meer over System Integrity Protection
System Integrity Protection doet overigens meer dan het blokkeren van schrijfrechten. Het zorgt ook dat actieve processen niet kunnen worden gewijzigd. De technologie heet ‘rootless’, omdat Unix (waarop OS X gebaseerd is) is gebaseerd op het idee dat een rootgebruiker voor alle onderdelen van het bestandssysteem lees- en schrijfrechten heeft. Het gebruikersaccount ‘root’ is een speciale gebruiker in UNIX-besturingssystemen. Hoe je de rootgebruiker inschakelt en gebruikt in macOS, lees je in een speciale supportpagina van Apple.
Als meerdere mensen op een Mac werken, is het gebruikelijk dat ze beperktere rechten hebben. Iedere gebruiker met admin-rechten (het account dat je nodig hebt om bepaalde software te installeren) heeft in macOS in potentie ook rootrechten. Het eerste account dat bij het inrichten van een nieuwe Mac wordt gebruikt, heeft meteen ook adminrechten, om bijvoorbeeld andere accounts toe te voegen of beveilingsinstellingen te wijzigen.
Bij dagelijks gebruik is dat helemaal niet nodig. Je moet in staat zijn om nieuwe software voor macOS te installeren, maar je hebt geen rechten om in de mappen /bin, /sbin en /usr te gaan rommelen. Die mappen zijn in de Finder van macOS trouwens ook standaard niet zichtbaar. De enige map die wel toegankelijk blijft is /usr/local. Dit is gebruikelijk bij Unix-gebaseerde systemen.
De strengere beveiliging door SIP zorgt er ook voor dat sommige handige tooltjes of functies niet meer werken. Bij Dropbox kon je bijvoorbeeld de synchronisatiestatus van mappen en bestanden zien in Finder. Ze gebruikten daarvoor een slim trucje. Niet alle ontwikkelaars van kernel extensions (kexts) zullen hun software hebben aangepast en voorzien van een cryptografische handtekening en een certificaat van Apple.
Suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!