시스템 무결성 보호

루트리스 화면

시스템 무결성 보호(System Integrity Protection)는 애플이 개발한 시스템 소프트웨어로, ROOT가 와도 루트를 무력화 시키기 때문에 루트리스라는 별명을 가지고 있다. 시스템 무결성 보호는 OS X 엘 카피텐에서 선보였으며, 애플이 개발한거 아니랄까봐 엄청난 에러를 뿜어내면서 사람들을 골탕 먹였다. 물론, 서드 파티 개발자들도 같이 엿을 먹이기도 했다. 목표했던 해킨토시탈옥도 엿을 먹는가 싶었는데, 언제나 그랬듯이 이걸 우회하면서 열심히 사용중이다.

개요[편집 | 원본 편집]

시스템 무결성 보호는 커널단에서 움직이며, 시스템이 소유한 시스템 파일과 더불어 시스템 디렉터리를 특정한 자격없이 수정할 수 없게 보호한다. 그래서 슈퍼유저라던가 sudo, root가 와도 자비없이 거절하기에 루트리스란 별명이 붙었다. 애플이 설명하기론 루트 유저가 시스템 보안에 있어서 충분한 위험 요인이 있다고 설명한다. 특히, 한 사용자 계정이 관리자 계정을 점유하는 경우도 마찬가지라고 설명하고 있다.

이런 시스템 보호는 기본적으로 설정되어 있으나, 복구 모드에서 이를 끌수 있다.

시스템 무결성 보호를 켜거나 끄는법[편집 | 원본 편집]

일반적인 경우엔 시스템 무결성을 켜는 것이 보안에 도움이 된다.

  1. 복구 모드(부팅중 빠르게 ⌘ Cmd+R 를 눌러준다.)에 들어가 터미널을 킨다.
  2. 터미널에서 csrutils enable/disable를 친다.
  3. 재부팅한다.

시스템 무결성 보호가 하는 짓거리들[편집 | 원본 편집]

  • 시스템 파일과 디렉터리 컨텐츠 보호와 더불어 파일 시스템 권한을 보호한다. 엘 케피탄 전만 해도 뭐가 안 된다 하면 디스크 권한 검사를 돌려야 했는데, 이젠 루트리스로 인해서 그런 확인 같은 거 안해도 된다.
  • 시스템 무결성 보호로 보호 받는 애플리케이션의 경우 실시간 코드 인젝션 보호와 더불어 디버깅, 그리고 Dtrace 3종 세트가 들어간다.
  • 서명되지 않은 커널 모듈(*.kext)로부터의 보호. 모든 *.kext는 애플로부터 서명이 있어야 맥에 붙어서 돌아간다. 특히, 이게 중요한게 방화벽 분야인데, 이게 빠진 맥 방화벽은 그야말로 반쪼가리 방화벽밖에 되지 않는다.

시스템 무결성 보호가 보호하는 파일 / 디렉터리[편집 | 원본 편집]

/System/Library/Security/rootless.conf, /System, /bin, /sbin, /usr (예외로 /usr/local은 제외된다.).[1] /etc, /tmp 그리고 /var/private/etc, /private/tmp, /private/var 로부터의 심볼릭 링크도 보호 받으나, 그렇다고 해서 이 심볼릭 링크의 목표 디렉터리는 보호 받지 못한다. 그 밖에 /Applications 폴더에 미리 설치된 애플 소프트웨어도 포함된다.

각주

  1. Mac의 시스템 무결성 보호에 관하여 (2016년 5월 30일). 2016년 9월 30일에 확인.