Pull to refresh
2027.36
Timeweb Cloud
То самое облако

Apple M1 — разбор с точки зрения аппаратной безопасности

Level of difficultyEasy
Reading time11 min
Views9.4K
Давным-давно, в далёкой-далёкой яблочной компании зародилась идея создать собственный процессор для ноутбуков. И вот, спустя годы, Apple презентовала свой десктопный процессор M1.


В этой статье мы сосредоточимся на разборе безопасности процессора M1 от Apple. Компания всегда уделяла значительное внимание информационной безопасности своих устройств, особенно мобильных. Это не значит, что iPhone или iPad нельзя взломать. Нет, можно, конечно, вопрос лишь в цене. Просто цена взлома iOS существенно выше, чем взлома устройств на других ОС.

Но за всё приходится платить. И пользователи Apple платят сполна. Невозможно установить стороннее приложение, кроме как из AppStore, невозможно пользоваться NFC, кроме как через ApplePay, невозможно скачивать сторонние оформления иконок, шрифтов, клавиатур и т. д. Да даже бесполезный в большинстве случаев авиарежим и AirDrop нельзя убрать из панели быстрого доступа. Фактически — это непроницаемый железный занавес, который опустился от Штеттина на Балтике до Триеста на Адриатике.

Пользователи из России уже второй год живут на устройствах, функционал которых был искусственно обрезан. Не работает NFC, нельзя установить (или обновить установленные) основные банковские приложения, Apple даже телеграмм цензурирует. Фактически, телефоны яблочной марки лишились крайне важного для повседневности функционала.

Всё же, вернёмся к Apple M1. Что это такое? Фактически, это существенно улучшенный вариант 5-нм мобильного чипа A14 Bionic, который установлен в линейке смартфонов iPhone 12 и на двух iPad. Его мощность позволила Купертино поставить его в ноутбуки — сначала в MacBook Air, а затем в MacBook Pro — аж в 3-х версиях.

Apple M1 — это не только центральный процессор (CPU), это система из множества чипов, которые находятся под одним колпаком. То есть, система на чипе (system on the chip, SoC). Если в обычных процессорах от Intel и AMD стоит множество универсальных ядер, то в M1, как у наследника энергоэффективных мобильных чипов, сильно фрагментированы ядра и, соответственно, решаемые ими задачи.

Apple М1 — это:

  • Центральный процессор CPU — главный вычислительный центр, ответственный за большинство ежедневных задач. Выполняет большинство задач компьютера и программ.
  • Графический процессор GPU — работа с графикой, видео, изображениями и игры, конечно же.
  • Блок нейронной обработки (Neural processing unit, NPU) — машинное обучение и искусственный интеллект – зона ответственности данного чипа.
  • Обработчик цифровых сигналов (digital signal processor, DSP) — сложные математические вычисления. Выполняет более сложные математические функции, чем центральный процессор, включая декомпрессию музыкальных файлов.
  • Блок обработки изображений ISP — думаю, из расшифровки понятно, зачем он нужен.
  • Кодировщик видео (Video encoder/decoder) — аналогично.
  • Блок единой памяти (Unified memory) — позволяет модулям чипа взаимодействовать максимально быстро.
  • Блок безопасности (Secure Enclave) — самое интересное для нас место, скоро перейдём к нему.


Децентрализация позволяет подбирать под каждую задачу отдельное ядро, не задействуя другие части чипа. Помимо внушительной мощности (M1 кладёт на лопатки всех своих синих предков) такая система позволила существенно увеличить время работы того же мака. Показатели автономности выросли на 3-4 часа экрана, очень хороший результат. Также Air стали пассивно охлаждаться — единственный их кулер был убран.

Apple M1 и устройства на нём действительно открыли новую страницу в истории микроэлектроники, можно сказать — совершили революцию. Мощные, не требующие много энергии компьютерные процессоры стали новой фишкой компании. Но давайте чуть глубже зароемся в тот компонент M1 и устройства на его основе и узреем те технологии, которые обеспечивают мощную защиту яблочным устройствам.

Secure Enclave — цитадель чипа M1


Secure Enclave — не новомодное изобретение. Его встраивают в чипы Apple уже давно — с 2013 года яблочные гаджеты постепенно обзаводились этим островком безопасности. Первыми устройствами с ним были iPhone 5S и iPad Air, а уже сейчас он находится на всех без исключения гаджетах Apple. Зачем он нужен и как он работает?


