Проект Keystone: доверенная среда для запуска приложений на базе RISC-V +18


Команда исследователей из MIT и Калифорнийского университета в Беркли при поддержке Facebook, Google, Microsoft и других ИТ-гигантов представила проект Keystone. Это open source компонент, позволяющий организовать доверенную среду для запуска программ (trusted execution environment, TEE) на базе архитектуры RISC-V.

Далее — о том, зачем понадобилось решение и как оно устроено.


/ фото Wikimedia CC

Зачем нужен Keystone


Trusted execution environment представляет собой изолированную область (анклав) главного процессора с набором механизмов безопасности. Считается, что код и данные, загруженные в эту область, надежно защищены от изменения и вмешательства извне.

Идея в том, что в этих анклавах можно проводить операции над персональными и конфиденциальными данными, не боясь их компрометации, поскольку доступ к этим областям процессора не имеет ни операционная система, ни другие приложения.

На рынке есть системы и решения, которые защищают данные на уровне железа. Однако все они являются проприетарными, так как их реализуют сами производители компьютерных чипов. И есть мнение, что эти технологии недостаточно хорошо защищены (поскольку недоступны для оценки независимыми экспертами по ИБ).

К примеру, Intel предлагают расширение архитектуры Software Guard Extensions (SGX), которое защищает данные от несанкционированного доступа и изменения. Эта технология тоже задействует анклавы, в которых выполняется код пользовательского приложения. Однако совсем недавно стало известно, что эта система уязвима к атаке Foreshadow (CVE-2018-3615). Злоумышленники могут получить доступ к данным в анклаве SGX, используя особенности спекулятивного исполнения команд.

Помимо Intel, свои решения предлагает AMD — их названия Secure Processor и SEV, а также ARM — у них есть TrustZone. Однако к их безопасности у экспертов ИБ также есть вопросы.

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


/ фото Brad Holt CC

Таким образом, система Keystone представляет собой open source проект на базе архитектуры RISC-V для построения TEE. Исследователи выбрали RISC-V, поскольку она менее уязвима к атакам по сторонним каналам, направленным на практические реализации криптосистем. В частности, этот тип архитектуры не подвержен уязвимостям вроде Meltdown и Spectre.

Разработчики Keystone поставили перед собой следующие цели:

  • Построить цепочку доверия для проверки каждого компонента аппаратного и программного обеспечения (сюда вошли системы Secure boot и удаленная проверка надежности «железа»);
  • Изолировать память от вмешательства извне;
  • Реализовать методы защиты от атак по сторонним каналам;
  • Реализовать методы шифрования памяти и адресной шины.

Компоненты решения


Концепция Keystone базируется на технологиях SGX и анклав-платформе Sanctum Processor, разработанной в MIT.

Последняя строится с применением так называемого доверенного слоя абстрагирования, или trusted abstract platform (TAP). Платформа (TAP) состоит из процессора со счетчиком команд, регистров общего назначения, системы для трансляции виртуальных адресов и набора примитивов для выполнения кода в защищенном анклаве.

От системы SGX Keystone «взял» движок для шифрования памяти (Memory Encryption Engine, MEE). Ядро решения организовано с помощью параметризованного RISC-V процессора BOOM (Berkeley Out-of-Order Machine) на SoC-генераторе Rocket.

В общем виде схема реализации системы с анклавом на RISC-V выглядит следующим образом:


Исследователи уже провели несколько тестов своего решения и установили, оно надежно изолирует среду выполнения кода и защищает его от вмешательства извне (по крайней мере, от известных атак).

Когда релиз


Первая версия — Keystone v0.1 — появится этой осенью и будет выполнена на FPGA. Исследователи оживают, что в перспективе она сможет заменить SGX при реализации блокчейн-платформ.



P.S. Дополнительные материалы из Первого блога о корпоративном IaaS:


P.P.S. Пара постов из нашего блога на Хабре:




К сожалению, не доступен сервер mySQL