업데이트: OS X 엘 캐피탠 베타 버전이 업데이트 되면서 방법이 바뀌었습니다.
이번 WWDC가 개최되기 전부터 새로운 보안 기능이 애플의 두 운영체제에 도입될 것이라는 얘기가 돌았습니다.
정확하게는 '루트리스(Rootless)'라는 기능이며 '9to5mac'발 소식이었죠. 이번에 OS X 엘 캐피탠 베타 버전이 나오면서 루트리스가 운영체제 안에서 어떤 역할을 하는지 윤곽이 확실히 드러났습니다.
루트리스는 사용자나 일개 응용 프로그램이 시스템 파일을 삭제하거나 변조할 수 없도록 '커널 레벨'에서 파일을 잠그는 아주 강력한 보안 기능입니다. OS X 10.11 엘 캐피탠과 iOS 9은 이 보안 기능이 기본적으로 활성화 되어 있으며 사용자가 관리자 권한을 가지고 있더라도 시스템 파일을 마음대로 건드릴 수 없도록 차단하는 기능을 담당합니다.
Rootless가 보호하는 시스템 파일
루트리스가 보호하는 영역은 아래 나열한 세 폴더입니다. 모두 시스템 구동과 운영에 핵심적인 역할을 하는 파일이 보관되어 있는 장소입니다.
∙ /usr
∙ /sbin
∙ /System
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. 대화상자가 열리면 'Enforce System Integrity Protection' 상자의 체크를 해재하고 구성 적용 버튼을 누릅니다. 맥이 저절로 재시작합니다. ▼
Rootless가 꺼져 있을 때
루트리스가 비활성화 되면 앞서 나열한 세 시스템 폴더에 대한 완벽한 제어가 가능해집니다. 다만 TRIM 활성화 명령어와 마찬가지로, OS X 업데이트을 업데이트하거나 NVRAM을 초기화 하면서 루트리스가 다시 작동할 수 있다는 점 유념하시기 바랍니다. 이에 따라 다양한 오류나 문제가 발생할 수 있으니 일반 사용자는 가급적 루트리스에 손을 대지 않는 편이 좋습니다. ▼
루트리스가 켜져 있는지 여부는 응용 프로그램 ▶︎ 유틸리티 폴더에 있는 '디스크 유틸리티'를 통해 확인할 수 있습니다. 엘 캐피탠이 설치된 파티션을 선택한 뒤 '정보' 단추를 누르면 파티션 정보가 나타나는데 'System Integrity Protection enabled' 항목이 '아니오'로 되어 있으면 루트리스가 꺼져 있는 것입니다. ▼
참조
• 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 변경에 서명이 필요하다?
from Back to the Mac http://ift.tt/1FOQG4j
via IFTTT