System Integrity Protection
System Integrity Protection (SIP, с англ. — «Защита целостности системы») — это механизм безопасности операционной системы macOS, встроенный начиная с версии OS X El Capitan (10.11), выпущенной в 2015 году. SIP ограничивает действия пользователя и приложений с правами суперпользователя (root) в отношении системных файлов и каталогов, предотвращая их несанкционированную модификацию, даже если атакующий получил полный контроль над учётной записью root. Технология реализована на уровне ядра и не может быть отключена из пользовательского пространства без специальной процедуры.
История и предпосылки
До внедрения SIP в macOS существовала уязвимость, связанная с тем, что любой процесс, запущенный с правами root (например, через sudo), мог изменять или удалять любые файлы в системе, включая критические компоненты ядра и системные утилиты. Это позволяло вредоносному ПО или неосторожному администратору повредить операционную систему до состояния, требующего переустановки.
В ответ на рост числа атак, нацеленных на модификацию системных файлов (например, руткиты, маскирующие своё присутствие), Apple в 2015 году представила SIP в OS X El Capitan. Первоначально механизм был включён по умолчанию, но допускал отключение через загрузчик (Recovery Mode). В более поздних версиях macOS (начиная с macOS 10.14 Mojave) отключение SIP стало требовать дополнительных шагов, а в macOS 11 Big Sur и новее — стало невозможно без физического доступа к компьютеру и перезагрузки.
Принцип работы
SIP работает на уровне ядра XNU, перехватывая системные вызовы (syscalls), связанные с операциями над файловой системой. Он проверяет, находится ли целевой файл в одном из защищённых каталогов, и если да — разрешает ли политика безопасности данного процесса выполнять запрошенную операцию.
Защищённые каталоги
По умолчанию SIP защищает следующие системные каталоги и их содержимое:
/System— основные компоненты ОС (фреймворки, библиотеки, утилиты)./usr— пользовательские утилиты и библиотеки (за исключением/usr/local, который не защищён)./bin— базовые команды (например,ls,cp)./sbin— системные административные утилиты./Applications— предустановленные приложения Apple (например, Safari, Calendar)./Library— системные библиотеки и кэши (частично).
Также SIP защищает некоторые системные расширения ядра (kext) и файлы конфигурации, такие как /etc/ssh и /etc/security.
Типы ограничений
SIP накладывает два основных типа ограничений на процессы:
- Ограничения на запись — запрет на создание, изменение или удаление файлов в защищённых каталогах, даже для процессов с правами root.
- Ограничения на выполнение — запрет на запуск неподписанного кода в контексте системных процессов.
Исключения возможны для процессов, имеющих специальные разрешения (entitlements), подписанные Apple (например, установщик macOS или процесс обновления системы).
Взаимодействие с другими механизмами
SIP работает в связке с другими элементами безопасности macOS:
- Gatekeeper — проверяет цифровые подписи приложений перед запуском.
- XProtect — антивирусная защита на основе сигнатур.
- System Integrity Protection — защищает сами файлы этих механизмов от модификации.
Отключение SIP
Хотя SIP предназначен для постоянной работы, Apple предусмотрела возможность его отключения для целей разработки или восстановления системы. Процедура требует загрузки в режиме восстановления (Recovery Mode) и выполнения команды csrutil disable в терминале.
После отключения SIP система становится уязвимой для модификации системных файлов, что может привести к нестабильности или компрометации. В macOS 11 Big Sur и новее отключение SIP также блокирует загрузку неподписанных расширений ядра.
Статус отключения
SIP может находиться в одном из следующих состояний:
- Включён (по умолчанию) — полная защита.
- Отключён — защита снята, система уязвима.
- Частично отключён — например, разрешена загрузка неподписанных расширений ядра (kext) при сохранении защиты файлов.
Проверить текущее состояние SIP можно командой csrutil status в терминале.
Критика и ограничения
SIP получил неоднозначные отзывы от сообщества разработчиков и специалистов по безопасности.
Положительные стороны
- Значительно снижает риск повреждения системы вредоносным ПО, даже при получении прав root.
- Упрощает поддержку и восстановление macOS, так как системные файлы остаются неизменными.
- Защищает от руткитов, маскирующихся под системные процессы.
Негативные аспекты
- Ограничивает возможности администраторов по настройке системы (например, установка модифицированных драйверов или утилит).
- Может препятствовать работе некоторых легитимных приложений, требующих доступа к системным файлам (например, антивирусы, утилиты для очистки диска).
- Отключение SIP требует физического доступа к компьютеру и перезагрузки, что неудобно для удалённого администрирования.
- Некоторые эксперты критикуют механизм за то, что он не защищает от атак, использующих уязвимости в самом ядре (например, через эксплойты уровня 0).
Влияние на разработку
Для разработчиков приложений под macOS SIP означает, что они не могут полагаться на модификацию системных файлов. Вместо этого Apple рекомендует использовать:
- Sandbox — изоляцию приложений в собственной среде.
- App Extensions — расширения для системных функций.
- User Defaults — хранение настроек в пользовательской области.
Приложения, пытающиеся записать данные в защищённые каталоги, получают ошибку «Operation not permitted» (EPERM), даже при наличии прав root.
Будущее SIP
В последних версиях macOS (начиная с macOS 13 Ventura) Apple усилила SIP, добавив защиту для новых компонентов, таких как системные расширения (System Extensions) и контейнеры приложений. Ожидается, что в будущих версиях механизм будет распространяться на всё большее число файлов и процессов, а возможность его отключения может быть полностью устранена.
Источники
- Apple Inc. (2015). OS X El Capitan: System Integrity Protection Guide.
- Apple Developer Documentation. «System Integrity Protection».
- «MacOS Security: A Technical Overview» (2019). Apple Security Engineering and Architecture.
- «SIP: The Good, the Bad, and the Ugly» (2020). Ars Technica.
- «Rootless: A New Security Model for macOS» (2015). Apple WWDC Session 706.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →