[하루한줄] CVE-2021-30892: Apple macOS의 SIP mitigation bypass
URL
Microsoft finds new macOS vulnerability, Shrootless, that could bypass System Integrity Protection
Target
- macOS
Explain
Microsoft 365 Defender Research Team이 macOS에 적용된 SIP(System Integrity Protection) 보호 기법을 우회하는 Shrootless 취약점의 세부 정보를 공개했습니다.
SIP가 적용된 시스템은 시스템 파일 및 디렉터리를 수정할 수 없으며, 심지어 root 권한을 얻더라도 이러한 권한이 제한되어 루트리스(rootless)라고도 불립니다.
그러나 시스템 업데이트 등에는 SIP로 보호되는 디렉터리에 액세스해야하기 때문에 애플은 예외적으로 SIP의 제한을 받지 않는 다음 특정 권한을 도입했습니다.
com.apple.rootless.install : SIP 파일시스템 검사를 우회하는 권한
com.apple.rootless.install.heritable : 자식 프로세스에 com.apple.rootless.install 상속
취약점은 com.apple.rootless.install.heritable
권한이 있는 system_installd
데몬에 존재합니다.
Apple 서명 패키지(.pkg)를 설치할 때 system_installd
데몬을 호출합니다. 패키지에 설치 후 실행할 스크립트가 포함된 경우 system_installd
는 스크립트를 수행하기 위해 macOS의 기본 쉘 zsh을 실행합니다. zsh은 실행시 /etc/zshenv
설정파일을 불러오는데, /etc/zshenv
에는 zsh 시작시 자동으로 실행할 명령어를 설정할 수 있습니다.
따라서 해커가 임의의 명령어를 포함하는 악성 /etc/zshenv
파일을 배치한 뒤 패키지를 설치하면 com.apple.rootless.install.heritable
권한의 system_installd
가 생성한 zsh 프로세스 또한 com.apple.rootless.install
권한을 얻고, 악성 /etc/zshenv
에 포함된 임의의 명령어를 SIP를 우회해 수행할 수 있습니다. 결과적으로 시스템 파일 및 디렉터리를 수정할 수 있고 루트킷을 설치하는 등의 악성 행위가 가능합니다.
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.