Чи мають чипи Apple M4 новий процесор безпеки

Минулого року в мережі з’явилося багато розмов про те, що чипи Apple M4 та A18, встановлені в iPhone 16, отримали новий процесор безпеки — Secure Exclave Processor. Його називали “сестрою” Secure Enclave Processor, що використовується у всіх сучасних Mac. У цій статті ми розглянемо, чи є докази на підтримку цієї теорії.

Secure Enclave

Перші Mac із Secure Enclave та його окремим процесором (SEP) з’явилися понад вісім років тому — це були моделі MacBook Pro 2016 із чипом T1. Вони швидко поступилися місцем iMac Pro 2017 року з чипом T2, який став стандартом для останніх моделей Mac на Intel.

Всередині кожного T2 знаходиться 32-бітний процесор на базі Arm, що працює під керуванням sepOS. Він відповідає за збереження та управління ключами шифрування, а також підтримує інші функції безпеки.

З появою перших Mac на M1 їхні чипи також отримали SEP, інтегрований безпосередньо в основний процесор, але й надалі працюючий під sepOS. Apple надає детальну інформацію про SEP у своєму Посібнику з безпеки платформи, актуальному станом на травень 2024 року.

Якщо проаналізувати процес завантаження macOS Sequoia 15.3.1 на Mac із M4 Pro, можна побачити, що SEP залишає корисні записи в Unified log. Наприклад, сховище ключів SEP активується приблизно через 5 секунд після початку завантаження системи та ще до запуску інших ядер CPU. Дещо пізніше стартує й сам SEP, після чого починає обробляти запити, підтримувати біометричну автентифікацію та розшифровувати ключі для APFS.

Хоча SEP не є “багатослівним”, у логах він явно дає про себе знати.

Енклави, ексклави, конклави

Вперше термін ексклави в операційних системах Apple було згадано 8 серпня 2023 року в дослідженні Dataflow Forensics на базі бета-версії iOS 17. Дослідники припустили, що ексклави — це ізольовані домени коду, які відокремлені від ядра системи. Таким чином, навіть якщо ядро буде скомпрометоване, компоненти, що працюють у ексклавах, залишаться захищеними.

Пізніше я виявив нові ексклавні розширення ядра в macOS 14.4 і дослідив їх у контексті вихідного коду XNU.

Щоб краще зрозуміти термінологію, варто розглянути класичні визначення:

Енклав — це територія, повністю оточена територією іншої держави.

Ексклав — це частина держави, відокремлена від основної території.

Конклав — це закрите зібрання або нарада, наприклад, зустріч Колегії кардиналів для обрання нового Папи.

На основі цих визначень та вихідного коду XNU, у серпні минулого року я припустив, що ексклави є статичним набором ресурсів для ядра XNU. Приклади включають менеджери конклавів, сервіси на кшталт Apple ID для віртуальних машин (VMs), а також аудіобуфери.

Ці ресурси іменуються та отримують унікальні ідентифікатори, які використовуються як XNU, так і енклавами. Вони визначаються під час завантаження системи й організовуються в двох рівнях таблиць:

1. Головна таблиця класифікує ресурси за їхнім призначенням.

2. Додаткові таблиці містять інформацію про конкретні процеси.

Наприклад, у головній таблиці може бути запис для домену com.apple.conclave.a, що вказуватиме на додаткову таблицю з аудіобуфером, аудіосервісом (як менеджером конклаву) та іншими буферизаційними ресурсами.

В контексті аудіоексклавів, вони можуть використовуватись для з’єднання системного розширення, що працює з правами користувача, із привілейованим доступом у ядрі та його розширеннях.

Підтримка в macOS Sequoia

Станом на macOS Sequoia 15.3.1, ексклави підтримуються трьома розширеннями ядра:

ExclaveKextClient.kext 1.0.0

ExclaveSEPManagerProxy.kext 1.0

ExclavesAudioKext.kext 220.24

А також двома приватними фреймворками:

CoreSpeechExclave.framework 1.0 (3403.7.3)

libmalloc_exclaves_introspector.framework 1.0 (1)

Крім того, доступ до функцій ексклавів та конклавів регулюється групою приватних прав доступу (entitlements), назви яких починаються з com.apple.private.exclaves.

Ще одна цікава деталь — Tightbeam. Це слово походить від серії наукової фантастики The Expanse, де воно означає вузьконаправлене лазерне з’єднання для комунікацій. Вперше воно з’явилося в macOS 13.0 як назва приватного фреймворку й підтримується з того часу.

Аналіз логів завантаження ядра в macOS Sequoia 15.3.1 виявив лише один запис, пов’язаний із ексклавами:

ANE0: start: No Exclaves assigned to ANE

Це означає, що нейронний процесор ANE не отримав жодних ексклавів під час завантаження — причому цей процес відбувся набагато пізніше, ніж ініціалізація SEP.

Вихідний код XNU для macOS Sequoia 15.0 показує, що код у ексклавах може виконуватись або в ядрах CPU, або в нейронному процесорі (ANE).

Висновки

Давайте узагальнимо як зміна в архітектурі M4 впливає кінцевих користувачів, тобто нас.

1. Secure Enclave — це ізольований обчислювальний блок у чипах Apple Silicon, який зберігає та керує ключами шифрування, а також підтримує інші функції безпеки. Він працює під керуванням окремої ОС sepOS.

 Що це означає для вас? Secure Enclave відповідає за захист особистих даних, таких як Face ID, Touch ID, паролі та ключі шифрування. Це робить Mac значно безпечнішим, оскільки навіть у разі злому операційної системи ці дані залишаються недоступними.

2. Ексклави — це керовані ресурси, що виконуються ізольовано від ядра. Їх використовують для аудіо-обробки, підтримки CoreSpeech, сенсорів, а також, можливо, для автентифікації Apple ID у віртуальних машинах. Вони працюють у ядрах CPU та нейронному процесорі (ANE), але не мають власного процесора (принаймні, у Mac).

 Що це означає для вас? Ексклави допомагають підвищити продуктивність та безпеку, ізолюючи важливі функції. Наприклад, розпізнавання голосу (Siri та диктування тексту) стало більш захищеним і швидким, оскільки його обробка виконується окремо від решти системи.

3. Конклави — це зібрання ексклавів, які, втім, не повинні комунікувати за допомогою диму (fumata). 😉

 Що це означає для вас? Конклави дозволяють Mac працювати стабільніше, організовуючи ізольовані середовища для важливих функцій. Наприклад, це може допомогти зробити аудіо та відео обробку плавнішою та безпечнішою, зменшуючи ризик помилок і збоїв.

 Apple поступово розвиває архітектуру безпеки macOS, роблячи систему стійкішою до атак, продуктивнішою та ефективнішою. Для звичайного користувача це означає, що Mac стає надійнішим, швидшим та безпечнішим, навіть якщо він не використовує складні механізми захисту самостійно.

Оригінал новини Eclecticlight