본문 바로가기

새소식/Mac

OS X 요세미티에 대응하는 Trim Enabler 3.2.5 출시. '요세미티부터는 kext 변경에 서명이 필요하다?'

맥에 서드파티 SSD를 장착했을 때 TRIM을 활성화해주는 'Trim Enabler'가 3.2.5 버전으로 업데이트되었습니다.

OS X 요세미티부터 커널확장자(kext)를 처리하는 방식이 달라지면서 타사 SSD에 대한 TRIM을 활성화하려면 사용자가 직접 터미널 명령어를 입력해야 하는데요, 이번 버전은 이런 일련의 프로세스를 자동화한 것이 특징입니다. 사용 방법은 기존과 마찬가지로 TRIM 스위치를 ON 쪽으로 밀고 시스템을 재부팅 하기만 하면 됩니다.

kext 서명이 필요하다?

흔히 애플이 지원하지 않는 하드웨어를 설치할 때면 커널확장자(kext)라고 불리는 파일을 시스템에 같이 설치하게 됩니다. 윈도우로 보면 장치 드라이버에 해당하는 개념인데, 서드파티 인터페이스 장치나 사운드 관련 장치와 같이 조금 특수한 하드웨어를 지원하기 위해 제조사가 같이 배포하는 경우가 대부분입니다. 또 꼭 하드웨어가 아니더라도 TRIM Enabler 처럼 OS X에 포함된 Kext를 건드려 운영체제의 특성을 변경할 때도 있습니다.

그런데 OS X 요세미티를 시작으로 'Kext Signing', 즉 커널확장자 서명이라는 새로운 보안 요구 사항이 애플로부터 발표됐습니다. 기본적으로 애플의 승인을 받은 kext 파일만 OS X에 설치할 수 있다는 것을 골자로 하는 정책입니다. 제삼자가 kext 파일을 위∙변조하여 시스템을 해킹할 수 없도록 하자는 것인데, 마운틴라이언에서 선보였던 '게이트 키퍼'의 시스템 레벨 버전이라고 할 수 있습니다. 이제 OS X 요세미티가 설치된 맥은 부팅 시 애플의 서명을 받지 않거나, 삼자에 의해 수정된 kext가 발견될 경우 로딩을 그냥 건너뛰어 버립니다.

예전에 블로그를 통해 알려드린 일련의 터미널 명령어나 Trim Enabler 3.2.5 버전이 하는 일은 이런 보안 절차를 꺼버리는 것입니다. 마치 맥 앱스토어가 아닌 곳에서 받은 프로그램을 시스템에 설치하기 위해 환경설정을 변경하거나 꼼수를 사용하는 것처럼 말이죠. 맥은 언제든 루트 권한을 사용할 수 있으므로 상대적으로 절차가 간단한 편이지만, 결국 데스크톱 운영체제인 OS X도 안드로이드의 루팅이나 iOS의 탈옥과 유사한 개념이 도입되기 시작했다고 볼 수 있습니다.

검수를 통한 보안 강화냐? 아니면 개발자와 사용자의 자유권 제한이냐? 양면의 동전 같은 이 의문에 대한 답은 여러분의 판단에 맡기겠습니다.

TRIM Enabler 설치 후 부팅 시 문제가 발생한다면?

앱을 사용하여 TRIM을 활성화했을 때 또는 매버릭스에서 TRIM을 활성화한 채로 운영체제를 요세미티로 업그레이드했을 때 회색 화면에 스톱 사인만 나오고 부팅이 제대로 되지 않는 사례가 종종 목격되고 있습니다. 이에 대한 해결책도 TRIM Enabler 3.2.5 버전과 같이 소개되었데요, 우선 command + R 키로 로컬 복구로 진입한 다음 터미널에 다음 명령어를 입력하면 문제가 해결된다고 합니다.

nvram boot-args=kext-dev-mode=1

* 볼륨명은 diskutil list 명령어로 확인할 수 있습니다.

cd /Volumes/볼륨명
touch System/Library/Extensions
kextcache -prelinked-kernel System/Library/Caches/com.apple.kext.cache/Startup/kernelcache -K System/Library/Kernels/kernel System/Library/Extensions



참조
Cindori - The state of Trim in Yosemite

관련 글
맥에 써드파티 SSD를 장착했을 때 TRIM을 활성화하는 3가지 방법 
• Trim Enabler 3.0 출시
• OS X 요세미티 설치 후 TRIM을 활성화하는 방법과 시스템 먹통 시 대처 방법