Вопрос или проблема
Я вел дебаты с другом о модели безопасности в новых версиях OS X. OS X El Capitan и более новые версии имеют функцию безопасности System Integrity Protection, которая защищает аспекты операционной системы даже от пользователей с правами root.
Мой друг утверждал, что это безопасно по дизайну до такой степени, что пользователь с правами root не может читать защищенные файлы, например, файлы на рабочем столе. Мне трудно в это поверить, поскольку пользователь с правами root имеет такую мощь, что, вероятно, существуют способы прочитать любой файл, например, считывая файловую систему напрямую или другими средствами.
Мой вопрос, на который я искал ответ, но не нашел: Может ли пользователь с правами root в OS X прочитать защищенные файлы, обойдя System Integrity Protection? Или дизайн настолько хорош, что для пользователя с правами root нет возможности это сделать?
Ваш друг не прав по двум причинам.
Во-первых, как говорит его название, System Integrity Protection защищает целостность, а не конфиденциальность системы. Другими словами, это предотвращает несанкционированное изменение, но не несанкционированное чтение.
Во-вторых, она защищает целостность системы, а не пользователей. То есть, это предотвращает несанкционированное изменение конкретных критических файлов и каталогов, принадлежащих системе, но защита не распространяется на файлы на рабочем столе пользователя.
Ответ или решение
Система защиты целостности (System Integrity Protection, SIP) в операционных системах macOS, начиная с версии El Capitan, действительно вызывает много обсуждений и вопросов относительно своей эффективности и возможностей. Важно понять, как функционирует этот механизм и какие у него ограничения.
Что такое System Integrity Protection?
System Integrity Protection был внедрен, чтобы защитить критически важные системные файлы и каталоги от изменений, даже если пользователь имеет права суперпользователя (root). SIP предотвращает изменения в некоторых ключевых директориях и файлах системы, таких как /System
, /usr
, /bin
, /sbin
, а также определенных файлов, которые могут быть обработаны процессом OS X. Это необходимо для защиты от вредоносного ПО и случайных изменений пользователями.
Защита конфиденциальности и целостности
Следует отметить, что SIP защищает целостность системы, а не конфиденциальность данных. Это означает, что, хотя SIP предотвращает изменение или удаление защищенных файлов, он не запрещает их чтение. Это важный момент в вашем вопросе. Любой пользователь, включая суперпользователя (root), имеет возможность читать файлы, расположенные в пользовательских каталогах, таких как рабочий стол или документы.
Ваш друг может неправильно понять, что SIP создает некий барьер для чтения файлов: с точки зрения целостности система защищает только критически важные системные файлы, а пользователи по-прежнему могут свободно взаимодействовать с собственными файлами.
Что может суперпользователь (root)?
Суперпользователь в macOS имеет полный доступ к файловой системе. Он может использовать команды sudo
и sudo su
, чтобы переключиться на режим суперпользователя, и соответственно выполнять операции чтения на всех файлах системы, включая те, что защищены SIP. Однако SIP действительно блокирует любые попытки изменения защищенных системных файлов.
Важно отметить, что даже если superuser и имеет полный доступ, попытки модификации файлов в защищенных системных каталогах без отключения SIP приведут к ошибкам. Чтобы изменить или удалить файлы, находящиеся под защитой, пользователю необходимо временно отключить SIP, что делается через режим восстановления (recovery mode).
Как обойти SIP для чтения?
Для чтения файлов, защищенных SIP, нет необходимости отключать его. Вы можете использовать стандартные команды для доступа к файлам. Например:
sudo cat /System/Library/CoreServices/SystemVersion.plist
Данная команда позволяет прочитать содержимое файла, который защищен SIP.
Заключение
Таким образом, констатируем факты:
- Права суперпользователя могут читать файлы: SIP предотвращает изменения, но не чтение данных в пользовательских каталогах.
- SIP защищает системные файлы: Защита касается только системных каталогов, но не пользовательских.
Следовательно, ваш друг не прав в утверждении, что суперпользователь не может читать защищенные файлы. SIP эффективен в плане защиты от изменений, однако доступ к данным остается открытым для пользователей с полномочиями, такими как root.