Хабрахабр

Опенсорсный чип OpenTitan заменит проприетарные корни доверия Intel и ARM

Некоммерческая организация lowRISC при участии Google и других спонсоров 5 ноября 2019 года представила проект OpenTitan, который называет «первым опенсорсным проектом по созданию открытой, качественной архитектуры микросхем с корнем доверия (RoT) на аппаратном уровне».

OpenTitan на архитектуре RISC-V — микросхема специального назначения для установки на серверах в дата-центрах и в любом другом оборудовании, где нужно обеспечить аутентичность загрузки, защитить прошивку от изменений и исключить вероятность руткитов: это материнские платы, сетевые карты, маршрутизаторы, устройства IoT, мобильные гаджеты и др.

Например, аппаратный модуль Intel Boot Guard является корнем доверия в процессорах Intel. Конечно, подобные модули есть в современных процессорах. Но вопрос, насколько мы можем доверять проприетарным корням доверия с учётом того, что у нас нет гарантий отсутствия багов в дизайне, а проверить его нет возможности? Он по цепочке доверия верифицирует подлинность UEFI BIOS перед загрузкой ОС. статью «Доверенная загрузка Шрёдингера. См. Некоторые эксперты подозревают, что «организации с бюджетом в сотни миллионов долларов могут заниматься этим уже много лет». Intel Boot Guard» с описанием того, «как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику использовать эту технологию для создания в системе неудаляемого (даже программатором) скрытого руткита».
Угроза компрометации оборудования в цепочке поставок на удивление реальна: судя по всему, любой электронщик-любитель может впаять жучок в материнскую плату сервера, используя оборудование стоимостью не более 200 долларов. Хотя никаких доказательств нет, но теоретически такое возможно.

— Неважно, что делает операционная система — если к моменту загрузки операционной системы вы скомпрометированы, то остальное дело техники. «Если вы не можете доверять аппаратному загрузчику, игра окончена, — говорит Гэвин Феррис (Gavin Ferris), член совета директоров lowRISC. С вами уже покончено».

Эту проблему и должна решить первая в своём роде открытая аппаратная платформа OpenTitan (репозиторий GitHub, документация, аппаратные спецификации). Уход от проприетарных решений позволит изменить «неповоротливую и несовершенную индустрию RoT», считает Google.

Эта сложная ОС непредсказуемым и неуправляемым образом расширяла поверхность атаки. Сама компания Google приступила к разработке Titan, обнаружив операционную систему Minix, встроенную в чипы Intel Management Engine (ME). Google попыталась избавиться от Intel Management Engine (ME), но неудачно.

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

RoT является базовой защитой от руткитов. Корень доверия (Root of Trust, RoT) — это аппаратная проверка подлинности, которая гарантирует, что источник первой исполняемой инструкции в цепочке доверия не подлежит изменению. Он должен проверять подлинность каждого последующего этапа загрузки. Это ключевой этап процесса загрузки, который участвует в дальнейшем запуске системы — от BIOS до ОС и приложений. Одним из самых популярных стандартов аппаратной защиты ключей является TPM (Trusted Platform Module, доверенный платформенный модуль). Для этого на каждом этапе используется набор ключей с цифровой подписью.

Выше представлена пятиэтапная загрузка, которая формирует цепочку доверия и начинается с загрузчика, находящегося в неизменяемой памяти.
Установление корня доверия. Иллюстрация из книги Перри Ли «Архитектура интернета вещей» На каждом этапе используется открытый ключ, с помощью которого удостоверяется подлинность следующего загружаемого компонента.

RoT может запускаться разными способами:

  • загрузка образа и корневого ключа из прошивки или неизменяемой памяти;
  • хранение корневого ключа в одноразовой программируемой памяти с помощью фьюз-битов;
  • загрузка кода из защищённой области памяти в защищённое хранилище.

