Управление политикой безопасности Загрузочного диска на компьютере Mac с чипом Apple
Обзор
В отличие от политик безопасности на компьютере Mac с процессором Intel политики безопасности на компьютере Mac с чипом Apple относятся к конкретной установленной операционной системе. Это означает, что на одном компьютере Mac может быть установлено несколько экземпляров macOS с разными версиями и политиками безопасности. Поэтому в Утилиту безопасной загрузки был добавлен инструмент выбора операционной системы.
На компьютере Mac с чипом Apple утилита системной безопасности показывает общее состояние настроенной пользователем безопасности macOS, например загрузку расширения ядра или конфигурацию защиты целостности системы (SIP). Если изменение настроек безопасности приводит к значительному снижению уровня защиты или существенно упрощает вмешательство в систему, для внесения такого изменения пользователю потребуется войти в среду recoveryOS путем удерживания кнопки питания (благодаря этому вредоносное программное обеспечение не может передать сигнал; это может сделать только человек с физическим доступом). Поэтому компьютер Mac с чипом Apple также не требует (и не поддерживает) пароль прошивки, так как все критически важные изменения уже регулируются авторизацией пользователя. Подробнее о SIP см. в разделе Защита целостности системы.
Высший уровень безопасности или сниженный уровень безопасности можно задать с помощью Утилиты безопасной загрузки в среде recoveryOS. Режим низкого уровня безопасности может быть вызван только из командной строки для пользователей, которые решили существенно снизить уровень защиты своего Mac и принимают сопряженные с этим риски.
Политика «Высший уровень безопасности»
Высший уровень безопасности выбран по умолчанию и работает так же, как и в iOS и iPadOS. При загрузке и подготовке к установке такого программного обеспечения операционная система macOS вместо использования глобальной подписи, прилагаемой к программному обеспечению, обращается к тому же серверу подписания Apple, который используется для iOS и iPadOS, и запрашивает новую «персонализированную» подпись. Подпись называется персонализированной, если запрос на подписание содержит уникальный идентификатор чипа ECID — в данном случае уникальный идентификатор процессора Apple. В этом случае подпись, возвращаемая сервером подписания, является уникальной и может использоваться только этим конкретным процессором Apple. При использовании высшего уровня безопасности загрузочное ПЗУ и низкоуровневый загрузчик помогают убедиться в том, что подпись не просто предоставлена Apple, а предназначена для этого конкретного Mac, то есть что эта версия macOS привязана к этому Mac.
Использование интернет-сервера подписания также обеспечивает лучшую защиту от атак методом отката, чем обычные подходы, в которых используются глобальные подписи. В системе на основе глобальных подписей новая эпоха безопасности может наступить несколько раз, но система, на которой никогда не была установлена последняя версия прошивки, этого не знает. Например, компьютер, который считает, что находится в эпохе безопасности 1, принимает программное обеспечение из эпохи безопасности 2, хотя на самом деле уже наступила эпоха безопасности 5. С системой интернет-подписания чипа Apple сервер подписания может отклонять запросы создания подписей от программного обеспечения, которое не соответствует последней эпохе безопасности.
Кроме того, если злоумышленник обнаружит уязвимость после смены эпохи безопасности, он не сможет просто взять уязвимое программное обеспечение из системы A, принадлежащей предыдущей эпохе, и с его помощью атаковать систему B. Тот факт, что уязвимое ПО из более ранней эпохи было персонализировано для системы A, помогает предотвратить его передачу и использование для атаки системы B. Совместное применение всех этих механизмов дает более твердую гарантию того, что злоумышленники не смогут преднамеренно поместить уязвимое ПО на компьютер, чтобы обойти средства защиты, предоставляемые новейшим программным обеспечением. Однако обладатель имени и пароля администратора Mac всегда может выбрать политику безопасности, которая наилучшим образом подходит для его ситуации.
Политика «Сниженный уровень безопасности»
Сниженный уровень безопасности аналогичен среднему уровню безопасности на компьютере Mac с процессором Intel и чипом T2, при этом поставщик (в данном случае Apple) генерирует цифровую подпись для кода, чтобы подтвердить, что этот код получен от поставщика. Эта мера помогает предотвратить добавление неподписанного кода злоумышленниками. Apple называет эту подпись «глобальной», поскольку ее можно использовать на любом компьютере Mac в течение любого периода времени, если в данный момент на компьютере Mac установлена политика «Сниженный уровень безопасности». Сниженный уровень безопасности сам по себе не обеспечивает защиту от атак методом отката, однако несанкционированное изменение операционной системы может привести к тому, что пользовательские данные станут недоступными. Подробнее см. в разделе Расширения ядра на компьютере Mac с чипом Apple.
Помимо возможности запуска более ранних версий macOS, сниженный уровень безопасности требуется для выполнения других действий, таких как установка сторонних расширений ядра, в результате чего система пользователя подвергается риску. Расширения ядра имеют те же разрешения, что и само ядро, поэтому любые уязвимости в них могут привести к возникновению прямой угрозы для всей операционной системы. Именно поэтому разработчикам настоятельно рекомендуется переходить на расширения системы, прежде чем поддержка расширений ядра будет удалена из macOS для будущих компьютеров Mac с чипом Apple. Даже если возможность добавления сторонних расширений ядра включена, отдельные расширения невозможно загружать в ядро по запросу. Вместо этого расширения ядра объединяются во вспомогательную коллекцию ядра (AuxKC), хеш которой хранится в политике LocalPolicy, и поэтому затем требуется перезагрузка. Подробнее о создании AuxKC см. в разделе Безопасное расширение ядра в macOS.
Политика «Низкий уровень безопасности»
Низкий уровень безопасности предназначен для тех, кто принимает риск значительного снижения уровня защиты своего Mac. Данный режим отличается от политики «Функции безопасности отключены» на компьютере Mac с процессором Intel и чипом T2. В режиме низкого уровня безопасности по-прежнему выполняется проверка подписи и выполняется вся безопасная последовательность загрузки, однако переход в режим низкого режима безопасности сигнализирует загрузчику iBoot о том, что ему следует принять объекты загрузки с локальной подписью Secure Enclave, такие как сгенерированная пользователем загрузочная коллекция ядра, созданная на основе настраиваемого ядра XNU. Таким образом в режиме низкой безопасности на уровне архитектуры обеспечивается возможность запуска произвольного ядра «полностью ненадежной операционной системы». После загрузки настраиваемой загрузочной коллекции ядра или ненадежной операционной системы некоторые ключи расшифровки становятся недоступными. Эта мера направлена на то, чтобы исключить возможность доступа ненадежной операционной системы к данным надежных операционных систем.
Важно! Apple не предоставляет настраиваемые ядра XNU и не обеспечивает поддержку их использования.
Политика «Низкий уровень безопасности» также отличается от политики «Функции безопасности отключены» на компьютере Mac с процессором Intel и чипом T2 тем, что она необходима для ослабления ряда функций безопасности, которые в прошлом управлялись независимо. Особенно важно, что для отключения защиты целостности системы (SIP) на компьютере Mac с чипом Apple пользователь должен подтвердить, что намеренно задает для системы политику «Низкий уровень безопасности». Это необходимо, поскольку отключение SIP всегда облегчает взлом ядра системы. В частности, отключение SIP на компьютере Mac с чипом Apple приводит к отключению применения подписи расширения ядра во время создания AuxKC, в результате чего в память ядра можно загрузить произвольное расширение ядра. На компьютере Mac с чипом Apple защита SIP была усилена путем перемещения хранилища политик из энергонезависимой памяти в политику LocalPolicy. Теперь для отключения SIP требуется аутентификация, выполненная пользователем, у которого есть доступ к ключу подписания политики LocalPolicy, из среды recoveryOS, перейти в которую можно путем длительного нажатия кнопки питания. Это значительно усложняет отключение SIP для злоумышленников, использующих только программное обеспечение, а также и при наличии физического доступа к компьютеру.
Невозможно выбрать режим низкого уровня безопасности из Утилиты безопасной загрузки. Для снижения уровня безопасности пользователи должны использовать инструменты командной строки из Терминала в recoveryOS, например csrutil
(для отключения SIP). Когда пользователь снижает уровень безопасности, этот факт отражается в Утилите безопасной загрузки, так что пользователь может легко установить более защищенный режим.
Примечание. Компьютер Mac с чипом Apple не требует и не поддерживает определенные политики загрузки с носителя, поскольку с технической точки зрения все загрузки выполняются локально. Если пользователь хочет выполнить загрузку с внешнего носителя, необходимо сначала персонализировать версию операционной системы, используя аутентифицированную перезагрузку из recoveryOS. При перезагрузке на внутреннем диске создается файл LocalPolicy, который используется для выполнения надежной загрузки из операционной системы, хранящейся на внешнем носителе. Это означает, что конфигурация загрузки с внешнего носителя всегда явным образом включается для конкретной операционной системы и уже требует авторизации пользователя, поэтому дополнительная безопасная конфигурация не нужна.