Как хеши nonce предотвращают атаки повторного воспроизводства на Apple Silicon?

Вопрос или проблема

Mac на базе Apple Silicon имеют файл LocalPolicy, который контролирует процесс безопасной загрузки. Чтобы предотвратить атаки повторного воспроизведения LocalPolicy, используются хеши нонс. Из здесь:

Хеш lpnh используется для защиты от повторного воспроизведения LocalPolicy. Это SHA384 хеш нонса LocalPolicy (LPN), который хранится в Компоненте защищенного хранения и доступен через Secure Enclave Boot ROM или Secure Enclave. Сырой нонс никогда не виден Процессору приложений, только sepOS. Нападающему, желающему убедить LLB в том, что ранее захваченная LocalPolicy была действительностью, нужно будет поместить значение в Компонент защищенного хранения, которое хешируется до того же значения lpnh, найденного в LocalPolicy, которую они хотят воспроизвести.

Таким образом, как это объясняется, lpnh и LPN не могут служить механизмом защиты от повторного воспроизведения. Если lpnh является хешем только LPN, то остальные содержимое LocalPolicy могут быть изменены без ошибок валидации. lpnh должен включать содержимое файла LocalPolicy, чтобы служить механизмом защиты от повторного воспроизведения, в этом случае Apple может просто отказаться от нонса и хеша нонса и вместо этого хранить хеш LocalPolicy в Компоненте защищенного хранения.

Как эта система на самом деле работает?

Содержимое файла LocalPolicy для Mac с Apple silicon

LocalPolicy – это файл Image4, подписанный Secure Enclave.

Чтобы предотвратить воспроизведение атакующим старых версий подписанной LocalPolicy:

  1. Сначала проверяется подпись LocalPolicy.
  2. Затем вычисляется хеш нонса LocalPolicy (LPN), который хранится в образе LocalPolicy, и сравнивается с хешем нонса LocalPolicy (lpnh), который хранится в Компоненте защищенного хранения.

Ответ или решение

Чтобы понять, как хеши nonce (несклоняемых) помогают предотвратить атаки повторного воспроизведения (replay attacks) в системах на базе Apple Silicon, важно рассмотреть архитектуру и процесс обеспечения безопасности, использующийся для управления локальной политикой (LocalPolicy).

1. Основные компоненты системы безопасности

В Apple Silicon локальная политика представляет собой файл Image4, который подписан и проверяется с помощью Secure Enclave. Этот файл имеет критическое значение в процессе безопасной загрузки и верификации системы. Для борьбы с атаками повторного воспроизведения в системе используются следующие элементы:

  • Локальная политика (LocalPolicy): Это файл, который определяет правила и разрешения для загрузки конфигурации системы.
  • Nonce (LPN): Случайно сгенерированное значение, которое используется для уникализации каждой версии локальной политики.
  • Хеши (lpnh): Это SHA384 хеш, который соответствует nonce, хранящемуся в локальной политике.

2. Принципы работы системы

При запуске системы действуют определённые параметры проверки:

  1. Проверка подписи локальной политики: Прежде чем любой файл можно будет использовать, его подпись должна быть подтверждена. Это первое препятствие для потенциального злоумышленника, который пытается внести изменения в файл локальной политики.

  2. Сравнение хеша: После успешной проверки подписи, система вычисляет хеш nonce (LPN), хранящегося в локальной политике, и сравнивает его с хешем, хранящимся в Secure Storage Component (lpnh). Это второе могло бы быть достаточно для проверки целостности локальной политики.

3. Защита от атак повторного воспроизведения

Replay attack основывается на возможности повторного использования ранее зафиксированных данных (в данном случае, локальной политики). Чтобы предотвратить такую атаку, хеши nonce имеют решающее значение:

  • Уникальность значения nonce: Каждая локальная политика имеет свой уникальный nonce. Это означает, что даже если атакующий перехватит данные, предшествовавшие текущему запуску, они не смогут воспроизвести предыдущие версии локальной политики, поскольку отпечаток nonce будет отличаться.

  • Закрытость raw nonce: Важно отметить, что исходное значение nonce (LPN) недоступно для процессора, а только для Secure Enclave. Это минимизирует риски компрометации nonce, поскольку даже в случае доступа к локальной политике, хеш будет оставаться защищённым в Secure Storage.

4. Обсуждение возможных уязвимостей

Некоторые могут задаться вопросом, как система может предотвратить внесение изменений в другие части локальной политики, если только хеш nonce используется в процессе верификации. Дело в следующем:

  • Полный хеш локальной политики: Хотя в схеме используется hesh nonce, для полной защиты системы можно добавить еше шаги в процесс верификации, которые бы учитывали содержимое самой локальной политики помимо nonce. Таким образом, любой несанкционированный доступ или изменение данных будут выявлены.

  • Многократные проверки: Система находит способы интеграции дополнительных механизмов проверки, чтобы гарантировать, что даже если изменение несанкционировано, это не будет проигнорировано в процессе безопасности.

Заключение

Использование хешей nonce в системах на базе Apple Silicon на самом деле является многоуровневым процессом, в котором на каждую версию локальной политики накладывается несколько уровней защиты. Это подтверждает приверженность Apple к созданию безопасных платформ и защиту пользователей от различных атак, включая атаки повторного воспроизведения. Постоянное развитие механизмов безопасности поможет адаптироваться к новым угрозам и увеличит уровень доверия со стороны пользователей.

Оцените материал
Добавить комментарий

Капча загружается...