본문 바로가기
IT 놀이터/Mac

[mac] “rootless” feature in EI Capitan.

by 돼지왕왕돼지 2017. 10. 31.

 [mac] “rootless” feature in EI Capitan.

/bin, /sbin, /system, /usr, /usr/local, apple-singed package, application, Attach, csrutil, csrutil disable, csrutil enable, debugging, dynamic library, El Capitan, Installer, kernel extension, kexts, Library, mac rootless, Malware, MODIFY, OSX, reboot, recovery mode, rooless, root, root user, rootless, rootless disable, sign, sip, sip disable, Software Update, system folder, system integrity protection, system process, Terminal, [mac] “rootless” feature in EI Capitan., 영구적, 임시적


-

EI Capitan 에서는 “Rootless” 라는 기능이 있다.

이 말은 root user 는 없다는 말이고 이 말인 즉슨,

누구도 /System folder 에 대해 modify 를 할 수 없다는 것이다.



-

그럼 진짜 Root User 는 없는 것일까?

Rootless 의 공식적인 이름은 “System Integrity Protection” (SIP) 이다.

이것이 진짜 의미는 root user 가 되더라도 이전처럼 system 에 대해 전적인 control 을 할 수 없음을 이야기한다.


이것이 등장한 이유는 너무 쉽게 malware 가 root 권한을 얻을 수 있기 때문이다.



-

System Integrity Protection (SIP) 은 그럼 뭘 막는 막는 것일까?


우선 /System, /bin, /sbin, /usr ( exception /usr/local ) 에 대한 수정을 막는다.

오직 Installer 와 Software update 만 이 영역을 수정할 수 있다.

그리고 저 녀석들도 Apple-signed 된 패키지에 대해서만 이것을 수행할 수 있다.

보통의 OS X 는 /Library 나 /Application 레벨에서만 놀기 때문에 이것에 대해서는 걱정할 것이 별로 없다.



-

System process 를 attach 할 수 없다.

debugging 이나 dynamic library 등을 로딩할 수 없다.



-

인증된 sign이 되어 있지 않은 Kernel extensions ( kexts ) 를 로드할 수 없다.



-

만약 원치 않는다면 SIP 을 disable 시킬 수도 있다. ( 영구적으로 혹은 임시적으로 )

현재 지원하는 방법은 recovery mode 로 reboot 를 한 다음에 terminal 에서 다음 명령을 수행하면 된다.

$ csrutil disable // 반대는 csrutil enable



-

꼭 필요한 경우에 잠시 disable 시켰다가 필요한 용무가 끝나면,

다시 enable 시키는 것이 좋다. ( 그렇지 않으면 malware 가 system 을 또 다시 장악하기 쉬울 테니깐.. )




댓글0