Strona 1 z 1

SIP

: 15 maja 2019, 19:41
autor: Alpha01
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. :D
Zwłaszcza w systemach z tylko jednym użytkownikiem, gdzie ten użytkownik jest również administratorem. :D
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.

Re: SIP

: 15 maja 2019, 20:23
autor: DKnoto

Kod: Zaznacz cały

$ status csrutil
-bash: status: command not found

Re: SIP

: 15 maja 2019, 20:51
autor: Alpha01
Hahaha. Miało być odwrotnie, poprawione. Dzięki @DKnoto!