Secure Enclave это фактически компьютер в компьютере, а именно — выделенная защищенная подсистема. Она обеспечивает защиту вашим самым сокровенным тайнам (нет, не фоткам в iCloud) — код-паролю и биометрической информации, которая хранится в отдельном хранилище. Естественно, Secure Enclave шифрует и обычные данные на накопитель, но не так, как для код-пароля и биометрии. Работает он чуть менее, чем постоянно. Вы его используете каждый день, но не замечаете этого. Как он работает?

Приведу простой пример. Есть у нас приложение “Госуслуги”. В нём – куча разной полезной информации для вас и, что самое главное, о вас. Поэтому при настройке приложения оно вам крайне рекомендует задать пароль для входа. Но чтобы не вводить пароль каждый раз, его можно дополнить биометрией —Touch ID/Face ID.

Её регистрация осуществляется при первом включении и настройке устройства пользователем. Датчики считывают вашу биометрию и отправляют её в Secure Enclave. В нём происходит обработка, шифровка и сохранение данных в выделенном хранилище в качестве шаблона. Он, кстати, не является чем-то постоянным и постоянно совершенствуется, каждое новое прикосновение пальца или изменение внешности лица учитывается в существующем шаблоне, развивая его.

Когда вы запускаете приложение, то оно просит вас провести аутентификацию. Touch ID/Face ID её проводит (заменяя ввод пароля), и вы получаете доступ к Госуслугам.

Именно в момент проведения аутентификации Secure Enclave включается в работу — сенсоры отправляют ему считанную биометрию в зашифрованном виде. Secure Enclave дешифровывает её и сверяет с шаблоном, который находится в выделенном хранилище. Если обнаружено сходство — вы получаете доступ к Госуслугам. Если нет — вас просят ввести пароль и заново пройти аутентификацию.

Концептуально безопасность Secure Enсlave построена на двух основных принципах.

Первый— изоляция Secure Enclave от основного процессора телефона. Это две параллельные системы, которые связаны между собой только защищенными каналами связи.

Второй — на Secure Enclave не хранится никакой информации о пользователе (он просто не имеет собственного хранилища). Эта система лишь контролирует поступление и извлечение информации, которая хранится в защищенном энергозависимом хранилище.

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


Схема Secure Enclave

Начнём с самого главного — сопроцессора процессора процессора (хе-хе). Он обеспечивает основную вычислительную мощность Secure Enclave, занимаясь управлением всех функций системы.

Его тактовая частота ниже частоты основного чипа, что позволяет блокировать атаки, которые направлены на изменение тактовой частоты процессора и его питания. Также за счёт изоляции от процессора сопроцессору нельзя повредить тем же программным обеспечением, которое может взломать центральный процессор. За счёт этих мер шанс добраться до ваших данных становится практически ничтожным.

Модуль защиты памяти. Смотрите, сам Secure Enclave работает в выделенной области DRAM-памяти (т. е. оперативке). Когда вы запускаете устройство, загрузочное ПЗУ (постоянное запоминающее устройство — энергонезависимое хранилище, как CD-диск, грубо говоря, о нём ниже) генерирует случайный кратковременный ключ защиты памяти для модуля защиты памяти, с помощью которого происходит ваша аутентификация.

Когда Secure Enclave записывает информацию в отдельный блок памяти, модуль защиты зашифровывает выделенный блок. Чтобы получить доступ к зашифрованной информации, модуль защиты должен получить необходимый тег аутентификации, и тогда модуль производит расшифровку блока. Если же тег не совпадает, МЗП передаёт Secure Enclave сообщение об ошибке и дальнейшие операции останавливаются до перезагрузки системы.

Загрузочное ПЗУ. Постоянно запоминающее устройство, где находится постоянный код, задающий аппаратный корень доверия для всего Анклава. Когда устройство включается, ПЗУ генерирует случайный кратковременный ключ, защищающий модуль защиты памяти. Также он шифрует блоки памяти, которые записывает Анклав в свою выделенную область.

Генератор истинных случайных чисел. Его задача создавать случайные криптографические ключи, которые будут использоваться при передаче данных от модуля к модулю.

Ещё одним важным элементом защиты является корневой криптографический ключ уникального идентификатора (UID). Это значение является уникальным для каждого устройства и не связано ни с какими другими ID на устройстве. Они генерируются генератором случайных чисел Secure Enclave на этапе производства, при этом процесс происходит исключительно в Анклаве. Это означает, что никто ни на каком этапе производства и продажи техники не может получить доступ к UID.

