Защита целостности системы
![]() Уровни безопасности присутствуют в macOS | |
Разработчик(и) | Apple Инк. |
---|---|
Первоначальный выпуск | 16 сентября 2015 г |
Операционная система | macOS |
Входит в комплект | OS X El Capitan (OS X 10.11) и более поздние версии |
Тип | Программное обеспечение компьютерной безопасности |
Веб-сайт | разработчик |
Защита целостности системы ( SIP , [1] иногда называют безродным [2] [3] ) — это функция безопасности Apple macOS , операционной системы представленная в OS X El Capitan (2015) (OS X 10.11). Он включает в себя ряд механизмов, которые реализуются ядром . Центральным элементом является защита файлов и каталогов, принадлежащих системе , от изменений со стороны процессов без особых «прав», даже если они выполняются пользователем root или пользователем с привилегиями root ( sudo ).
Apple заявляет, что пользователь root может представлять значительный фактор риска для безопасности системы, особенно в системах с одной учетной записью пользователя , в которой этот пользователь также является администратором. SIP включен по умолчанию, но его можно отключить. [4] [5]
Обоснование
[ редактировать ]Apple заявляет, что защита целостности системы является необходимым шагом для обеспечения высокого уровня безопасности. На одной из сессий разработчиков WWDC инженер Apple Пьер-Оливье Мартель назвал неограниченный root-доступ одной из оставшихся слабых сторон системы, заявив, что «[любому] вредоносному ПО отделяет один пароль или уязвимость от получения полного контроля над устройством. ". Он заявил, что в большинстве установок macOS имеется только одна учетная запись пользователя, которая обязательно содержит административные учетные данные, а это означает, что большинство пользователей могут предоставить root-доступ любой программе, которая его запрашивает. Всякий раз, когда пользователю такой системы предлагается ввести пароль своей учетной записи (который, по словам Мартеля, часто бывает слабым или вообще отсутствует), безопасность всей системы потенциально оказывается под угрозой. [4] Ограничение полномочий root не является чем-то беспрецедентным для macOS. Например, версии macOS до Mac OS X Leopard обеспечивают уровень 1 уровня безопасности — функции безопасности, которая возникла в BSD и ее производных, на которых частично основана macOS. [6]
Функции
[ редактировать ]
Защита целостности системы включает в себя следующие механизмы:
- Защита содержимого и разрешений файловой системы системных файлов и каталогов;
- Защита процессов от внедрения кода , присоединения во время выполнения (например, отладки ) и DTrace ;
- Защита от неподписанных расширений ядра («кекстов»).
Защита целостности системы защищает системные файлы и каталоги, помеченные как требующие защиты. Это происходит либо путем добавления расширенного атрибута файла к файлу или каталогу, либо путем добавления файла или каталога в /System/Library/Sandbox/rootless.conf
или оба. Среди защищенных каталогов: /System
, /bin
, /sbin
, /usr
(но не /usr/local
). [8] Символические ссылки из /etc
, /tmp
и /var
к /private/etc
, /private/tmp
и /private/var
также защищены, хотя сами целевые каталоги не защищены. Большинство предустановленных приложений Apple в /Applications
также защищены. [1] Ядро без особых прав изменять разрешения и содержимое помеченных файлов и каталогов , XNU не позволяет процессам а также предотвращает внедрение кода, вложение во время выполнения и DTrace в отношении защищенных исполняемых файлов . [9]
Начиная с OS X Yosemite , расширения ядра, такие как драйверы , должны быть подписаны кодом с определенным разрешением Apple. Разработчики должны запросить у Apple идентификатор разработчика с таким правом. [10] Ядро отказывается загружаться , если присутствуют неподписанные расширения, вместо этого показывая пользователю запрещающий знак . Этот механизм, называемый «подпись kext», был интегрирован в защиту целостности системы. [4] [11]
Защита целостности системы также очищает определенные переменные среды при вызове системных программ, когда действует SIP. Например, SIP будет дезинфицировать LD_LIBRARY_PATH и DYLD_LIBRARY_PATH перед вызовом системной программы, например /bin/bash , чтобы избежать внедрения кода в процесс Bash. [12]
Конфигурация
[ редактировать ]Каталоги, защищенные SIP по умолчанию, включают: [13]
/System
/sbin
/bin
/usr
/Applications
/usr
охраняется, за исключением /usr/local
подкаталог. /Applications
защищен для приложений, предустановленных в Mac OS, таких как Календарь, Фотографии, Safari, Терминал, Консоль, App Store и Заметки. [13]
Защиту целостности системы можно отключить (полностью или частично) только за пределами системного раздела . С этой целью Apple предоставляет csrutil
Утилита командной строки , которую можно запустить из окна терминала в системе восстановления устройства или с загрузочного установочного диска macOS, которая добавляет аргумент загрузки в NVRAM . Это применимо ко всем установкам El Capitan или macOS Sierra на устройстве. [4] После установки macOS программа установки перемещает все неизвестные компоненты из помеченных системных каталогов в /Library/SystemMigration/History/Migration-[UUID]/QuarantineRoot/
. [1] [4] Запрещая доступ на запись в системные каталоги, права доступа к системным файлам и каталогам сохраняются автоматически во время обновлений программного обеспечения Apple. В результате восстановление разрешений недоступно в Дисковой утилите. [14] и соответствующий diskutil
операция.
Прием
[ редактировать ]Восприятие защиты целостности системы было неоднозначным. Macworld выразил обеспокоенность тем, что Apple может лишить пользователей и разработчиков полного контроля в будущих выпусках и постепенно сдвинуть политику безопасности macOS к политике безопасности мобильной операционной системы Apple iOS , после чего установка многих утилит и модификаций потребует взлома . [2] [15] Некоторые приложения и драйверы не будут работать в полной мере или вообще не смогут работать, если эта функция не отключена временно или навсегда. Ars Technica предположила, что это может непропорционально повлиять на мелких разработчиков, поскольку более крупные могут иметь возможность работать с Apple напрямую. Однако они также отметили, что у большинства пользователей, включая опытных пользователей , не будет причин отключать эту функцию, заявив, что у нее «почти нет недостатков». [1]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с д Каннингем, Эндрю; Хатчинсон, Ли (29 сентября 2015 г.). «OS X 10.11 El Capitan: обзор Ars Technica — защита целостности системы» . Арс Техника . Проверено 29 сентября 2015 г.
- ^ Jump up to: а б Каннингем, Эндрю (17 июня 2015 г.). «Первый взгляд: OS X El Capitan привозит маленького снежного барса в Йосемити» . Арс Техника . Проверено 18 июня 2015 г.
- ^ Сливка, Эрик (12 июня 2015 г.). «OS X El Capitan открывает возможности для поддержки TRIM на твердотельных накопителях сторонних производителей для повышения производительности» . МакСлухи . Проверено 18 июня 2015 г.
- ^ Jump up to: а б с д и Мартель, Пьер-Оливье (июнь 2015 г.). «Безопасность и ваши приложения» (PDF) . Разработчик Apple . стр. 8–54. Архивировано (PDF) из оригинала 23 апреля 2016 г. Проверено 30 сентября 2016 г.
- ^ «Настройка защиты целостности системы» . Библиотека разработчиков Mac . Яблоко . 16 сентября 2015 года. Архивировано из оригинала 17 августа 2016 года . Проверено 30 сентября 2016 г.
- ^ Гарфинкель, Саймон; Спаффорд, Джин ; Шварц, Алан (2003). Практическая UNIX и Интернет-безопасность . О'Рейли Медиа . стр. 118–9. ISBN 9780596003234 .
- ^ «Об экранах, которые вы видите при запуске Mac» . Поддержка Apple . 13 августа 2015 года. Архивировано из оригинала 21 апреля 2016 года . Проверено 30 сентября 2016 г.
- ^ «О защите целостности системы на вашем Mac» . Поддержка Apple . 30 мая 2016. Архивировано из оригинала 20 марта 2016 года . Проверено 30 сентября 2016 г.
- ^ «Что нового в OS X — OS X El Capitan v10.11» . Библиотека разработчиков Mac . Яблоко. Архивировано из оригинала 4 марта 2016 года . Проверено 30 сентября 2016 г.
Внедрение кода и вложения во время выполнения в системные двоичные файлы больше не разрешены.
- ^ «Расширения ядра» . Библиотека разработчиков Mac . Яблоко. 16 сентября 2015 года. Архивировано из оригинала 17 августа 2016 года . Проверено 29 сентября 2016 г.
- ^ «Тримм в Йосемити» . Синдори . Проверено 18 июня 2015 г.
- ^ Уолтон, Джеффри (28 марта 2020 г.). «Патч Nettle 3.5.1 и OS X 10.12» . крапива-жуки (список рассылки). Архивировано из оригинала 14 июля 2020 года . Проверено 13 июля 2020 г.
- ^ Jump up to: а б «Как проверить, включена ли защита целостности системы (SIP) на Mac» . ОС Х ежедневно . 1 августа 2018 года . Проверено 6 марта 2021 г.
- ^ «Примечания к выпуску бета-версии 2 для разработчиков OS X El Capitan» . Библиотека разработчиков Mac . Яблоко. 22 июня 2015 г. В разделе «Примечания и известные проблемы». Архивировано из оригинала 26 июня 2015 года . Проверено 29 июня 2015 г.
- ^ Флейшман, Гленн (15 июля 2015 г.). «Частный I: Защита целостности системы El Capitan изменит функции коммунальных предприятий» . Макмир . Проверено 22 июля 2015 г.