Опенсорсният чип 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" с описание на това, "как грешка, клонирана години наред в производството на няколко вендора, позволява на потенциален злоумышленик да използва тази технология за създаване на в системата неизтриваем (дори от програматор) скрит руткит."

Заплахата от компрометиране на оборудването в веригата на доставки е удивително реална: сочи се, че всеки електронен любител може да вкара шпионски чип в дънната платка на сървера, използвайки оборудване на стойност не повече от 200 долара. Някои експерти подозират, че "организации с бюджет от стотици милиони долари могат да се занимават с това вече много години." Въпреки че няма доказателства, теоретично това е възможно.

"Ако не можете да се доверите на хардуерния зареждач, играта е свършила," казва Гевин Ферис (Gavin Ferris), член на борда на директорите на 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