OS X 10.11 엘 캐피탄에 도입된 새로운 보안체계 '루트리스(Rootless)'를 끄고 켜는 방법

2015.09.12 04:35    작성자: ONE™

업데이트 (2015/12): OS X 엘 캐피탄이 업데이트 되면서 csrutil status 명령어와 관련해 변경사항이 있었습니다.

이번 WWDC가 개최되기 전부터 새로운 보안 기능이 애플의 두 운영체제에 도입될 것이라는 얘기가 돌았습니다.

정확하게는 '루트리스(Rootless)'라는 기능이며 '9to5mac'발 소식이었죠. 이번에 OS X 엘 캐피탄 베타 버전이 나오면서 루트리스가 운영체제 안에서 어떤 역할을 하는지 윤곽이 확실히 드러났습니다.

루트리스는 사용자나 일개 응용 프로그램이 시스템 파일을 삭제하거나 변조할 수 없도록 '커널 레벨'에서 파일을 잠그는 아주 강력한 보안 기능입니다. OS X 10.11 엘 캐피탄과 iOS 9은 이 보안 기능이 기본적으로 활성화 되어 있으며 사용자가 관리자 권한을 가지고 있더라도 시스템 파일을 마음대로 건드릴 수 없도록 차단하는 기능을 담당합니다.

Rootless가 보호하는 시스템 파일

루트리스가 보호하는 영역(System only)은 아래와 같습니다. 모두 시스템 구동과 운영에 핵심적인 역할을 하는 파일이 보관되어 있는 장소입니다. ▼

Rootless 활성화 상태

Rootless가 켜져 있을 때 해당 폴더에 새로운 하위 폴더나 파일을 만들려고 하면, 관리자 암호를 입력하더라도 'Operation not permitted'라는 경고문을 띄우며 작업을 거부합니다. 이처럼 Root로도 시스템 파일에 접근할 수 없어서 Root'less'라고 이름을 지었나 봅니다. ▼

사실 사용자 입장에서 루트리스의 존재는 양면의 동전과도 같습니다.

시스템으로 유입된 악성코드가 중요한 파일을 위∙변조 하는 것을 원천적으로 방지해 주는 매우 효과적인 방어체제이지만, 시스템을 자신의 입맛에 맞게 바꿔서 사용하거나 패러렐즈나 VMWare 같이 운영체제와 아주 밀접하게 연동되는 소프트웨어의 기능을 제한하는 일종의 폐단으로 작용할 수 있습니다. 또 /usr 폴더에 설치되는 홈브류(Homebrew)나 맥포트(MacPort) 같은 패키지 관리 프로그램을 쓰는 분들에게도 큰 골칫거리입니다. 또 그동안 백투더맥을 통해 소개해 드린 여러 터미널 명령어도 새 OS X에서는 작동하지 않을 가능성이 매우 높습니다.

일반 사용자에게는 든든한 파수꾼이 생긴 셈이며 고급 사용자나 개발자에게는 방해꾼이 나타난 셈이라 새 보안 기능이 좋다 나쁘다 한쪽으로 단정지을 수는 없습니다. 아무튼 앞서 전해드린 사파리 확장 프로그램 소식과 마찬가지로 애플은 소프트웨어의 기능성이나 개발자들의 자율성보다는 운영체제의 보안성을 강화하는 쪽으로 방향을 잡고 있는 듯합니다.

Rootless를 비활성화 시키는 방법

다행인 점은 사용자의 선택과 필요에 따라 루트리스를 강제로 끌 수 있다는 것입니다.

마치 서드파티 SSD를 탑재한 맥에서 TRIM을 켜거나 연속성 활성화 도구를 사용할 때처럼 NVRAM에 특별한 플래그를 달아주어야 하는데요. 터미널 실행 후 다음과 콘솔에 다음과 같은 명령어를 입력하고 맥을 다시 시작하면 루트리스가 비활성화 됩니다. 이 방법은 더는 적용할 수 없습니다.

■ Rootless를 비활성화 시키는 명령어

sudo nvram boot-args="rootless=0";sudo reboot

■ 시스템 기본 상태로 복구하는 명령어

sudo nvram -d boot-args