Модуль AES Secure Enclave. Это аппаратный блок, который выполняет симметричное дополнительное шифрование на основе шифра AES (один блок данных шифруется в другой посредством ключа шифрования).

Эта разработка предотвращает утечку данных на основе анализа тактовой частоты, статического и динамического анализа питания. То есть, модуль шифрует данные о базовых параметрах работы процессора в данный конкретный момент.

Ключи, используемые AES SE, не видны даже загрузочному ПЗУ Secure Enclave, хоть он и может запрашивать операции по шифровке и дешифровке данных.

Модуль AES. Ага, кроме того, что выше, существует ещё и отдельный AES модуль. Как показано на схемке ниже, он не находится в составе Secure Enclave. Он заключен между энергонезависимой изолированной флеш-памятью NAND и основной системной памятью.

В момент загрузки sepOS (операционка Secure Enclave) создаёт с помощью генератора случайных чисел случайный кратковременный ключ. AES модуль передаёт этот ключ по выделенным проводам, что ограничивает доступ к модулю одним Secure Enclave.

Этот модуль выполняет роль таможни, которая запаковывает и распаковывает ключи для Secure Enclave. Он обладает ключами для расшифровки данных Secure Enclave, но при этом он никогда не предоставляет этот ключ какому бы то ни было программному обеспечению. Его работа, опять же, представлена на схеме.


Акселератор открытого ключа (PKA) — это ещё один аппаратный блок, но уже внутри Secure Enclave, который выполняет криптографические операции. В отличие от модуля AES выше его шифрование — асимметрично.

Также как и AES, он защищает информацию от отслеживания по тактовым частотам процессора. Ключи шифрования видны только РКА и никому более, по аналогии, опять же, с AES.

Чтобы было более понятно различие этих двух систем, разберём разницу между симметричным (AES) и асимметричным (PKA) шифрованием. Более подробно прочитайте в этой статье на Хабре.

Симметричное шифрование в своей работе всегда использует один-единственный ключ, который известен и отправителю, и получателю. Он расшифровывает и шифрует информацию во всех сценариях работы.

Принцип простой как дверь, что даёт ему два плюса — он быстро работает и его создание не является чем-то сложным. Минус также лежит на поверхности — если ключ будет скомпрометирован, то вся информация будет известна обладателю ключа.


Асимметричное шифрование использует другой, более сложный принцип. Отправитель кодирует сообщение при помощи открытого ключа, который был заранее известен от получателя. Закодированное таким образом сообщение принимает адресат, но какую-то информацию он может получить, используя закрытый ключ шифрования, известный только ему.

Самый главный плюс этой системы — максимальная защищенность. Жертвуя временем, мы получаем крайне тяжелую для взлома структуру передачи информации.


В Secure Enclave используется оба этих принципах в схожих по своей сути задачах, но в разных модулях. Причина дублирования, в целом, очевидна — если ключ от модуля AES в Secure Enclave будет скомпрометирован, то им не получится воспользоваться для дальнейшего продвижения через модуль РКА.

Переходим к последним модулям Secure Enclave — шина I2C, защищенное энергонезависимое хранилище и защищенный нейронный модуль, который не представлен на схемах Анклава, так как его, с недавних пор, там тупо нет.


Шина I2C обеспечивает физическое соединение Secure Enclave с защищенным энергозависимым хранилищем с помощью двухканального соединения. Один провод отвечает за передачу данных, другой – за управление этим процессом. Само хранилище представляет собой, грубо говоря, CD-диск, на котором записана определенная информация.

Что там за информация? Там записаны корни всех ключей шифрования данных пользователей, UID, биометрия, данные Apple Pay и самое главное — значение код-пароля. Кроме того, там находится счетчик попыток входа и количество этих самых доступных попыток. По истечению этих попыток (допустим, 10 попыток на айфоне) происходит либо блокировка устройства, либо уничтожение всех данных, которые были защищены код-паролем пользователя.

То есть, в этом хранилище находятся ваши личные данные, а также ключи, которые позволяют расшифровать данные на вашем накопителе, и именно это хранилище и защищает Secure Enclave.

Защищенный нейронный модуль. Он интегрирован в Neural Engine, но связан только с Secure Enclave. На смартфонах и планшетах с Face ID модуль преобразует двумерные изображения и карты глубины лица в математические данные. А они уже по этапу отправляются через Анклав в защищенное хранилище.

После того, как мы познакомились со всеми частями Secure Enclave, я предлагаю чуть ближе рассмотреть процесс поступления и извлечения информации из защищенного хранилища. К сожалению, на сайте Apple я так и не нашёл последовательную цепочку поступления информации в защищенное энергонезависимое хранилище. Поэтому нижеследующие описание этого процесса является лишь моей догадкой, построенной на некоторых фрагментах статьи службы поддержки и здравом смысле.

