Проект Keystone: доверенная среда для запуска приложений на базе RISC-V +18
Системное администрирование, IT-инфраструктура, Информационная безопасность, Open source, Блог компании ИТ-ГРАД
Рекомендация: подборка платных и бесплатных курсов таргетированной рекламе - https://katalog-kursov.ru/
Команда исследователей из 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