업데이트: 이제 시스템 보호 기능은 OS X 복구 모드를 통해서만 끄거나 켤 수 있습니다.

1. 맥을 시동할 때, 애플 로고가 나타나기 전에 option 키를 누른 후 복구 파티션을 선택하면 로컬 복구 시스템이 시작합니다. 또는 command 키와 R 키를 길게 누르면 파티션 선택 화면을 건너띄고 곧바로 로컬 복구 시스템을 시작합니다. ▼

2. 복구 모드로 진입하면 메뉴 막대 ▶︎ 유틸리티에서 '터미널'을 클릭합니다. ▼

3. 터미널이 열리면 다음 명령어를 입력해 시스템 보안 기능을 비활성화하세요. ▼

csrutil disable --without debug

4. 나중에 설정을 원래대로 복구하고 싶다면 위와 같은 방법으로 터미널로 진입한 뒤 아래 명령어를 입력합니다.

csrutil enable

Rootless가 꺼져 있을 때

루트리스가 비활성화 되면 앞서 나열한 세 시스템 폴더에 대한 완벽한 제어가 가능해집니다. 

다만 TRIM 활성화 명령어와 마찬가지로, OS X 업데이트을 업데이트하거나 NVRAM을 초기화 하면서 루트리스가 다시 작동할 수 있다는 점 유념하시기 바랍니다. 이에 따라 다양한 오류나 문제가 발생할 수 있으니 일반 사용자는 가급적 루트리스에 손을 대지 않는 편이 좋습니다. ▼

루트리스가 켜져 있는지 여부는 터미널 명령어로 확인할 수 있습니다. 

응용 프로그램 ▶︎ 유틸리티 폴더에 있는 '터미널' 실행 후 'csrutil status' 명령어를 입력합니다. 루트리스가 비활성화되어 있으면 Configuration 아래 모든 항목이 'disabled'로 표시됩니다. ▼

 업데이트 2015년 12월  : OS X 엘 캐피탄 10.11.2 버전 부터는 위와 같이 항목별 정보를 보여주지 않고, 단 한 줄로 비활성화 여부를 표시합니다. ▼



참조
Pointless Ramblings - El Capitan for developers
9to5mac - iOS 9 & OS X 10.11 to bring ‘quality’ focus, smaller apps, Rootless security

관련 글
새 OS X과 iOS, 기능 추가보다 유지보수에 총력
애플, 사파리 익스텐션 갤러리 개편 예고... 개발자 프로그램 유료화 및 사전 심사제도 시행
잘 알려지지 않은 OS X 보안 체계의 한 기둥 'XProtect'
OS X 요세미티부터는 kext 변경에 서명이 필요하다?