В разных процессорах корень доверия реализован по-разному. Intel и ARM
поддерживают следующие технологии:

  • ARM TrustZone. ARM продаёт производителям чипов проприетарный кремниевый блок, который предоставляет корень доверия и другие механизмы безопасности. Таким образом микропроцессор отделяется от небезопасного ядра; он выполняет Trusted OS — защищенную операционную систему с чётко определенным интерфейсом взаимодействия с небезопасными компонентами. Защищённые ресурсы находятся в доверенном ядре и должны быть как можно более легковесными. Переход между компонентами разного типа делается с помощью аппаратного переключения контекста, благодаря чему отпадает необходимость в безопасном ПО для мониторинга.
  • Intel Boot Guard — это аппаратный механизм для проверки подлинности начального блока загрузки криптографическими средствами или с помощью процесса измерения. Для проверки начального блока производитель должен сгенерировать 2048-битный ключ, который состоит из двух частей: открытой и закрытой. Открытый ключ печатается на плате путем «детонации» фьюз-битов на этапе производства. Эти биты являются одноразовыми и не подлежат изменению. Закрытая часть ключа генерирует цифровую подпись для последующего удостоверения подлинности этапа загрузки.

Платформа OpenTitan открывает ключевые части такой аппаратно-программной системы, как показано на диаграмме ниже.

Разработка платформы OpenTitan идёт под управлением некоммерческой организации lowRISC. Коллектив инженеров базируется в Кембридже (Великобритания), а главным спонсором является Google. Партнёры-основатели включают Швейцарскую высшую техническую школу Цюриха, G+D Mobile Security, Nuvoton Technology и Western Digital.

Компания заявила, что OpenTitan стремится «предоставить высококачественные рекомендации по дизайну и интеграции RoT для использования в серверах центров обработки данных, хранилищах, периферийных устройствах и многом другом». Google опубликовала анонс проекта в корпоративном блоге Google Open Source.

Корень доверия — первое звено в цепочке доверия на самом низком уровне в доверенном вычислительном модуле, которому всегда полностью доверяет система.

Это фундамент системы безопасности, на которой основана сложная система, такая как приложение IoT или центр обработки данных. RoT критически важен для приложений, включая инфраструктуры открытых ключей (PKI). Сейчас у неё 19 центров обработки данных на пяти континентах. Поэтому понятно, почему Google поддерживает этот проект. Дата-центры, хранилища и критически важные приложения представляют обширную поверхность атаки, и для защиты этой инфраструктуры Google изначально разработала собственный корень доверия на микросхеме Titan.

«Наши компьютеры проводят криптографическую проверку каждого пакета с ПО, а затем решают, стоит ли выдавать ему доступ к ресурсам сети. Проприетарный чип Titan для дата-центров Google был впервые представлен в марте 2017 года на конференции Google Cloud Next. Titan интегрируется в этот процесс и предлагает дополнительные слои защиты», — рассказывали представители Google на той презентации.


Микросхема Titan в сервере Google

Архитектура Titan была собственностью Google, но сейчас становится общественным достоянием в рамках опенсорсного проекта.

Первый этап проекта — создание логической дизайна RoT на уровне микросхемы, включая опенсорсный микропроцессор lowRISC ibex, криптографические процессоры, аппаратный генератор случайных чисел, иерархии ключей и памяти для энергонезависимого и энергонезависимого хранения, защитные механизмы, периферийные устройства ввода-вывода и безопасные процессы загрузки.

Google говорит, что OpenTitan основан на трёх ключевых принципах:

  • у каждого есть возможность проверить платформу и внести свой вклад;
  • повышенная гибкость за счёт открытия логически безопасного дизайна, который не блокируется проприетарными запретами поставщика;
  • качество, обеспеченное не только самим дизайном, но также референсной прошивкой и документацией.

«Нынешние микросхемы с корнями доверия очень проприетарные. Они заявляют о безопасности, но в реальности вы принимаете это на веру и сами не можете их проверить, — говорит Доминик Риццо (Dominic Rizzo), ведущий специалист по безопасности проекта Google Titan. — Теперь впервые появляется возможность обеспечить безопасность без слепой веры разработчикам проприетарного дизайна корней доверия. Так что фундамент не просто прочный, его можно проверить».

Риццо добавил, что OpenTitan можно считать «радикально прозрачным дизайном, по сравнению с нынешним положением вещей».

Они специально открыли спецификации и дизайн в середине разработки, чтобы все могли проверить его, внести свой вклад и усовершенствовать систему перед началом производства. По словам разработчиков, OpenTitan ни в коем случае не следует рассматривать как готовый продукт, потому что разработка ещё не закончена.

Судя по всему, никаких лицензионных отчислений не требуется. Чтобы начать производство чипов OpenTitan, нужно подать заявку и пройти сертификацию.

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

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

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

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

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