[하루한줄] CVE-2022-22583: macOS System Integrity Protection (SIP) 우회
URL
Technical Analysis of CVE-2022-22583: Bypassing macOS System Integrity Protection (SIP)
Target
- macOS
- Monterey 12.2 이전 버전
- Big Sur 11.6.3 이전 버전
- Security Update 2022-001 Catalina 이전 버전
Explain
“rootless”로 알려진 macOS의 보안 메커니즘 중 하나인 System Integrity Protection (SIP)에 대한 우회 취약점이 발견되었습니다. 해당 취약점은 2021년 10월 28일 Microsoft에서 발견한 CVE-2021-30892에 대한 패치를 우회하는 취약점입니다.
CVE-2021-30892는 Apple 서명 패키지(.pkg
)를 설치할 때, 쉘 스크립트를 com.apple.rootless.heritable
권한을 가진 system_installd
를 통해 SIP를 우회하여 실행할 수 있는 취약점으로 임시 디렉터리에 스크립트를 추출한 후 해당 폴더에서 실행하는 방식으로 패치되었습니다.
이때, 임시 디렉터리에 추출 후 실행하는 과정 사이에는 상당한 텀이 있으며, Apple은 이를 인지하여 임시 디렉터리를 SIP로 제한하였습니다. 하지만 system_installd
가 사용하는 /tmp
는 심볼릭 링크이며, /tmp
폴더만 SIP 제한이 걸려있지만 실제 폴더는 SIP 제한이 걸려있지 않습니다. (ex /tmp -> private/tmp
일 시 private/tmp
는 SIP가 걸려있지 않음)
따라서 스크립트 추출과 실행 사이의 시간 동안 가상 이미지를 임시 디렉터리에 마운트 하여 다음과 같이 SIP 우회가 가능합니다.
- 가상 이미지 파일을 생성하여
/private/tmp
에 마운트 - 설치 후 실행되는 스크립트를 가진 Apple 서명 패키지 설치
- 인스톨러가 스크립트 디렉터리를 압축할 때까지 기다린 후 추출된 경로를 수집
- 이미지 파일을 언마운트 하여 추출 전
/private/tmp
의 내용을 가지도록 함 - 3에서 수집한 경로를 사용하여 스크립트 디렉터리를 생성한 후 실행할 악성 스크립트 저장
해당 취약점은 mac OS Monterey 12.2, Big Sur 11.6.3, Security Update 2022-001 Catalina에서 /Library/Apple/System/Library/InstallerSandboxes
라는 새 디렉터리로 추출 경로를 수정한 후 SIP가 활성화되어있는 경우 마운트 시도를 제한하는 방식으로 패치되었습니다.
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.