Как Apple защищает iOS. Часть 1




В связи с выходом нового устройства Apple iPhone эксперты группы компания Angara изучили функции безопасности в экосистеме Apple iOS .

Все компоненты загрузки зашифрованы и подписаны сертификатами Apple. Первый этап загрузки происходит из физически защищенного сектора Boot ROM, где хранится сертификат Apple для подписи компонентов загрузки iBoot, Low-Level Bootloader - LLB, iOS kernel. Контроль целостности iBoot региона производится процессом memory controller. В случае компрометации одного из этапов загрузки, происходит перезагрузка из образа системы в облачном хранилище Apple.

Apple регулярно выпускает обновления и патчи для критических уязвимостей. В устройстве используется процессы System Software Authorization и Secure Enclave, предотвращающие возможно осуществить downgrade системы и эксплуатировать старую уязвимость.

Сервис iTunes скачивает весь образ iOS, а сервис Over-The-Air (OTA) скачивает только необходимые пакеты, уменьшая утилизацию сети. Для аутентификации устройства в облаке Apple используется Exclusive Chip Identification (ECID) - с помощью него и процесса Secure Enclave отслеживается точная версионность пакетов и подписываются передаваемые пакеты обновлений. Процесс Kernel Integrity Protection (KIP) используется для контроля целостности системы.

От эксплуатации уязвимостей RAM защищает процесс Pointer Authentication Codes (PACs). Он отслеживает несанкционированную модификацию указателя памяти и защищает от атаки  Return Oriented Programming (ROP).

Авторизация пользователя в системе производится через TouchID, FaceID или device passcode. FaceID реализуется камерой TrueDepth, которая с помощью 30 000 инфракрасных точек формирует последовательность 2D портретов с картами глубин. Из этой выборки случайным образом формируется шаблон аутентификации (математическая последовательность), который передается в процесс Secure Enclave. В процессе используется самообучаемая нейронная сеть +- она учитывает изменения во внешности для соответствующего обновления эталонного образа. Все данные, связанные с  FaceID, шифруются и никогда не покидают устройство, не передаются в облако Apple, за исключением прямого запроса в AppleCare и добровольной передачи для диагностики проблем.

Легитимные приложения подписываются сертификатом Apple - неверифицированное приложение не сможет запуститься в системе. Чтобы получить сертификат для шифрования, разработчик должен пройти проверку и войти в Apple Developer Program - коммьюнити доверенных разработчиков. Каждое приложение представляет конкретное юридическое или физическое лицо.

Приложения функционируют в песочнице  - изолированный файловый контейнер с запретом изменения файлов вне контейнера, область "надстроена" над  уровнем операционной системы. Процесс Address space layout randomization (ASLR) защищает области оперативной памяти от несанкционированного использования.

Для взаимодействия приложения используются специальные расширения (extensions) и специализированное API - extension point, защищенное политикой безопасности. Расширение функционирует в выделенном адресном пространстве, коммуникации производятся посредничеством операционной системы. Пакет для разработки iOS Software Development Kit (SDK) включает в себя библиотеки защищенных функций: NSFileManager, CoreData, NSData, SQLite, Mail app database с реализацией шифрования и аутентификации.

Для использования беспроводных аксессуаров Made for iPhone, iPad and iPod touch (MFi) используется протокол iPod Accessories Protocol (iAP) - реализует аутентификацию устройства по подписи сертификатом Apple. Если устройство не использует данный тип подписи, оно получит доступ к ограниченному числу функций. Например, наушники получат доступ только к  UART audio playback controls.

Сетевые коммуникации поддерживают и используют протокол TLS всех версий (TLS v1.0, TLS v1.1, TLS v1.2, TLSv1.3 and DTLS), шифрование AES-128 и AES-256. В приоритете сильные и актуальные протоколы. Использование алгоритма SHA-1 запрещено с версий iOS 11 и выше, macOS High Sierra и выше.

Тему безопасности iOS и разбор политик продолжим во второй части статьи.  Рассмотрим реализацию VPN, защиту Wi-Fi и Bluetooth, Apple Pay, вопрос безопасности Health Kit и устройств, связанных и работающих с данными о состоянии здоровья пользователя. Следите за публикациями.
Источник

Angara Technologies Group

Корпоративный блог компании Angara Technologies Group