Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021)

Материал из 0x1.tv

Докладчик

На сегодняшний день практически все SoC для мобильных устройств основаны на процессорах архитектур ARMv7-A и ARMv8-A. Поскольку мобильные устройства зачастую хранят информацию, которая может представлять интерес для злоумышленников (такую как данные банковских приложений), мобильные SoC на базе процессоров ARM, как правило, поддерживают доверенную среду исполнения, предоставленную технологией ARM TrustZone.

Данный доклад сфокусируется на проектах, находящихся под управлением организации Trusted Firmware; будет подробно рассказано, как эти проекты формируют целостный набор свободного системного ПО для доверенных режимов исполнения. Также будет рассказано о том, как российская компания «Открытая мобильная платформа» привносит свой вклад в это сообщество и его проекты.

Видео

on youtube

Презентация

Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021).pdf

Thesis

Что такое TrustZone

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

На сегодняшний день практически все SoC для мобильных устройств базируются на ARM-процессорах Cortex-A ARMv7-A/v8-A, и, как правило, обладают поддержкой технологии ARM TrustZone[1].

Эта технология позволяет организовать доверенную среду исполнения —Trusted Execution Environment (TEE), изолированную от основной операционной системы. Доверенная среда исполнения используется для запуска приложений, требующих повышенного уровня безопасности, например —биометрической идентификации, платёжных систем и т. д. [2]

Khabirova-img001-oseduconf2021.png

ARM TrustZone основывается на аппаратном разделении ресурсов между двумя состояниями процессора — основным и доверенным. Помимо этого ARM предоставляет дополнительные IP-блоки контроллеров памяти и периферии — TrustZone Address Space Controller (TZASC), а также TrustZone Protection Controller (TZPC). Эти блоки позволяют ограничить доступ к определённым участкам адресного пространства или периферийным устройствам из обычного режима исполнения (основной ОС). Переключение между основным и доверенными режимами исполнения ядра процессора осуществляется путём вызова специальной инструкции — SMC (Secure Monitor Call).

С точки зрения высокоуровнего взаимодействия обмен данными между основной средой исполнения и доверенной, как правило, организуется на основе стандартизованного API по спецификации GlobalPlatform[3].

Семейство Cortex-A ARMv8-A имеет следующий набор режимов исполнения (Exception Levels): EL0 для исполнения пользовательских программ, EL1 — для исполнения ядра основной ОС, EL2 —уровень гипервизора, EL3 —монитор безопасности для переключения между нормальным и безопасным режимами исполнения; S-EL0 —для исполнения доверенных сервисов, S-EL1 — для исполнения доверенной ОС, S-EL2 —для доверенного гипервизора.

О проекте Trusted Firmware

Trusted Firmware — проект сообщества с открытым руководством[4]. Trusted Firmware предоставляет эталонную реализацию доверенной среды исполнения с открытым исходным кодом под лицензией 3-BSD для процессоров Armv8-A и Armv8-M. Кодовая база проекта поддерживается в соответствии с актуальными спецификациями Arm. Суммарно проекты под управлением TF реализуют полный набор программного кода для исполнения в режимах EL3 / S-EL2 / S-EL1 / S-EL0. Эти проекты в том числе служат целям дефрагментации кода, работающего на этих уровнях.

  • Trusted Firmware-A и Trusted Firmware-M Эталонная реализация программного обеспечения уровня привилегий EL3 для Armv8-A, Armv7-A, Armv8-M. Берёт на себя процедуру загрузки доверенной ОС, а также предоставляет основной ОС и доверенной ОС некоторые сервисы во время работы системы —связанные с управлением питанием и поддержкой конкретного SoC и конкретной платформы. Официально поддерживается более 30 платформ от более чем 16 вендоров.
  • OP-TEE Доверенная среда исполнения, исполнение на уровнях S-EL1 / S-EL0 —непосредственно реализует доверенную среду исполнения для использования совместно с ОС Linux в качестве основной ОС.
  • Mbed TLS Библиотека, реализующая криптографические примитивы, работу с сертификатами в формате X.509 и протоколами SSL/TLS и DTLS. Подходит для использования во встраиваемых системах благодаря малому объёму кодовой базы. Её используют в том числе TF-A, TF-M, и OP-TEE.
  • Hafnium Гипервизор S-EL2, на основе которого реализуется эталонный менеджер безопасных партиций (Secure Partition Manager, SPM) для систем, которые поддерживают расширение Armv8.4-A. Он позволяет иметь несколько изолированных безопасных партиций (SP), которые будут работать на уровне S-EL1.
  • Trusted Services Фреймворк для разработки и развёртывания сервисов корня доверия устройства в различных средах безопасного выполнения, включая те, которые предоставляют OP-TEE и Hafnium, а также безопасные анклавы.

ОМП и Trusted Firmware

Российская компания «Открытая мобильная платформа» занимается разработкой ОС «Аврора» для мобильных устройств[5]. Операционная система «Аврора» включена в Единый реестр российских программ для электронных вычислительных машин и баз данных (Рег. No1543 от 05.09.2016) и соответствует требованиям по безопасности информации ФСТЭК России к операционным системам типа «А» четвёртого класса защиты, а также требованиям ФСБ России по защите информации классов АК2/КС2.

Как разработчик ОС для мобильных устройств, компания «ОМП» ведёт разработку и развитие собственного продукта для реализации функционала среды ARM TrustZone; данный продукт получил название «Аврора TEE». Основными направлениями функционала «Аврора ТЕЕ» являются: предоставление приложениям из основной ОС доверенных криптографических сервисов, управление ключами, безопасное хранение данных, а также аудит основной ОС и состояния устройства в целом как один из механизмов безопасности МУ.

В начале 2021 года «ОМП» вступила в сообщество Trusted Firmware. Открытость и прозрачность в управлении проектами TF позволяют отслеживать изменения в кодовой базе и предлагать сообществу свои идеи, исправления и новые программные компоненты. Пребывание в сообществе помогает быть в курсе готовящихся изменений и вместе с сообществом определять пути дальнейшего развития. Также важно, что разработки «ОМП» (например, механизм плагинов для демона OP-TEE supplicant) и идеи (например, предложения по разделению аппаратных ресурсов между TEE и REE) не только развивают открытый проект и снижают затраты на поддержку, но и позволяют компании получать ценный опыт, что в итоге повышает качество всех продуктов «ОМП».

Проекты организации Trusted Firmware — свободное системное ПО обеспечения безопасности на процессорах ARM (OSSDEVCONF-2021)!.jpg

Примечания и ссылки

  1. TrustZone technology for Armv8-A. URL: https://developer.arm.com/ip-products/security-ip/trustzone/trustzone-for-cortex-a
  2. Антон Рыбаков. Контроль целостности мобильной ОС из доверенной среды исполнения // Системный Администратор — 2020 №~12 — стр.~26—30
  3. Global Platform Specifications Archive. URL: https://globalplatform.org/specs-library/
  4. Trusted Firmware. https://www.trustedfirmware.org/
  5. Мобильная ОС Аврора. URL:https://auroraos.ru/

Plays:0   Comments:0