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

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

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

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

Разбира се, подобни модули съществуват в съвременните процесори. Например, хардуерният модул Intel Boot Guard е корен на доверието в процесорите на Intel. Той верифицира автентичността на UEFI BIOS преди зареждането на операционната система по веригата на доверието. Но въпросът е, колко можем да се доверим на проприетарните корени на доверието, предвид факта, че нямаме гаранции за липса на грешки в дизайна и няма възможност да го проверим? Вижте статията «Доверено зареждане на Шрьодингер. Intel Boot Guard» с описание на това, «как дълго клонираната грешка в производството на няколко доставчици позволява на потенциален злонамерен актьор да използва тази технология за създаване на неизтриваем (дори за програмист) скрит рутkit в системата».

Заплахата от компрометиране на оборудването в веригата на доставки е удивително реална: изглежда, че всеки електронен ентусиаст може да в solder a bug into the server's motherboard, използвайки оборудване на стойност не повече от 200 долара. Някои експерти подозират, че «организации с бюджет от стотици милиони долара могат да се занимават с това от много години». Въпреки че няма доказателства, теоретично това е възможно.

«Ако не можете да се доверите на хардуерния загрузчик, играта е свършена, — казва Гевин Ферис (Gavin Ferris), член на борда на directors на lowRISC. — Няма значение какво прави операционната система - ако до момента на зареждане на операционната система вие сте компрометирани, останалото е техническа работа. Вие вече сте свършени».

Този проблем трябва да реши първата по рода си отворена хардуерна платформа OpenTitan (репозитория в GitHub, документация, хардуерни спецификации). Избягването на проприетарни решения ще промени «неповоротливата и несъвършена индустрия RoT», счита Google.

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

Какво е корен на доверието?

Всеки етап от процеса на зареждане на системата проверява автентичността на следващия етап, като по този начин създава веригата на доверието.

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

Опенсорсният чип OpenTitan ще замести проприетарните корени на доверие на Intel и ARM.
Установяване на корен на доверието. По-горе е представена петстепенна процедура за зареждане, която оформя веригата на доверието и започва от зареждача, разположен в неизменяемата памет. На всеки етап се използва публичен ключ, с помощта на който се удостоверява автентичността на следващия зареждан компонент. Илюстрация от книгата на Пери Лий «Архитектура на интернет нещата»

RoT може да се стартира по различни начини:

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

В различни процесори коренът на доверието е реализиран по различен начин. Intel и ARM
поддържат следните технологии:

  • ARM TrustZone. ARM продава на производителите на чипове собствен силиконов блок, който предоставя корен на доверие и други механизми за сигурност. По този начин микропроцесорът е отделен от небезопасното ядро; той изпълнява Trusted OS — защитена операционна система с ясно определен интерфейс за взаимодействие с небезопасни компоненти. Защитените ресурси са в довереното ядро и трябва да бъдат възможно най-леки. Преходът между компоненти от различен тип се извършва чрез хардуерно превключване на контекста, благодаря на което отпада нуждата от безопасен софтуер за мониторинг.
  • Intel Boot Guard — това е хардуерен механизъм за проверка на автентичността на началния блок за зареждане чрез криптографски средства или с помощта на процес на измерване. За проверка на началния блок производителят трябва да генерира 2048-битов ключ, който се състои от две части: публична и частна. Публичният ключ се отпечатва на платката чрез "детонация" на фюз-битовете по време на производството. Тези битове са еднократни и не подлежат на промяна. Частта от ключа, която е частна, генерира цифров подпис за последваща автентикация на етапа на зареждане.

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

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

Платформата OpenTitan

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

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

Коренът на доверие е първото звено в веригата на доверието на най-ниското ниво в доверения компютърен модул, на който системата винаги напълно вярва.

RoT е критично важен за приложенията, включително инфраструктурата на публични ключове (PKI). Това е основата на системата за сигурност, на която се базират сложни системи, като IoT приложение или център за данни. Затова е разбираемо защо Google подкрепя този проект. В момента той има 19 центрове за данни на пет континента. Центровете за данни, хранилищата и критично важните приложения представляват обширна повърхност на атака, а за да защити тази инфраструктура, Google първоначално разработи собствен корен на доверие в чипа Titan.

Притежаваният чип Titan за центровете за данни на Google беше представен за първи път през март 2017 година на конференцията Google Cloud Next. "Нашите компютри извършват криптографска проверка на всеки пакет със софтуер и след това решават дали да му позволят достъп до ресурсите на мрежата. Titan интегрира този процес и предлага допълнителни слоеве защита," споделиха представители на Google по време на презентацията.

Опенсорсният чип OpenTitan ще замести проприетарните корени на доверие на Intel и ARM.
Чипът Titan в сървъра на Google

Архитектурата Titan беше собственост на Google, но сега става обществено достояние в рамките на опенсорсния проект.

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

Google казва, че OpenTitan се основава на три ключови принципа:

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

Съществуващи чипове с доверителни корени са много проприетарни. Те твърдят, че са сигурни, но в действителност вие трябва да им се доверите, а сами не можете да ги проверите, – казва Доминик Риццо (Dominic Rizzo), водещ специалист по сигурността в проекта Google Titan. – Сега за първи път се отваря възможност да осигурим сигурност без слепа вяра на разработчиците на проприетарен дизайн на корени на доверие. Затова основата не е просто здрава, тя може да бъде проверена.

Риццо добави, че OpenTitan може да се счита за "радикално прозрачен дизайн в сравнение с настоящото положение на нещата."

Според разработчиците, OpenTitan по никакъв начин не трябва да се разглежда като завършен продукт, тъй като разработката все още не е приключила. Те умишлено отвориха спецификациите и дизайна в средата на разработката, за да могат всички да го проверят, да допринесат и да усъвършенстват системата преди началото на производството.

За да започнете производството на чипове OpenTitan, трябва да подадете заявление и да преминете сертификация. По всичко изглежда, че лицензни такси не са необходими.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster