Хабрахабр

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

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

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


/ фото Wikimedia CC

Зачем нужен Keystone

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

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

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

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

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

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


/ фото Brad Holt CC

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

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

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

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

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

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

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

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

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

Когда релиз

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть