시스템 무결성 보호
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
시스템 무결성 보호는 macOS의 보안 기능으로, 시스템 파일과 디렉터리의 내용 및 권한을 보호하고, 코드 인젝션, 런타임 첨부, 서명되지 않은 커널 모듈로부터 프로세스를 보호한다. 이 기능은 `/System`, `/bin`, `/sbin`, `/usr` 등의 주요 시스템 디렉터리를 보호하며, OS X Yosemite부터는 커널 확장이 Apple 권한으로 코드 서명되어야 한다. 시스템 무결성 보호는 기본적으로 활성화되어 있으며, 복구 시스템 또는 부팅 가능한 macOS 설치 미디어의 터미널에서 명령어를 사용하여 비활성화할 수 있다. 이 기능에 대한 비판과 논란이 존재하며, 2023년에는 이주 지원을 이용한 우회 취약점이 발견되어 보안 업데이트를 통해 해결되었다.
더 읽어볼만한 페이지
- 운영 체제 보안 - NX 비트
NX 비트는 하드웨어 기반 보안 기능으로, 메모리 페이지의 실행 권한을 제어하여 특정 영역에서 코드 실행을 막아 버퍼 오버플로 공격과 같은 보안 위협을 줄이는 데 사용되며, AMD에서 처음 도입 후 다양한 프로세서와 운영체제에서 DEP 등의 이름으로 구현되었다. - 운영 체제 보안 - 슈퍼유저
슈퍼유저는 운영 체제에서 모든 권한을 가진 사용자를 지칭하며, 유닉스 계열에서는 root, 윈도우에서는 관리자 계정이 해당 역할을 수행한다. - 2015년 소프트웨어 - 알파고
알파고는 구글 딥마인드가 개발한 인공지능 바둑 프로그램으로, 심층 신경망과 몬테카를로 트리 탐색 알고리즘을 결합하여 자가 학습을 통해 인간을 뛰어넘는 바둑 실력을 달성하며 인공지능 기술 발전과 사회적 영향에 대한 논의를 촉발했다. - 2015년 소프트웨어 - 구글 포토
구글 포토는 사진 및 동영상 저장, 공유, 관리 기능을 제공하는 구글의 클라우드 기반 서비스로, 자동 분류, 얼굴 인식, 검색 기능을 제공하지만 2021년부터 무료 무제한 저장 용량 제공 정책이 변경되었고, 2024년에는 기술의 군사적 이용에 대한 윤리적 논란이 있었다. - MacOS - 메일 (애플)
메일은 애플에서 개발한 이메일 클라이언트로, macOS에 통합되어 다양한 기능과 인터페이스 변화를 거쳤으며, iCloud 동기화, 이메일 추적 차단, 이메일 전송 취소, 예약 발송 등을 지원한다. - MacOS - 개러지밴드
애플이 개발한 개러지밴드는 로직 프로 기술을 기반으로 한 음악 제작 소프트웨어로, 가상 악기, MIDI 편집 기능, 팟캐스트 제작, 악기 레슨 등 다양한 기능을 제공하며 macOS와 iOS에서 아마추어부터 전문가까지 폭넓게 사용된다.
시스템 무결성 보호 - [IT 관련 정보]에 관한 문서 | |
---|---|
개요 | |
![]() | |
개발사 | 애플 |
출시일 | 2015년 9월 16일 |
운영 체제 | macOS |
포함 운영 체제 | OS X El Capitan (OS X 10.11) 이상 |
장르 | 컴퓨터 보안 소프트웨어 |
웹사이트 | 공식 웹사이트 |
시스템 무결성 보호 (SIP) | |
설명 | macOS의 보안 기능으로, 시스템 파일 및 폴더를 보호하여 악성 소프트웨어로부터 시스템을 보호한다. root 사용자 권한으로도 수정할 수 없는 영역을 만들어 보안을 강화한다. |
목표 | 악성 소프트웨어로부터 시스템 보호 무단 코드 실행 방지 시스템 무결성 유지 |
활성화 방법 | 기본적으로 활성화되어 있으며, 복구 모드에서 비활성화하거나 부분적으로만 활성화할 수 있다. |
보호 대상 | `/System` `/usr` `/bin` `/sbin` macOS와 함께 설치된 앱 |
특징 | root 사용자 권한으로도 보호 영역 수정 불가 커널 확장 기능 제한 시스템 무결성 검사 |
TRIM 지원 | OS X El Capitan부터 타사 SSD에 대한 TRIM 지원을 가능하게 함. |
2. 기능
시스템 무결성 보호(System Integrity Protection, SIP)는 macOS의 보안을 강화하기 위한 여러 메커니즘으로 구성된다.[4][11] 주요 기능은 다음과 같다.
- 시스템 파일 및 디렉터리 보호: 시스템 운영에 필수적인 파일과 폴더의 내용 및 파일 시스템 권한을 임의로 변경하지 못하도록 보호한다.
- 프로세스 보호: 실행 중인 프로세스에 대한 코드 인젝션, 런타임 연결(디버깅 등), DTrace 사용을 제한하여 악의적인 코드 실행이나 분석을 방지한다.
- 커널 확장 보호: 서명되지 않은 커널 확장(kext)이 시스템에 로드되는 것을 막아 시스템 안정성과 보안을 유지한다.
시스템 무결성 보호는 특정 시스템 파일과 디렉터리에 보호 플래그를 지정하는 방식으로 작동한다. 이는 파일이나 디렉터리에 확장 파일 속성을 추가하거나, `/System/Library/Sandbox/rootless.conf` (또는 이전 버전의 경우 `/System/Library/Security/rootless.conf`) 파일 목록에 해당 항목을 추가하여 이루어진다.[8][24] 보호되는 주요 디렉터리는 다음과 같다.
또한 `/etc`, `/tmp`, `/var` 디렉터리를 가리키는 심볼릭 링크 자체는 보호되지만, 이 링크들이 실제로 연결된 대상 디렉터리인 `/private/etc`, `/private/tmp`, `/private/var`는 보호되지 않는다.[35][1] `/Applications` 폴더 안에 기본으로 설치된 대부분의 애플 제공 응용 프로그램 역시 수정 및 삭제로부터 보호된다.[35][1]
macOS의 커널인 XNU는 시스템 무결성 보호를 강제하는 핵심 역할을 한다. 커널은 적절한 권한이 없는 프로세스가 보호 대상으로 지정된 파일 및 디렉터리의 권한이나 내용을 수정하려는 시도를 차단한다. 또한 보호된 실행 파일에 대한 코드 주입, 런타임 연결, DTrace 사용 시도도 막는다.[9][25] 더불어 시스템 프로그램을 호출할 때 특정 환경 변수(예: `LD_LIBRARY_PATH`, `DYLD_LIBRARY_PATH`)를 자동으로 제거하여, 이를 악용한 코드 주입 공격을 예방한다.[12]
커널 확장 보호는 OS X Yosemite 버전부터 도입된 "kext 서명" 메커니즘을 통해 이루어진다. 이 기능에 따라 장치 드라이버와 같은 커널 확장은 애플이 발급한 특정 개발자 ID로 코드 서명되어야만 시스템에 로드될 수 있다.[10][26] 만약 서명되지 않은 커널 확장이 발견되면, 커널은 시스템 부팅을 거부하고 화면에 금지 기호를 표시한다.[4][11][27] 이 "kext 서명" 메커니즘은 시스템 무결성 보호의 일부로 통합되었다. macOS High Sierra부터는 여기에 더해 'Secure Kernel Extension Loading (SKEL)' 기능이 도입되어, 서명된 커널 확장이라도 처음 로드될 때는 사용자의 명시적인 승인을 받도록 요구한다.[28]
3. 도입 이유
애플은 시스템 무결성 보호(SIP)가 높은 수준의 보안을 보장하기 위한 필수적인 조치라고 설명한다. 한 WWDC 개발자 세션(2015년 세션 706[21])에서 애플 엔지니어 피에르-올리비에 마텔은 무제한 루트 접근을 시스템의 주요 취약점 중 하나로 지적했다.[4] 그는 "[모든] 악성 코드는 하나의 암호 또는 취약점만 있으면 장치를 완전히 제어할 수 있다"고 말하며, 대부분의 macOS 설치 환경이 관리자 권한을 가진 단일 사용자 계정으로 구성되어 있다는 점을 문제로 삼았다.
이는 사용자가 프로그램을 설치하거나 설정을 변경할 때 암호를 입력하면, 해당 프로그램에 시스템 전체에 접근할 수 있는 루트 권한을 쉽게 부여할 수 있음을 의미한다. 마텔은 사용자들이 종종 약하거나 아예 없는 암호를 사용하는 경우가 많아, 암호 입력 요청이 있을 때마다 시스템 전체의 보안이 잠재적으로 손상될 수 있다고 경고했다.[4][21]
이처럼 루트 권한을 제한하는 것은 macOS에서 완전히 새로운 시도는 아니다. 예를 들어, Mac OS X Leopard 이전 버전의 macOS에서는 BSD 및 그 파생 시스템(macOS가 부분적으로 기반함)에서 유래한 보안 기능인 level 1 securelevel을 적용한 바 있다.[6][22]
4. 작동 원리
시스템 무결성 보호(SIP)는 여러 메커니즘을 통해 시스템을 보호한다.[4][11] 주요 작동 원리는 다음과 같다.
- 파일 및 디렉터리 보호: 시스템 파일 및 디렉터리의 내용과 파일 시스템 권한을 보호한다.[4] 이는 해당 파일이나 디렉터리에 확장 파일 속성을 추가하거나,
/System/Library/Sandbox/rootless.conf
또는/System/Library/Security/rootless.conf
파일 목록에 추가하는 방식으로 이루어진다.[40][8] 커널(XNU)은 권한 없는 프로세스가 이렇게 보호 플래그가 지정된 파일 및 디렉터리의 권한이나 내용을 수정하는 것을 차단한다.[9] 보호되는 주요 경로는 다음과 같다.
경로 | 설명 |
---|---|
/System | 시스템 핵심 파일 포함 |
/bin | 필수 명령어 바이너리 |
/sbin | 필수 시스템 바이너리 |
/usr | 사용자 유틸리티 및 데이터 (/usr/local 제외) |
/Applications | macOS와 함께 사전 설치된 기본 앱 (예: 캘린더, 사진 앱, 사파리, 터미널, 콘솔, 앱 스토어, 메모 등) |
/etc
,/tmp
,/var
에서 각각/private/etc
,/private/tmp
,/private/var
로 연결되는 심볼릭 링크 자체도 보호되지만, 링크가 가리키는 대상 디렉터리 자체는 보호되지 않는다.[8][1]
- 프로세스 보호: 보호된 실행 파일에 대해 코드 인젝션, 런타임 첨부(디버깅 등), DTrace 사용을 방지한다.[4][9] 또한, 시스템 프로그램을 호출할 때 특정 환경 변수(예:
LD_LIBRARY_PATH
및DYLD_LIBRARY_PATH
)를 제거하여 코드 주입 시도를 막는다.[12]
- 커널 확장 보호: OS X Yosemite부터 도입된 "kext 서명" 메커니즘을 통해, 서명되지 않은 커널 확장(kext) 로드를 차단한다.[4][11] 드라이버와 같은 커널 확장은 Apple에서 발급한 특정 개발자 ID로 코드 서명되어야 한다.[10][26] 서명되지 않은 확장이 발견되면 커널은 부팅을 거부하고 금지 기호를 표시한다.[4][11][27] macOS High Sierra부터는 여기에 더해, 서명된 커널 확장이라도 처음 로드될 때 사용자의 명시적인 허가를 요구하는 보안 커널 확장 로딩(Secure Kernel Extension Loading, SKEL) 기능이 추가되었다.[28]
5. 설정
시스템 무결성 보호(SIP)는 기본적으로 활성화되어 있다. 하지만 시스템 파티션 외부에서 전체 또는 부분적으로 비활성화할 수 있다.[4] 이를 위해 애플은 csrutil
명령줄 유틸리티를 제공한다. 이 명령어는 복구 시스템 또는 부팅 가능한 macOS 설치 디스크의 터미널에서 실행할 수 있다. csrutil
유틸리티는 장치의 NVRAM에 부팅 인수를 추가하여 설정을 변경하며,[4][38] 이는 엘 카피탄 및 macOS 시에라 이후 버전이 설치된 맥에 적용된다.[4][38]
macOS를 설치할 때, 설치 프로그램은 보호 대상으로 지정된 시스템 디렉토리 내부에 있는 알 수 없는 구성 요소를 /Library/SystemMigration/History/Migration-[UUID]/QuarantineRoot/
경로로 이동시킨다.[1][4][30]
시스템 디렉토리에 대한 쓰기 접근이 제한됨에 따라, 시스템 파일 및 디렉토리의 권한은 애플 소프트웨어 업데이트 중에만 자동으로 유지 관리된다. 결과적으로 디스크 유틸리티[14]나 해당 diskutil
명령어를 이용한 권한 복구 기능은 더 이상 사용할 수 없다.[4][30]
기본적으로 SIP에 의해 보호되는 디렉토리는 다음과 같다.[13][29]
경로 | 설명 |
---|---|
/System | 시스템 핵심 파일 |
/sbin | 시스템 바이너리 |
/bin | 사용자 바이너리 |
/usr | 사용자 유틸리티 및 데이터 (/usr/local 하위 디렉토리 제외) |
/Applications | macOS와 함께 사전 설치된 기본 애플리케이션 (예: 캘린더, 사진, 사파리, 터미널, 콘솔, 앱 스토어, 메모 등) |
6. 비판 및 논란
시스템 무결성 보호(SIP)에 대한 반응은 엇갈린다. ''Macworld''는 애플이 향후 macOS 업데이트를 통해 사용자 및 개발자의 시스템 제어 권한을 완전히 회수하고, 보안 정책을 iOS와 유사하게 변경할 수 있다는 우려를 표명했다. 이렇게 될 경우, 많은 유틸리티나 시스템 수정 프로그램을 설치하기 위해 탈옥과 같은 방법을 사용해야 할 수도 있다고 지적했다.[2][15] 실제로 일부 응용 프로그램과 드라이버는 시스템 무결성 보호 기능을 일시적 또는 영구적으로 비활성화하지 않으면 전체 기능이 작동하지 않거나 전혀 작동하지 않을 수 있다.
''Ars Technica''는 이러한 제한이 대규모 개발사와 달리 애플과 직접 협력하기 어려운 소규모 개발자들에게 불균형적으로 영향을 미칠 수 있다고 분석했다. 이는 상대적으로 자원이나 협상력이 부족한 개발자들에게 불리하게 작용할 수 있다는 비판으로 이어질 수 있다.[1] 다만, ''Ars Technica''는 파워 유저를 포함한 대부분의 사용자는 시스템 무결성 보호 기능을 비활성화할 특별한 이유가 없으며, 이 기능으로 인한 "거의 단점"이 없다고 덧붙이기도 했다.[1]
7. 보안 취약점
2023년 5월 30일, 마이크로소프트는 마이그레이션 지원을 사용하여 시스템 무결성 보호(SIP)를 우회할 수 있는 ''Migraine''이라는 이름의 보안 취약점(CVE-2023-32369)을 발견했다고 보고했다[31]. 이 취약점은 애플이 2023년 5월 18일부터 지원하는 운영체제(OS)에 배포한 보안 업데이트를 통해 해결되었다[32][33][34].
참조
[1]
웹사이트
OS X 10.11 El Capitan: The Ars Technica Review—System Integrity Protection
https://arstechnica.[...]
2015-09-29
[2]
웹사이트
First look: OS X El Capitan brings a little Snow Leopard to Yosemite
https://arstechnica.[...]
2015-06-18
[3]
웹사이트
OS X El Capitan Opens Door to TRIM Support on Third-Party SSDs for Improved Performance
http://www.macrumors[...]
2015-06-18
[4]
웹사이트
Security and Your Apps
http://devstreaming.[...]
2016-09-30
[5]
웹사이트
Configuring System Integrity Protection
https://developer.ap[...]
Apple
2016-09-30
[6]
서적
Practical UNIX and Internet Security
O'Reilly Media
2003
[7]
웹사이트
About the screens you see when your Mac starts up
https://support.appl[...]
2016-09-30
[8]
웹사이트
About System Integrity Protection on your Mac
https://support.appl[...]
2016-09-30
[9]
웹사이트
"What's New In OS X - OS X El Capitan v10.11"
https://developer.ap[...]
Apple
2016-09-30
[10]
웹사이트
Kernel Extensions
https://developer.ap[...]
Apple
2016-09-29
[11]
웹사이트
Trim in Yosemite
https://www.cindori.[...]
2015-06-18
[12]
간행물
Nettle 3.5.1 and OS X 10.12 patch
https://web.archive.[...]
2020-07-13
[13]
웹사이트
How to Check if System Integrity Protection (SIP) is Enabled on Mac
https://osxdaily.com[...]
OS X Daily
2021-03-06
[14]
웹사이트
OS X El Capitan Developer Beta 2 Release Notes
https://developer.ap[...]
Apple
2015-06-29
[15]
웹사이트
Private I: El Capitan's System Integrity Protection will shift utilities' functions
http://www.macworld.[...]
2015-07-22
[16]
웹사이트
OS X 10.11 El Capitan: The Ars Technica Review
https://arstechnica.[...]
2015-09-29
[17]
웹사이트
First look: OS X El Capitan brings a little Snow Leopard to Yosemite
https://arstechnica.[...]
2015-06-18
[18]
웹사이트
OS X El Capitan Opens Door to TRIM Support on Third-Party SSDs for Improved Performance
http://www.macrumors[...]
2015-06-18
[19]
웹사이트
Security and Your Apps
http://devstreaming.[...]
2016-09-30
[20]
웹사이트
Configuring System Integrity Protection
https://developer.ap[...]
Apple
2016-09-30
[21]
웹사이트
Security and Your Apps - WWDC 2015 - Videos - Apple Developer
https://developer.ap[...]
2018-09-05
[22]
서적
Practical UNIX and Internet Security
O'Reilly Media
2003
[23]
웹사이트
About the screens you see when your Mac starts up
https://support.appl[...]
2016-09-30
[24]
웹사이트
About System Integrity Protection on your Mac
https://support.appl[...]
2016-09-30
[25]
웹사이트
"What's New In OS X - OS X El Capitan v10.11"
https://developer.ap[...]
Apple
2016-09-30
[26]
웹사이트
Kernel Extensions
https://developer.ap[...]
Apple
2016-09-29
[27]
웹사이트
Trim in Yosemite
https://www.cindori.[...]
2015-06-18
[28]
웹사이트
Technical Note TN2459: User-Approved Kernel Extension Loading
https://developer.ap[...]
2018-09-05
[29]
웹사이트
How to Check if System Integrity Protection (SIP) is Enabled on Mac
https://osxdaily.com[...]
OS X Daily
2021-03-06
[30]
웹사이트
OS X El Capitan Developer Beta 2 Release Notes
https://developer.ap[...]
Apple
2015-06-29
[31]
웹사이트
New macOS vulnerability, Migraine, could bypass System Integrity Protection
https://www.microsof[...]
2023-05-31
[32]
웹사이트
macOS Big Sur 11.7.7 のセキュリティコンテンツについて
https://support.appl[...]
2023-05-31
[33]
웹사이트
macOS Monterey 12.6.6 のセキュリティコンテンツについて
https://support.appl[...]
2023-05-31
[34]
웹사이트
macOS Ventura 13.4 のセキュリティコンテンツについて
https://support.appl[...]
2023-05-31
[35]
웹인용
OS X 10.11 El Capitan: The Ars Technica Review
http://arstechnica.c[...]
2015-09-29
[36]
웹인용
First look: OS X El Capitan brings a little Snow Leopard to Yosemite
http://arstechnica.c[...]
2015-06-17
[37]
웹인용
OS X El Capitan Opens Door to TRIM Support on Third-Party SSDs for Improved Performance
http://www.macrumors[...]
2015-06-12
[38]
웹인용
Security and Your Apps
http://devstreaming.[...]
2015-06
[39]
웹인용
Configuring System Integrity Protection
https://developer.ap[...]
Apple Inc.|Apple
2015-09-16
[40]
웹인용
About System Integrity Protection on your Mac
https://support.appl[...]
2016-05-30
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com