저작자 표시 비영리 변경 금지
신고
    
  1. 이전 댓글 더보기
  2. Blog Icon
    Sonic

    XtraFinder와 Bartender의 시스템 아이콘 정리 때문에 루트리스를 꺼야되나 고민중입니다....-.-;

  3. Blog Icon
    말많은벙어리

    기본설정은 OFF로 되어 있고 설치 후 사용자가 ON 가능하게 하면 딱일것 같네요

  4. 퍼블릭베타5 사용중인데 두번째 방법도 막힌듯 합니다; 보안구성 메뉴가 안보이네요..

  5. Blog Icon
    쿵야

    저도 메뉴가 보이질 않아서 한참 헤멨네요.

  6. Blog Icon

    최신베타에서 보안구성조차 없어진거같네요..

  7. Blog Icon

    보안구성 안보이시는분들은 복구모드 터미널에서 csrutil disable이라고 입력하면 꺼집니다

  8. Blog Icon

    비밀댓글입니다

  9. 해킨은 조금다른방법으로 해야하네요
    몇일간 rootless때문에 삽질했네요

  10. Blog Icon
    Realignist

    새로운 베타버전 그리고 GM에는 리커버리로 부팅했을 때, 보안 구성이라는 메뉴가 존재하지 않습니다.
    이럴 때는 리커버리로 부팅한 상태에서 터미널로 들어가셔서 "csrutil disable"이라는 명령어를 통해 비활성화가 가능합니다.
    "csrutil enable"이라는 명령어를 쓰면 다시 rootless가 활성화됩니다.

    일반적으로 부팅했을 때 root 계정 터미널에서 csrutil disable을 쓰면 리커버리 모드에서만 활성화 및 비활성화가 가능하다고 하면서 적용에 실패합니다.

  11. Blog Icon
    기린

    오늘 최신 gm 설치하고서 리커버리 모드에서 루트리스를 말씀하신대로 터미널에서 명령어를 입력해도 성공적으로 껐고 재부팅해라 요 메세지 보고나서
    재부팅을 해도 여전히 켜져 있습니다.
    혹시 방법이 있을까요?

  12. Blog Icon
    Realignist

    보니까 저도 Rootless를 껐음에도 불구하고 디스크 유틸리티에서 시스템 무결성 보호가 활성화됨 항목이 예로 나오네요. 하지만 터미널에서 직접 root 계정에서 /usr이나 /System 폴더를 수정할 수 있는 것을 보면 Rootless가 확실히 꺼진게 맞다고 사료됩니다.

    엘 캐피탄 GM의 버그를 찾았군요...;;

  13. GM 버전이 나오면서 루트리스를 끄는 방법과 꺼져 있는지 확인하는 방법이 모두 달라졌군요.
    그에 맞게 본문 내용 업데이트 하였습니다.

  14. Blog Icon
    만화가게주인

    이게 버그일까요 아니면 루트리스를 꺼놓아서 생기는 문제일까요?

    루트리스를 끈 상태에서 바텐더를 사용 중인데요, 날짜와 입력기만을 바텐데 밖에 빼놓았습니다. 그런데 입력기 아이콘이 표시되지 않고 투명하게 빈자리로만 보입니다.

    혹시 이런 증상 있으신분 계신가요?

  15. Blog Icon
    bluesquare

    저도 동일한 증상입니다.
    루트리스 껐고 바텐더 사용중입니다. 입력기 아이콘이 투명하게 빈자리로 나옵니다.

  16. Blog Icon
    hyuna

    업데이트 부탁드려요.
    /usr가 Rootless에 영향을 받는 건 맞는데, /usr/local만은 제외로 한다더군요. 지금 Rootless 기능 안 끄고 베타 쓰고 있는데, 문제 없이 Homebrew 쓰고 있습니다. 처음에 권한문제는 있었지만, Rootless를 꺼야만 하는 것은 아니였습니다. (“brew doctor”를 입력하고 하라는 대로 하면 권한문제는 해결 되었습니다.)

  17. Blog Icon
    hyuna

    업데이트 부탁드려요.
    /usr가 Rootless에 영향을 받는 건 맞는데, /usr/local만은 제외로 한다더군요. 지금 Rootless 기능 안 끄고 베타 쓰고 있는데, 문제 없이 Homebrew 쓰고 있습니다. 처음에 권한문제는 있었지만, Rootless를 꺼야만 하는 것은 아니였습니다. (“brew doctor”를 입력하고 하라는 대로 하면 권한문제는 해결 되었습니다.)

  18. Blog Icon
    Hidden

    One님 예전에 포스팅 해주신 도난방지 어플인 Hidden을 잘쓰고 있다고 앨 캐피탄 GM 올리니 갑자기 위치추적은 되지 않네요. 사진 촬영이랑 다른 기능등을 정상적으로 작동합니다. 이게 Rootless 때문일까요? 일단 며칠전에 개발사에 이메일로 문의를 했는데 아직 답변이 안왔네요.

  19. Blog Icon
    눈사람

    gm으로 올리신분들 혹시 smoothmouse 써본분 계시나요?

    루트리스 끄면 작동 안되는지 쓰시는분 답글 주시면 감사하겠습니다.

  20. Blog Icon
    PiggY

    루트리스 끄지 않아도 스무스마우스 정상 작동합니다.

  21. Blog Icon
    눈사람

    아 정말 감사합니다

    개발자 베타2 부터 안되서 그냥 매버릭스로 복귀했거든요

    루트리스와 상관도 없었던 거였나 봐요

    스무스마우스 없으면 이젠 맥을 못쓸 지경까지 되어버려서 ;;

    아무튼 거듭 감사드려요 ^^

  22. Blog Icon
    hong

    이걸 끄지않고선 bootchamp 나 bootwin을 사용할수 없는건가요?

  23. 네 Bootchamp 같이 시스템 기본 특성을 건더리는 앱이나 기능은 시스템 보안 기능(루트리스)를 끄셔야 합니다.

  24. Paragon NTFS 구버전을 쓰는데, 엘 캐피탄 업그레이드 후에 NTFS 파티션 쓰기가 안 되더군요.
    한참동안 지웠다가 깔려고 시도해도 안되고 했는데, 결국 문제는 루트리스였습니다.
    글 보고 루트리스 끄고 Paragon NTFS 재설치하니 문제없이 작동하고,
    루트리스 켜니까 NTFS가 다시 읽기전용으로 잠기네요.
    복구모드 터미널로 시도해야 한다는 것을 여기서야 알아갑니다. 좋은 정보 (언제나) 고맙습니다 :)

  25. Blog Icon
    트렌트레즈너

    엘 캐피탄으로 업그레이드 후 패럴렐즈에서 인터넷이 안되는 문제가 있는데, 이것도 루트리스를 끄면 된다고 합니다.

  26. Blog Icon
    청염

    이상 증상이 있습니다. El Capitan을 클린설치하고 Time Machine에서 마이그레이션으로 사진, 영상, 음악만 복구했는데 Rootless가 꺼진 상태로 설치되었습니다.(정확히는 Disk Utility상에 Rootless 항목이 나타나지 않습니다)

    Trimforce 명령어가 그냥 먹히길래, Rootless가 켜진 상태에서도 가능한 줄 알았습니다.

    -_-; 이게 뭔 상황인가요...

  27. Blog Icon
    청포도

    복구모드에서 rootless 를 끄고 재부팅 했더니 터미널이 사용자 계정이 아닌 루트로 실행이 됩니다.

    딱히 건드린 부분이 없는데 다른 분들은 괜찮으신가요?

  28. 캐피탄 업그레이드 후 붓캠이 이문제로 안되고있습니다. 루트리스를 끄면 안좋을것같아서 재설치를하려는데 킨상태에서 재설치를하면 잘될까요?

  29. Blog Icon
    키리

    El Capitan 업데이트 이후 외장하드가 읽기밖에 안되는 문제 문제 때문에 찾아보다가 이 글을 읽게 되었는데요.
    맥을 전문적으로는 알지 못하는 일반 사용자로서 루트리스를 끄는 것이 나중에 문제가 되지 않을까 하는 걱정이 조금 되는데 루트리스를 끄는 방법 말고는 외장하드를 예전처럼 쓰기, 읽기 둘 다 사용할 수 있는 방법은 없는 것인가요?

  30. Blog Icon
    서재

    다만 TRIM 활성화 명령어와 마찬가지로, OS X 업데이트을 업데이트하거나 NVRAM을 초기화 하면서 루트리스가 다시 작동할 수 있다는 점 유념하시기 바랍니다. 이에 따라 다양한 오류나 문제가 발생할 수 있으니 일반 사용자는 가급적 루트리스에 손을 대지 않는 편이 좋습니다. ▼

    이부분에 대해서 여쭤볼 것이 있습니다.

    전에 CAT을 활성화 시키기 위해 앨 케피탄버전에서 csrutil disable을 입력했었습니다. 이후 정상설치되고 잘 됐는데, OS X 업데이트 혹은 VRAM 재설정 이후 SIM 이 다시 활성화 됐다고 하면서 실행이 안되는 것입니다. 그런데 문제는, 이것이 어떤 출동을 일으켰는지..
    무선네트워크 장치를 OS X에서 잡지 못하는 것입니다.
    그런데 인터넷복구모드에서는 무선인터넷이 되는 것으로 보아, 소프트웨어 적인 문제가 확실한데,
    CAT을 삭제하면 해결이 될 것 같아서 시도해보니 SIM이 비활성화 되어있어야 언인스톨이 되는 것입니다
    그런데 인터넷복구모드에서 csrutil disable 명령어를 치면 command is not found 라고 나오며 안됩니다.
    대체 이럴때 어떻게 해야 하는거죠? 무선인터넷을 사용할 수가 없습니다.