SIP
: 15 maja 2019, 19:41
Od wersji systemowej OS X Yosemite rozszerzenia jądra (kernel), takie jak kexty (kernel extensions) muszą być sygnowane.
MacOS odmawia uruchomienia systemu, jeśli istnieją niepodpisane rozszerzenia.
SIP zawiera więc pewne mechanizmy, które są wymuszone przez jądro, a kluczowym elementem jest tutaj ochrona systemu.
Pliki i katalogi są chronione przed zmianami, przez procesy bez określonego „uprawnienia”, nawet jeśli są wykonywane przez użytkownika z uprawnieniami root.
Apple twierdzi nawet, że użytkownik root może stanowić „poważne“ zagrożenie dla bezpieczeństwa systemu.
Zwłaszcza w systemach z tylko jednym użytkownikiem, gdzie ten użytkownik jest również administratorem.
Tak więc SIP jest przez Apple domyślnie aktywowany!
A teraz zadajmy pytanie: jak to jest w ogóle z tym SIP w naszych hackintoschach?
Aby zainstalować macOS na hackintoshu, należy przecież załadować rozszerzenia kernela, które nie są przez Apple sygnowane.
Aby umożliwić więc instalację MacOS na PC, Clover musi częściowo wyłączyć SIP.
W przypadku każdego hackintosha z OS X 10.10 do10.14, SIP jest przy rozruchu częściowo lub całkowicie dezaktywowany.
Gdy system jest już uruchomiony możliwa jest aktywacja SIP. Dezaktywacja, czy też aktywacja kontrolowana jest przez config.plist.
Sprawdźmy status SIP.
W terminalu wydajemy polecenie:
Przykładowy wynik:
System Integrity Protection status: enabled (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: disabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
Otwórzmy config.plist za pomocą Clover Configuratora:
config.plist > Rt Variables > BooterConfig i CsrActiveConfig:
W tym przykładzie: CsrActiveConfig: 0x3, co oznacza SIP Częściowo wyłączone (Ładuje niepodpisane kexty).
Pod BooterConfig: 0x28, dodatkowo pozwala na wstrzyknięcie kodu podczas uruchamiania.
Clover kontroluje więc SIP. Im większa liczba po 0x, tym mniej pozostaje SIP.
Przykładowe nastawienia:
0x0 = SIP Enabled (Default)
0x3 = SIP Partially Disabled (Loads unsigned kexts)
0x67 = SIP Disabled completely
W przypadku hackintoshy „Vanilla“ możliwa jest pełna aktywacja SIP, jak w oryginalnym macu.
MacOS odmawia uruchomienia systemu, jeśli istnieją niepodpisane rozszerzenia.
SIP zawiera więc pewne mechanizmy, które są wymuszone przez jądro, a kluczowym elementem jest tutaj ochrona systemu.
Pliki i katalogi są chronione przed zmianami, przez procesy bez określonego „uprawnienia”, nawet jeśli są wykonywane przez użytkownika z uprawnieniami root.
Apple twierdzi nawet, że użytkownik root może stanowić „poważne“ zagrożenie dla bezpieczeństwa systemu.

Zwłaszcza w systemach z tylko jednym użytkownikiem, gdzie ten użytkownik jest również administratorem.

Tak więc SIP jest przez Apple domyślnie aktywowany!
A teraz zadajmy pytanie: jak to jest w ogóle z tym SIP w naszych hackintoschach?
Aby zainstalować macOS na hackintoshu, należy przecież załadować rozszerzenia kernela, które nie są przez Apple sygnowane.
Aby umożliwić więc instalację MacOS na PC, Clover musi częściowo wyłączyć SIP.
W przypadku każdego hackintosha z OS X 10.10 do10.14, SIP jest przy rozruchu częściowo lub całkowicie dezaktywowany.
Gdy system jest już uruchomiony możliwa jest aktywacja SIP. Dezaktywacja, czy też aktywacja kontrolowana jest przez config.plist.
Sprawdźmy status SIP.
W terminalu wydajemy polecenie:
Kod: Zaznacz cały
csrutil status
Przykładowy wynik:
System Integrity Protection status: enabled (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: disabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
Otwórzmy config.plist za pomocą Clover Configuratora:
config.plist > Rt Variables > BooterConfig i CsrActiveConfig:
W tym przykładzie: CsrActiveConfig: 0x3, co oznacza SIP Częściowo wyłączone (Ładuje niepodpisane kexty).
Pod BooterConfig: 0x28, dodatkowo pozwala na wstrzyknięcie kodu podczas uruchamiania.
Clover kontroluje więc SIP. Im większa liczba po 0x, tym mniej pozostaje SIP.
Przykładowe nastawienia:
0x0 = SIP Enabled (Default)
0x3 = SIP Partially Disabled (Loads unsigned kexts)
0x67 = SIP Disabled completely
W przypadku hackintoshy „Vanilla“ możliwa jest pełna aktywacja SIP, jak w oryginalnym macu.