Поступление информации:

  1. В момент регистрации Face ID/Touch ID датчики сканируют вашу биометрию и направляют её в зашифрованном виде в Secure Enclave.
  2. Прежде чем попасть в Анклав, данные проходят через AES-модуль, который их шифрует.
  3. Зашифрованная вне Secure Enclave биометрия проходит уже через внутреннюю симметричную шифровку аналогичного AES-модуля.
  4. Происходит финальный этап шифрования — асимметричным способом через акселератор открытого ключа.
  5. Наконец, идёт запись шаблона биометрии на защищенное энергонезависимое хранилище.

Извлечение информации, а вернее — сверка шаблона:

  1. В момент прохождения аутентификации Face ID/Touch ID датчики сканируют вашу биометрию и направляют её в зашифрованном виде в Secure Enclave.
  2. Прежде чем попасть в Анклав, данные проходят через AES-модуль, который их шифрует.
  3. Зашифрованная вне Secure Enclave биометрия проходит уже через внутреннюю симметричную шифровку аналогичного AES-модуля. И вот здесь момент, в котором я не уверен, — либо полученная биометрия сверяется сопроцессором Secure Enclave с шаблоном между AES модулем и РКА, либо она сверяется между РКА и защищенным хранилищем. Я больше склоняюсь ко второй версии.
  4. Защищенное хранилище по запросу РКА отправляет шаблон для сверки.
  5. Если совпадения были найдены, то аутентификация считается пройденной, а полученные данные стирается за ненадобностью (кроме случаев, когда они улучшают существующий шаблон).

Шифровка обычной информации на накопитель:


T2 – это один из родителей M1 — по крайне мере, в сфере аппаратной безопасности.

  1. Мы нажимаем на кнопочку «Сохранить» сохраняя нашу красивую презентацию.
  2. Файл с презентацией отправляется в AES модуль вне Secure Enclave и проходит через симметричное шифрование.
  3. Для шифровки данных используется ключ из защищенного хранилища.
  4. Ваша презентация в зашифрованном виде записана на накопитель.

Аппаратное отключение микрофона


Ещё одна интересная аппаратная функция защиты безопасности, про которую мне хотелось рассказать, это аппаратное отключение микрофона при закрытие крышки ноутбука. Оно защищает вас от прослушки, даже если каким-то образом был взломан сам Макбук или Айпад. Впервые функция была реализована на Макбуках с поддержкой сопроцессора Apple T2 (чип безопасности для интеловских маков). Сейчас она применяется на всех современных макбуках и айпадах компании.


Схема реализации

Для работы этой схемы применяются датчики крышки ноутбука, которые фиксируют физическое закрытие крышки (в частности, через датчик угла наклона шарнира). Параметры, заданные в них на производстве, невозможно перепрограммировать или изменить любым другим способом.

После закрытия крышки или чехла проходит буквально 0,5 секунд и система отключает каналы передачи данных между микрофоном и ЦП, либо отключает один из каналов ввода микрофона, которые обеспечивают его работу. То есть, просто-напросто технически отключая микрофон от системы. Опять же, если ваше устройство было взломано — прослушать вас при закрытой книжке будет технически невозможно, так как физического контакта между микрофоном и системой нет.

Резюмируя


Ну как-то так. В основе аппаратной безопасности чипа Apple M1 лежит Secure Enclave. Несмотря на кажущуюся сложность чипа, принцип его работы довольно… Понятен? Зашифрованная информация поступает в Анклав, проходит через ещё два уровня шифровки и записывается в защищенное хранилище. Для хранилища всех остальных данных применяется один уровень шифровки. Если уж совсем упрощать.

Разбирая каждый модуль отдельно, можно просто сдохнуть от количества различных терминов. Но если рассматривать общий принцип защиты информации в Secure Enclave, то можно понять, что Apple ничего сверхсложного не выдумывала.

Аппаратное отключение микрофона является пусть и небольшим, но важным штрихом ко всей картине аппаратной безопасности систем на чипе Apple M1.

Cписок источников:





Возможно, захочется почитать и это:


Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале

Tags:
Hubs:
Total votes 46: ↑39 and ↓7+32
Comments8

Articles

Information

Website
timeweb.cloud
Registered
Founded
Employees
201–500 employees
Location
Россия
Representative
Timeweb Cloud