
Неправителствена организация с участието на Google и други спонсори на 5 ноември 2019 година проект , който се нарича "първият опенсорс проект за създаване на отворена, качествена архитектура на чипове с корен на доверие (RoT) на хардуерно ниво".
OpenTitan на архитектура RISC-V е специализирана микросхема за инсталиране на сървъри в дата центрове и в всякакво друго оборудване, където е необходимо да се осигури автентичност на зареждането, да се защити фърмуера от промени и да се изключи вероятността от руткити: това са дънни платки, мрежови карти, рутери, IoT устройства, мобилни джаджи и др.
Разбира се, подобни модули съществуват в съвременните процесори. Например, хардуерният модул Intel Boot Guard е корен на доверие в процесори Intel. Той проверява автентичността на UEFI BIOS преди зареждането на ОС по верига от доверие. Но въпросът е, до каква степен можем да се доверим на проприетарни корени на доверие, като се има предвид, че нямаме гаранции за отсъствие на бъгове в дизайна, а е невъзможно да го проверим? Вижте статията с описание на това, "как грешка, клонирана години наред в производството на няколко вендора, позволява на потенциален злоумышленик да използва тази технология за създаване на в системата неизтриваем (дори от програматор) скрит руткит."
Заплахата от компрометиране на оборудването в веригата на доставки е удивително реална: сочи се, че всеки електронен любител , използвайки оборудване на стойност не повече от 200 долара. Някои експерти подозират, че "организации с бюджет от стотици милиони долари могат да се занимават с това вече много години." Въпреки че няма доказателства, теоретично това е възможно.
"Ако не можете да се доверите на хардуерния зареждач, играта е свършила," Гевин Ферис (Gavin Ferris), член на борда на директорите на lowRISC. "Не е важно какво прави операционната система — ако до момента на зареждане на операционната система сте компрометирани, всичко останало е техника. Вие вече сте свършили."
Тази проблема трябва да реши първата в своя род отворена хардуерна платформа OpenTitan (, , ). Отказ от проприетарни решения ще промени «бавната и несъвършена индустрия RoT», смята Google.
Самата компания Google започна разработването на Titan, откривайки операционната система Minix, вградена в чиповете Intel Management Engine (ME). Тази сложна ОС непредсказуемо увеличаваше атакуващата повърхност. Google , но неуспешно.
Какво е корен на доверието?
Всеки етап от процеса на зареждане на системата проверява автентичността на следващия етап, образувайки по този начин верига на доверие.
Коренът на доверието (Root of Trust, RoT) е хардуерна проверка на автентичността, която гарантира, че източникът на първата изпълнима инструкция в веригата на доверие не може да бъде променян. RoT е основна защита срещу руткити. Той е ключова част от процеса на зареждане, участваща в по-нататъшното стартиране на системата — от BIOS до ОС и приложения. Той трябва да проверява автентичността на всеки следващ етап на зареждане. За целта на всеки етап се използва набор от ключове с цифров подпис. Един от най-популярните стандарти за хардуерна защита на ключовете е TPM (Trusted Platform Module, доверен платформен модул).

Установяване на корена на доверието. По-горе е представен петстепенен процес на зареждане, който формира веригата на доверие и започва с буутлоудера, разположен в неизменяемата памет. При всеки етап се използва публичен ключ, с който се удостоверява автентичността на следващия зареждащ компонент. Илюстрация от книгата на Пери Ли
RoT може да се задейства по различни начини:
- зареждане на образа и коренния ключ от фърмуер или неизменяема памет;
- съхранение на коренния ключ в еднократно програмируема памет с помощта на фюз-бити;
- зареждане на кода от защитена област на паметта в защитено хранилище.
В различните процесори коренът на доверието е реализиран по различен начин. Intel и ARM
поддържат следните технологии:
- ARM TrustZone. ARM предлага на производителите на чипове собствен хардуер за силиций, който предоставя корен на доверието и други механизми за сигурност. По този начин микропроцессорът е отделен от несигурното ядро; той изпълнява Trusted OS — защитена операционна система с ясно определен интерфейс за взаимодействие с несигурни компоненти. Защитените ресурси се намират в довереното ядро и трябва да бъдат възможно най-леките. Преходът между компоненти от различен тип се осъществява чрез хардуерно превключване на контекста, което елиминира нуждата от защитен софтуер за мониторинг.
- Intel Boot Guard е хардуер механизъм за проверка на автентичността на началния блок за зареждане чрез криптографски средства или с помощта на процес на измерване. За да провери началния блок, производителят трябва да генерира 2048-битов ключ, който се състои от две части: открита и закрита. Откритият ключ се печата на платката чрез „детонация“ на фюз-битовете по време на производствения етап. Тези битове са еднократни и не подлежат на промяна. Закритата част на ключа генерира цифров подпис за последваща проверка на автентичността на етапа на зареждане.
Платформата OpenTitan разкрива ключови компоненти на такава хардуерно-софтуерна система, както е показано на диаграмата по-долу.

Платформата 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.
за центровете за данни на Google беше представен за пръв път на конференцията Google Cloud Next. "Нашите компютри извършват криптографска проверка на всеки пакет със софтуер и след това решават дали да му предоставят достъп до мрежовите ресурси. Titan се интегрира в този процес и предлага допълнителни слоеве защита", споделиха представители на Google по време на презентацията.

Чипът Titan в сървъра на Google
Архитектурата Titan беше собственост на Google, но сега става обществено достояние в рамките на опенсорс проект.
Първият етап от проекта е създаването на логическия дизайн на RoT на нивото на чипа, включително опенсорс микропроцесор , криптографски процесори, хардуерен генератор на случайни числа, иерархии от ключове и памет за енергонезависимо и енергийно свързано съхранение, защитни механизми, периферни устройства за вход-изход и сигурни процеси на зареждане.
Google казва, че OpenTitan е основан на три ключови принципа:
- всеки има възможност да провери платформата и да допринесе;
- повишена гъвкавост чрез отворен логически дизайн, който не е блокиран от проприетарни ограничения на доставчика;
- качество, осигурено не само от самия дизайн, но и от референтния фърмуер и документацията.
„Съвременните микросхеми с корени на доверие са много проприетарни. Те твърдят, че са сигурни, но всъщност приемате това на доверие и не можете сами да ги проверите“, казва Доминик Риццо (Dominic Rizzo), водещ специалист по сигурността на проекта Google Titan. „Сега за първи път се появява възможност да осигурим сигурност без слепа вяра в разработчиците на проприетарни дизайни на корените на доверие. Така че фундаментът не само че е здрав, а може и да бъде проверен.“
Риццо добави, че OpenTitan може да се счита за „радикално прозрачен дизайн в сравнение с настоящото положение“.
Според разработчиците, OpenTitan не трябва по никакъв начин да се разглежда като завършен продукт, тъй като разработката все още не е приключила. Те нарочно отвориха спецификациите и дизайна по средата на разработката, за да могат всички да го проверят, да допринесат и да усъвършенстват системата преди стартиране на производството.
За да започнете производството на чипове OpenTitan, трябва да подадете заявление и да преминете сертификация. Судя по всичко, не се изискват лицензионни такси.
Източник: habr.com
