- PVSM.RU - https://www.pvsm.ru -
Команда исследователей из MIT и Калифорнийского университета в Беркли [1] при поддержке Facebook, Google, Microsoft и других ИТ-гигантов представила [2] проект Keystone [3]. Это open source компонент, позволяющий организовать доверенную среду для запуска программ (trusted execution environment, TEE [4]) на базе архитектуры RISC-V.
Далее — о том, зачем понадобилось решение и как оно устроено.
[5]
/ фото Wikimedia [6] CC [7]
Trusted execution environment представляет собой изолированную область (анклав) главного процессора с набором механизмов безопасности. Считается, что код и данные, загруженные в эту область, надежно защищены от изменения и вмешательства извне.
Идея в том, что в этих анклавах можно проводить операции над персональными и конфиденциальными данными, не боясь их компрометации, поскольку доступ к этим областям процессора не имеет ни операционная система, ни другие приложения.
На рынке есть системы и решения, которые защищают данные на уровне железа. Однако все они являются проприетарными, так как их реализуют сами производители компьютерных чипов. И есть мнение [2], что эти технологии недостаточно хорошо защищены (поскольку недоступны для оценки независимыми экспертами по ИБ).
К примеру, Intel предлагают расширение архитектуры Software Guard Extensions [8] (SGX), которое защищает данные от несанкционированного доступа и изменения. Эта технология тоже задействует анклавы, в которых выполняется код пользовательского приложения. Однако совсем недавно стало известно [9], что эта система уязвима к атаке Foreshadow [10] (CVE-2018-3615 [11]). Злоумышленники могут получить доступ к данным в анклаве SGX, используя особенности спекулятивного исполнения команд [12].
Помимо Intel, свои решения предлагает AMD — их названия Secure Processor и SEV, а также ARM — у них есть TrustZone. Однако к их безопасности [13] у экспертов ИБ также есть вопросы [14].
По мнению исследователей из MIT и Калифорнийского университета, система с открытым исходным кодом, хоть и не сделает анклавы неуязвимыми, все же позволит повысить их безопасность за счет экспертизы множества специалистов сообщества.
Таким образом, система Keystone представляет собой open source проект на базе архитектуры RISC-V для построения TEE. Исследователи выбрали RISC-V, поскольку она менее уязвима к атакам по сторонним каналам [17], направленным на практические реализации криптосистем. В частности, этот тип архитектуры не подвержен [18] уязвимостям вроде Meltdown и Spectre.
Разработчики Keystone поставили перед собой следующие цели [3]:
Концепция Keystone базируется на технологиях SGX [20] и анклав-платформе Sanctum Processor [21], разработанной в MIT [22].
Последняя строится с применением так называемого доверенного слоя абстрагирования [23], или trusted abstract platform (TAP). Платформа (TAP) состоит из процессора со счетчиком команд [24], регистров общего назначения [25], системы для трансляции виртуальных адресов [26] и набора примитивов для выполнения кода в защищенном анклаве.
От системы SGX Keystone «взял» движок для шифрования памяти (Memory Encryption Engine, MEE). Ядро решения организовано с помощью параметризованного RISC-V процессора BOOM [27] (Berkeley Out-of-Order Machine) на SoC [28]-генераторе Rocket [29].
В общем виде схема реализации системы с анклавом на RISC-V выглядит следующим образом:

Исследователи уже провели несколько тестов своего решения и установили [22], оно надежно изолирует среду выполнения кода и защищает его от вмешательства извне (по крайней мере, от известных атак).
Первая версия — Keystone v0.1 — появится [3] этой осенью и будет выполнена на FPGA. Исследователи оживают, что в перспективе она сможет заменить SGX при реализации [30] блокчейн-платформ.
P.P.S. Пара постов из нашего блога на Хабре:
Автор: it_man
Источник [36]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/293199
Ссылки в тексте:
[1] Калифорнийского университета в Беркли: https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB%D0%B8%D1%84%D0%BE%D1%80%D0%BD%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82_%D0%B2_%D0%91%D0%B5%D1%80%D0%BA%D0%BB%D0%B8
[2] представила: https://www.theregister.co.uk/2018/08/31/keystone_secure_enclave/
[3] Keystone: https://keystone-enclave.org/
[4] TEE: https://en.wikipedia.org/wiki/Trusted_execution_environment
[5] Image: https://habr.com/company/it-grad/blog/423777/
[6] Wikimedia: https://ru.m.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:WinonaSavingsBankVault.JPG
[7] CC: https://creativecommons.org/licenses/by-sa/3.0/
[8] Software Guard Extensions: https://software.intel.com/ru-ru/sgx
[9] стало известно: https://www.usenix.org/conference/usenixsecurity18/presentation/bulck
[10] Foreshadow: https://foreshadowattack.eu/
[11] CVE-2018-3615: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3615
[12] спекулятивного исполнения команд: https://en.wikipedia.org/wiki/Speculative_execution
[13] их безопасности: https://xakep.ru/2018/05/28/severed/
[14] также есть вопросы: https://googleprojectzero.blogspot.com/2017/07/trust-issues-exploiting-trustzone-tees.html
[15] Brad Holt: https://www.flickr.com/photos/brad_holt/3964535704/
[16] CC: https://creativecommons.org/licenses/by/2.0/
[17] атакам по сторонним каналам: https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BF%D0%BE_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%BC_%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D0%B0%D0%BC
[18] не подвержен: https://riscv.org/2018/01/more-secure-world-risc-v-isa/
[19] цепочку доверия: https://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BF%D0%BE%D1%87%D0%BA%D0%B0_%D0%B4%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%8F
[20] SGX: https://en.wikipedia.org/wiki/Software_Guard_Extensions
[21] Sanctum Processor: https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/costan
[22] разработанной в MIT: https://people.eecs.berkeley.edu/~spramod/papers/ccs17.pdf
[23] слоя абстрагирования: https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%BE%D0%B9_%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D1%85_%D0%B0%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%86%D0%B8%D0%B9
[24] счетчиком команд: https://ru.wikipedia.org/wiki/%D0%A1%D1%87%D1%91%D1%82%D1%87%D0%B8%D0%BA_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4
[25] регистров общего назначения: https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0
[26] трансляции виртуальных адресов: https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C
[27] BOOM: https://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-167.html
[28] SoC: https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BD%D0%B0_%D0%BA%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BB%D0%BB%D0%B5
[29] Rocket: https://github.com/freechipsproject/rocket-chip
[30] реализации: https://thestackcafe.com/oasis-labs-is-an-interesting-new-project-in-the-blockchain-stack/
[31] Новая функциональность в VMware vSphere 6.7: что нужно знать: https://iaas-blog.it-grad.ru/funkcionalnost/novaya-funkcionalnost-v-vmware-vsphere-6-7/
[32] «Как дела у VMware»: обзор новых решений: https://iaas-blog.it-grad.ru/novosti/kak-dela-u-vmware-obzor-novyx-reshenij/
[33] Как тестировать дисковую систему в облаке: https://iaas-blog.it-grad.ru/proizvoditelnost/testirovanie-diskovoj-sistemy-v-oblake/
[34] Новые техпроцессы для производства микросхем все чаще откладывают — почему?: https://habr.com/company/it-grad/blog/422501/
[35] Как защитить данные в облачных нейросетях — предложен новый метод шифрования: https://habr.com/company/it-grad/blog/422309/
[36] Источник: https://habr.com/post/423777/?utm_campaign=423777
Нажмите здесь для печати.